Motorola A835 e Linux Mini-HOWTO

(C) 2004 Stefano Sanna - gerdavax@gmail.com - GULCh - Gruppo Utenti Linux Cagliari


Versione 0.9 - 19 novembre 2004
Sito principale: http://www.gerdavax.it/linux/umts
Sito backup: http://gerdavax.dyndns.org/linux/umts

Introduzione

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! :-)

Motorola A835

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!

Configurazione KPPP

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.

Connessione Bluetooth

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:

Connessione USB

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! :-)

Prestazioni

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! :-)

Configurazione

Per i test descritti in questo documento è stata usata la seguente configurazione:

  1. Notebook Toshiba Satellite 1410-604 (alcune informazioni sull'installazione di Linux possono essere trovate qui)
  2. Mandrake Linux 10.0 Official (kernel 2.6.3)
  3. Bluez (versione 2.8.1)
  4. Adattatore Bluetooth-USB D-Link DBT-120
  5. Motorola A835, ovviamente :-)

Riferimenti

Molte delle informazioni utilizzate per rendere funzionante l'A835 con Linux sono state reperite in Rete, spesso riferite a terminali strani e molto costosi:

Liberatoria

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...

Licenza

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).


Counters
Hit Counter