2011-02-01

Configurazione chiavetta Vodafone Internet Key 14.4

Ricevuta la chiavetta Internet da parte di Vodafone ho provato a configurarla per la connessione dal netbook (MSi U100) con OpenSUSE 11.2, la mia Linux box in questione ha sempre avuto qualche difficoltà con le connessioni di rete, a partire da quella ethernet a quelle WiFi, date le esperienze precedenti mi sono dovuto armare di tutta la pazienza di cui dispongo per cimentarmi in questa avventura. A volte rimpiango i tempi in cui utilizzavo quei sistemi operativi di cui non vengono forniti i sorgenti ma tutti i driver necessari per qualsiasi periferica... scherzo!
Presa la decisione ho deciso di collegare la chiavetta ad una delle porte USB e con un tail -f su /var/log/messages tenevo per mano il pinguino che tentava il riconoscimento.

Segue il contenuto del log dei messaggi:
usb 1-2: new high speed USB device using ehci_hcd and address 26
usb 1-2: New USB device found, idVendor=19d2, idProduct=1013
usb 1-2: New USB device strings: Mfr=2, Product=1, SerialNumber=3
usb 1-2: Product: K3806-Z
usb 1-2: Manufacturer: Vodafone (ZTE)
usb 1-2: SerialNumber: 2330..................
usb 1-2: configuration #1 chosen from 1 choice
scsi25 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 26
usb-storage: waiting for device to settle before scanning
scsi 25:0:0:0: CD-ROM            Vodafone USB SCSI CD-ROM  0001 PQ: 0 ANSI: 0
sr0: scsi3-mmc drive: 0x/0x caddy
sr 25:0:0:0: Attached scsi CD-ROM sr0
sr 25:0:0:0: Attached scsi generic sg3 type 5
scsi 25:0:0:1: Direct-Access     Vodafone Storage          0001 PQ: 0 ANSI: 0
sd 25:0:0:1: Attached scsi generic sg4 type 0
usb-storage: device scan complete
sd 25:0:0:1: [sdd] Attached SCSI removable disk
Per due minuti ho pensato che in Vodafone si fossero presi gioco di me, la chiavetta è risultata essere un CD-ROM ed il mio KDE mi ha proposto di montarlo, devo dire che non ci sono cascato, non l'ho montato e con il senno di poi mi sono dato ragione, non avrei trovato niente di utile per raggiungere i miei obiettivi, solo file con estensioni per me inutili. Ho seguitato a tenere per mano la pinna del pinguino cercando io stesso di mantenere la calma e sono passati così circa 3 minuti dopo i quali qualcosa si è mosso di nuovo ed il device USB 1-2 si è disconnesso:
usb 1-2: USB disconnect, address 26

7 secondi dopo si è riconnesso riconoscendo di nuovo il finto CD-ROM ma solo dopo aver configurato anche il modem creando due device: ttyACM0 e ttyACM1
usb 1-2: new high speed USB device using ehci_hcd and address 27
usb 1-2: New USB device found, idVendor=19d2, idProduct=1015
usb 1-2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
usb 1-2: Product: K3806-Z
usb 1-2: Manufacturer: Vodafone (ZTE)
usb 1-2: SerialNumber: 2330...................
usb 1-2: configuration #1 chosen from 1 choice
cdc_acm 1-2:1.1: ttyACM0: USB ACM device
cdc_acm 1-2:1.3: ttyACM1: USB ACM device
usb0: register 'cdc_ether' at usb-0000:00:1d.7-2, CDC Ethernet Device, xx:xx:xx:xx:xx:xx
scsi26 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 27
usb-storage: waiting for device to settle before scanning
modem-manager: (ttyACM0) opening serial device...
modem-manager: (ttyACM0): probe requested by plugin 'ZTE'
modem-manager: (ttyACM1) opening serial device...
modem-manager: (ttyACM1): probe requested by plugin 'ZTE'
ifup: Service network not started and mode 'auto' -> skipping
scsi 26:0:0:0: CD-ROM            Vodafone USB SCSI CD-ROM  0001 PQ: 0 ANSI: 0
sr0: scsi3-mmc drive: 0x/0x caddy
sr 26:0:0:0: Attached scsi CD-ROM sr0
sr 26:0:0:0: Attached scsi generic sg3 type 5
scsi 26:0:0:1: Direct-Access     Vodafone Storage          0001 PQ: 0 ANSI: 0
sd 26:0:0:1: Attached scsi generic sg4 type 0
usb-storage: device scan complete
sd 26:0:0:1: [sdd] Attached SCSI removable disk
modem-manager: (ttyACM0) closing serial device...
modem-manager: (ZTE): GSM modem /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2 claimed port ttyACM0
modem-manager: Added modem /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2
modem-manager: signal "completed" (from "Completed") exported but not found in object class "MMModemZte"
modem-manager: Exported modem /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2 as /org/freedesktop/ModemManager/Modems/2
modem-manager: (ttyACM1) closing serial device...
modem-manager: (ZTE): GSM modem /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-2 claimed port ttyACM1

il comando lsusb tra le varie righe già presenti in passato ha presentato la nuova:
Bus 001 Device 027: ID 19d2:1015 ONDA Communication S.p.A.
per avere maggiori dettagli ho impartito lsusb -v -s 1:27 richiedendo le informazioni del device 27 collegato al bus 1:
tra le tante informazioni ricevute:
...
  idVendor           0x19d2 ONDA Communication S.p.A.
  idProduct          0x1015 
  bcdDevice            0.01
  iManufacturer           3 Vodafone (ZTE)
  iProduct                2 K3806-Z
...
      bInterfaceClass         2 Communications
      bInterfaceSubClass      8 Wireless Handset Control
...
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
...
Beh, nella chiavetta il modem c'è, è arrivato il momento di configurarlo e per questo mi sono avvalso delle esperienze precedenti che mi hanno dimostrato che di KNetworkManager non sempre mi posso fidare e del consiglio di un collega che mi ha proposto di utilizzare wvdial.
Facile da configurare, trova da solo il modem con il comando wvdialconf /etc/wvdial.conf e memorizza nel file passato come parametro la configurazione necessaria per il funzionamento dopo aver interrogato il modem con i cari vecchi comandi AT; bene lo spot pubblicitario di wvdial è finito, adesso cerchiamo di farlo funzionare. Quello che segue è il contenuto generato automaticamente:
[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
; Phone = 
ISDN = 0
; Username = 
Init1 = ATZ
; Password = 
Modem = /dev/ttyACM0
Baud = 460800
Prima di utilizzarlo vanno fornite alcune informazioni:
* wvdial per connettersi necessita di un numero telefonico
* wvdial per connettersi necessita di una coppia utente e password
* la chiavetta ha bisogno di un punto di accesso per la connessione
* la sim in mio possesso ha un PIN da fornire prima della prima connessione e non ho intenzione di disabilitarlo

Per il numero telefonico una ricerca con google mi ha fatto trovare: *99***1# non so se sia l'unico corretto ma in seguito ho verificato che funziona.
Per la coppia utente e password serve solo la fantasia, non servono assolutamente a niente se non ad assecondare wvdial.
Il punto di accesso, che per il mio contratto è web.omnitel.it viene fornito con il comando AT+CGDCONT=1,"IP","web.omnitel.it"
Il PIN è stato quello che mi ha dato più filo da torcere in quanto le indicazioni che ho trovato per fornirlo tramite i comandi AT davano sempre il comando AT +CPIN=1234 supposto che fosse 1234 il codice PIN, in pratica il modem della chiavetta in mio possesso gradisce solo il comando con il codice PIN racchiuso tra doppi apici AT +CPIN="1234" altrimenti restituisce un errore e non abilita la sim.
Questo alla fine è il file wvdial.conf che utilizzo:
[Dialer vodafone]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","web.omnitel.it"
Modem Type = USB Modem
Phone = *99***1#
ISDN = 0
Username = prova
Password = prova
Modem = /dev/ttyACM0
Baud = 460800

[Dialer pin]
Modem = /dev/ttyACM0
Baud = 460800
Init1 = ATZ
Init2 = AT +CPIN="1234"

Il comando per fornire il PIN non può essere impartito una seconda volta e quindi restituirebbe un errore in caso di seconda connessione senza aver scollegato la chiavetta; per questo motivo va configurata una sezione specifica per il PIN da utilizzare alla prima connessione.
In definitiva per eseguire la prima connessione dopo aver inserito la chiavetta devo eseguire da una shell con permessi di root:
wvdial pin
wvdial vodafone
Dalla seconda connessione in poi solo:
wvdial vodafone
Potrei creare un comando nel menu per eseguirlo in modo più comodo ma non penso che lo farò mai.

L'unico difetto che ho riscontrato per ora è il mancato aggiornamento del file /etc/resolv.conf per la definizione dei server DNS, non so da cosa dipenda ma per il momento posso impostarli a mano, se in seguito risolverò anche questo aggiungerò un posto apposito.

2 commenti:

  1. Grazie mille!!
    Ho avuto il tuo stesso problema riguardo il PIN, fortuna che hai scritto l'articolo ;D

    RispondiElimina
  2. Ti ringrazio anch'io per lo stesso motivo. Ciao

    RispondiElimina