(C) 2004 Stefano Sanna - gerdavax@gmail.com - GULCh - Gruppo Utenti Linux Cagliari
Questo documento illustra le modalita' di utilizzo di Linux con un telefono cellulare UMTS Motorola A835 attraverso connessione con il gestore di telefonia 3.
ATTENZIONE: le note qui riportate si riferiscono alla connessione con il provider 3 e con il telefonino con configurazione originale del gestore.
Il documento e' incompleto, alcune informazioni saranno inserite nelle prossime settimane. Rimane infatti da dettagliare:
Spero le informazioni presentate qui possano essere utili! :-)
Il Motorola A835 è uno dei primi cellulari UMTS commercializzati
in Italia dalla compagnia telefonica 3; questo terminale e' compatibile
con le reti GSM, GPRS e UMTS. Dispone del supporto per applicazioni
Java2 MicroEdition (MIDP 1.0), di connessione Bluetooth, USB e IrDA.
Rispetto a costose schede PCMCIA (peraltro, utilizzabili solo con portatili!), il Motorola A835 puo' essere utilizzato per implementare una economica soluzione di connettivita' UMTS con un PC Linux-based!
La configurazione di KPPP per l'accesso alla Rete e' piuttosto semplice. Si vedra', prima di tutto, come configurare tutti i parametri di KPPP e, nelle sezioni successive, come impostare un tipo specifico di connessione (Bluetooth e USB). Dopo aver avviato KPPP appare la finestra di avvio:

dalla quale, attraverso il pulsante pulsante "Configure", si dovra' procedere alla creazione di un nuovo profilo:

Nel caso in cui l'applicazione chieda se attivare la modalita' manuale o guidata, si puo' scegliere quella manuale, in quanto i parametri di default sono corretti e quelli da modificare sono davvero pochi. In particolare sara' necessario assegnare un nome alla connessione (nel nostro caso "UMTS 3") e aggiungere un numero di telefono:

Il codice:
*99***3# |
inserito come numero da chiamare richiama una delle configurazioni del browser interno del telefono. Come riportato anche in altra documentazione, a seconda della configurazione del telefono, potrebbe essere necessario selezionare il secondo o il terzo profilo di configurazione, rispettivamente con
*99***1# |
oppure:
*99***2# |
In ogni caso, dopo alcuni tentativi e' possibile recuperare la configurazione funzionante con il proprio terminale.
E' poi necessario impostare alcuni parametri per il modem:

In particolare, nei comandi modem e' bisogna impostare i due comandi di inizializzazione. Il primo comando
AT&F |
imposta i parametri di default del terminale (factory defaults), mentre il secondo parametro
AT+CGATT=0 |
dovrebbe chiudere qualsiasi altra connessione precedentemente attiva. La configurazione complessiva e' mostrata nella figura successiva:

Alla fine, tornando alla finestra iniziale di kPPP, e' necessario inserire username e password.

Come accennato, il Motorola A835 dispone di connettivita' Bluetooth. Attraverso il menu' "Connessioni" e' possibile attivare il dispositivo e renderlo visibile per il tempo necessario a stabilire la connessione con il PC. Rispetto ad altri modelli di telefono cellulare, infatti, l'A835 non risulta visibile sempre agli altri dispositivi Bluetooth limitrofi, ma lo rimane solo per 60 (tempo, comunque, piu' che sufficiente ad impostare la connessione). Per l'uso di Bluetooth sull'A835 si rimanda al manuale d'uso del terminale.
Una volta reso visibile l'A835, utilizzando l'utility sdptool
e' possibile recuperare l'indirizzo del dispositivo e il canale
dell'interfaccia Dial-Up esportata (quella utilizzata per la connessione
modem):
Browsing 00:0A:28:14:75:E9 ...
Service RecHandle: 0x0
Service Class ID List:
"SDP Server" (0x1000)
Protocol Descriptor List:
"L2CAP" (0x0100)
"SDP" (0x0001)
Profile Descriptor List:
"" (0x1000)
Version: 0x0100
Service Name: Dial-up networking Gateway
Service Description: Dial-up networking Gateway
Service Provider: Motorola
Service RecHandle: 0x10001
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0xd800
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0xd803
code_ISO639: 0x6974
encoding: 0x6a
base_offset: 0xd806
code_ISO639: 0x00
encoding: 0x6a
base_offset: 0xd809
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
|
Le lista sopra mostrata include solamente le informazioni necessarie
per la connessione alla rete. Prima di tutto, e' necessario connettere la
porta seriale locale (ad esempio, /dev/rfcomm0) al servizio di
Dialup Networking esportato sopra protocollo RFCOMM. La parte evidenziata in
rosso mostra il MAC address del dispositivo e il canale (1, in questo caso)
necessari per tale connessione. Utilizzando l'utility rfcomm
si fara':
rfcomm bind 0 00:0A:28:14:75:E9 1 |
che connette alla prima porta (0) il secondo canale (1)
del dispositivo (00:0A:28:14:75:E9). A seconda della
configurazione e della eventuale precedente associazione tra i
dispositivi, il telefono e il PC potrebbero richiedere la digitazione di
un PIN (a questo proposito, si consulti la documentazione del telefono e
dello stack Bluetooth fornito da Bluez). Il telefono chiede
conferma per l'uso della funzionalita' di dialup: una volta accordato
l'accesso, il device /dev/rfcomm0 sara' disponibile e dunque
potra' essere impostato nell'apposito pannello di KPPP:

