Pietro Vischia: h=c=±1=±i=±2
ItalianoEnglish

Fastrate USB 100 sotto Linux

Introduzione

I modem ADSL che fanno uso della tecnologia USB per connettersi al computer sono da tempo uno scoglio per l’utente del sistema operativo Linux: questo per mancanza di supporto da parte dei providers e dei produttori.
Fortunatamente sembra che pian piano la situazione stia cambiando in meglio, ma ancora molti chipset risultano problematici.
Riporto dunque qui sotto la mia esperienza con il modem Fastrate USB 100, fornito da Telecom Italia, sperando possa essere utile ad altri utenti.

Procedura usata

Innanzitutto devo specificare che la seguente procedura è stata da me testata con tre sistemi, con risultati esattamente identici: Ubuntu 5.10 “Breezy Badger”, Ubuntu 6.06 “Dapper Drake” e Slackware 10.2.
In tutti e tre i casi, il kernel è stato compilato a partire dalle sorgenti del kernel 2.6.16.5 da kernel.org. Questo tutorial non si occuperà di versioni anteriori.
Passiamo dunque alla procedura:

Passo 1: kernel

Innanzitutto ricompiliamo il kernel: scaricate i sorgenti del kernel 2.6.16.5 da kernel.org, e installateli correttamente:

#mv /linux-2.6.X.tar.gz /usr/src (oppure /linux-2.6.X.tar.bz2, a seconda del formato che avete scelto)
#tar xvzf linux-2.6.X.tar.gz (oppure tar xvjf per il .bz2)
#rm linux (se esiste il link simbolico)
#ln -s /usr/src/linux-2.6.X/ /usr/src/linux

A questo punto siete pronti per ricompilare il kernel. Per maggiore precisione potete spulciare nelle sezioni USB e NET del mio file di configurazione del kernel: questo è il file /usr/src/linux/.config che contiene tutte le impostazioni del kernel relative a cosa compilare e come (ossia tutte le decisioni che prenderete con make menuconfig). Nelle sezioni Networking Options/Networking Options e Device drivers/Network drivers, abilitate le normali voci relative ai supporti ppp e IP: da quanto risulta dai miei test, le opzioni fondamentali sono:

A questo punto si può compilare e installare il nuovo kernel:

#make && make modules_install
#cp ./arch/i386/boot/bzImage /boot/bzImage-2.6.16.5 (o dove diavolo volete, poi impostate il vostro bootloader per poter caricare quella immagine)
#cp System.map /boot/System.map-2.6.16.5
#cp .config /boot/config-2.6.16.5
Passo 2: drivers

A questo punto potete scaricare i drivers del modem: questo ha un chipset compatibile (o forse è proprio lo stesso) con quello dei Bewan: scaricate dunque la versione Bewan driver 0.9.3.

#mkdir /lib/modules/adslmodem (ho le mie manie)
#cp /A1012-A1006..etcetc...0.9.3.tgz /lib/modules/adslmodem && cd /lib/modules/adslmodem
#tar xvf /A1012-A1006-A988-..etc...0.9.3.tgz
#cd unicorn/
#make
#make install

Molte delle guide che si trovano in rete (una per tutte la guida di Felipe) consigliano modifiche al driver e di eseguire manualmente l’installazione (senza eseguire make install. Tali guide tuttavia partono da versioni del driver antidiluviane (0.9.0), e eseguire le patches consigliate sui nuovi drivers porta ad un rallentamento notevole della velocità della connession.
Analogamente, con i nuovi drivers si può tranquillamente impostare il caricamento del modulo all’avvio del sistema, mediante /etc/modules

#echo "unicorn_usb_atm ActivationMode=4 DebugLevel=0" >> /etc/modules  #DebugLevel=50 fa sì che la vostra partizione /var si riempia in fretta con tre files da 1.6 GB ciascuno... Usatelo solo per il debugging

mentre per chi volesse caricare manualmente il driver:
#modprobe unicorn_usb_atm ActivationMode=4 DebugLevel=0

L’opzione fornita al modulo in caricamento imposta il modem per l’inizializzazione in modalità g.dmt: tale modalità è quella adottata in Italia (per esempio, in Francia si usa se non sbaglio ActivationMode=3).
Se il modprobe del modulo vi restituisce un messaggio di errore riguardo a simboli non risolti (unresolved symbols), girate dmesg e vedete se tra le ultime righe trovate il messaggio seguente:

unicorn_pci_atm: Unknown symbol set_cpus_allowed 

Questo succede con i kernels SMP (kernels con il Symmetric Multi Processing abilitato): se avete una sola CPU, ricompilate il kernel disabilitando la opzione SMP, altrimenti editate il file unicorn_usbdrv.c nella directory unicorn_usb/ .
Cercate la stringa MODULE_LICENSE, e semplicemente sostituite la stringa Proprietary con la stringa GPL. Ricompilate il driver, reinstallatelo e le cose funzioneranno perfettamente (testato).
Attendete una ventina di secondi che il modem si inizializzi e vada in showtime, cosa che potete verificare guardando la lucetta rossa accesa stabile (può variare a seconda del modem), o con il comando

#unicorn_status
Passo 3: pppd

Successivamente, potete eseguire infine l’agognato

#pppd call adsl

Questo comando attiva il demone pppd usando le opzioni che imposterete nel file /etc/ppp/peers/adsl, il quale deve contenere solo le seguenti righe:

user "username"
lock
ipparam ppp0
noipdefault
noauth
default-asyncmap
defaultroute
hide-password
noaccomp
noccp
nobsdcomp
nodeflate
nopcomp
novj
novjccomp
lcp-echo-interval 20
lcp-echo-failure 3
sync
persist
logfile /var/log/pppd.log
plugin /usr/lib/pppd/#.#.#/pppoatm.so 8.35 (ove #.#.# รจ la versione del vostro pppd (o pppoatm, non mi ricordo mai)

Gli unici comandi di questa lista che devono essere presenti sembrano essere user, plugin, noauth, persist, usepeerdns, defaultroute, mentre gli altri si possono omettere senza che cambi nulla.
mtu e mru sono già impostati di default a 1500, ma ho riscontrato che forzarli includendoli nel /etc/ppp/peers/adsl rende la connessione instabile. Si possono provare altri valori: un utile tool che testa i parametri del modem conferma che 1500 è il valore ottimale.
Bene, il modem funziona e si collega ad una ottima velocità.
Ricordatevi di aggiungere una riga contenente

username * password

ai vostri /etc/ppp/pap-secrets e /etc/ppp/chap-secrets

Problemi da risolvere (non critici)

Rimangono solo due parametri che andrebbero settati meglio, per i quali ho aperto un apposito thread aperto a tutti nel forum di questo sito:

ATM IntInComplete
ATM Operation Error Interrupt (ripetuto N volte con N circa 20)
HandleAtmError: Reset ATM FIFO

Conclusioni

Il modem dovrebbere risultare funzionante. Il mio funziona. Se così non fosse, non esitate a scrivere sul forum di supporto!

Inizio della pagina   ∴   Pagina iniziale

Last site update:
20 Mar 2010, 00.51 (GMT+1)

Sito creato in sorgente
Powered by GNU-Emacs Logo GNU-Emacs

Pagine visitate:
Online:

Dài visibilità al mio sito votandomi sulle top 100: ci metti poco e non ti costa nulla!

Votatemi sulla Heracleum Top Sites
Convalidato!
W3CCSS 3
W3CXHTML 1.0
DIVTABLE FREE

Google logo
Search WWW Search pietrovischia.altervista.org

Creative Commons License
This work is copyright © Pietro Vischia, 2005, and is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.