GPRS PCMCIA modem

Option Globetrotter GPRS PCMCIA Card

Guida all’installazione del modem GPRS modello Globetrotter in Linux

by NERvOus

Option Globetrotter GPRS PCMCIA card


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.


Creative Commons License
Questo documento è distribuito con la Creative Commons Licence.


Prima versione: 03 Ottobre 2005
Ultimo aggiornamento: 11 Gennaio 2006


Share

Leave a Reply