giugno 5th, 2010

Utilizzare il modem H3G Momodesign MD-@ con Debian

How-to, by Luca Panella.

La guida è ancora in fase di allestimento potrei apportare alcune aggiunte al testo.

Questa guida vuole essere di aiuto a tutte le persone che come me hanno preso in comodato d’uso il modem H3G Momodesign MD-@ e lo vuole utilizzare con GNU/Linux.
La seguente procedura è stata scritta e testata su Debian Etch (stable) ma si può riadattare facilmente a tutte le altre distribuzioni GNU/Linux.
I parametri del modem che ho inserito nella guida riguardano una connessione utilizzando il piano tariffario ADSM di H3G.
Non mi assumo nessuna responsabilità per eventuali spiacevoli esiti della procedura.

Il modem in questione si può utilizzare con due moduli (drivers) diversi: usbserial e airprime, il primo è d’immediato utilizzo, ma si ha la connessione rallentata a causa della struttura stessa del modulo, con usbserial non si possono superare i 60 KByte/s.

Airprime al contrario ci da la possibilità di utilizzare tutta la banda disponibile che ci fornisce H3G, ma per utilizzare il drivers bisogna modificarlo e ricompilarlo, procedimento non proprio immediato, che però porta il nostro modem fino ad una banda massima di 7.2 MBps (mica male!)
Io personalmente vi consiglio di usare airprime anche se comporta un po’ più di lavoro iniziale, in questa guida comunque esamineremo entrambe le soluzioni software.

PROCEDURA:

1. Mettiamo il modem, tramite la levetta sul dispositivo, in modalità Modem e non pendrive.
2. Agganciamo il modem ad una porta usb.
3. Apriamo la shell dei comandi (o Terminale) e digitiamo
lsusb
se avete agganciato il modem in modo corretto tra le varie righe di risposta al comando dovrete ottenere:
Bus 001 Device 002: ID 05c6:6000 Qualcomm, Inc.
questo chip è lo stesso utilizzato dal TVfonino Brionvega 7100
4. Facciamo riconoscere il modem al sistema operativo caricando uno dei due drivers sopra citati:

  • A: usbserial

dal terminale date il comando
su
ed inserite la password di amministratore e successivamente date il comando

modprobe usbserial vendor=0x05c6 product=0x6000
per verificare che tutto è andato a buon fine date il comando
dmesg
che vi restitiurà una serie di righe tra cui queste:
... usb 1-2: new full speed USB device using ohci_hcd and address 2 usb 1-2: configuration #1 chosen from 1 choice usbcore: registered new driver usbserial drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbserial_generic 1-2:1.0: generic converter detected usb 1-2: generic converter now attached to ttyUSB0
usbserial_generic 1-2:1.1: generic converter detected usb 1-2: generic converter now attached to ttyUSB1
usbserial_generic 1-2:1.2: generic converter detected usb 1-2: generic converter now attached to ttyUSB2
usbcore: registered new driver usbserial_generic drivers/usb/serial/usb-serial.c: USB Serial Driver core ...

in caso contrario vorrà dire che il procedimento non è andato a buon fine, ripetete la precedura da capo (non si sa mai).

  • B: airprime

Nel caso vogliamo usare il modulo airprime ci possiamo imbattere in 2 casi.
1. il vostro Kernel è inferiore alla versione 2.6.17.14
2. il vostro Kernel è di una versione uguale o superiore. Per sapere che versione del Kernel avete potete dare nel terminale il comando:
uname -r
Nel caso abbiate una versione più vecchia della versione 2.6.17.14 vi consiglio di aggiornare il kernel della vostra distribuzione GNU/Linux l’attuale Debian Stable (Etch) adotta il kernel 2.6.18 nel caso non vogliate cambiare il vostro kernel vedremo più avanti come fare. Procediamo con lo scaricare i sorgenti del vostro kernel, se avete un kernel precompilato presente nei repository di Debian vi basta dare il comando da terminale (come administrator)
apt-get install make gcc kernel-package libncurses5-dev linux-source-VERSIONE-DEL-KERNEL
io sul mio server ho il kernel 2.6.18-3-k7 e quindi darò
apt-get install make gcc kernel-package libncurses5-dev linux-source-2.6.18
nel caso abbiate un kernel vanilla compilato da voi, sapete già dove prenderne i sorgenti
Sempre da terminale (come amministraotre) spostiamoci nella cartella dove sono i sorgenti del kernel.
cd /usr/src/
decomprimiamo il file dei sorgenti
tar -jxvf linux-source-2.6.18.tar.bz2
entriamo nella cartella del kernel sorgente appena decompresso.
cd linux-source-2.6.18/drivers/usb/serial

