Eu tenho este modem USB de 56k que estou usando para escrever algum software de automação residencial que me avisará quando meu telefone de casa estiver toque. Meu software funciona no meu laptop Ubuntu 14.04 LTS, com meu modem sendo acessado via /dev/ttyACM0
(e eu posso screen
nele e ver quando o telefone toca)
No entanto, no meu sistema de automação residencial (um Ninja Sphere, que é um sistema ARMv7 com o Ubuntu 14.04.2 LTS (GNU / Linux 3.12.10-ninja-spheramid-dev201412211738 armv7l)), ele não aparece lá. Ele roda no meu Raspberry Pi rodando Debian Wheezy, então eu imagino que o consumo de energia / incompatibilidade não é um problema.
Estou ciente de que hotplugging está quebrado no kernel do Sphere , mas se eu reiniciar com o meu modem já conectado, eu posso vê-lo em lsusb
, mas não consigo acessá-lo:
Bus 001 Device 007: ID 0572:1340 Conexant Systems (Rockwell), Inc.
Se eu executar udevadm monitor
e desconectar o modem (depois de reinicializar com ele conectado), recebo um evento de remoção:
KERNEL[1465.648648] remove /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.0 (usb)
KERNEL[1465.653580] remove /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.1 (usb)
KERNEL[1465.661160] remove /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4 (usb)
UDEV [1465.667082] remove /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.1 (usb)
UDEV [1465.668216] remove /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4/1-1.4:1.0 (usb)
UDEV [1465.683048] remove /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.4 (usb)
Se eu conectar um hub USB de 4 portas (que consome energia do host) e reinicializar, a luz no hub será ativada e udevadm monitor
mostrará adicionar e remover eventos sempre que eu desconectar / conectar:
KERNEL[1534.873966] add /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1 (usb)
KERNEL[1534.884224] add /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
KERNEL[1534.898938] add /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
UDEV [1534.915844] add /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1 (usb)
UDEV [1534.940319] add /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
UDEV [1534.948969] add /devices/ocp.2/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
Executando dmesg | tail
ao desconectar e conectando meu modem aos shows:
[71710.128027] usb 1-1.1: USB disconnect, device number 3
[71712.667430] usb 1-1.1: new full-speed USB device number 4 using musb-hdrc
[71712.789867] usb 1-1.1: New USB device found, idVendor=0572, idProduct=1340
[71712.789916] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[71712.789945] usb 1-1.1: Product: USB Modem
[71712.789970] usb 1-1.1: Manufacturer: Conexant
[71712.789996] usb 1-1.1: SerialNumber: 12345678
Eu tentei executar modprobe usbserial
(o que me dá um erro fatal, dizendo que o módulo usbserial não foi encontrado), tentei executar vários outros comandos modprobe
, mas nada está acontecendo.
Como esse código é destinado a uma versão mais ampla, onde espero que pessoas não-técnicas possam comprar qualquer modem USB 56k compatível com Linux e usá-lo, espero uma resposta "genérica", mas agora minhas perguntas mais urgentes são:
/dev
(Note que, embora o Ninja Blocks tenha falido, acho que ainda podemos levar o software para as pessoas que possuem o dispositivo, por isso as mudanças no sistema não devem ser um problema)
Tags usb udev serial-port modem embedded