Table of Contents

Alice Mobile (Huawei 169) con Ubuntu Linux

Configurazione dell'hardware

info Quanto segue è stato testato su Ubuntu Linux versione Hardy Heron 8.04.2. E’ probabile che la procedura illustrata funzioni con altre versioni di Ubuntu Linux e, con opportune modifiche, anche con altre distribuzioni Linux.

UPDATE: se usate Ubuntu (9.04) questa guida è perfettamente inutile; in quella versione di Ubuntu infatti basta inserire la pennina in una porta usb e tutto funziona automaticamente senza dover fare nulla di quanto indicato in questa pagina.

UPDATE: se usate Ubuntu (9.10) dovete sapere che (almeno nella versione iniziale disponibile alla data di rilascio della 9.10) il supporto alla Huawei non funziona. Per risolvere il problema, si veda questa guida (grazie a Massimo Martinelli per la segnalazione!)

Istallazione libreria libusb

sudo aptitude install libusb-dev

Istallazione tramite pacchetto .deb

Poi si può istallare usb-modeswitch. Nota: siccome usb-modeswitch si aspetta un pacchetto libusb che non trova (il pacchetto che contiene la libreria libusb si chiama libusb-dev), bisogna convincere dpkg a non verificare le dipendenze e ad istallare usb-modeswitch senza fare storie (opzione –ignore-depends=libusb):

wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch_0.9.6-1_i386.deb
sudo dpkg --ignore-depends=libusb -i usb-modeswitch_0.9.6-1_i386.deb

In questa circostanza, una istallazione da sorgenti può risultare una soluzione più pulita ed altrettanto semplice (vedi sotto).

Istallazione da sorgenti

In alternativa ai due comandi qui sopra (che fanno un pò storcere il naso a causa della forzatura data da –ignore-depends), è possibile compilarsi usb-modeswitch da sorgenti; questa operazione è altrettanto semplice:

wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.6.tar.bz2
tar fvxj usb_modeswitch-0.9.6.tar.bz2
cd usb_modeswitch-0.9.6
gcc -l usb -o usb_modeswitch usb_modeswitch.c
sudo cp usb_modeswitch /usr/local/bin/usb_modeswitch
sudo chmod +x /usr/local/bin/usb_modeswitch
sudo cp usb_modeswitch.conf /etc/usb_modeswitch.conf

Configurazione di usb-modeswitch

Ora non resta che configurare usb-modeswitch. Modificare il file /etc/usb_modeswitch.conf inserendo quanto segue (e lasciando commentato il resto):

###############
# Huawei E169
DefaultVendor= 0x12d1
DefaultProduct= 0x1001
DetachStorageOnly=1
HuaweiMode=1

Verifica

Se tutto è andato bene, dmesg mostrerà qualcosa di simile a quanto segue:

[62041.210876] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial Driver core
[62041.271820] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
[62041.271981] usbcore: registered new interface driver option
[62041.271997] /build/buildd/linux-2.6.24/drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1

Ad ulteriore conferma, lsusb dirà qualcosa del tipo:

....
....
Bus 003 Device 007: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
....
....

Inizializzazione della chiavetta

Ora lanciamo finalmente usb_modeswitch

usb_modeswitch

e poi, dopo aver atteso un paio di secondi:

sudo modprobe usbserial vendor=0x12d1 product=0x1001

A questo punto Ubuntu vede la chiavetta come un modem, ed è quindi possibile usarla con i programmi di connessione soliti (come l’ottimo wvdial, vedi sotto).

Configurare wvdial

Copiare quanto segue nel file /etc/wvdial.conf

[Dialer pin]
Init1 = AT+CPIN=XXXX <--------CAMBIARE QUI! (METTI IL PIN DELLA TUA SIMCARD)
Username = ''
Password = ''
Phone =

[Dialer alice]
Init = ATX3
Init2 = AT&F Q0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = at+cgdcont=1,"IP","ibox.tim.it"
Phone = *99#
Dial Attempts = 5
Dial Command = ATM1L3DT
Ask Password = off
Username = ''
Password = ''

[Dialer Defaults]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = Analog Modem
Baud = 460800
Stupid Mode = on
Auto Reconnect = off
Check Def Route = off

dove XXXX è il pin della tua simcard.

Lanciare wvdial una prima volta in modo da inserire il pin:

wvdial pin

  Nota: il pin si può inserire una volta sola. Successivi tentativi falliranno (ma basta sfilare la chiavetta e ricominciare da capo).

e poi una seconda per connettersi effettivamente:

wvdial alice

  Per evitare di dover fare il doppio passaggio (wvdial pin + wvdial alice) si può inserire la sim in un cellulare e impostarla in modo che non richieda più il pin.

:!: Su alcune macchine il modem della chiavetta potrebbe essere associato al file /dev/ttyUSB_utps_modem e non a /dev/ttyUSB01); se è così, sarà necessario aggiustare la configurazione di wvdial.

Ho fatto un test e ho ottenuto i seguenti risultati:

Velocità in download: 1883 Kbps (235.4 KB/sec)
Velocità in upload: 285 Kbps (35.6 KB/sec)
Test eseguito alle: 10:48 del: 18/2/2009
Posizione: Pisa

Uso di questa configurazione

In sostanza, quando voglio collegarmi, inserisco la chiavetta, attendo 5-10 secondi e poi eseguo uno script con i seguenti comandi dentro:

sudo usb_modeswitch
sleep 20
sudo modprobe usbserial vendor=0x12d1 product=0x1001
sleep 5
wvdial pin
sleep 3
wvdial alice

Troubleshooting


To Do

Descrivere come automatizzare il processo con udev rules. Vedi riferimenti...

Riferimenti

 Per segnalare errori o omissioni, per suggerire aggiunte o dare commenti, contattare antonino.sabetta@isti.cnr.it

1) segnalato da Massimo Martinelli e riscontrato su una macchina a 64bit con Ubuntu 8.04