====== Alice Mobile (Huawei 169) con Ubuntu Linux ======
===== Configurazione dell'hardware =====
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 [[http://linuxfreedomforlive.blogspot.com/2009/11/huawei-e169-su-ubuntu-910-correzione.html|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/ttyUSB0''((segnalato da [[massimo.martinelli@isti.cnr.it|Massimo Martinelli]] e riscontrato su una macchina a 64bit con Ubuntu 8.04)); 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 =====
* **No Carrier**: il tempo che passa tra l'esecuzione di usb_modeswitch e wvdial è critico; prova ad aumentarlo.
----
=====To Do=====
Descrivere come automatizzare il processo con udev rules. Vedi riferimenti...
**Riferimenti**
- http://www.draisberghof.de/usb_modeswitch/
- http://www.perugiagnulug.org/configurazione-penna-internet-tim-huawei-e166-su-ubuntu
- http://www.eeepc.it/huawei-e169-hsdpa-wind-sulleee-pc/
Per segnalare errori o omissioni, per suggerire aggiunte o dare commenti, contattare [[antonino.sabetta@isti.cnr.it]]