Introduzione
Questa guida nasce con l'intento di aiutare i possessori di schede pcmcia Umts/Gprs che abbiano incontrato problemi nel loro utilizzo sotto Ubuntu.
Le parti che seguono fanno riferimento all'utilizzo di una scheda della Huawei.
Il sistema operativo deve essere avviato senza che la scheda pcmcia sia inserita nell'apposito alloggiamento.
La presente guida sembra non funzionare con tutte le schede. Nel caso riscontriate difficoltà si consiglia di provare anche con le guide presenti in Ulteriori risorse.
Caratteristiche tecniche scheda PCMCIA
- Modello GT 3G Quad
- Designed in EU by Option
- Datacard UMTS/GPRS
- Qualcomm 3G CDMA
Driver Option
Il kernel di Ubuntu Dapper 6.06 include il modulo option nel kernel custom installato di default, dunque non e' necessario ricompilare il kernel per abilitare questo modulo.
I possessori di Ubuntu Edgy 6.10,possono riscontrare una mancanza di tale driver a seconda del kernel adottato, quindi, per verificare subito la presenza di questo driver e' possibile provare con:
sudo modprobe option
Lanciare lsmod per controllare la presenza del modulo caricato.
Ecco una breve descrizione del modulo:
Questo driver supporta numerose schede PCMCIA aventi un adattatore OHCI-USB incorporato e un modem GSM interno. Il bus USB di queste cards non e' accessibile esternamente. Il supporto include dispositivi come: Option, Huawei, Audiovox, Novatel Wireless o Anydata. Il modulo si chiama Option
Inserimento della scheda pcmcia
Dopo aver avviato il sistema,dobbiamo vedere se la pcmcia-card è stata riconosciuta, quindi scriviamo sul terminale:
sudo tail -f /var/log/messages
Ora inseriamo la card e visualizziamo l'output in realtime. Ci comparirà a video un lungo elenco di descrizioni.
Possiamo avere 2 casi:
La scheda non è stata riconosciuta dopo averla inserita; avremo un output a video simile al seguente
[4296903.314000] hub 5-0:1.0: USB hub found [4296903.314000] hub 5-0:1.0: 1 port detected [4296903.346000] PCI: Enabling device 0000:07:00.1 (0000 -> 0002) [4296903.346000] ACPI: PCI Interrupt 0000:07:00.1[B] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ10 [4296903.346000] PCI: Setting latency timer of device 0000:07:00.1 to 64 [4296903.346000] ohci_hcd 0000:07:00.1: NEC Corporation USB (#4) [4296903.347000] ohci_hcd 0000:07:00.1: new USB bus registered, assigned bus number 6 [4296903.347000] ohci_hcd 0000:07:00.1: irq 10, io mem 0×21001000 [4296903.432000] hub 6-0:1.0: USB hub found [4296903.432000] hub 6-0:1.0: 1 port detected [4296903.555000] usb 5-1: new full speed USB device using ohci_hcd and address 2
La scheda è stata riconosciuta dopo l'inserimento,e il device e' stato collegato all'interfaccia /dev/ttyUSB*
May 2 05:10:19 localhost kernel: [4295017.626000] usbserial_generic 5-1:1.0: Generic converter detected May 2 05:10:19 localhost kernel: [4295017.632000] usb 5-1: Generic converter now attached to ttyUSB0 May 2 05:10:19 localhost kernel: [4295017.632000] usbserial_generic 5-1:1.1: Generic converter detected May 2 05:10:19 localhost kernel: [4295017.638000] usb 5-1: Generic converter now attached to ttyUSB1 May 2 05:10:19 localhost kernel: [4295017.638000] usbserial_generic 5-1:1.2: Generic converter detected May 2 05:10:19 localhost kernel: [4295017.644000] usb 5-1: Generic converter now attached to ttyUSB2 May 2 05:10:19 localhost kernel: [4295017.645000] usbcore: registered new driver usbserial_generic May 2 05:10:19 localhost kernel: [4295017.645000] drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
Se riscontrate il secondo caso, passate al paragrafo Configurare la connessione.
Nel caso sia necessario abilitare dei driver per le utility della PCMCIA in generale (sia Ubuntu 6.06 che 6.10 sono gia' impostate con questi driver abilitati), provare con questo metodo.
Caricare driver PCMCIA-USB
Allo scopo di caricare i driver specifici per la nostra scheda, dobbiamo recuperare due informazioni: il codice del produttore e il codice del prodotto. Per fare ciò scriviamo sul terminale
sudo cat /proc/bus/usb/devices
ci comparirà un lungo elenco simile a questo
T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=12d1 ProdID=1001 Rev= 0.00 S: Manufacturer=HUAWEI Technologies <–my card manufacturer S: Product=HUAWEI Mobile S: SerialNumber=HUAWEI DEVICE C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
La riga che ci interessa è quella dove compaiono i codici produttore (vendor) e prodotto (product), cioè questa Vendor=12d1 ProdID=1001.
I codici cambiano a seconda del tipo-marca di scheda; bisogna considerare quelli che effettivamente compaiono a video dopo aver lanciato sudo cat /proc/bus/usb/devices.
Ora dobbiamo caricare due moduli: serial_cs e usbserial, forzando il sistema affiché carichi questo secondo modulo appositamente per la nostra scheda:
sudo modprobe serial_cs sudo modprobe usbserial vendor=0x12d1 product=0x1001
Ai codici produttore e prodotto deve essere anteposto 0x (zero-ics) perché si tratta di numeri esadecimali.
A questo punto verifichiamo che la scheda sia riconosciuta, scrivendo sul terminale
dmesg
dovremmo ottenere un output del tipo
May 1 14:09:42 localhost usb.agent[8225]: usbcore: already loaded May 1 14:12:02 localhost kernel: [4294993.412000] usbcore: registered new drive r usbserial May 1 14:12:02 localhost kernel: [4294993.417000] drivers/usb/serial/usb-serial .c: USB Serial support registered for Generic May 1 14:12:02 localhost kernel: [4294993.424000] usbserial_generic 5-1:1.0: Ge neric converter detected May 1 14:12:02 localhost kernel: [4294993.430000] usb 5-1: Generic converter no w attached to ttyUSB0 May 1 14:12:02 localhost kernel: [4294993.430000] usbserial_generic 5-1:1.1: Ge neric converter detected May 1 14:12:02 localhost kernel: [4294993.436000] usb 5-1: Generic converter no w attached to ttyUSB1 May 1 14:12:02 localhost kernel: [4294993.436000] usbserial_generic 5-1:1.2: Ge neric converter detected May 1 14:12:02 localhost kernel: [4294993.442000] usb 5-1: Generic converter no w attached to ttyUSB2 May 1 14:12:02 localhost kernel: [4294993.442000] usbcore: registered new drive r usbserial_generic May 1 14:12:02 localhost kernel: [4294993.442000] drivers/usb/serial/usb-serial .c: USB Serial Driver core v2.0
Ci sono tre porte usb che in questo esempio sono ttyUSB*; in alcuni casi potrebbero essere ttyS*, dove * puo assumere valori 0,1 e 2. La porta USB0 è usata per la connessione ppp.
Configurare la connessione
Ora possiamo procedere con la configurazione della connessione. Ci sono molti programmi adatti allo scopo (wvdial, gnome-ppp, ppp, ...); nel nostro caso utilizzeremo ppp.
sudo pppconfig
Ci comparirà una procedura guidata. Si consiglia di creare una connessione seguendo queste linee guida:
- Scegliere DNS dinamico e protocollo PAP;
- Impostare la velocità di connessione al massimo, 460800;
Selezionare la modalità tone per la chiamata;
Inserire il numero della scheda come Username e il PIN come Password;
- Impostare *99***1# come numero di telefono da chiamare (è un numero standard, se non funzionasse bisogna contattare l'assistenza del proprio provider);
Nell'eventualità che il programma non rilevasse la porta ttyUSB0, occorre impostarla scrivendo /dev/ttyUSB0 (la distinzione tra maiuscole e minuscole è importante).
Attivare la connessione
Per attivare la connessione, si scrive sul terminale
pon nome_della_connessione_definito_al_passo_precedente
Per disconnetersi si scrive
poff
Prima di rimuovere la scheda pcmcia, per evitare di danneggiarla, si deve scrivere sul terminale:
sudo cardctl eject
Ulteriori risorse
Alcuni tool per la connessione: