Internet: Ubuntu sempre online con la penna USB

Internet: Ubuntu sempre online con la penna USB

Come installare e configurare una penna USB per la connessione ad Internet su Ubuntu Linux.

Configurazione penna internet TIM HUAWEI E169 su Ubuntu

di Paolo Giardini- luglio 2008

Qualche giorno fa ho sottoscritto l’abbonamento Telecom Alice Mobile, quello compreso di “penna internet” HSDPA (High-Speed Downlink Packet Access (HSDPA). Vi racconto adesso come funziona l’aggeggino sotto linux.
L’abbonamento che ho scelto è quello con 100 ore mensili, dal costo di 25 eu mese, chiavetta inclusa. In alternativa si può prendere la chiavetta ed il notebook. Sono disponibili Asus Eeepc 701 (30 eu mese), Eeepc 900 (40 eu mese) ed altri con prezzi simili con un max di 70 eu mese. Un altro tipo di contratto prevede l’acquisto di carte ricaricabili da 25 ore ed altre pezzature, non ricordo bene dato che non mi interessavano.

Pc e chiavetta sono subito tuoi alla sottoscrizione del contratto. Le chiavette disponibili sono la Huawei e169e la onda MT503hs. Tutte sono dichiarate funzionanti sia sotto Windows che sotto Linux. In particolare per la Onda viene dichiarata la compatibilità con Debian e Fedora mentre per la Huawei con Fedora, Debian, Red Hat, Ubuntu.

La mia scelta è caduta sulla Huawei, sia per la disponibilità nella confezione del cd driver Linux sia per notizie migliori reperite in rete.

Avendo il dual boot ho provato prima con linux (Ubuntu) ma la chiavetta viene vista solo come una normale penna usb (all’interno sono memorizzati i driver windows), poi con Windows XP che riconosce la chiavetta ed autoinstalla all’incirca un migliaio di dispositivi. Installato il programma di gestione dalla chiavetta stessa ho provato la connessione.

Mi sono connesso subito, senza problemi (zona 4 torri). Il test di velocità effettuato ha riportati i valori di 900 kb in download e 384 in upload. Tutto sommato poteva andare peggio.

Fin qui sotto Windows. Ovviamente dato lo scopo finale dell’acquisto, mi sono preso un pomeriggio di tempo per far funzionare il tutto sotto linux (Ubuntu 8.04).

A casa (sul confine Umbria – Toscana) ho provato la connessione sotto Windows ma qui evidentemente il segnale è scarso, mi sono connesso solo in modalità EDGE; la velocità varia da soli 18 a 61 kb (secondo i test intel e mclink ).
Rimboccate le maniche ho cominciato a lavorare per l’installazione su ubuntu.

Per placare subito la curiosità vi dico: sotto linux funziona, ma non grazie alla documentazione fornita: inesistente. Anzi, no. Un manualetto di installazione per windows, del classico tipo “inserire e cliccare” nella confezione c’e’. Davvero di utilità inestimabile. Inoltre sul cd dei driver per linux c’e’ un file “readme” che vi riporto per intero:

.Installation
a. To install the Linux Driver tool only:
call ./install in the installation directory.
And the can copy the rules file to /etc/udev/rules/
copy HWActivator application to /sbin/
register the auto run settengs into the current system.
To make the settings applied, you must restart the system.
b. To integrated the Linux Driver tool into the third dashboard
application:
call “install norestart” in the installation tool of the third
dashboard application.
This call scheme will disable the restarting function in the tool
installation.
And after the third dashboard application installed, its
installation tool must restart the current system.

2. To inquire about the version of the Linux Driver tool,
call HWActivator –version.

3. The current version is 3.2

Installazione

Riporto tutta la procedura seguita per l’installazione sul notebook.

1) installare driver per la chiavetta Huawei E169 presenti sul cd della confezione Io ho copiato dal cd tutta la cartella sul disco ma non è necessario. Si deve lanciare lo script fornito:

cd “Linux Driver V100R001B302”
./install

Lo script ha funzionato regolarmente copiando i file al posto giusto e configurando il sistema per attivare la chiavetta all’avvio del sistema.

2) configurare /etc/wvdial.conf

[Dialer Defaults]
Modem = /dev/ttyUSB0 (verificare che sia il device giusto)
ISDN = off
Modem Type = Analog Modem
Baud = 460800
Init = ATX3
Init2 = AT&F Q0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = at+cgdcont=1,”IP”,”ibox.tim.it”

