Rosso d'ira e bisognoso di un nuovo apparecchio, mi sono recato dal negoziante di fiducia e ho visto questo Motorola Ti250: non era uno degli ultimi modelli, ma
le sue caratteristiche mi hanno subito attirato, vedi il gran numero di posti nella rubrica telefonica, supporto wap, vibracall e porta IrDA.
E proprio questa ultima caratteristica interessa noi utenti del mondo Linux.
# IrDA (infrared) support CONFIG_IRDA=y CONFIG_IRLAN=m CONFIG_IRNET=m CONFIG_IRCOMM=y # CONFIG_IRDA_ULTRA is not set CONFIG_IRDA_OPTIONS=y CONFIG_IRDA_CACHE_LAST_LSAP=y # CONFIG_IRDA_FAST_RR is not set CONFIG_IRDA_DEBUG=y # Infrared-port device drivers CONFIG_IRTTY_SIR=m CONFIG_IRPORT_SIR=m # CONFIG_DONGLE is not set # CONFIG_USB_IRDA is not set # CONFIG_NSC_FIR is not set # CONFIG_WINBOND_FIR is not set # CONFIG_TOSHIBA_FIR is not set # CONFIG_SMC_IRCC_FIR is not set # CONFIG_ALI_FIR is not set # CONFIG_VLSI_FIR is not set
Una volta riavviato il sistema, per utilizzare la porta IrDA bisogna caricare i moduli con i comandi:
insmod irport insmod ircomm insmod ircomm-tty
Nei cd della Slackware non ho trovato i programmi necessari per fare funzionare il collegamento infrarossi: poco male, e' bastato scaricare da internet i sorgenti:
e seguendo le facili indicazioni contenute nei due file INSTALL, si riesce a compilare il tutto: dovrebbero bastare i comandi "./configure", "make" e "make install".
La comunicazione con il cellulare attraverso la porta IrDA funziona circa in questo modo: viene effettuato un collegamento tra la porta infrarossi e una porta seriale libera in modo da poter dialogare con il telefonino usando i comuni programmi per porte seriali. Successivamente si "attacca" la porta infrarossi al dispositivo esterno attraverso il comando "irattach"; a questo punto si puo' andare nel menu del nostro cellulare per attivare il collegamento infrarossi e possiamo posizionare la porta IrDA dello stesso davanti alla corrispondente porta del notebook.
Prima di procedere dobbiamo creare dei file per il device e "attaccare" la porta IrDA alla seriale (i comandi mknod vanno dati una volta soltanto mentre il comando irattach va impartito ad ogni riavvio del sistema):
cd /dev mknod /dev/ircomm0 c 161 0 mknod /dev/ircomm1 c 161 1 irattach /dev/ttyS1Possiamo anche verificare se il comando irattach ha effettivamente fatto il proprio dovere digitando "cat /var/log/messages". Il risultato deve essere del tipo:
... asus kernel: IrDA: Registered device irda0 asus irattach: Starting device irda0 asus irattach: executing: 'echo asus > /proc/sys/net/irda/devname'Usando minicom posso verificare anche il funzionamento del "modem"... dobbiamo prima settarlo con il comando:
minicom -sCon questo comando appare il menu di settaggio del programma minicom:
[Configuration] Filenames and paths File transfer protocols Serial port setup Modem and dialing Screen and keyboard Save setup as dfl Save setup as.. Exit Exit from MinicomCon l'opzione "Serial port setup" impostiamo i parametri come segue:
A - Serial Device : /dev/ircomm0 B - Lockfile Location : /var/lock C - Callin Program : D - Callout Program : E - Bps/Par/Bits : 38400 8N1 F - Hardware Flow Control : No G - Software Flow Control : No Change which setting?a questo punto salviamo il settaggio scegliendo dal menu principale "Save setup as dfl", usciamo dal programma e digitiamo solo "minicom", posizioniamo il telefonino davanti alla porta seriale e magicamente.....appare il consueto prompt "atz" che ci permette di inserire i soliti comandi per i modem!!!!!!!! Adesso possiamo sbizzarrirci con i comandi AT, ATZ, ATDT per tentare di connettere il nostro sistema all' ISP.
Il prossimo passo e' preparare un link simbolico al dispositivo ircomm0 con il comando:
# cd /dev # ln -s /dev/ircomm0 /dev/modempossiamo verificare l'effetto di questo comando:
# ls /dev/modem -la lrwxrwxrwx 1 root root 12 Jan 3 13:08 /dev/modem -> /dev/ircomm0
Lo script da usare per lanciare la connessione: (ricordo che dopo averlo creato bisogna dare il comando "chmod a+x timeport.sh")
# /home/lino/timeport.sh /usr/sbin/pppd /dev/modem 19200 connect "/usr/sbin/chat -v -f /etc/ppp/ti250.chat"
Le opzioni generali di configurazione:
# /etc/ppp/ti250.chat TIMEOUT 60 ABORT ERROR ABORT BUSY ABORT "NO CARRIER" ABORT "NO DIALTONE" "" "ATZ" OK "atdt49000" -> inserite qui il numero del vostro POP TIMEOUT 75 CONNECT
Le opzioni generali di configurazione per la porta irda:
# /etc/ppp/options.modem lock defaultroute noipdefault 19200 noauth passive bsdcomp 15,15 deflate 15,15 vj-max-slots 15 # il vostro nome utente va inserito qui! user "333333333333"
Aggiungete infine una riga al vostro file /etc/ppp/pap-secrets: (ovviamente cambiando username e password!)
... "333333333333" * "password"
Per lanciare la connessione basta eseguire il comando ./timeport.sh; per vedere cosa succede alla linea, potete curiosare nel file messages con il comando "tail /var/log/messages". Per disconnettere il nostro cellulare, bisogna prima risalire al pid del demone pppd con il "ps aux", e uccidere il demone con "kill -9 n", dove n e' il numero del processo pppd.
Scegliendo "impostazioni" potremo inserire il nostro account premendo "Nuovo..."; su numero telefonico inserite il numero del vostro POP, su Autenticazione lasciando "PAP" tutto dovrebbe funzionare
Alla sezione "IP" lasciamo settare dinamicamente il nostro indirizzo all'Internet Service Provider
Impostiamo anche il DNS del nostro ISP:
Potete lasciare perdere il resto delle impostazioni; passando alla sezione "dispositivo", avremo cura di indicare come "modem" il device che punta a /dev/ircomm0, e cioe' "/dev/modem". Bisogna settare "19200" come velocita' di connessione:
Anche qui il resto delle impostazioni non ci interessa; una volta configurato il collegamento con kppp, non resta che testare il tutto e provare a visitare qualche sito con Netscape o con Mozilla...
Ricordate che tutti i gestori di telefonia mobile hanno delle tariffe agevolate per quanto riguarda il traffico dati via gsm: di solito offrono un numero speciale al quale connettersi (ad esempio, con Tim il numero e' "49000") e, impostando come nome utente il numero di telefonino e come password la stringa che avrete spedito al gestore tramite sms, possiamo navigare a tariffe agevolate...fate ricorso ai numeri verdi e informatevi bene sui prezzi applicati!!! I costi di navigazione dovrebbero aggirarsi circa sulle 6-7 mila lire l'ora.
Un'altra annotazione: a causa delle limitazione intrinseche del sistema gsm dei cellulari, il collegamento verra' effettuato a 9600bps: so che non e' molto, specialmente se confrontato con tecnologie tipo Isdn o Adsl, ma c'e' tutto il vantaggio di non essere legati alla normale rete fissa. Ora infatti abbiamo un piccolo ufficio viaggiante che ci permettera' di gestire i nostri contatti e-mail e di collegarci ad internet con il portatile ovunque ci troviamo, senza il problema dei cavi e delle prese a muro...e come al solito abbiamo fatto funzionare (con soddisfazione) un apparecchio che la casa costruttrice non aveva "omologato" col sistema del pinguino...
Ho scaricato dal sito www.pxh.de il pacchetto gsmlib v1.6: questo pacchetto contiene
delle librerie per accedere a diversi modelli di telefonini GSM quali Nokia, Siemens, Ericcson e, naturalmente, Motorola.
I programmi contenuti permettono di:
Ho provato a scaricare la versione 1.7 del package, ma quando ho dato il comando make sono apparsi diversi errori, per cui, visto che il pacchetto 1.6 ha le stesse funzioni...meglio accontentarsi.
Come procedere: per l'installazione del programma basta untarrare il file appena scaricato e seguire le istruzioni presenti nel solito README:
# tar xvfz gsmlib-1.6.tar.gz # cd gsmlib-1.6 # ./configure # make # make installe automagicamente tutti i programmi che ci servono verranno installati nella directory '/usr/local/bin':
Successivamente bisogna stabilire la connessione con il nostro cellulare attraverso la porta IrDA
# irattach /dev/ttyS1
ora siamo davvero pronti per usare il pacchetto gsmlib.
Per scaricare tutto il contenuto della rubrica basta dare:
# gsmpb -b 19200 -d rubrica.txt -s /dev/modem -p "SM"
questo comando crea un file rubrica.txt e vi inserisce tutti i nominativi con relativo numero di telefono contenuti nella memoria della scheda SIM, separati da un carattere "|"; con un'opportuna modifica all'opzione -p potremo scarcare anche la rubrica contenuta nella memoria del telefono. Se invece diamo il comando:
# gsmsmsstore -b 19200 -s /dev/modem -t SM -l > messaggi.txt
scarica in un file messaggi.txt tutti gli SMS contenuti nella memoria del telefonino. Il contenuto del file e' un insieme di blocchi del tipo:
... index #x --------------------------------------- Message type: SMS-DELIVER SC address: '33333333333' More messages to send: 1 Reply path: 0 User data header indicator: 0 Status report indication: 0 Originating address: '3333333333' Protocol identifier: 0x0 Data coding scheme: default alphabet SC timestamp: 12/31/01 15:07:04 (+0100) User data length: 21 User data header: 0x User data: 'TESTO DEL MESSAGGIO...' ...
Invece con il comando:
# gsmsendsms -d /dev/modem -b 19200 -C +393359609600 3333333333 "testo..."
riusciamo a spedire un messaggio SMS utilizzando solamente l'interfaccia IrDA del nostro telefonino; il primo numero e' il Centro servizi (nel mio caso, della Tim), mentre il secondo numero e' quello del cellulare destinatario del messaggio. Sorprendentemente semplice e funzionale.