O modem GSM não cria o arquivo / dev / ttyUSB

5

Instalei Kannel em um servidor e quero usar um modem GSM 3G USB para enviar / receber mensagens SMS, conforme descrito na seção Centros SMS > GSM Modem do Guia do Usuário do Kannel.

Eu já instalei, configurei e testei o Kannel no meu notebook com sucesso.

Quando eu conecto o modem ao meu notebook, um dispositivo chamado /dev/ttyUSB0 aparece. Ele age como uma porta serial para enviar comandos ao modem.

Eu tenho que colocar este dispositivo no arquivo de configuração do Kannel.

Após alguns testes, decidi instalar o Kannel no servidor de produção. O servidor roda o Linux-VServer , e minha tarefa é instalar o Kannel no host e PlaySMS em um dos convidados , que executa o Apache.

O problema é que não consigo encontrar nenhum dispositivo análogo ao ttyUSB0 criado em minha máquina (e AFAIK, em todas as caixas normais do Linux).

Aqui estão alguns comandos de diagnóstico. Os modems usados não são do mesmo modelo, mas eu já testei o Sierra 308 no meu notebook e ele funciona também.

Meu caderno - Arch Linux

uname -a :

Linux twoflower 3.4.9-1-ARCH #1 SMP PREEMPT Wed Aug 15 18:11:01 UTC 2012 i686 GNU/Linux

dmesg quando eu conecto o modem (Huawei 156B):

[35328.849886] usb 1-2: new high-speed USB device number 12 using ehci_hcd
[35329.007281] scsi9 : usb-storage 1-2:1.2
[35329.010054] scsi10 : usb-storage 1-2:1.3
[35329.301153] usbcore: registered new interface driver usbserial
[35329.302155] usbcore: registered new interface driver usbserial_generic
[35329.303064] USB Serial support registered for generic
[35329.303221] usbserial: USB Serial Driver core
[35329.368043] usbcore: registered new interface driver option
[35329.368960] USB Serial support registered for GSM modem (1-port)
[35329.369332] option 1-2:1.0: GSM modem (1-port) converter detected
[35329.377484] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
[35329.377567] option 1-2:1.1: GSM modem (1-port) converter detected
[35329.378930] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[35330.013635] scsi 9:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31
PQ: 0 ANSI: 2
[35330.019275] scsi 10:0:0:0: Direct-Access     HUAWEI   MMC Storage      2.31
PQ: 0 ANSI: 2
[35330.028997] sd 10:0:0:0: [sdb] Attached SCSI removable disk
[35330.214473] sr0: scsi-1 drive
[35330.214484] cdrom: Uniform CD-ROM driver Revision: 3.20
[35330.216603] sr 9:0:0:0: Attached scsi CD-ROM sr0

Servidor - Debian Lenny

uname -a :

Linux macunaima 2.6.26-1-vserver-amd64 #1 SMP Fri Mar 13 20:19:13 UTC 2009 x86_64 GNU/Linux

dmesg quando eu conecto o modem em (Sierra 308):

  [    3.246112] usb 8-4: new high speed USB device using ehci_hcd and address 2
  [    3.381966] usb 8-4: config 1 has an invalid interface number: 9 but
  max is 5
  [    3.382076] usb 8-4: config 1 has an invalid interface number: 7 but
  max is 5
  [    3.382184] usb 8-4: config 1 has no interface number 2
  [    3.382285] usb 8-4: config 1 has no interface number 5
  [    3.384576] usb 8-4: configuration #1 chosen from 1 choice
  [    3.389070] usb 8-4: New USB device found, idVendor=0f3d,
  idProduct=68a3
  [    3.389070] usb 8-4: New USB device strings: Mfr=3, Product=2,
  SerialNumber=4
  [    3.389070] usb 8-4: Product: USB 308
  [    3.389070] usb 8-4: Manufacturer: Sierra Wireless, Incorporated
  [    3.389070] usb 8-4: SerialNumber: 353354045586405

lsusb :

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 002: ID 0f3d:68a3 Airprime, Incorporated
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Perguntas anteriores

A única pergunta anterior com um problema semelhante que encontrei aqui foi Como eu acesso uma porta serial USB sem uma entrada em / dev? .

Nesse caso, dmesg disse que ttyUSB0 foi criado, o que não ocorre no meu caso.

De qualquer forma, tentei a solução postada lá, usando mknod para criar dispositivos manualmente:

for i in 0 1 2 3 4 5 6 7 8 9; do
    sudo mknod /dev/ttyUSB$i c 188 $i
done

Eu criei todos esses dispositivos porque lsusb diz que o dispositivo está conectado em Bus 008 Device 002 .

Não funcionou. Eu testei com picocom , e isso diz (para todos esses dispositivos, não apenas ttyUSB0 ):

$ picocom -
FATAL: cannot open /dev/ttyUSB0: No such device or address

Enquanto no meu bloco de notas, picocom funciona bem:

$ picocom -b 9600 /dev/ttyUSB0
Terminal ready
AT                      # my input
OK
    
por Lucas Teixeira 19.09.2012 / 21:03

3 respostas

3

Estou com o @Renan: parece que esse problema foi corrigido em novos kernels. ( Um desses tópicos sobre LKML. )

O erro chave é o invalid interface number one. Isso significa que o driver USB vê o dispositivo, mas está numerando seus recursos (interfaces) de uma maneira que o driver não espera, e ele não pode suportar. Pesquisando por aí, você pode encontrar vários casos em que as pessoas estão corrigindo pontos fracos no kernel para lidar com esses dispositivos mais recentes e seu comportamento de numeração de interface estranho.

Eu não tenho 100% de certeza sobre isso, já que não consigo encontrar um documento definitivo que diga que números de interface fora de ordem estão errados, ou que tudo foi corrigido para todos os dispositivos USB no kernel x.y.z. Parece ser mais um tipo de esforço de desenvolvimento.

Atualizar o kernel em um servidor não é uma solução fácil por qualquer meio. Eu tentaria uma etapa intermediária para checar a hipótese primeiro: coloque a versão do Debian do seu servidor em uma VM, faça um snapshot, atualize o kernel lá e veja se ele verá o dispositivo USB após a atualização. (Obviamente, você precisa estar usando o software da VM que vai empurrar um dispositivo USB para a VM. A maioria vai nos dias de hoje.)

Se isso não funcionar, você poderá reverter facilmente para o instantâneo, já que essa VM deve ser útil para testes futuros antes de lançar algo no servidor de produção.

    
por 19.09.2012 / 21:55
2

Encontrei o mesmo problema que você. Tente instalar o pacote gsm-utils .

apt-get install gsm-utils

Espero que ajude. Um ano depois, mas pode ajudar os outros.

    
por 28.11.2013 / 13:19
0

A partir das informações que você forneceu, acho que o sistema não possui o arquivo de configuração desse dispositivo USB. Obtenha o conf correto, adicione-o em /etc/usb_modeswitch.d e ative-o. Então será detectado como dispositivo USB.

Consulte este artigo .

    
por 28.11.2013 / 13:26