Old:Debian e Nokia 7210: uso di gnokii e gestione degli sms
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica. |
Introduzione
In questa guida vedremo come configurare la connessione tra la nostra Debian box ed un cellulare Nokia 7210.
Alcune doverose precisazioni:
- il kernel utilizzato è un vanilla 2.6.13.4, ma vedremo i moduli necessari in modo da poter adattare la guida ad altre versioni;
- il cavo di collegamento USB utilizzato è un BeKonnekt BKPIKMM7250, commercializzato da CellularLine al prezzo di circa 30 euro. Non viene indicata la sua compatibilità con GNU/Linux e tanto meno viene fornito supporto agli utenti: vedremo come farla in barba al closed-source e goderci il nostro cellulare;
- il software utilizzato è gnokii, versione 0.6.9 pacchettizzato Debian (repository di testing).
Guida segnalata su TuxMobil
Operazioni preliminari
Configurazione del kernel
Il cavo USB che mette in comunicazione PC e cellulare è dotato di un chip che converte il segnale proveniente dal telefono e lo invia sulla porta USB emulando una connessione seriale.
Da console è facilmente individuabile quale sia il chip utilizzato:
$ lsusb Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port Bus 002 Device 002: ID 04b3:310b IBM Corp. Red Wheel Mouse Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
possiamo vedere che il device 003 sul bus 002 corrisponde ad una porta seriale e che il chip è il PL2303 di Prolific Technology. Si tratta di un chip supportato dal kernel Linux: tutto quello che dobbiamo fare consiste nell'abilitare, almeno come moduli, il supporto generico alle connessioni seriali USB e quello specifico per il chip in nostro possesso.
Le voci da abilitare (le trovate nella sezione Device Drivers/USB) sono:
CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_PL2303=m
Controllate se il vostro kernel è già configurato per l'utilizzo di questi moduli:
$ cat /usr/src/linux/.config |grep CONFIG_USB_SERIAL
se così non fosse dovete abilitarli e ricompilare il kernel.
Fatto questo riavviate e proseguiamo.
Verifica del collegamento
Una volta preparato il kernel, verifichiamo che esso rilevi correttamente il cavetto USB.
Apriamo una console e logghiamoci come utente root, in modo da poter controllare i messaggi inviati dal sistema:
# tail -f /var/log/messages
Ora colleghiamo il cavetto ad una presa USB, dovremmo osservare qualcosa di questo tipo:
Oct 30 20:12:55 localhost kernel: usb 2-2: new full speed USB device using uhci_hcd and address 4 Oct 30 20:12:55 localhost kernel: usbcore: registered new driver usbserial Oct 30 20:12:55 localhost kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0 Oct 30 20:12:55 localhost kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for PL-2303 Oct 30 20:12:55 localhost kernel: pl2303 2-2:1.0: PL-2303 converter detected Oct 30 20:12:55 localhost kernel: usb 2-2: PL-2303 converter now attached to ttyUSB0 Oct 30 20:12:55 localhost kernel: usbcore: registered new driver pl2303 Oct 30 20:12:55 localhost kernel: drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver v0.12 Oct 30 20:12:55 localhost usb.agent[6999]: pl2303: loaded successfully
Notiamo che viene rilevata una nuova periferica USB seriale e che per essa viene caricato il driver pl2303, relativo al chip del nostro cavetto. La cosa più importate consiste nell'identificare quale porta seriale viene assegnata al dispositivo, perché ci sarà necessaria in seguito. In questo caso la porta è la ttyUSB0.
Utilizzo di gnokii
La comunità del software libero ha sviluppato un ottimo programma per interagire con il nostro cellulare, che non ci farà rimpiangere la Nokia Data Suite. Si tratta di Gnokii, disponibile anche come pacchetto Debian.
Installare Gnokii
Prima di tutto installiamo Gnokii:
# apt-get install gnokii Lettura della lista dei pacchetti in corso... Fatto Generazione dell'albero delle dipendenze in corso... Fatto I seguenti pacchetti verranno inoltre installati: libgnokii2 I seguenti pacchetti NUOVI (NEW) saranno installati: gnokii libgnokii2
confermiamo l'installazione e proseguiamo.
Configurare Gnokii
Gnokii necessita di essere configurato prima che sia possibile utilizzarlo. Questa operazione va fatta attraverso la creazione del file .gnokiirc
all'interno della nostra home:
$ touch .gnokiirc
Ora dobbiamo compilare il file appena creato. Il pacchetto gnokii fornisce alcuni file di esempio. Di seguito ecco cosa inserire all'interno di .gnokiirc
per il nostro Nokia 7210:
[global] port = /dev/ttyUSB0 model =6510 initlength = default connection = serial use_locking = yes serial_baudrate = 19200 smsc_timeout = 10 [gnokiid] bindir = /usr/local/sbin/ [connect_script] TELEPHONE = 12345678 [disconnect_script] [logging] debug = on rlpdebug = off xdebug = off
Gli elementi più interessanti del file sono sicuramente
port
- corrisponde alla porta creata dal driver subserial;
model
- indica quale driver utilizzare per il cellulare. 6510 è quello indicato per il nostro 7210;
connection
- indica il tipo di cavo utilizzato.
È necessario che il device ttyUSB0 sia leggibile e scrivibile da parte del nostro utente. Usbserial crea il dispositivo assegnando i permessi di lettura e scrittura all'utente root ed al gruppo dialout, come possiamo vedere con un ls:
$ ls -l /dev |grep ttyUSB0 crw-rw---- 1 root dialout 188, 0 2005-10-30 20:12 ttyUSB0
Se non siamo sicuri che il nostro utente appartenga al gruppo dialout, è sufficiente inserirlo:
# adduser nome_utente dialout
Verifica della configurazione
Per verificare che il sistema sia effettivamente in grado di comunicare con il cellulare utilizziamo questa procedura:
$ gnokii --identify GNOKII Version 0.6.9 LOG: debug mask is 0x1 phone instance config: model: 6510 port_device: /dev/ttyUSB0 connection_type: 2 init_length: 0 serial_baudrate: 19200 serial_write_usleep: -1 hardware_handshake: 0 require_dcd: 0 smsc_timeout: 100 connect_script: disconnect_script: rfcomm_cn: 1 sm_retry: off Connecting Serial device: opening device /dev/ttyUSB0 Serial device: setting RTS to low and DTR to low Serial device: setting RTS to high and DTR to high Serial device: setting speed to 19200 Serial device: setting speed to 115200 Getting model... Message sent: 0x1b / 0x0006 00 01 00 07 01 00 | [Received Ack of type 1b, seq: 80] [Sending Ack of type 1b, seq: 4] Message received: 0x1b / 0x002e 01 31 00 08 00 01 58 28 00 23 56 20 35 2e 35 32 | 1 X( #V 5.52 0a 31 39 2d 30 39 2d 30 33 0a 4e 48 4c 2d 34 0a | 19-09-03 NHL-4 28 63 29 20 4e 6f 6b 69 61 2e 0a 43 00 00 | (c) Nokia. C Received message type 1b model length: 5 Received model NHL-4 Identifying... Message sent: 0x1b / 0x0005 00 01 00 00 41 | A Message sent: 0x1b / 0x0006 00 01 00 07 01 00 | [Received Ack of type 1b, seq: 1] [Received Ack of type 1b, seq: 2] [Sending Ack of type 1b, seq: 5] Message received: 0x1b / 0x001a 01 31 00 01 00 01 41 14 00 10 33 35 32 35 32 32 | 1 A 352522 30 30 33 32 38 34 37 31 35 00 | 003284715 Received message type 1b Received imei 352522003284715 [Sending Ack of type 1b, seq: 6] Message received: 0x1b / 0x002e 01 31 00 08 00 01 58 28 00 23 56 20 35 2e 35 32 | 1 X( #V 5.52 0a 31 39 2d 30 39 2d 30 33 0a 4e 48 4c 2d 34 0a | 19-09-03 NHL-4 28 63 29 20 4e 6f 6b 69 61 2e 0a 43 00 00 | (c) Nokia. C Received message type 1b Received revision V 5.52 model length: 5 Received model NHL-4 IMEI : 352522003284715 Manufacturer : Nokia Model : NHL-4 Revision : V 5.52 Serial device: closing device
Possiamo vedere come il collegamento sia effettivamente attivo.
Uso di Gnokii
Il pacchetto Gnokii fornisce una serie di programmi, il più utile dei quali è senz'altro xgnokii, che ci permette di interagire in modo intuitivo, e tramite interfaccia grafica, con il nostro cellulare.
Lanciando xgnokii da console, o utilizzando la voce ad esso relativa presente nel menu, potremo importare, esportare e fare il backup della nostra rubrica, agenda, calendario, messaggi. Potremo anche comporre messaggi SMS e inviarli ad uno o più numeri telefonici presenti in rubrica o inseriti manualmente, leggere i messaggi ricevuti, ecc.
Ecco alcuni screenshots di xgnokii in azione sul mio portatile.