[precedente] Linux e i DVD... - Copertina - Indice [successivo]

Articolo


Come accedere a Omnitelnet 2800 da Linux

Dovendo vivere per alcuni mesi in un appartamento senza linea telefonica ho pensato di acquistare un telefono cellulare che mi permettesse di tenere collegato al mondo non solo me, ma anche il mio sistema GNU/Debian, se non altro per mandare e ricevere la posta elettronica e usare il CVS di Gnome.

Fra le varie alternative, la mia scelta è ricaduta sul servizio 2800 di Omnitel che permette essenzialmente di accedere ad un server PPP a tariffa ridotta alla velocità di 9600 bps.

In vista di questo mi sono procurato un dongle Irda seriale della Actisys, il 210L, che si collega direttamente alle motherboard più recenti (ce ne sono anche che si collegano alle porte seriali), e un cellulare GSM Motorola Timeport (mod. 7089), che è dotato di porta Irda e permette di usufruire dei servizi di trasmissione dati e fax.

L'installazione delle patch Irda per i kernel di Linux è descritta ampiamente nel documento IRDA HOWTO al sito Linux IRDA e per questo non la descriverò qui. La procedura è relativamente semplice, soprattutto se avete dei pacchetti pronti per gli Irda tools (come quelli Debian) che creano automaticamente i device necessari in /dev e installano automaticamente le righe necessarie in /etc/modules.conf. Per il resto è bastato attivare il supporto Irda nel setup del BIOS, applicare la patch, ricompilare il kernel con make-kpkg e installarlo.

A questo punto, ho fatto ripartire il sistema e ho piazzato il cellulare di fronte al dongle. Attivata l'interfaccia Irda sul telefono, ho eseguito minicom, impostando la configurazione nel seguente modo:

device: /dev/ircommnew0, 8N1, 19200bps
hw flow control: Off
sw flow control: Off

A questo punto ho digitato:

AT
OK

Funziona! Il modem risponde!! Dei settaggi sopra riportati, particolare importanza rivestono i due settaggi di flow control, che devono essere disattivati, pena il non funzionamento del collegamento.

Il resto della configurazione è stata facile, ma proprio quando credevo di essere a cavallo si sono presentate le difficoltà maggiori.

Ma andiamo con ordine. Ho preparato un file da mettere in /etc/ppp/peers, chiamato omnitelnet:

noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/omnitelnet"
debug
/dev/ircommnew0
19200
defaultroute
noipdefault
nocrtscts
mru 296
mtu 296

Di questi settaggi, nocrtscts disabilita il flow control (vedi sopra) e mru e mtu impostano le massime dimensioni del pacchetto. Siccome il servizio è limitato a 9600 bps (anche se il telefono potrebbe funzionare a 14400) è consigliabile ridurre tali valori per evitare latenze troppo elevate. Ed effettivamente lasciando i settaggi predeterminati (1500) il collegamento funziona male. Non c'è alcun tipo di autentificazione perché il sistema riconosce l'utente dal numero del cellulare. Infine ho preparato il file /etc/chatscripts/omnitelnet:

ABORT BUSY
ABORT "NO CARRIER"
ABORT VOICE
ABORT "NO DIALTONE"
ABORT "NO ANSWER"
ABORT ERROR
"" ATZ
OK ATDT2800
CONNECT ""

A questo punto ho piazzato il cellulare di fronte al dongle, ho attivato l'interfaccia Irda sul telefono, e ho digitato:

pppd call omnitelnet

Dopo poco l'applet PPP lampeggia e sono in linea! Evviva! Un ifconfig lo conferma.

Bene. Provo a collegarmi a www.gnome.org e... niente! Il browser non scarica. Apro un prompt e provo a fare ping 10.128.16.52 (il peer PPP). Funziona. Accipicchia! Mi sono dimenticato il DNS! Sì, ma come lo trovo? "Ma chiamando il Servizio Assistenza Omnitel, naturalmente" direte voi.

