| Connessione GPRS con la SX ARM Linux | Data di pubblicazione: 12-02-2007 | Articolo | | Versione Italiana | (No English Version) Parole chiave: - GPRS - Linux - |
In questo articolo vediamo quanto sia
semplice instaurare una connessione internet su rete GPRS con la SX ARM
Linux connessa in USB al modem SxGSM.

In questo articolo vediamo come collegare
e configurare il modem USB SxGSM ad una SX ARM Linux e
come avviare una connessione PPP ad internet su rete GPRS.
Nell'articolo vengono forniti oltre ai driver necessari al
funzionamento del modem, tutti gli scritp per avviare la connessione
PPP.
Il modem SxGSM ha un core GSM/GPRS
della Telit modello GM862, mentre l'interfaccia USB è basata
sul modulo
FTDI FT232
il cui driver è perfettamente supportato dalla maggior parte
di distribuzioni Linux.
Altra caratteristica interessante del modem SxGSM è che
all'infuori della connessione USB, non sono richiesti altri
collegamenti, infatti il modem preleva l'alimentazione necessaria al
suo funzionamento direttamente dalla porta USB dell'host a cui
è connesso.
Hardware e collegamenti elettrici
L'hardware usato in questo articolo
comprende:
I soli collegamenti elettrici richiesti
consistono: nell'applicare una tensione di alimentazione (almeno 12V)
sul morsetto a vite della SX ARM Linux e connettere il modem,
tramite l'apposito cavo fornito, ad una delle due porte
USB che equipaggiano Linux box di Area SX.
 Causa il notevole assorbimento di corrente all'avvio
del modem si sconsiglia la connessione di quest'ultimo sulla SX ARM
Linux a caldo
Configurazione e script
Come inizialmente detto grazie
all'interfaccia USB basata sul modulo della FTDI, l'installazione
software del modem SxGSM sulla SX ARM Linux è un
operazione estremamente semplice.
Usando una SX ARM Linux 2L non è necessario caricare alcun
driver, il modem viene riconosciuto in automatico ed è
disponibile sul device /dev/ttyUSB0, mentre usando
SX ARM Linux 1L è necessario installare il driver ftdi_sio.ko
seguendo semplici passi descritti di seguito.
-
Scaricare dalla sezione Download di
quest'articolo e decomprimere il file ftdi_sio.zip
-
Copiare il file ftdi_sio.ko nella
cartella /disk della SX ARM Linux 1L
-
Lanciare da console il
comando:
root@SxARMLinux />insmod /disk/ftdi_sio.ko
-
Il modem è disponibile sul
device /dev/ttyUSB0
Precompilati in ogni SX ARM Linux troviamo
i programmi necessari per gestire le connessioni PPP come: il tool pppd
fondamentale per instaurare e gestire connessioni PPP in ambiente linux
e il chap, indispensabili per
inviare al modem i comandi AT di inizializzazione.
Per avviare la connessione PPP su rete
GPRS in modo semplice e veloce, in questo articolo vengono forniti
quattro script:
ppp-on
ppp-off
ppp-on-dialer
pap-secrets
i file vanno copiati nella cartella
/etc/ppp (cartella ppp che va creata con il comando mkdir
/etc/ppp) e resi eseguibili con il comando
root@SxARMLinux />chmod -R
755 /etc/ppp/
Il primo script ppp-on
serve per inizializzare il programma pppd ed indicare a quest'ultimo lo
script che effettua la chiamata dati es: ppp-on-dialer
#!/bin/sh
#
DIALER_SCRIPT=./ppp-on-dialer
#
pppd -d -detach connect $DIALER_SCRIPT user "" /dev/ttyUSB0 115200
defaultroute crtscts modem
Lo script ppp-on-dialer contiene tutti i comandi AT da inviare
il modem.
In questo script è contenuto anche il comando AT+CGDCONT che
specifica l'APN da usare per la connessione alla rete GPRS.
OK 'AT+CGDCONT=1,"IP","ibox.tim.it","",0,0' \
Per la stesura di questo articolo è stata usata una
SIM di TIM il cui APN è "ibox.tim.it".
Cambiando la SIM con una di uno operatore telefonico differente
è necessario richiedere a questo l'APN da usare per le
connessioni GPRS.
Lo script ppp-off serve per intercettare il
processo ppp in esecuzione sul sistema ARM e terminarlo.
Il file pap-secrets contiene appositamente
formattate le credenziali richieste per l'autenticazione della
connessione PPP su rete gprs.
Formattazione delle credenziali pap
'username'[tab]*[tab]'password'[tab]*
Avviare la connessione PPP
Per avviare la connessione PPP sulla SX ARM Linux è
sufficiente lanciare lo script ppp-on come segue:
root@SxARMLinux />cd /etc/ppp/
root@SxARMLinux /etc/ppp>./ppp-on &
L'avanzamento della connessione GPRS può essere
verificato aprendo il file di log message come
segue:
root@SxARMLinux /etc/ppp>tail -f
/var/log/messages
<150>Apr 8 02:48:04 chat[774]: abort on
(\nRINGING\r\n\r\nRINGING\r)
<150>Apr 8 02:48:04 chat[774]: send (rAT^M)
<150>Apr 8 02:48:04 chat[774]: timeout set to 12 seconds
<150>Apr 8 02:48:04 chat[774]: expect (OK)
<150>Apr 8 02:48:04 chat[774]: ^M
A connessione instaurata correttamente, lanciando il comando ifconfig
noteremo la presenza del device ppp0.
Ispezionando le rotte di rete della nostra Linux box con il
programma
route, possiamo osservare che il demone pppd ha inserito in
automatico un'ulteriore rotta che inizia con default e termina con ppp0.
Questa rotta serve ad instradare verso il device
ppp0 tutto il traffico che non ha una specifica rotta.
Per essere certi che tutto il traffico internet passi soltanto
per il device ppp0 è necessario rimuovere, con il
comando che segue:
root@SxARMLinux /etc/ppp>route del default eth0
tutte le altre rotte che iniziano con la sigla "default"

A questo punto la nostra SX ARM Linux per accedere
ad internet utilizzerà la connessione GPRS appena stabilita.
Solo alcuni operatori (TIM e WIND) assegnano alle connessioni
GPRS un IP pubblico, quindi raggiungibile su internet da un host
remonto, e dinamico il cui valore cambia ad ogni connessione.
Con questa tipologia di IP è possibile raggiungere da remoto
la console SSH della nostra Linux box

o il web server

Conclusioni:
In questo esempio viene mostrato come effettuare una
connessione GPRS con un modem GSM, naturalmente, modificando gli script
forniti e/o cambiando il modem è possibile effettuare altri
tipi di connessioni PPP come ad esempio: Dial-in entranti, su rete GSM
o su linea PSTN.
Link utili
Linux PPP HOWTO http://tldp.org/HOWTO/PPP-HOWTO/
Linux PPP HOWTO (in italiano)
http://www.pluto.it/files/ildp/HOWTO/PPP-HOWTO/index.html
Download
Driver FTDI: ftdi_sio.zip
Script PPP GPRS: PPP_GPRS_EDGE.zip
Parole chiave: - GPRS - Linux -
|