Nell’ipotesi che vogliate mantenere una versione del Kernel precedente al 2.6.17.14 (solo in quel caso), potete scaricare una patch a questo indirizzo, salvarla nella cartella in cui siamo posizionati e procedere con:
patch -p0 < airprime-sjain-012807.patch.txt

Modifichiamo usando l’editor di testo NANO il file airprime.c
nano airprime.c
e inseriamo { USB_DEVICE(0×05c6, 0×6000) }, nel file in modo da ottenere il testo come questo:
static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
{ USB_DEVICE(0xf3d, 0x0112) }, /* AirPrime CDMA Wireless PC Card */
{ USB_DEVICE(0x1410, 0x1110) }, /* Novatel Wireless Merlin CDMA */
{ USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless Aircard 580 */
{ USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
{ USB_DEVICE(0x05c6, 0x6000) },
{ },
};

salviamo premendo i tasti CTRL+O e usciamo da NANO con CTRL+X compiliamo il nuovo driver airprime.c con il comando
make -C /lib/modules/`uname -r`/build M=`pwd`
e copiate il modulo airprime modificato e ricompilato nel kernel
cp airprime.ko /lib/modules/`uname -r`/kernel/drivers/usb/serial/
facciamo in modo tale che il modulo airprime caricato in modo automatico ogni volta che viene agganciato il modem.
depmod -a
provate a staccare e riattaccare il modem, potete controllare sil procedimento è andato a buon fine dando il comando
dmesg
dovreste ottenere un output molto simile a questo:
airprime 1-2:1.0: airprime converter detected usb 1-2: airprime converter now attached to ttyUSB0
airprime 1-2:1.1: airprime converter detected usb 1-2: airprime converter now attached to ttyUSB1
airprime 1-2:1.2: airprime converter detected usb 1-2: airprime converter now attached to ttyUSB2
usbcore: registered new driver airprime

Ho mandato una mail al responsabile di airprime pregandolo di inserire quella stringa di codice per poter utilizzare in futuro il modem con dei Kernel aggiornati senza dover ripetere la procedura, speriamo ci rispondano presto.

5. Abbiamo caricato il modulo (usbserial o airprime) per il modem ora dobbiamo connetterci, possiamo utlizzare ppp o wvdial, in questa guida spiegherò come impostare wvdial, procediamo con l’installazione del software.
apt-get install wvdial
6.Ora creiamo wvdial.conf e dentro ci adndremo inserire tutti i dati per la connessione.
nano /etc/wvdial.conf
e dentro scriviamo/incolliamo il seguente testo

[Dialer Defaults]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = Analog
Modem Baud = 460800
Init = AT+CPIN=xxxx
Init2 = ATX3
Init3 = AT+COPS?
Init4 = AT+CGDCONT=1,"ip","datacard.tre.it"
Phone = *99#
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = tre
Username = tre
Auto Reconnect = off
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
(Dove xxxx è il pin della vostra SIM CARD, se avete disabilitato il pin potete omettere la linea).

Salvate (CTRL+O) e uscite da NANO (CTRL+X)

7. Ora possiamo connetterci e per farlo basterà digitare nel terminale con i permessi di root (amministratore)
wvdial
Se preferite potete usare uno dei tanti front-end grafici di wvdial, per citarne due famosi: gnome-ppp e kppp.
Per capire a quale rete vi siete agganciate basta guardare il log della connessione, se trovate la seguete stringa:
AT+COPS?
+COPS: 0,0,"H3G",2

vuole dire che siete agganciati su 3G e potete navigare utilizzando il vostro piano tariffario.
8. Se non riuscite a navigare molto probabilmente i vostri DNS non si sono aggiornati e quindi dovete andare a modificare il file /etc/resolv.conf a mano, aprite un’altro terminale come amministratore e date:

nano /etc/resolv.conf
cancellate o commentate con # quello che ci trovate dentro e scriveteci
nameserver 62.13.171.1
nameserver 62.13.171.2

salvate (CTRL + O) e uscite da nano (CTRL +X) e ritornate al vostro browser per navigare.
9. Se ancora non navigate e avete gia provato il punto 8 sicuramente è la route di default che è sbagliata per correggerla basta dare da terminale (come amministratore):
route add default ppp0
e tornate al vostro browser per navigare.

10. Per disconettervi basta chiudere il terminale da cui avete lanciato il wvdial oppure usare il pulsante apposito di gnome-ppp,kppp.
Questa procedura non va ripetuta ogni volta, dalle volte successive in poi basterà:

1. Agganciare il modem
2. Caricare il modulo

  • per usbserial

modprobe usbserial vendor=0x05c6 product=0x6000

  • con airprime invece verrà caricato automaticamente

3. aprire il terminale come amministratore e digitare
wvdial
oppure utilizzare un front-end grafico come gnome-ppp o kppp e navigare con il vostro browser preferito
4. Se doveste avere problemi provare il punto 8 e il punto 9 della guida.

Si ringrazia Herod2K del debianclan per questo how-to.

Back Top

Responses to “Utilizzare il modem H3G Momodesign MD-@ con Debian”

  1. Ciao, ho un problema.
    Ho un Dell mini 910 con su Ubuntu 8.04

    quando arrivo al comando
    make -C /lib/modules/`uname -r`/build M=`pwd`

    mi dà subito un errore:
    make: *** /lib/modules/2.6.24-27-lpia/build: Nessun file o directory. Stop

    e in effetti dentro quella cartella non c’è nessuna “build”, ma solo
    pc@pc:/lib/modules/2.6.24-24-lpia$ dir
    initrd modules.ccwmap modules.isapnpmap modules.symbols
    kernel modules.dep modules.ofmap modules.usbmap
    madwifi modules.ieee1394map modules.pcimap ubuntu
    modules.alias modules.inputmap modules.seriomap volatile

    …come posso andare avanti? grazie mille per l’aiuto!

  2. scusa, il contenuto è lo stesso per la cartella -27 (c’è pure la 22 e la 19, per sbaglio ho fatto il paste della 24)

  3. ok, ho risolto installando i linux-headers da synaptic

    ma..ho seguito il resto della guida, e dopo aver dato il dmesg mi fa vedere

    [ 3404.481746] usb 2-1: new full speed USB device using uhci_hcd and address 3
    [ 3404.643069] usb 2-1: configuration #1 chosen from 1 choice
    [ 3404.646059] usbserial_generic 2-1:1.0: generic converter detected
    [ 3404.646408] usb 2-1: generic converter now attached to ttyUSB0
    [ 3404.649203] usbserial_generic 2-1:1.1: generic converter detected
    [ 3404.649628] usb 2-1: generic converter now attached to ttyUSB1
    [ 3404.669948] usbserial_generic 2-1:1.2: generic converter detected
    [ 3404.670317] usb 2-1: generic converter now attached to ttyUSB2

    airprime non lo leggo da nessuna parte, anche se i comandi prima di dmesg sono andati ok senza alcun errore.

    aiuto :/

  4. Guarda la guida è stata scritta tanto tempo fa, magari ora il messaggio del kernel è cambiato, quindi io fossi in te proverei a proseguire sempre usando /dev/ttyUSB0 poi vedi a quanto navighi se non superi i 60 KByte in download vuol dire che non stai utilizzando airprime, se no vuol solamente dire che il messaggio è cambiato (e che dobbiamo aggiornare la guida ;) )

    H2K

  1. No trackbacks yet.

Leave a Reply

Back Top


Debianclan pixeled by Open Source Blog