Nokia N70 come modem (Bluetooth o USB) su Ubuntu [GNU/Linux]

A causa di un trasloco sono attualmente sprovvisto di un servizio ADSL presso la mia abitazione. Per tale motivo ho dovuto architettare qualche sistema per non rimanere totalmente escluso dal mondo. Seguirà qualche indicazione su come sfruttare un Nokia N70 (ma, non essendoci peculiarità dei passaggi, può andar bene con qualsiasi telefono provvisto di bluetooth o connessione USB verso il PC) come modem WAP/GPRS/UMTS. Tali istruzioni sono state testate su Ubuntu 8.10 ma non c'è alcuna ragione tecnica per cui non debbano essere compatibili su altre distribuzioni o versioni della medesima.

Preliminare: configurazione della connessione sul cellulare

La prima operazione che occore compiere è configurare il proprio cellulare per una connessione WAP/GPRS/UMTS. Tale procedura varia da telefono a telefono ma, di norma, si riduce nel variare le impostazioni di connessione web, indicando il corretto APN (dato che viene fornito dal vostro operatore telefonico, nel caso di Wind: internet.wind.it).

Per un Nokia (N70) basta andare in Menu > Tools > Settings > Connection > Access points > Options > New access point > Use default settings e specificare:

• Connection name: qualunquecosa
• Data bearer: lasciare il valore di default (Packet Data)
• Access point name: indicare l'APN fornito dal proprio operatore
• User name: lasciare vuoto
• Prompt password: No
• Password: lasciare vuoto
• Authentication: Secure
• Homepage: a piacere

A questo punto, possiamo andare in Menu > Connect > Web > Options > Settings > Access point e selezionare la connessione appena impostata. Tornare indietro e testare la connessione con il browser minimale preinstallato. Se tutto funziona, possiamo procedere con la configurazione della connessione sotto GNU/Linux.

Connessione via bluetooth

Io per semplicità non ho usato interfaccie grafiche, anche se probabilmente c'è un modo più intuitivo per compiere le seguenti operazioni con esse. Apriamo un terminale e diamo:
sudo hciconfig -a

Localizziamo l'interfaccia bluetooth di nostro interesse (di norma, se unica, hci0) e diamo (ovviamente riferendosi alla proprio interfaccia):
sudo hciconfig hci0 up

sudo hciconfig reset

A questo punto abilitiamo il bluetooth sul nostro cellulare e diamo dal terminale:
sudo hcitool scan

Tale comando indica all'interfaccia bluetooth di avviere una scansione dei dispositivi bluetooth attivi nelle vicinanze. Dovrebbe (se non accade vuol dire che l'interfaccia bluetooth del nostro PC non è configurata/installata a dovere) rilevare il nostro telefono:
Scanning ...
00:1B:AF:C4:D1:74 ercoppa

Ci segnamo il MAC address (6 coppie di numeri esadecimali) del nostro telefono su un foglio. Dal terminale diamo (sostituendo nel comando il vostro MAC address):
sudo rfcomm connect /dev/rfcomm0 00:1B:AF:C4:D1:74 3

Per il mio telefono ho scelto il canale 3, so che tale scelta è influenzata dal modello del cellulare, pertanto in caso di problemi tentarne vari (1-10). Se riceviamo l'errore:
Can't connect RFCOMM socket: Host is down

Occorre rifare una scansione e successivamente ritentare il comando. Se riceviamo l'errore:
Can't create RFCOMM TTY: Address already in use

Diamo:
sudo rfcomm release rfcomm0

e ritentiamo con il comando:
sudo rfcomm connect /dev/rfcomm0 00:1B:AF:C4:D1:74 3

Alla fine dobbiamo ricevere un:
Connected /dev/rfcomm0 to 00:1B:AF:C4:D1:74 on channel 3
Press CTRL-C for hangup

A questo punto la connessione tra telefono e PC è avvenuta, occorre solo lanciare un ordine per avviare la connessione WAP/GPRS/UMTS e configurare i relativi dati per il routing. Per fare ciò usiamo wvdial, da un terminale:
sudo nano /etc/wvdial.conf