Benche' la connessione Bluetooth sia certamente quella piu' comoda, puo'
capitare di dover utilizzare il telefono UMTS su un PC non dotato di
connessione wireless ma delle sole porte USB. Per queste ultime, il Motorola
A835 in prova era dotato di cavo di connessione con porta USB di tipo A.
Connettendo l'A835 alla porta USB del PC... non accade nulla! ;-) A volte il
sistema riconosce la connessione come modem USB, senza che pero' si riesca
ad attivare la comunicazione con il modem del terminale UMTS. Nella
configurazione in uso per i test descritti in questo documento, il supporto
USB e' attivo in modalita' modulo. Dopo la connessione del dispositivo,
attraverso il comand dmesg e' possibile verificare che il
kernel carica il modulo cdc-acm. Prima di tutto si procede alla
rimozione di tale modulo dalla memoria attraverso il comando:
rmmod cdc-acm |
Ora, controllando la tabella dei device riconosciuti dal driver USB
(contenuta nel file /proc/bus/usb/devices),
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=22b8 ProdID=3002 Rev= 0.01 S: Manufacturer=Motorola Inc. S: Product=Motorola Phone (A835) C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 20mA I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=8b(I) Atr=03(Int.) MxPS= 16 Ivl=10ms I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm E: Ad=05(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=86(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms |
La configurazione del dispositivo mostra che, tra i servizi offerti, vi e' il supporto alla comunicazione seriale (cioe', l'A835 puo' essere considerato alla stregua di un adattatore USB-seriale), al quale e' assegnato, di default, il driver cdc_acm:
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm |
(Cls=02(comm.) indica tale servizio). La terza riga
della descrizione del dispositivo fornisce l'ID del produttore e del
dispositivo:
P: Vendor=22b8 ProdID=3002 Rev= 0.01 |
Con queste informazioni e' possibile forzare il sistema a caricare il modulo USB-serial per quello specifico dispositivo. Sara' sufficiente eseguire il comando:
modprobe usbserial vendor=0x22b8 product=0x3002 |
Se tutto e' andato a buon fine, il comando dmesg
mostra che il driver e' stato correttamente caricato ed e'
stato creato il device seriale:
usb 1-2: Generic converter now attached to ttyUSB0 (or usb/tts/0 for devfs) drivers/usb/core/usb.c: registered new driver usbserial drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0 |
A questo punto, essendo disponibile il device /dev/usb/tty/0
si puo' terminare la configurazione selezionando il device sul
pannello di configurazione di KPPP:

Attivando la connessione sulla finestra di apertura di KPPP, entro pochi secondi si e' online! :-)
Al fine di verificare la corretta configurazione del terminale UMTS, sono state eseguite alcune prove di prestazioni della connessione. Come riferimento, è stato utilizzato il servizio di test di connessione di Giganews. Le due immagini che seguono mostrano, rispettivamente, la velocita' misurata durante una connessione UMTS e durante una immadiatamente successiva in GPRS (utilizzando un Nokia 6600 connesso via Bluetooth):


La trasmissione GPRS è (effettuata con diverso operatore) stata interrotta per ovvi motivi di costi! :-)
Per i test descritti in questo documento è stata usata la seguente configurazione:
Molte delle informazioni utilizzate per rendere funzionante l'A835 con Linux sono state reperite in Rete, spesso riferite a terminali strani e molto costosi:
Tutti marchi dei prodotti citati in questo documento sono di proprieta' dei rispettivi titolari. L'autore non ha alcun rapporto con la compagnia telefonica 3 (a parte esserne cliente privato). Le informazioni qui fornite hanno il solo scopo di illustrare i risultati di una sperimentazione condotta per hobby dall'autore. Non si risponde di eventuali danni ai dispositivi, perdite di dati...
Copyright (c) 2004 Stefano Sanna.
E' garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della Licenza per Documentazione Libera GNU, Versione 1.1 o ogni versione successiva pubblicata dalla Free Software Foundation. Una copia della licenza è reperibile su http://www.softwarelibero.it/gnudoc/fdl.it.html (in italiano) oppure http://www.gnu.org/copyleft/fdl.html (in inglese).