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)

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

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Elementi HTML permessi: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.

Ulteriori informazioni sulle opzioni di formattazione

CAPTCHA
Questa domanda serve per verificare che tu sia un visitatore umano (non un computer) e per prevenire lo spam
Image CAPTCHA
Scrivi ció che vedi nella immagine.