K3806-Z HSPA USB Modem Vodafone Italia e GNU/Linux

Apparso sul blog: "Broken links"

Ho comperato una chiavetta USB da Vodafone, 49 euro con 3 mesi inclusi di connessione, tariffa Internet Sempre Smart (il che significa 1 GB al mese fino a 1.8 Mbps e oltrepassato il giga nel mese la navigazione senza costi aggiuntivi si abbassa alla velocita' di 64 kbps). I mesi successivi costeranno 9 euro/mese, senza obbligo, SIM ricaricabile.

La cosa sembra buona, almeno per navigare, chattare e spedire e-mail. Ho intenzione di usarla in giro col minuscolo netbook acer asus eeepc 1001px. Ma due cose sono andate storte:

  1. Vengono bloccate le connessioni VoIP (SIP e Skype)
  2. Non esiste supporto né driver per GNU/Linux sul sito del gestore (vodafone)

Bloccare la possibilità di fare telefonate in rete, con buona pace della Neutralità che un gestore dovrebbe conservare sui contenuti che trasporta, è chiaramente cosa pessima che va a tutto vantaggio del gestore che fornisce il servizio, il quale guarda caso fornisce anche e soprattutto servizi di telefonia ed evidentemente malsopporta la concorrenza. Questo articolo del Sole 24 Ore datato 7 febbraio 2011 ci racconta la storia ricordandoci come in USA sia proibito ai gestori di fare discriminazioni sul traffico bloccando ad esempio VoIP e video; ma in EU non c'è ancora una legislazione che glielo impedisca. Ho chiamato un operatore cui ho chiesto se fosse vero che Vodafone blocca alcuni servizi come le telefonate via VoIP e mi è stato risposto che ufficialmente Vodafone non blocca nulla ma che offre dei servizi più comodi e più costosi coi quali garantisce che tutto funzioni, mentre coi servizi di base, non garantisce. Bel modo di risvoltare la frittata, a parte la tristezza del negare tutto, negare sempre, mi pare che "non garantire un servizio" non valga come sinonimo di "impedirlo". Secondo Voda il rispettare la neutralità della rete significa proporre diversi servizi dal basic al premium. (dove il basic non rispetta la neutralità ma ehi! puoi sempre passare al premium) Non va per niente bene e non sono soddisfatto, il mio misero 1 GB di traffico devo essere libero di usarlo come mi pare, se mi impedisce di usarlo telefonando, Vodafone sta violando il principio della Neutralità della rete. E' come se si mettesse a sindacare su che numeri chiamo e mi impedisse di chiamarne alcuni nonostante abbia pagato in anticipo. Sono sdegnato.

Sul sito dell'operatore (Vodafone) che mi ha venduto la chiavetta non ci sono driver per GNU/Linux, neanche mezzo. Neanche l'ombra. Al telefono mi è stato risposto che non è contemplato tra i sistemi operativi.

Lasciato solo ho trovato il sito della Betavine che fabbrica driver per conto di Vodafone (doh). Si può scaricare da qui il software Vodafone Mobile Connect. Peccato che una volta soddisfatte le dipendenze e installato il software

sudo dpkg -i vodafone-mobile-connect_1.99.17-8_all.deb

Comunque non funziona.

Il modo per farlo funzionare è usare uno script chiamato sakis3g

Arriviamo alla ciccia:

la chiavetta:

K3806-Z HSPA USB Modem

sulla scatola c'è scritto:

FACILE VIK K3806Z HSPA WHITE 5E

Non serve installare dunque il software della Vodafone-Betavine, serve però installare diverse dipendenze tra cui su Ububtu Maverick: ozerocdoff, usb-modeswitch, python-twisted, hal.

Dal sito sakis3g.org si può scaricare lo script, spacchettarlo, copiarlo eventualmente in /usr/local/bin/ lanciarlo, rispondere alle domande ed effettuare con successo la connessione. l'unica incognita era il tipo di interfaccia, per me ha funzionato la #3.

Troubleshooting: se lo script non si avvia lagnandosi che: "Port /dev/ttyUSB3 is currently occupied by 691 modem-manager" bisogna disattivare dal menu di Network Manager "Mobile Broadband". Una volta tolta la spunta (unckeched) Mobile Broadband l'interfaccia si libera e si può rilanciare lo script.

Potrebbe anche essere necessario aggiungersi al gruppo 'dialout'

customizzazione: Ho scritto un file di configurazione leggendo il wiki di sakis3g per non dover rispondere alla domande ad ogni connessione. E l'ho salvato in /etc/sakis3g.conf

# il mio /etc/sakis3g.conf
APN="web.omnitel.it"
USBINTERFACE="3"
USBDRIVER="cdc_acm"
MODEM="OTHER"
OTHER="USBMODEM"
USBMODEM="19d2:1015"
DISPLAY=":0"
#CUSTOM_DIAL="*99***2#"
#SIM_PIN="0000"

Customizzazione grafica: con questo comando arriva un pinguno sul pannello in alto di colore rosso che diventa verde quando la connessione è attiva

./sakis3g helper balloons &

Con Gnome si può anche andare in

System > Preferences > Startup Programs > Add

Come Nome e Commento metteremo quello che ci pare come comando:

/usr/local/bin/sakis3g helper balloons

In modo da avere il pinguinetto nel menu automaticamente all'avvio.

Se ad ogni nuova connessione Firefox pensa di essere offline e ci si stufa ad andare ogni volta nel Menu->File->togliere la spunta a Work offline. E' possibile andare con Firefox alla pagina about:config. Trovare filtrando l'opzione toolkit.networkmanager.disable e cambiarne il valore. In questo modo Firefox la smette di dare retta a Network manager.

Alcuni parametri di connessione (dovessero servire) di Vodafone Italia

Profile Name: Il nome che preferisci, lascia vuoti i campi username e password
Username:
Password:
APN host: "web.omnitel.it "

dial: *99***2#

Il risultato di lsusb:

$ lsusb

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 19d2:1015 ONDA Communication S.p.A.
Bus 001 Device 003: ID 13d3:5702 IMC Networks
Bus 001 Device 002: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

report dello script sakis3g:

Please report following text:
Sakis3G version: 0.2.0e
Using embedded Usb-ModeSwitch version:
 * Version 1.1.3 (C) Josua Dietze 2010
Kernel version: 2.6.35-22-generic
Architect: i686
Selected UI is: zenity
Interface: P-t-P (ppp0)
Network ID: 22210
Operator name: vodafone IT
APN: web.omnitel.it
Modem: K3806-Z
Modem type: USB
Kernel driver: cdc_acm
Device: /dev/ttyACM1
Variables: --interactive APN="web.omnitel.it" USBINTERFACE="3" \
 USBDRIVER="cdc_acm" USBMODEM="19d2:1015" OTHER="USBMODEM" \
 MODEM="OTHER" DISPLAY=":0" LOCALAUTHORITY="/tmp/libgksu-6KtIXH/.Xauthority"