El módem GSM no crea el file / dev / ttyUSB

Instalé Kannel en un server y deseo usar un módem USB GSM 3G para enviar / recibir posts SMS, como se describe en la sección Centros SMS> Módem GSM de la Guía del usuario de Kannel.

Ya instalé, configuré y probé Kannel en mi computadora portátil con éxito.

Cuando enchufo el módem en mi computadora portátil, aparece un dispositivo llamado /dev/ttyUSB0 . Actúa como un serial port para enviar commands al módem.

Tengo que poner este dispositivo en el file de configuration de Kannel.

Después de algunas testings, decidí instalar Kannel en el server de producción. El server ejecuta Linux-VServer , y mi tarea es instalar Kannel en el host y PlaySMS en uno de los invitados , que ejecuta Apache.

El problema es que no puedo encontrar ningún dispositivo análogo al ttyUSB0 que se crea en mi máquina (y AFAIK, en todos los cuadros normales de Linux).

Aquí hay algunos commands de diagnóstico. Los módems utilizados no son del mismo model, pero ya he probado Sierra 308 en mi notebook y también funciona.

Mi computadora portátil – 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 cuando enchufo el módem en (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: registenetworking new interface driver usbserial [35329.302155] usbcore: registenetworking new interface driver usbserial_generic [35329.303064] USB Serial support registenetworking for generic [35329.303221] usbserial: USB Serial Driver core [35329.368043] usbcore: registenetworking new interface driver option [35329.368960] USB Serial support registenetworking 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 cuando dmesg el módem en (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 

Preguntas anteriores

La única pregunta anterior con un problema similar que encontré aquí fue ¿Cómo accedo a un puerto serial USB sin una input en / dev? .

En su caso, dmesg dijo que se creó ttyUSB0 , lo que no ocurre en mi caso.

De todos modos, he intentado con la solución publicada allí, usando mknod para crear dispositivos manualmente:

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

lsusb todos estos dispositivos porque lsusb dice que el dispositivo está enchufado en el dispositivo lsusb Bus 008 Device 002 .

No funcionó. Lo probé con picocom , y esto dice (para todos estos dispositivos, no solo ttyUSB0 ):

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

Mientras picocom en mi notebook, picocom funciona bien:

 $ picocom -b 9600 /dev/ttyUSB0 Terminal ready AT # my input OK 

Estoy con @Renan: parece que este problema se solucionó en núcleos más nuevos. ( Uno de estos hilos en LKML. )

El error key es la invalid interface number uno. Significa que el controller USB ve el dispositivo, pero está enumerando sus características (interfaces) de una manera que el controller no espera, y no puede hacer frente. Buscando en Google, puede encontrar varios casos en los que la gente está solucionando las deficiencias del núcleo para hacer frente a estos dispositivos más nuevos, y su extraño comportamiento de numeración de la interfaz.

No estoy 100% seguro de esto, ya que no puedo encontrar un documento definitivo que diga que los numbers de la interfaz fuera de order son incorrectos, o que todo ha sido arreglado para todos los dispositivos USB en Kernel xyz. Parece ser más de un tipo de esfuerzo de desarrollo Whac-a-Mole .

Actualizar el kernel en un server no es una solución fácil de ninguna manera. Intentaré un paso intermedio para verificar primero la hipótesis: poner la versión de Debian de su server en una máquina virtual, hacer una instantánea, actualizar el núcleo allí y ver si verá el dispositivo USB después de la actualización. (Obviamente necesita usar un software de VM que inserte un dispositivo USB en la VM. La mayoría lo hará en estos días).

Si eso no funciona, puede retroceder fácilmente a la instantánea, ya que esta VM debe ser útil para futuras testings antes de lanzar algo al server prodouction.

He encontrado el mismo problema que tú. Intenta instalar el package gsm-utils .

 apt-get install gsm-utils 

Espero eso ayude. Un año después, pero podría ayudar a otros.

De la información que ha dado, creo que el sistema no tiene el file de configuration de ese dispositivo USB. Obtenga la /etc/usb_modeswitch.d correcta, agréguela en /etc/usb_modeswitch.d y /etc/usb_modeswitch.d . Luego se detectará como dispositivo USB.

Consulte este artículo .