Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 28 del 18/04/2006 10.36.27

Nascondi questo messaggio

Premessa

Questa guida si rivolge a chi:

  • Possiede un modem ADSL con chipset ST Unicorn e interfaccia USB:
    • Access Media Fastrate USB 100 (fornito ad esempio da Alice ADSL)
    • BeWAN ADSL USB ST
    • Urmet Speed Access USB
  • Ha installato Ubuntu Breezy Badger (versione 5.10), senza aver modificato i pacchetti installati di default.
  • Sta usando Ubuntu da pochi giorni (perchè sono elencati tutti i passaggi, anche quelli più elementari).

Non è necessario avere una connessione internet attiva su Ubuntu per seguire la procedura, a patto di avere un'installazione di Breezy pulita (ad esempio non avere mai fatto upgrade del kernel, vedi sezione in fondo).BRBR Chi ha già installato Ubuntu Dapper Drake (attualmente in versione beta), legga per prima cosa la nota in fondo.BRBR Per verificare il chipset del modem, collegarlo alla porta USB e digitare:

sudo lsusb

Dovrebbe risultare una riga simile alla seguente (per il modem Fastrate):

Bus 001 Device 003: ID 0483:0137 SGS Thomson Microelectronics

Pacchetti necessari e preparazione

Innanzitutto bisogna installare gli header della versione corrente del kernel e le utility per compilare. Nota: per il comando seguente non serve essere connessi ad internet, i pacchetti sono già stati copiati sull'hard disk dal cd al momento dell'installazione di Breezy, anche se non sono stati attivati di default.

sudo apt-get install linux-headers-$(uname -r) build-essential

A questo punto noi abbiamo installato, nel pacchetto build-essential, il compilatore gcc versione 4.0 (versione presente nel cd di installazione di Breezy). Il problema è che il driver che dobbiamo compilare è un kernel module, ed è obbligatorio utilizzare lo stesso compilatore usato per il kernel. Questo per i kernel ufficiali di Breezy non è 4.0 bensì 3.4. In pratica, se avete una connessione internet alternativa (es. modem tradizionale, LAN) potete fare semplicemente:

sudo apt-get install gcc-3.4

In mancanza di connessione internet su Ubuntu, vanno scaricati in altro modo i pacchetti dalle pagine seguenti. Scegliete l'architettura che fa al caso vostro, ad es. i386 (attenzione, dovete clicare sulla voce corretta nella colonna Architecture, non su [list of files]), poi scegliete un mirror qualsiasi e dovrebbe cominciare il download.

I tre pacchetti vanno poi copiati su Ubuntu (per esempio tramite cd masterizzato, chiavetta USB o partizione FAT condivisa con Windows). Ci si deve posizionare nella directory dove li avete piazzati e poi dare in sequenza i comandi che seguono, modificandoli all'occorrenza perchè potreste avere una release più recente di quella utilizzata nell'esempio.

sudo dpkg -i gcc-3.4-base_3.4.4-6ubuntu8_i386.deb
sudo dpkg -i cpp-3.4_3.4.4-6ubuntu8_i386.deb
sudo dpkg -i gcc-3.4_3.4.4-6ubuntu8_i386.deb

Compilazione e installazione driver

Passiamo ora al driver vero e proprio. Al momento in cui scrivo l'ultima versione è la 0.9.3 e si può scaricare dal sito:

Il driver corretto si trova alla sezione "Drivers for the BeWAN ADSL PCI & USB ST". Attenzione che versioni precedenti (es. 0.9.0) danno errori in fase di compilazione con le ultime versioni del kernel e pertanto non sono da usare.

La prima cosa da fare è scompattare il driver dalla directory dove è stato scaricato (ad esempio la vostra home). Attenzione che il nome del file potrebbe essere differente da quello riportato sotto, potrebbe ad esempio avere una versione diversa oppure avere estensione .tar.

tar xzvf A1012-A1006-A904-A888-A983-0.9.3.tgz

Entriamo nella directory appena creata:

cd unicorn

Quindi compiliamo, dando i parametri aggiuntivi corretti in modo che vengano utilizzati compilatore e header appropriati per il kernel che abbiamo. Non preoccupatevi dei molti Warning che usciranno, l'importante è che non ci sia la parola Error nell'output.

make clean
make modules CC=/usr/bin/gcc-3.4 KERNEL_SOURCES=/usr/src/linux-headers-$(uname -r)/

Se tutto è andato bene dovremmo avere nella sottodirectory unicorn_usb un file di nome unicorn_usb_atm.ko, lo copiamo nella directory corretta.

sudo mkdir -p /lib/modules/$(uname -r)/extra/
sudo cp -i unicorn_usb/unicorn_usb_atm.ko /lib/modules/$(uname -r)/extra/

Il comando seguente serve per registrare il nuovo modulo in modo che possa essere usato dal kernel.

sudo depmod -a

A questo punto si può collegare il modem alla porta USB e alla linea telefonica e provare:

sudo modprobe unicorn_usb_atm ActivationMode=4

Il parametro ActivationMode determina la modulazione che il modem usa per sincronizzarsi. Il valore 4, corrispondente alla modulazione G.dmt, è stato testato con Alice ADSL ma potrebbe dipendere dal provider utilizzato. Di seguito la tabella delle quattro possibilità, in caso di mancata sincronizzazione provate per prima cosa le altre modalità dopo avere riavviato il computer.

Modulazione

ActivationMode

ANSI

1

G.lite

2

MULTI

3

G.dmt

4

Il modem dovrebbe attivarsi e provare a sincronizzarsi con la linea, ci potrebbe volere anche qualche minuto. Quando ha finito correttamente si accende fissa la luce rossa. Intanto potete verificare cosa sta succedendo ed eventuali messaggi di errore con:

dmesg | grep unicorn

Se vedete lo stato SHOWTIME_L0 vuol dire che è tutto a posto, stati intermedi normali sono INIZIALIZING e ACTIVATING.

Il modulo verrà automaticamente caricato all'avvio da hotplug. In questo modo si sincronizzarà automaticamente non appena connesso alla porta USB. Prima però per fare in modo che venga usata la modulazione che funziona con il nostro provider si deve editare il file /etc/modules.conf:

sudo gedit /etc/modules.conf

Aggiungendo in fondo la riga (sostituire 4 con il numero corretto):

options unicorn_usb_atm ActivationMode=4

BR Se invece si vuole evitare che il modulo venga caricato all'avvio (in caso desse problemi), si deve editare il file /etc/hotplug/blacklist.

sudo gedit /etc/hotplug/blacklist

Aggiungendo in fondo la riga:

unicorn_usb_atm

In questo caso la sincronizzazione deve essere lanciata ogni volta che ci si vuole connettere con il comando sudo modprobe unicorn_usb_atm ActivationMode=4 visto sopra.

Compilazione e installazione utilità di supporto

Questa parte è opzionale, serve per compilare e installare le seguenti utilità:

  • unicorntest: un tool da linea di comando per testare lo stato del modem e dare comandi diretti; una volta avviato viene presentata una lista di comandi. Per chi è disposto a smanettare un po'.

  • unicorn_status: sempre da linea di comando, mostra le informazioni sullo stato corrente del modem (non interattivo)

  • adsl_status: interfaccia grafica per dare start e stop al modem e per rilevare eventuali problemi di linea. Identica all'analogo tool del pannello di controllo di Windows, trovate la documentazione nel corrispondente manuale.

Le istruzioni che seguono danno per scontato che abbiate scompattato i sorgenti del driver e vi troviate nella cartella unicorn.

unicorntest

Si compila e si installa con:

cd unicorntest
make clean
make
sudo make install
cd ..

Si fa partire con:

unicorntest

unicorn_status

Si compila e si installa con:

cd tools
make clean
make
sudo make install
cd ..

Si fa partire con:

unicorn_status

adsl_status

Qui la questione è più complicata perchè per compilarlo deve essere installato il pacchetto libgtk1.2-dev (la libreria grafica GTK, versione 1.2) e questo richiede parecchi pacchetti dipendenti da scaricare per un totale di svariati MB di download. Il consiglio è di farlo una volta che la connessione ADSL sia in piedi, se possibile.