Phone = *99#
Dial Attempts = 5
Dial Command = ATM1L3DT
Ask Password = off
Username = ”
Password = ”
Stupid Mode = on
Auto Reconnect = off
Check Def Route = off

3) aprire la connessione lanciando il comando

wvdial

se funziona vengono assegnati ip e DNS

paolo@tatooine:~$ wvdial
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATX3
ATX3
OK
–> Sending: AT&F Q0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
AT&F Q0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
–> Sending: at+cgdcont=1,”IP”,”ibox.tim.it”
at+cgdcont=1,”IP”,”ibox.tim.it”
OK
–> Modem initialized.
–> Sending: ATM1L3DT*99#
–> Waiting for carrier.
ATM1L3DT*99#
CONNECT 7200000
–> Carrier detected. Starting PPP immediately.
–> Starting pppd at Thu Jul 3 14:43:01 2008
–> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
–> –> PAP (Password Authentication Protocol) may be flaky.
–> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied
–> –> CHAP (Challenge Handshake) may be flaky.
–> Pid of pppd: 7537
–> Using interface ppp0
–> pppd: �/��p�[06][08]`�[06][08]
–> pppd: �/��p�[06][08]`�[06][08]
–> pppd: �/��p�[06][08]`�[06][08]
–> pppd: �/��p�[06][08]`�[06][08]
–> pppd: �/��p�[06][08]`�[06][08]
–> pppd: �/��p�[06][08]`�[06][08]
–> local IP address 217.202.5.202
–> pppd: �/��p�[06][08]`�[06][08]
–> remote IP address 10.64.64.64
–> pppd: �/��p�[06][08]`�[06][08]
–> primary DNS address 213.230.155.94
–> pppd: �/��p�[06][08]`�[06][08]
–> secondary DNS address 213.230.130.222
–> pppd: �/��p�[06][08]`�[06][08]

Non chiudere la shell altrimenti si chiude anche la connessione.
Per chiudere la connessione è sufficiente CTRL-C.

Automatismi

Configuriamo adesso un po di automatismi, per rendere più semplice la connessione.
Dobbiamo creare creare il file ip-up.local su /etc/ppp/.
Questo file viene eseguito automaticamente ogni volta che viene stabilita una connessione ppp e ci serve per automatizzare la configurazione della route di default che altrimenti non viene settata, o meglio viene settata a 0.0.0.0. Il file deve essere eseguibile e serve anche per effettuare il log delle connessioni.
Basta infatti utilizzare il comando echo per inserire nel log i messaggi appropriati.

#!/bin/sh
/bin/date
echo “Connessione stabilita”
/sbin/route del default gw 0.0.0.0
/sbin/route add default gw 10.64.64.64
chmod 755 /etc/ppp/ip-up.local

Creiamo il file /etc/ppp/ip-down.local con i comandi da eseguire alla chiusura della connessione ppp. Il file deve essere eseguibile, scrive sul log la chiusura della connessione.

#!/bin/sh
/bin/date
echo “Chiusura PPP”

chmod 755 /etc/ppp/ip-down.local

Creiamo adesso il log delle connessioni su
/var/log/ dove finiranno tutti i log creati da /etc/ppp/ip-up.local e /etc/ppp/ip-down.local

touch /var/log/ppp-ip-updown.log
chmod 666 /var/log/ip-updown.log

Esaminando questo file si potrà verificare se la connessione è stata stabilita e se la route è corretta.

Ultima cosa: lo script startppp.sh per l’apertura della connessione.

creare il file e renderlo eseguibile con i seguenti comandi:

#!/bin/sh
nohup wvdial &
chmod 777 startppp.sh

Con il comando nohup si reindirizza l’output su un file chiamato nohup.out, la & fa eseguire il processo in background.

#!/bin/sh
/bin/date
echo “Chiusura PPP”

Non ci resta che provare il tutto:

./startppp.sh

Questo è il contenuto di nohup.out all’avvio della connessione:

$paolo@tatooine:~/Scrivania$ cat nohup.out
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATX3
ATX3
OK
–> Sending: AT&F Q0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
AT&F Q0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
–> Sending: at+cgdcont=1,”IP”,”ibox.tim.it”
at+cgdcont=1,”IP”,”ibox.tim.it”
OK
–> Modem initialized.
–> Sending: ATM1L3DT*99#
–> Waiting for carrier.
ATM1L3DT*99#
CONNECT 7200000
–> Carrier detected. Starting PPP immediately.
–> Starting pppd at Wed Jul 9 12:45:15 2008
–> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
–> –> PAP (Password Authentication Protocol) may be flaky.
–> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied
–> –> CHAP (Challenge Handshake) may be flaky.
–> Pid of pppd: 19518
–> Using interface ppp0
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> local IP address 217.202.98.119
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> remote IP address 10.64.64.64
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> primary DNS address 213.230.128.222
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> secondary DNS address 213.230.129.94
–> pppd: �?��[18]�[06][08]��[06][08][01]nohup &

Questo il contenuto di nohup.out alla chiusura della connessione:

Caught signal 15: Attempting to exit gracefully…
–> Terminating on signal 15
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> Connect time 6.9 minutes.
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> pppd: �?��[18]�[06][08]��[06][08][01]
–> Disconnecting at Wed Jul 9 12:52:11 2008

Questo è il log su /var/log/ppp-ipupdown.log dopo la connessione:

$cat ppp-ipupdown.log
/etc/ppp/ip-up ppp0 /dev/ttyUSB0 460800 217.202.50.248 10.64.64.64

Wed Jul 9 12:58:15 CEST 2008
Connessione stabilita
Kernel IP routing tablenohup &
Destination Gateway Genmask Flags MSS Window irtt Iface
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0

Per chiudere la connessione si dovrà killare il relativo processo con il comando:

pkill wvdial

pkill chiude un processo basandosi sul nome e non sul pid.
Il file di log dopo la chiusura della connessione è il seguente.

root@tatooine:/var/log# cat ppp-ipupdown.log
/etc/ppp/ip-up ppp0 /dev/ttyUSB0 460800 217.202.50.248 10.64.64.64

Wed Jul 9 12:58:15 CEST 2008
Connessione stabilita
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
/etc/ppp/ip-down ppp0 /dev/ttyUSB0 460800 217.202.50.248 10.64.64.64

Wed Jul 9 13:34:57 CEST 2008
Chiusura PPP

In conclusione

Il sistema funziona bene sia sotto windows che sotto linux ma tutto dipende dalla bontà della copertura del segnale.
Ho navigato e scaricato fino ad una velocità massima di 2000 kbit/s con upload fino a 384 kb/s. Ho notato che la velocità può calare od aumentare a seconda della forza del segnale o del numero di utilizzatori della rete, fino a giungere alle velocità minima di 48 kb/s.
Un led sulla chiavetta diventa blu se si lavora in HDPSA o verde se la connessione è EDGE. Spesso si avvia in blu e poco dopo diventa verde.

Cosa ho utilizzato:

  • S.O. Ubuntu 8.04
  • Notebook Acer Travelmate 2200
  • Chiavetta E169 Huawei
  • Contratto TIM “Alice Mobile Data Kit 25 top” (100 ore mese di navigazione)
  • Il pacchetto wvdial. E’ un pacchetto per automatizzare le connessioni ppp senza troppi problemi, semplice e funzionale.
  • Il comando pkill. Per chiudere un processo in base al nome se non si conosce l’ID. Comodo per gli script.
  • Il comando touch. Per creare file vuoti.
  • Il comando nohup .. &. Per fare eseguire il processo in background e farlo proseguire anche chiudendo la shell.
  • I file di configurazione di pppd. Per specificare i comandi da eseguire all’avvio ed alla chiusura della connessione

3 thoughts on “Internet: Ubuntu sempre online con la penna USB

  1. Diego

    Grazie sei un grande, è un poco che sono passato a ubunto e mi stavo picchiando con questa maledetta pennetta per riuscire a farla funzionare. Grazie davvero.

  2. Claudio

    non avendo lo stesso hardware non mi funziona… sai suggerirmi qualcosa per le ultme pennette vodafone?

  3. Paolo Giardini Post author

    Premetto che questo articolo è abbastanza datato e che attualmente praticamente tutte le nuove release delle distro Linux dovrebbero riconoscere e configurare automaticamente le penne con modem UMTS.
    Ad ogni modo la tenica divrebbe essere sempre la stessa, ma senza sapere quale release di Ubuntu (Ubuntu, vero?) ne quale modello di penna stai usando è difficile dare indicazioni.
    Altra soluzione: prova Vodafone MObile Connect/oppure Umtsmon.