<- HiL - Intro - Indice Generale - Copertina - PLUTO News - ILDP -> |
Hardware in Libertà
L'articolo...Continua la trattazione dell'argomento legato alla tecnologia ADSL e ai sistemi GNU\Linux. In questa puntata parleremo dei dispositivi basati su Chipset Globespan. |
Nell'articolo precedente avevamo introdotto il concetto di "ADSL",
gli accorgimenti necessari per poterla utilizzare sotto i sistemi
GNU\Linux e i dispositivi USB supportati; proprio in riferimento a
questi ultimi, chi avesse letto l'articolo precedente ricorderà che
si era largamente parlato dell' Alacatel Speedtouch; fino a qualche tempo
fa era in assoluto il dispositivo USB più utilizzato. Bene, la cosa non
è più vera: la risposta si chiama Globespan e il raggio di azione in
termini di periferiche supportate si allarga molto.
In questo articolo vedremo di chiarire di che periferiche si tratti,
come sia possibile installarle sotto Linux e, dulcis in fundo,
vedremo tre casi reali di installazione e configurazione su tre
piattaforme hardware differenti.
Ma cos'è realmente? Per evitare confusioni è importante
sottolineare che quando parliamo di Globespan non facciamo riferimento
ad una periferica, bensì ad un chipset, sviluppato e prodotto da una
azienda americana (Globespan INC.), che supporta tutti gli
standard di comunicazione odierni. Molte delle periferiche oggi in
circolazione lo integrano; ovviamente, questo aspetto garantisce una
maggiore quantità di dispositivi supportati e quindi utilizzabili...
cosa a mio avviso di non poco conto!
E la Linux Community? Visto il suo dinamismo non è certo rimasta
a guardare e ha dato vita ad un progetto importantissimo di nome "ECI
ADSL", che avanza a ritmi frenetici. L'intento è quello di
offrire un supporto agli utenti Linux per l'utilizzo di tali
periferiche, e nonostante i driver non siano ancora arrivati nemmeno alle
release `1' si presentano comunque molto stabili ed efficienti.
Dopo questa introduzione è giunta l'ora di mettersi all'opera. Se tutto andrà per il meglio in breve tempo saremo in grado di gustarci una navigata attraverso la nostra Linux-box. La prima cosa da fare è procurarsi tutto l'occorrente, riportato nella tabella sottostante:
1) Modem USB basato su chipset Globespan supportato. |
Vediamo di commentare i tre punti:
1) Anche se sembra fin troppo logico, per raggiungere il nostro
risultato dobbiamo assicurarci che la periferica in nostro possesso sia
supportata; non ci sarebbe da stupirsi se qualcuno si domandasse: "Ho
un modem Globespan, per quale motivo dovrei controllare?"
Purtroppo non tutti i dispositivi funzionano: quindi, prima di
imbattersi nella procedura di installazione, è consigliabile controllare
che il nostro modem funzioni. Per un elenco esaustivo di periferiche è
possibile fare riferimento al seguente indirizzo:
[http://eciadsl.flashtux.org/modems.php?lang=en]
2) Trattandosi di periferiche USB, un altro importante
requisito sarà un kernel con supporto USB abilitato. In questo articolo
non scenderemo nei dettagli riguardanti la ricompilazione, argomento
già ampiamente trattato; per maggiori dettagli vi rimando all'articolo
introduttivo:
[http://www.pluto.linux.it/journal/pj0301/adsl_mini.html]
3) Per completare il tutto, dovremo procurarci i driver usermode
(attualmente la release è `UM-0.7`) disponibili al seguente indirizzo:
[http://eciadsl.flashtux.org/download.php?lang=en&view=stable]
Ora che abbiamo tutto l'occorrente possiamo scendere nei dettagli.
Prima di tutto copiamo i file in una cartella di supporto (es.
/usr/local/src), quindi decomprimiamo l'archivio e procediamo con
l'installazione:
[root]#: cp eciadsl-usermode-0.7.tar.gz /usr/local/src/ |
L'operazione di cui sopra posiziona gli eseguibili in `/usr/local/bin` e crea una cartella eciadsl in `/etc` che, come vedremo successivamente, ci tornerà utile in caso di problemi.
Detto questo non ci rimane altro che configurare la nostra
connessione, operazione resa assai semplice grazie a due intuitivi
script che troviamo all'interno dei sorgenti:
1) eciconf.sh (versione grafica)
2) eciconftxt.sh (versione testo)
Per i puristi e gli amanti del rischio rimane ovviamente la
possibilità di editare direttamente i file di configurazione. Chi
volesse cimentarsi in quest'ultima soluzione può fare riferimento al
precedente articolo.
Per evitare di ottenere un messaggio di errore durante il caricamento
dell'usbdevfs, e comunque per fare le cose a regola d'arte, possiamo
inserire la seguente riga nel nostro 'fstab':
usbdevfs /proc/bus/usb usbdevfs defaults 0 0 |
Completata la procedura di configurazione possiamo provare a lanciare la connessione semplicemente attraverso:
[root]#: startmodem |
A questo punto la connessione è instaurata: ciò significa che non ci
rimane altro che aprire un browser e navigare in rete!
NOTA: l'output di questo comando è decisamente molto
dettagliato, il che ci è di grande aiuto in caso di problemi, ma una
volta che ci siamo assicurati che tutto funziona per il meglio è
possibile agire attraverso le opzioni dei file presenti in `/etc/ppp` per
diminuire il livello di dettaglio del debug.
Nei paragrafi precedenti abbiamo visto che l'installazione e la
configurazione sono nel complesso operazioni abbastanza semplici, che
non prevedono punti particolarmente ostici da superare. Problemi di un
certo rilievo possono però presentarsi successivamente, nel momento in
cui tentiamo il collegamento in rete. In questo paragrafo vedremo
assieme tre casi diversi di installazione da me effettuati, i problemi
incontrati, e come ho proceduto per la loro risoluzione.
E' bene precisare che questa non vuol essere assolutamente una guida
esauriente a tutti i problemi, bensì un rapido sguardo agli ostacoli
più probabili in cui si può incappare. Per ogni altro tipo di inconveniente
non citato in questa sede, consiglio caldamente di fare riferimento
all'ottima documentazione che trovate assieme ai driver.
Detto questo proseguiamo: per semplificare e rendere più chiaro il
discorso chiameremo le singole macchine `A` - `B` - `C`; non
vedremo l'elenco completo della componentistica hardware, ma ci
concentreremo solamente sulla mainboard:
A: basato su chipset intel 845D
B: basato su chipset SIS 962
C: basato su chipset VIA 693A
Per i test condotti ho utilizzato un modem Wisecom ADSL USB; per
quanto ininfluente le distribuzioni usate sono state RedHat e Debian.
Una volta prelevati i driver ho provveduto alla loro installazione e
successivamente alla configurazione. Tale procedura non ha comportato
nessun tipo di problema. Ho proceduto quindi per al collegamento in
rete; qui di sotto riporto i risultati:
Nessun tipo di problema riscontrato. Al termine dell'installazione è stato possibile collegarsi in rete immediatamente.
Il comando startmodem è stato immediatamente interrotto durante il caricamento del firmware (fase 2), e da un messaggio di errore: "Fatal: MODEM HANGUP". Per localizzare al meglio il problema mi sono servito dell'ottimo script `eci-doctor.sh`, come check-up generale, e degli altrettanto insostituibili log di sistema. Il primo ha confermato in parte l'errore riscontrato durante l'avvio della connessione, ma non solo; tale script si dimostra essere particolarmente interessante perché ci permette di ottenere una panoramica abbastanza completa del funzionamento USB/periferica. Vediamone l'output:
[root]:#./eci-doctor.sh |
A prima vista l'intero sistema USB funziona a dovere, ciò vuol dire che fino ad ora tutto è stato eseguito correttamente. Una conferma ci arriva infatti attraverso i log di sistema:
[root]:# tail -f /var/log/messages |
Si tratta di un conflitto (confermato anche nella
documentazione) fra la periferica, il kernel e il BIOS, o più
correttamente l' ACPI, un sistema che consente di "governare" in
maniera avanzata l'alimentazione nonché la gestione degli IRQ delle
periferiche. Approfondire interamente il discorso esula dagli scopi
dell'articolo, e soprattutto non sarebbe possibile in questa sede: una
breve ricerca in rete potrà aiutare a comprendere maggiormente la
cosa.
Le possibili soluzioni a portata di mano sono due:
1) Disabilitare da BIOS l'ACPI
2) Forzare il non-caricamento dell'ACPI da parte del kernel
Per quanto sia sconsigliabile disabilitare totalmente tale funzione, in
quanto potrebbe causare conflitti anche maggiori di quello riscontrato,
vale la pena provare subito la prima strada, essendo di fatto la più
veloce. Nel nostro caso, il problema è stato risolto proprio mediante
essa. Al riavvio della macchina, infatti, è stato possibile collegarsi ad
Internet.
NOTA: In ogni caso bisogna tener presente che tale scelta va
presa in considerazione delle proprie esigenze personali, ecco perché
consiglio di documentarsi sull'argomento.
Come nel caso precedente l'operazione di connessione in rete non è andata a buon fine al primo colpo; il problema in questo caso si è presentato nella fase 3, ovvero durante la sincronizzazione della periferica:
[root]#: startmodem |
Il fatto che si blocchi dopo aver attivato completamente il supporto USB e il firmware della periferica ci permette di tirare un sospiro di sollievo; vuol dire che, in termini di hardware, il nostro "pinguino" ha accettato di buon grado il nuovo ospite ;o) Più semplicemente il problema risiede nel fatto che il nostro modem non va d'accordo con il binario che si occupa della sincronizzazione. La soluzione è assai semplice; ecco cosa ho fatto:
1 - Ho scaricato l'archivio contenente tutti i file '.bin'
attualmente disponibili: http://eciadsl.flashtux.org/download/eciadsl-synch_bin.tar.gz
2 - Ho decompresso l'archivio nella directory '/etc/eciadsl' creata
durante l'installazione.
A questo punto, è bastato lanciare lo script 'eciconftxt' (è possibile usare anche la modalità grafica), e tramite esso mi è stato possibile caricare il file più corretto in base alle mie necessità. A questo punto, un riavvio immediato di startmodem e la connessione si è instaurata senza alcun indugio.
All'interno dell'archivio dei driver vi sono le istruzioni
necessarie per potersi costruire uno script per la gestione totale
della connessione.
Tuttavia io ho trovato molto più semplice inserire l'eseguibile
all'interno dei file che vengono letti al boot della macchina.
Decisamente più sporca come strada ma semplice e funzionale...
GARANTITO!
Sotto RedHat è sufficiente includere startmodem in /etc/rc.local. Per
Debian la soluzione è altrettanto semplice: inseriamo in un normalissimo
file di testo le seguenti righe:
#!/bin/sh |
Salviamolo in /etc/init.d/adsl e creiamo i file di collegamento necessari per avviarlo al boot:
[root]:# update-rc.d -f adsl defaults 15 |
Un dettaglio banale quanto importante per tutti gli utenti che condividono sulla stessa macchina sia Windows che Linux. Il passaggio da un sistema all'altro obbliga a scollegare il cavo USB dal modem per una decina di secondi, pena un bel CONNECTION FAILED. Non è chiaro il motivo; probabilmente la periferica tiene traccia delle connessioni precedentemente effettuate.
L'autore Giuseppe Lucente alias Beppe è un utente casalingo con tanta passione per tutto quello che ruota attorno al mondo dell'informatica. E' fuggito appena in tempo nel 1999 da un regime dittatoriale governato da sistemi CloseSource per (e)migrare verso un regime più democratico: Linux, che gli ha concesso di ampliare le proprie capacità. Amante degli animali, ha deciso di intraprendere una dura lotta per la salvaguardia dei pinguini :) |
<- HiL - Intro - Indice Generale - Copertina - PLUTO News - ILDP -> |