sudo apt-get install libgtk1.2-dev

Se non si ha nessuna connessione su Ubuntu e si vuole procedere lo stesso bisogna armarsi di pazienza. I pacchetti necessari vanno scaricati a mano da [http://packages.ubuntu.com/breezy Ubuntu packages] e poi installati con il solito:

sudo dpkg -i nome-pacchetto.deb

Infine si compila e si installa con:

cd adsl_status
make clean
make
sudo make install
cd ..

Si fa partire con:

sudo bewan_adsl_status

Configurazione della connessione con pppd

Prima di attivare la connessione vera e propria dovete settare vari file di configurazione:

sudo gedit /etc/ppp/peers/alice

Questo creerà un nuovo file, inserite le righe seguenti (sostituendo "vostrousername" e controllando che la directory all'ultima riga sia corretta) e poi salvate.

lock
kdebug 1
ipparam ppp0
noipdefault
default-asyncmap
defaultroute
hide-password
sync
user "vostrousername"
noauth
noaccomp
nopcomp
noccp
nobsdcomp
nodeflate
novj
novjccomp
lcp-echo-interval 20
lcp-echo-failure 3
holdoff 5
persist
maxfail 25
usepeerdns
logfile /var/log/pppd.log
plugin /usr/lib/pppd/2.4.3/pppoatm.so 8.35

Quindi, per settare i server DNS (Domain Name Server) primario e secondario:

sudo gedit /etc/resolv.conf

Aggiungete in fondo le righe seguenti (per Alice ADSL, altrimenti modificate gli indirizzi):

nameserver 212.216.112.112
nameserver 212.216.172.62

Infine, per settare username e password:

sudo gedit /etc/ppp/chap-secrets
sudo gedit /etc/ppp/pap-secrets

Ad entrambi aggiungete in fondo la riga seguente, sostituendo i valori corretti:

"vostrousername" * "vostrapassword" *

Connessione con pppd

Per connettersi serve per prima cosa attendere la sincronizzazione del modem segnalata dall'accensione fissa del led rosso.BR

Il comando per iniziare la connessione vera e propria (e iniziare a pagare, se avete un'offerta a consumo), è:

pppd call alice

Per disconnettersi:

killall -s9 pppd

Upgrade del kernel

In caso di upgrade del kernel, al prossimo avvio ci si ritroverà senza più la possibilità di riconnetterci tramite il modem ADSL, perchè il driver deve essere ricompilato utilizzando gli header della nuova versione del kernel.BR Se avete una connessione ad internet alternativa, potete semplicemente seguire di nuovo la procedura descritta sopra, considerando che alcuni step saranno ridondanti (es. l'installazione dei pacchetti build-essential e gcc-3.4, la modifica dei file di configurazione).BR Se invece la vostra unica possibilità di connessione è il modem ADSL, l'unico problema sarà installare il pacchetto dei linux-headers, perchè questa volta non lo potrete recuperare dal cd di installazione.BR Il consiglio qui è:

  • Eseguire il comando seguente e prendere nota dell'output:

uname -r
  • Riavviare il sistema
  • Dal menu di grub selezionare l'avvio con il vecchio kernel

  • Qui dovrebbe essere possibile connettersi con ADSL utilizzano il vecchio driver
  • Installare il pacchetto degli header corrispondenti alla versione segnata al primo punto, ad esempio:

sudo apt-get install linux-headers-2.6.12-10-386
  • Riavviare il sistema
  • Dal menu di grub selezionare l'avvio con il nuovo kernel

  • Procedere con la sezione Compilazione e installazione driver

Nota per Dapper Drake

Per chi ha già fatto l'upgrade a Dapper Drake.BR I kernel del repository di Dapper non sono più compilati con gcc-3.4 come quelli di Breezy, bensì con gcc-4.0, pertanto:

  • Non serve installare il pacchetto gcc-3.4; il pacchetto gcc-4.0 viene installato automaticamente insieme a build-essential.

  • Il comando make modules deve essere modificato sostituendo gcc-3.4 con gcc-4.0.

Riferimenti


CategoryDaRevisionare