Translation(s): English - Italiano

(!) ?Discussion


Introduzione

Questo HOWTO spiega come far funzionare una scheda dati 3G di Vodafone con un computer portatile Linux, è basato sulle esperienze fatte con la scheda e le esperienze di altre persone.

[Nota: Vodafone ora (2005/2006) distribuisce anche Option Fusion, Fusion+, 3G, 3G/EDGE e modem USB con shede HSDPA sotto lo stesso nome Vodafone 3G; questo HOWTO tratta solo della scheda originale Vodafone 3G. I numeri di serie delle schede originali iniziano con CL. Si veda anche la pagina dei modem 3G.

Consultare questa pagina per una descrizione e prospettiva differente: http://www.kuix.de/umts/vodafone/

Contesto tecnico

Se la V3G è installata correttamente sul sistema si avranno tre porte USB seriali, possono essere utilizzate solo due porte (n° 0 e n° 2).

Il vantaggio di avere due porte è che si può avere il collegamento PPP su una porta ed eseguire comandi GSM sull'altra; ad esempio è possibile monitorare la connessione dati, controllare la registrazione GSM e inviare SMS senza interrompere il collegamento dati PPP.

Poiché la scheda V3G utilizza le porte USB seriali, si può utilizzare il driver USB standard di Linux.

La V3G è una scheda dati compatibile Cardbus, perciò è progettata per funzionare a 3,3 Volt.

HOWTO correlati

Configurazione Linux

Tutte le attività di configurazione del sistema devono essere eseguite come root.

PCMCIA

Assicurarsi che l'interfaccia PCMCIA sia funzionante.

Collegando la scheda si dovrebbe udire un bip, si vedrà che cardctl non dice molto:

# cardctl status
Socket 0:
  3.3V CardBus card
  function 0: [ready]
Socket 1:
  no card

# cardctl config
Socket 0:
  Vcc 3.3V  Vpp1 3.3V  Vpp2 3.3V
  interface type is "cardbus"
  irq 11 [exclusive] [level]
  function 0:
Socket 1:
  not configured

ma conferma che la PCMCIA funziona.

Se si incontrano problemi si possono consultare l'HOWTO GPRS menzionato all'inizio e anche queste pagine:

?PCMCIA - http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-HOWTO.html

Portatili - http://www.linux-laptop.net/

USB

Se il supporto USB è attivato la scheda V3G viene subito riconosciuta da Linux, in caso contrario il kernel potrebbe essere troppo vecchio o non è stato compilato con il supporto USB.

Controllando il registro di sistema si potrà notare qualcosa di simile nelle ultime righe:

cs: cb_alloc(bus 2): vendor 0x1045, device 0xc861
PCI: Enabling device 02:00.0 (0000 -> 0002)
PCI: Setting latency timer of device 02:00.0 to 64
usb-ohci.c: USB OHCI at membase 0xc90e7000, IRQ 11
usb-ohci.c: usb-02:00.0, PCI device 1045:c861
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: new USB device 02:00.0-1, assigned address 2
usb.c: USB device 2 (vend/prod 0xaf0/0x5000) is not claimed by any active driver

L'ultima fornisce l'informazione necessaria, bisogna configurare USB in modo che riconosca i codici del modello e del produttore della V3G e assegni correttamente il modulo seriale USB ad essa.

Se il sistema non ha segnalato modello e produttore nel registro probabilmente è perché si ha un kernel 2.6. In questa situazione è possibile confermare le stesse informazioni con il comando:

cat /proc/bus/usb/devices

Se funziona si dovrebbero vedere nell'elenco queste due righe:

P:  Vendor=0af0 ProdID=5000 Rev= 0.00
S:  Manufacturer=Vodafone

Le informazioni chiave sono gli ID del produttore e del prodotto che verranno utilizzati per identificare la scheda e caricare i driver.

Nota: quando viene collegata la scheda ci vuole del tempo perché si accenda, questo significa che può richiedere diversi secondi prima che il registro di sistema venga aggiornato.

Kernel 2.4

Lo scopo è fare in modo che la scheda venga configurata correttamente all'avvio del computer o quando è inserita. Un modo per ottenere questo è modificare il file:

/etc/module.conf.local

Questo viene letto dal sistema per decidere quali moduli vengono caricati all'avvio e quando i dispositivi vengono rilevati (come i dispositivi USB).

È necessario aggiungere le seguenti righe:

#
# please add local extensions to this file
#
options usbserial vendor=0xaf0 product=0x5000
post-install usbcore modprobe usbserial

La prima dice al sistema di usare il modulo ?usbserial se viene rilevato un dispositivo con ID del produttore pari a 0xaf0 e ID del prodotto pari a 0x5000.

La seconda varia da sistema a sistema e potrebbe non essere necessaria, è una direttiva che dice che quando i servizi di base USB sono in esecuzione il sistema dovrebbe forzare il caricamento del modulo usbserial; è ciò che permette al sistema di rilevare correttamente la V3G all'avvio.

Nota: Il sistema potrebbe avere solo /etc/modules.conf, in questo caso è possibile aggiungere le righe alla fine di quel file.

Kernel 2.6

I cambiamenti per il kernel 2.6 sono molto simili:

Il file da modificare si chiama

/etc/modprobe.conf.local

È necessario aggiungere le seguenti righe:

#
# please add local extensions to this file
#
options usbserial vendor=0xaf0 product=0x5000

Nota: il sistema potrebbe avere solo /etc/modules.conf, in questo caso è possibile aggiungere le righe alla fine di quel file.

Una volta effettuate le modifiche è necessario riavviare il sistema; collegando la scheda V3G si otterranno nel registro di sistema messaggi simili a questi:

cs: cb_alloc(bus 2): vendor 0x1045, device 0xc861
PCI: Enabling device 02:00.0 (0000 -> 0002)
PCI: Setting latency timer of device 02:00.0 to 64
usb-ohci.c: USB OHCI at membase 0xc90e7000, IRQ 11
usb-ohci.c: usb-02:00.0, PCI device 1045:c861
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: new USB device 02:00.0-1, assigned address 2
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
usbserial.c: Generic converter detected
usbserial.c: Generic converter now attached to ttyUSB2 (or usb/tts/2 for devfs)

Come si può vedere usbserial.c è stato caricato ed ha assegnato i dispositivi a ciascuna delle tre porte.

Nota: la reale assegnazione del dispositivo (ad esempio /dev/ttyUSB0) potrebbe essere diversa se si hanno altri dispositivi seriali USB collegati.

Nota: poiché Linux deve caricare vari driver, saranno necessari alcuni secondi dopo l'inserimento della scheda prima che il sistema segnali tutte le porte USB.

Si dovrebbe controllare quali dispositivi siano effettivamente presenti nel filesystem:

# ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

Normalmente queste voci esistono, altrimenti si possono aggiungere:

# mknod /dev/ttyUSB0 c 188 0
# mknod /dev/ttyUSB1 c 188 1
# mknod /dev/ttyUSB2 c 188 2

In quest'ultimo caso la V3G andrà reinserita affinché tutto funzioni.

**Ricordarsi di riavviare il sistema dopo aver effettuato le modifiche.**

Come usare le porte seriali

/dev/ttyUSB0 dovrebbe essere utilizzato per le connessioni PPP dati.

/dev/ttyUSB2 è il device da utilizzare per le attività connesse a GSM, quali SMS e controlli di rete.

Nota: /dev/ttyUSB1 non è utilizzato per nulla.

Se si tenta di utilizzare /dev/ttyUSB2 per una connessione dati non si otterrà un messaggio di errore ma la connessione PPP sarà effettivamente creata su /dev/ttyUSB0.

Configurare PPPD e utilità per internet

Si possono trovare degli utili script di connessione nell'HOWTO su GPRS, basta ricordarsi di cambiare il nome del dispositivo, velocità di trasmissione dati e le opzioni di pppd, come descritto in questo documento.

Fare in modo che la compressione non venga utilizzata sulla connessione PPP, questo significa utilizzare le opzioni novj e nobsdcomp di pppd. Se PPPD non è configurato correttamente non sarà in grado di negoziare la connessione PPP alla scheda.

Creando un collegamento tra /dev/modem e /dev/ttyUSB0 tutte le utilità standard di connessione a Internet quali chat, wvdial, Kinternet e kpp possono essere utilizzate per effettuare la connessione PPP. Se si desidera mantenere /dev/modem per la rete fissa tradizionale (POTS) è possibile utilizzare assegnazioni alternative come:

/dev/usb/ttyACM0 che non viene utilizzato dal sistema dell'autore (Suse 8.2) ma è elencato come un eventuale dispositivo di kppp. Nel qual caso:

ln -s /dev/ttyUSB0 /dev/usb/ttyACM0 

crea il collegamento simboliico.

La velocità di connessione andrebbe impostata con valori più alti possibile e superiori a 384 kbs, provare con 460800.

APN, nomi utente e password

Devono essere utilizzati i corretti parametri dell'APN, nome utente e password per il provider SIM o la connessione non funzionerà. Se il provider non è in grado di fornirli (sono spesso pubblicati nelle sezioni tecniche dei loro siti web) si può fare una ricerca su internet per APN Vodafone.

Comandi AT

La V3G usa l'insieme di comandi ETSI AT standard.

Ci sono alcune modifiche solo per la V3G:

AT+COPS?

Restituirà un valore aggiuntivo:

+COPS: 0,0,”Vodafone UK”,0

La cifra finale mostra se la scheda è registrata su una rete GPRS o UMTS (0 == GPRS, 2 == UMTS).

Vi è un comando molto utile che cambia il modo in cui la scheda V3G si comporta:

AT_OPSYS=n

Dove n è un valore compreso tra 0 e 5.

AT_OPSYS=0     #Si connette solo a reti GSM
AT_OPSYS=1     #Si connette solo a reti UMTS
AT_OPSYS=2     #Se esiste una scelta: preferisce GPRS
AT_OPSYS=3     #Se esiste una scelta: preferisce UMTS
AT_OPSYS=4     #Rimane con qualsiasi rete ci si sia connessi
AT_OPSYS=5     #Automatico – lascia che sia V3G a decidere

In alcuni casi questo comando renderà la connessione più affidabile, soprattutto se si lavora in una zona di copertura marginale.

Compatibilità

La V3G è stata testata dall'autore e si è rivelata funzionante con diverse versioni di Linux:

Si veda anche

Ringraziamenti

Grazie a tutti quelli che hanno fornito feedback, in particolare P. McGrath e E. Batsis per gli utili commenti.


CategoryHardware CategoryModem