e inseriamo dentro queste righe:
[Dialer N70]
Modem = /dev/rfcomm0
Baud = 460800
Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","internet.wind",,0,0
ISDN = 0
Modem Type = Analog Modem
Carrier Check = no
Phone = *99#
Username = ''
Password = ''
New PPPD = yes

Ovviamente alla riga init2 occorre inserire il corretto APN. A questo punto salviamo, chiudiamo l'editor e sempre da terminale diamo l'ultimo comando:
sudo wvdial N70

Dopo una breve procedura (10-30 secondi) di handshaking, fra il telefono e PC, dovremmo poter navigare.

Connessione via USB

Da terminale:
sudo nano /etc/wvdial.conf

e vi copiamo dentro (avendo cura di correggere l'APN):
[Dialer N70_USB]
Modem = /dev/ttyACM0
Baud = 460800
Init = ATZ0
Init2 = AT Q0 V1 E0 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.wind.it","",0,0
Modem Type = Analog Modem
Carrier Check = no
Phone = *99***1#
Username = ininfluente
Password = ininfluente

A questo punto attacchiamo via USB il telefono e diamo:
sudo wvdial N70_USB

e dovremmo ricevere qualcosa del genere:
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ0
ATZ0
OK
--> Sending: AT Q0 V1 E0 S0=0 &C1 &D2 +FCLASS=0
AT Q0 V1 E0 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet.wind","",0,0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
CONNECT
~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%~
--> Carrier detected. Waiting for prompt.
~[7f]}#@!}!} } }2}#}$@#}!}$}%\}"}&} }*} } g}%~
--> PPP negotiation detected.
--> Starting pppd at Fri May 29 21:00:10 2009
--> Pid of pppd: 10713
--> Using interface ppp0
--> local IP address 151.82.46.183
--> remote IP address 10.6.6.6
--> primary DNS address 193.70.152.25
--> secondary DNS address 193.70.192.25

A questo punto non dovremmo aver problemi nel navigare con il nostro browser.

La mia esperienza

Tra il collegamente USB e quello bluetooth, non vi posso che consigliare quello via USB: più stabile (facilmente la connessione bluetooth cadeva per cause non ben determinate) e meno macchinoso (per la connessione via bluetooth mi sono creato alcuni script che semplificavano le operazioni ma comunque la fase di sincronizzione bluetooth era/è troppo rognosa). Una questione da tener conto è che in entrambi i casi occorre tenere costantemente sotto alimentazione il telefono: la batteria, non molto duratura di per se per un nokia, non riesce a coprire neanchè un paio d'ore di connessione.

La qualità della connessione, almeno secondo la mia esperienza, è spesso peggiore di quella fornita da un modem analogico 56k. Ovviamente tale fattore è sicuramente da imputare dall'operatore che si è scelto per la fornitura della connessione internet.
Nel mio caso, avevo necessità di un piano che mi garantiva un elevato volume mensile, ho optato per "Mega No limit" (20 euro al mese per 2,5 GB di traffico compreso) e devo dire che ho pagato oro per ricevere merda. In ogni caso, se volete un consiglio, scegliete un piano a volume e mai a tempo.

Saluti.


• 2 commenti • Inserisci un commento • Pubblicato il 28 maggio 2009 •
1. sneak - 1 giugno 2009 @ 23:02
Ciao ercoppa, ottima guida! ;)

P.S. Per esperienza è possibile che occorra dare un "modprobe ppp-generic" se il cellulare non si connette...
Altra cosetta :) che ho notato impostando la connessione con la 3 (+ N70) su arch è che occorre aggiungere i dns dati in output da wvdial a /etc/resolv.conf;

A presto ;)
2. ercoppa - 1 giugno 2009 @ 23:17
Ciao Sneak, grazie delle dritte :)

Inserisci un commento Info sui commenti

Nome:      Email:

Sito web / Pagina personale / Blog: