Option
Globetrotter GPRS PCMCIA Card
Guida
all'installazione del modem GPRS modello Globetrotter in Linux
by NERvOus
Although there have been talks of o2, under its parent company Telifonica, gearing up an O2 broadband service in Italy that's set to blow max speeds of current GPRS services, it's still advisable to stick with what's currently working, so here's some basic Linux GPRS instructions.
Schede
in commercio
La scheda PCMCIA Globetrotter e' un modem GPRS che permette di
stabilire un collegamento a Internet dal proprio laptop.
Ne vengono commercializzate due versioni, distinguibili dal numero
seriale: se comincia con WP allora avete acquistato una scheda di prima
generazione, se comincia con WK avete quella di seconda generazione.
Dal punto di vista funzionale, le schede sono praticamente identiche,
l'unica differenza è che le schede di seconda generazione
funzionano
solo a 115200 baud, le altre a qualunque baud rate compreso tra 9600 e
115200. Nel dubbio usate sempre un baud rate pari a 115200!
Utilizzare il modem GPRS in Linux
Linux accede a questa scheda proprio come se si trattasse di un modem
seriale. E' sufficiente disporre del modulo serial_cs ovvero aver
compilato il kernel con la seguente opzione abilitata:
CONFIG_SERIAL_8250_CS=m
L'inizializzazione del dispositivo e il caricamento del modulo
serial_cs
viene effettuato dal cardmgr delle PCMCIA tools. Controllate pertanto
di
aver installato il pacchetto pcmcia-cs (http://pcmcia-cs.sf.net).
Quando inserite la scheda, vengono create due porte seriali, nel mio
caso:
# dmesg|tail -n 10|grep tty
ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A
ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
Quella da utilizzare è la seconda, ovvero quella di tipo 16550A.
Per verificare che la scheda funzioni correttamente, lanciate:
# minicom -s
Scegliete "Serial port setup", impostate il path del device (es.
/dev/ttyS3) e i parametri della porta (115200 8N1), andate su "Exit"
(non "Exit from Minicom") e provate a dare il comando "AT".
Se il modem risponde con "OK" vuol dire che è stato
riconosciuto.
Stabilire una connessione PPP su GPRS
È il momento di configurare il pppd.
Prima di inserire la SIM nel modem GPRS, è consigliabile
inserirla in un telefono e disabilitare il codice PIN. In questo modo
non si correrà il rischio di bloccare la carta nel caso si
esegua inavvertitamente uno script con il PIN errato per tre volte.
Create il file /etc/chatscripts/gprs con il seguente contenuto:
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO
DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# abilitate la seguente riga solo se non avete tolto il PIN! Sostituite
1234 con il vostro PIN.
# '' AT+CPIN=”1234”
'' "AT&F"
OK-AT-OK "ATE1"
OK-AT-OK AT+CGDCONT=1,"IP","internet.wind","0.0.0.0",0,0
OK-AT-OK "ATD*99***1#"
CONNECT c
Create anche il file /etc/ppp/peers/gprs:
115200
noauth
#debug
connect "cardctl suspend;cardctl resume;sleep 5;/usr/sbin/chat -v -f
/etc/chatscripts/gprs"
/dev/ttyS3
defaultroute
noipdefault
persist
-crtscts
local
Non riceverete lcp-echo reply dalla vostra connessione GPRS, quindi per
evitare che il link venga dichiarato defunto dopo un certo timeout,
dovete disabilitare completamente gli lcp-echo. Commentate le seguenti
righe nel file di opzioni globale di pppd /etc/ppp/options:
#lcp-echo-interval XX
#lcp-echo-failure XX
Potete abilitarli per le singole connessioni che li supportano andando
ad aggiungere tali opzioni nei rispettivi file in /etc/ppp/peers .
Fate attenzione alle seguenti cose:
- nel file /etc/chatscripts/gprs sostituite internet.wind con internet.wind.biz se avete
un contratto aziendale.
- nel file /etc/ppp/peers/gprs dovete mettere 115200 all'inizio, se
lo metteste dopo potrebbe non aver effetto!
- con alcune compagnie telefoniche (ad es. Wind) la connessione non
funziona se si abilita usepeerdns.
Ricordatevi pertanto di rimuovere la keyword usepeerdns da /etc/ppp/options (se
presente) e di impostare i DNS
manualmente in /etc/resolv.conf
- nelle connessioni GPRS non è disponibile l'hardware flow
control,
ragion per cui si è specificato -crtscts
Stabilire
il collegamento
Non resta che lanciare la connessione nel modo consueto:
# pppd call gprs (o pon gprs)
Verificate che venga creata una nuova interfaccia con:
# ifconfig ppp0
Se così non fosse controllate i log:
# tail -f /var/log/ppp.log (o /var/log/messages)
Per terminare la connessione:
# killall -9 pppd (o poff)
Attenzione: succede a volte che dopo aver chiuso la connessione il
collegamento successivo fallisca. Come fix temporaneo ho aggiunto i
comandi cardctl suspend;cardctl
resume nel chatscript in modo da resettare la scheda. Lo sleep di 5 secondi serve a dare il
tempo alla scheda di ri-registrarsi sulla rete GSM dopo il reset.
Hardware
simile
Alessandro De Zorzi mi segnala che il modem GPRS con interfaccia
USB modello MG10 prodotto dalla Telit funziona in modo analogo a quello
PCMCIA della Option. Ci sono solo due differenze:
- al posto di serial_cs occorre caricare il modulo acm: modprobe acm
- al posto di /dev/ttyS? occorre usare /dev/ttyACM0
Conclusioni
La navigazione tramite GPRS è lenta. Difficilmente la latenza
scende sotto i 600ms. Inoltre la banda disponibile è limitata.
Wind si appoggia a ByteMobile (http://www.bytemobile.com)
per fornire un servizio proxy che riduce on the fly la risoluzione
delle immagini incluse nei siti web, al fine di ridurre la banda
richiesta per visitare un sito, sacrificando un poco la risoluzione.
Il software al momento è disponibile solo per Windows. Inoltre,
nelle mie prove, ha dato un effettivo vantaggio solamente con IE.
Il mio consiglio: se usate Firefox, digitate about:config nella barra
degli indirizzi,
mettete come filtro network e impostate network.http.pipelining a
true.

Questo documento è distribuito con la Creative
Commons Licence.
Prima versione: 03
Ottobre 2005
Ultimo aggiornamento: 11 Gennaio 2006