(Se siete impazienti e non vi interessano le mie traversie con il servizio clienti, andate in fondo all'articolo per leggere le conclusioni.)

Telefono al 190, e spiego alla signorina il mio problema. Lei, molto gentile, mi fa capire che 1) non è una esperta 2) la risposta che cerco non è nel loro database. Allora le chiedo se posso parlare con un Tecnico, la parola che fa tremare tutti. Lei dice che no, purtroppo io non posso parlarci direttamente ma che può farlo lei per me (perché poi?). Le chiedo di chiedergli il numero DNS. Dopo un po' di attesa (la musica del centralino è orribile) ritorna in linea e mi fa: "deve impostare il DNS su automatico". Cerco di spiegarle che non ho Windows e che sul mio sistema, Linux, non posso fare ciò che mi dice. Mi serve proprio il numero. Allora lei si ricollega con il Tecnico, lasciandomi in compagnia della simpatica musichetta. Dopo un po' ritorna e mi dice: "Purtroppo Linux non è compatibile con il prodotto (sic!)Omnitelnet, ma i tecnici proveranno a indagare e le faremo sapere."

Due giorni dopo ricevo un SMS sul cellulare che mi chiede di telefonare al 190 per informazioni sul prodotto Omnitelnet. Yuppiiii!!!! Questi tecnici non sono poi tanto stupidi, vero? Falso. Telefono al 190 e la signorina mi dice: "Ci dispiace ma purtroppo Linux non è compatibile con il prodotto bla bla bla..."

Va be', sono di nuovo a piedi. A quel punto ricordo che in gioventù ero un hacker. Caspita, se 9 anni fa entravo su Internet tramite un terminal server attaccato ad un VAX il cui numero avevo ottenuto a tentativi, sarò anche capace di trovare questo DNS! Il problema è che i nodi PPP di Omnitelnet ricevono un indirizzo di classe A (10.x.x.x) per cui provare tutti i possibili indirizzi con nslookup è, come dire, una procedura un po' tediosa...

Provo gli indirizzi classici: 10.1.1.1, 10.255.255.255, ... ma senza esito. Decido di cambiare metodo e di indagare sulla rete interna della Omnitel. Innanzitutto cerco l'indirizzo IP di www.omnitel.it, che scopro essere 194.20.64.20. A quel punto la folgorazione. Provo a fare un

traceroute 194.20.64.20,

che mi fornisce una mezza dozzina di hosts (presumibilmente routers) interni della rete Omnitel. Li provo ad uno ad uno e il terzo tentativo mi da' ciò che cerco. Il DNS è:

gmid102b.vas.omnitel.it 10.127.1.41

Basta a questo punto modificare /etc/resolv.conf aggiungendo la riga:

nameserver 10.127.1.41

e possiamo finalmente sbizzarrirci a navigare su Internet usando un prodotto "incompatibile" con Linux! Come nota conclusiva, usando nslookup per visualizzare tutti gli hosts interni della rete omnitel, si scopre anche il server smtp (smtp.mail.omnitel.it) che si può usare per spedire la posta. Gli altri hosts descritti dalla documentazione ufficiale omnitel sono anche visibili (omnitelnet.omnitel.it, imb.omnitel.it ...)

Come consiglio finale, posso dare quello di installare un "caching proxy" per il Web sul PC o laptop, come wwwoffle, poichè la banda è comunque molto limitata. La qualità del servizio è molto variabile. In base all'ora del giorno e alla qualità della ricezione GSM, si può viaggiare tranquillamente a 1200 byte/sec oppure a 120. Comunque per applicazioni leggere, come la posta o l'uso di CVS, o ancora il browsing con le immagini disabilitate, o il telnet, il sistema funziona benone.

Morale: noi la sappiamo più lunga sulla rete interna Omnitel della Omnitel stessa.

Morale 2: nulla è incompatibile con Linux ;-)

di Giovanni Iachello


[precedente] Linux e i DVD... - Copertina - Indice [successivo]