Modem ZTE MF100 - Xubuntu 9.04

Stanco di navigare sempre in 2G, ho deciso di acquistare un modem di un altra compagnia telefonica Brasiliana che garantisce la copertura del segnale 3G anche a casa mia, ovvero in mezzo alla Foresta Amazzonica, o giù di li.
L'apparecchio in questione è uno ZTE MF100, molto diverso come vedremo dai suoi parenti Huawey et simila. Purtroppo, nonostante la dichiarata compatibilità con Ubuntu 7.10 e la LTS 8.04, non succede nulla all'inserimento di questo modem. Niente descrizione del dispositivo, niente binding con i soliti devices ttyUSB*, niente USB-STORAGE. Per farlo funzionare dobbiamo ricorrere ad usb_modeswitch, un hack per GNU/Linux che è in grado di emulare alcune funzioni dei drivers per Windows, tra cui il riconoscimento della scheda microSD, e di commutare il segnale tra il modem e lo stesso storage usb. Questo, su Windows, avviene naturalmente, mentre con Linux non sembra commutare un bel nulla. Quello che mi dovrei aspettare è il funzionamento di default della microSD e la conversione in modem dopo avere lanciato usb_modeswitch. In realtà di base non funziona nulla, come già specificato, mentre lanciando usb_modeswitch si mettono a funzionare entrambi.
A parte queste "stranezze" vediamo come sistemare rapidamente questo modem per poterlo utilizzare con la nostra linux-box.
- Osservazioni
Usb_modeswitch non funziona con il kernel 2.6.30*. Per effettuare la prova ho dovuto quindi ripiegare sul 2.6.28-15-generic di Xubuntu 9.04. In questo caso non ho il supporto PAE per i miei 4GB di RAM, ma con GNU/Linux bisogna sempre scendere MOMENTANEAMENTE a compromessi.
- Output
Lanciamo lsusb:
Bus 002 Device 008: ID 19d2:2000
Quando visualizziamo questo ID significa che il modem non sta comunicando. Scarichiamo quindi il pacchetto usb_modeswitch.
- Usb_modeswitch
Download usb_modeswitch-1.0.5.tar.bz2
Installiamo i pacchetti necessari:
sudo apt-get install libusb-dev libusb0
Scompattiamo l'archivio nella /home ed installiamo lo script:
tar xjvf usb_modeswitch-1.0.5.tar.bz2
cd usb_modeswitch-1.0.5
sudo make install
Ora dobbiamo aprire il file di configurazione ed abilitare il modello del nostro modem. Uso mousepad come editor, chiaramente useremo gedit o kate a seconda del desktop environment: gksu mousepad /etc/usb_modeswitch.conf Cerchiamo la riga con la parola chiave "MF628" ed eliminiamo i caratteri ";" e "#" in questa maniera:
########################################################
ZTE MF628+ (tested version from Telia / Sweden)
ZTE MF626
Contributor: Joakim Wennergren
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= 0x0031
MessageEndpoint=0x01
MessageContent="55534243123456782000000080000c85010101180101010101000000000000"
# if that command doesn't work, try the other ("eject")
MessageContent="5553424312345678000000000000061b000000030000000000000000000000" Per una maggiore compatibilità creiamo un file .fdi per HAL:
gksu mousepad /usr/share/hal/fdi/information/20thirdparty/20-zte-mf626.fdi
All'interno scriveremo:
GSM-07.07 GSM-07.05 modem
Adesso siamo pronti per caricare il TargetProduct con usb_modeswitch. Sempre da terminale:
/usr/sbin/usb_modeswitch -W -c /etc/usb_modeswitch.conf
O più semplicemente
sudo usb_modeswitch
Attenzione all'output finale: Caso in cui l'esecuzione fallisce:
Trying to send the message to endpoint 0x01 ... Sending the message returned error -110. Trying to continue -> Run lsusb to note any changes. Bye
Caso in cui l'esecuzione va a buon fine:
Trying to send the message to endpoint 0x01 ... OK, message successfully sent -> Run lsusb to note any changes. Bye
Come suggerito, aspettiamo che il modem esegua un reset e lanciamo nuovamente lsusb per verificare il cambiamento di ID:
Bus 002 Device 008: ID 19d2:0031
Adesso dovrebbe apparire l'usb_storage (la microSD non è inclusa nella confezione) e dal dmesg noteremo:
[ 299.151197] usb 2-4: generic converter now attached to ttyUSB0 [ 299.151402] usbserial_generic 2-4:1.1: generic converter detected [ 299.151491] usb 2-4: generic converter now attached to ttyUSB1 [ 299.151684] usbserial_generic 2-4:1.2: generic converter detected
Non ci rimane che utilizzare wvdial, dato che network-manager se la "dorme", per finalizzare la connessione. Riporto un esempio tratto dal mio file di configurazione:
[Dialer Defaults] baud = 921600 username = vivo stupid mode = on dial command = ATDT auto dns = off init3 = AT+CGDCONT=1,"IP","zap.vivo.com.br" init1 = ATX3 init2 = ATQ0 V1 E1 S0=0 &C1 &D2 modem type = Analog Modem isdn = 0 new pppd = yes phone = *99# modem = /dev/ttyUSB3 password = vivo need root = on
- Maggiori informazioni su usb_modeswitch (che trovate anche nei repository di Debian e Ubuntu)
- Blog di divilinux
- 2310 letture
Versione stampabile


















Commenti
Hi. This blog is Drupal
Hi. This blog is Drupal platform ?
Problem with activation
Hi there, I dont know if I am writing in a proper board but I have got a problem with activation, link i receive in email is not working... http://www.squadrainformatica.com/?580a27ae1047fff44f4ab55beb3,
drupal
Yes..
E se il comando fallisce?
ciao, tutto bello, anche io ho un modem del genere ma....
se si ricade nella casistica in cui lo switch miseramente fallisce cosa si fa?
è il caso in cui con i kernel nuovi di ubuntu (2.6.31-15-generic) si deve "retrocedere"?
Grazie
maybe english version:
hi, everything like a charme. I do have a moden like your but...
if is the case of the error what is necessary to do?
Is it the case of the newer kernels of Ubuntu (2.6.31-15-generic) and we need to go back to 2.6.28?
thank you
Invia nuovo commento