GPRS + Linux (T68 e V66)

Ecco alcuni suggerimenti per collegarvi con il vostro telefono cellulare GPRS a Linux. In particolare gli esempi si riferiscono all'ericsson T68i attraverso l'infrarossi (IRDA) e al motorola V66 con connessione seriale (RS232) e USB

Iniziamo con il T68i:
ho avuto grosse difficolta a far funzionare questo telefono. Infatti dopo numerose prove e tentavi mi sonon informato bene e il manteiner dello stack IRDA per linux mi ha informato dicendo che gli ericsson t39/t68 hanno un bug nella trasmissione con infrarossi.
In teoria con il kernel 2.4.22 le cose dovrebbero essere risolte..
 
 I link di rifermento per la connessione con il T68 sono:
 http://alor.antifork.org/hardware-linux/sonyericsson-T68i/
 http://kotinetti.suomi.net/mcfrisk/linux_gprs.html
 
 I moduli da caricare per far funzionare il tutto sono i seguenti:

  insmod irda
  insmod irtty
  insmod ircomm
 
inoltre è necessario aggiungere queste 2 righe ad /etc/modules.conf: alias char-major-161 ircomm-tty, alias tty-ldisk-11 irtty
 
dopodiche lanciamo
 
  irattach /dev/ttyS1 -s 1

in modo da collegare il dispositivo IRDA alla porta di comunicazione(se non funziona dovete modificare la com, variando il parametro ttyS1 con la vostra com)
 
se ora date

  irdadump

dovreste vedere il vostro celluare..se cosi non fosse probabilmente avete sbagliato la com oppure il cell non è allineato oppure avete una periferica IRDA FIR e non SIR..allora dovrete mettere a posto le cose per il vostro caso..leggendo il relativo howto
 
Se vedete il celluare in irdadump significa che questo è registrato sul vostro pc con il dispositivo /dev/ircomm0 che dovrete settare nei file di configurazione che ci sono nel sito di riferimento.
Ricordatevi anche di modificare l'APN con quella del vostro provider e anche il DNS corretto in /etc/resolv.conf
Se la connessione è avvenuta ma non riuscite a navigare probabilmente non avete impostato il getaway corretto e dovrete dare da root il seguente comando:

  route add default ppp0
 
A questo punto dovrebbe funzionare!
Se vi accorgete che dopo pochi minuti di utilizzi la connessione cade ripetutamente, potete provare a risolvere il problema inserendo la riga:

 lcp-echo-failure 0

all'interno del file principale di connessione.
 
 
 Passiamo ora al V66:
 I link di riferimento sono:
 http://dvtl.pisem.net/gprs_moto.html
 http://www.at-net.at/staff/herwig/
 http://www.eridani.co.uk/docs/linux-timeport/T280.shtml
 
Per utilizzare il cavo seriale non è necessario nessun modulo, mentre per il cavo USB è necessario il modulo ACM.
 
Dovrete quindi dare:

  modprobe ACM

se qualcosa va storto probabilmente è perche non avete il modulo compilato e dovrete percio compilarlo andando nei sorgenti del kernel e seguendo la procedura standard.
 
Se utilizzate il cavo seriale il dispositivo è /dev/ttyS0 per la com1 mentre per il cavo USB sarà /dev/ttyACM0.
Nel caso non abbiate quest'ultimo dev dovrete dare:
 
  mknod /dev/ttyACM0 c 166 0
 
Inoltre se avete una versione del kernel inferiore alla 2.4.20 dovrete modificare il file /usr/src/linux/drivers/usb/acm.c
da cosi:

 /*
 * USB driver structure.
 */
 
 static struct usb_device_id acm_ids[] = {
 { USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
 { }
 };
 
 a cosi:
 /*
 * USB driver structure.
 */
 
 static struct usb_device_id acm_ids[] = {
 { USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
 { USB_DEVICE_INFO(USB_CLASS_COMM, 2, 0) },
 { }
 };
 
dopdoiche dai siti di riferimento dovrete scaricare i file di connessione oppure potrete usare la seguente riga:
 
 /usr/sbin/pppd connect '/usr/sbin/chat -v ABORT "NO CARRIER" "" "AT&F" OK "AT+CGDCONT=1,"IP","vostraAPN"" OK "ATDT*99#" CONNECT'
 /dev/ttyACM0 115200 defaultroute crtscts noauth deflate 0 asyncmap 0 mtu 1500 mru 1500 noipdefault idle 600
 
valida per una connessione con cavo USB
 
Appena effettuata la connessione ricordate sempre di dare:

  route add default ppp0

Gli script per la connessione li trovate nei link di rifermento.
Ricordatevi di modificare l' APN il DNS e il dev corretti.
 
Se utilizzate gli script per pppd, per collegarvi con il cellulare dovrete dare

  pppd call nomescriptdachiamare
 
questi script in genere devono essere copiati in /etc/ppp/ ma è bene che leggiate la documentazione.
 
Spero di esservi stato di aiuto.
Se avete problemi potete contattarmi sul mio indirizzo email
 
Autore: scomodo
www.scomodo.com