Modem usb hsdpa ubuntu
Step 1 # Download ed installazione di usb_modeswitch
Innanzitutto bisogna accertarsi che sia installato il pacchetto lsusb-dev, diversamente lo si installi, poi via col download del pacchetto occorre scompattare l’archivio e copiare manualmente l’eseguibile usb_modeswitch su /sbin e usb_modeswitch.conf su /etc.
Step 2 # Configurazione di usb_modeswitch.conf
Aprire il file con sudo gedit /etc/usb_modeswitch.conf e inserire le seguenti righe:DefaultVendor= 0x1bbb
DefaultProduct= 0xf000
TargetVendor= 0x1bbb
TargetProduct= 0xf000
MessageEndpoint=0x01
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
Questo cambierà il risultato del comando lsusb da Bus 001 Device 003: ID 1bbb:f000 T & A Mobile Phones a Bus 001 Device 003: ID 1bbb:0000 T & A Mobile Phones. La differenza sta tutta in un solo 0, ma vi assicuro che è una grande differenza.
Step 3 # Usbserial
Adesso dobbiamo far riconoscere la periferica come modem usb ma, visto che jaunty incorpora nel suo kernel (2.6.28-11) usbserial e non lo rende disponibile come modulo ecco che ci viene in soccorso questo piccolo hack: Inseriamo l’opzione nel menu di boot. Quindi sudo gedit /boot/grub/menu.lst e:title Ubuntu jaunty (development branch), kernel 2.6.28-11-generic
uuid 50a2edb9-4014-4a8e-8e19-91a4cd71c439
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=50a2edb9-4014-4a8e-8e19-91a4cd71c439 ro quiet splash vga=0x318 noapic irqpoll pci=routeirq usbserial.vendor=0x1bbb usbserial.product=0x00001
initrd /boot/initrd.img-2.6.28-11-generic
Step 4 # Controllo
Dopo il reboot ecco che dmesg mi riconosce addirittura 4 porte, dalla ttyUSB0 alla ttyUSB3, Gnome PPP rileva automaticamente il modem sulla ttyUSB1, ma per connettersi occorre cambairla in ttyUSB3.
Ragionamenti finali
Avrete sicuramente notato che il tool usb_modeswitch viene utilizzato una sola volta per “switchare” da unità di storage a modem, e non viene più ricaricato all’ avvio da alcuno script. Ne deduco che l’impostazione di usbserial nel menu di grub consente al sistema di caricare la periferica direttamente come modem prima ancora che venga intercettata e montata come cdrom. In questo contesto usb_modeswitch serve soltanto ad individuare il ProductID del modem, nel mio caso 0000. Così, a tutti coloro che in questi giorni hanno richiesto a gran voce il reinserimento di usbserial come modulo nel kernel 2.6.28-11 lamentando l’impossibilità di configurare i loro modem 3G dico che questo approccio è più facile e diretto. Comunque per i nostalgici ecco il link ad una patch di Tim Gardner.
Chissà se sarà possibile farlo funzionare con Network Manager ?
UPDATE E MEA CULPA
Ho ritenuto erroneamente che il tool usb_modeswitch dovesse essere utilizzato una sola volta per “switchare” da unità di storage a modem, ma al successivo riavvio mi sono accorto che la situazione è un tantino diversa. Così ho dovuto copiare usb_modeswitch da /usr/sbin a /sbin col comando cp usb_modeswitch /sbin/ creare un file chiamato alcatel-x200.rules con sudo gedit /etc/udev/rules.d/alcatel-x200.rules e all’interno scrivere le seguenti istruzioniSUBSYSTEM=="usb", SYSFS{idProduct}=="0000",L’unica differenza con Intrepid e quindi col kernel 2.6.27 è la mancanza della riga RUN+=”/sbin/modprobe usbserial vendor=0×1bbb product=0×0000″ che, come detto sopra, non serve più.
SYSFS{idVendor}=="1bbb",
RUN+="/sbin/usb_modeswitch",
SUBSYSTEM=="usb", SYSFS{idProduct}=="0000",
SYSFS{idProduct}=="0000"
Rimane da risolvere il problema di Network Manager, ma non dispero!