Old:Virtualizzazione - user mode linux: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
<big>'''Elenco Hardware Compatibile con Linux'''</big>
==Introduzione==
Questa guida � dedicata all'installazione dei modem USB contenenti il chipset Conexant su Debian Sarge, ma pu� essere utile anche per l'installazione in release diverse (o, con opportune modifiche di configurazione, in distribuzioni diverse).
I driver utilizzati provengono dal progetto [http://accessrunner.sourceforge.net/ Accessrunner], sono stati rilasciati con licenza GPL e recentemente inclusi nell'albero principale del kernel Linux (dalla versione 2.6.13).


Questa pagina nasce con lo scopo di raccogliere una lista di periferiche compatibili con Debian (e con Linux, pi� in generale), di cui si sia avuta una diretta esperienza.
I modem con questo chipset necessitano per funzionare di un modulo del kernel (prima chiamato driver) di nome cxacru che � stato scritto per versioni del kernel Linux dalla 2.6.10 in poi.
Esistono versioni precedenti dello stesso progetto funzionanti per kernel della serie 2.4 e anche qualche adattamento per kernel della serie 2.6 precedenti al 2.6.10, ma non sono pi� mantenuti e pertanto se ne consiglia l'utilizzo solo ad utenti esperti o molto coraggiosi.


Per ovvi motivi viene elencato tutto il possibile hardware, ma '''solo alcune categorie''' pi� richieste e che danno maggiori problemi agli utenti:
Oltre al driver, questi modem necessitano per funzionare anche di un firmware, che in questo caso non � altro che un sistema operativo real-time (si, potrebbe funzionare anche linux, esiste un progetto a riguardo, ma al momento nessuno ha avuto successo con esso. Trovate qualche riferimento alla homepage gi� citata).
* Modem USB ADSL
A complicare il tutto c'� il fatto che sono state rilasciate, sotto forma di binari gi� compilati, due versioni differenti di questo firmware: una usa "celle ATM impacchettate in frame USB" mentre l'altra usa "frame ethernet su USB". Il progetto Accessrunner supporta solo il primo di questi protocolli.
* Modem USB 56k
Se vi capitasse di avere un modem che viene equipaggiato solo con il firmware del secondo tipo (di solito nei CD di installazione ci sono tutti e due), allora per usare il driver accessrunner dovete procurarvi un firmware del primo tipo da qualche parte in rete (eventualmente provate a postare nel forum).
* Periferiche Wireless
* Schede Video
* Webcam


Nella pagina [[Lista Risorse Compatibilt� Hardware]] troverete invece una serie di link alle tabelle di compatibilit� pi� ''famose'' per ogni altra tipologia di hardware (fotocamere, schede audio, webcam, portatili).
==Verificare se il modem � supportato==
Prima di iniziare l'installazione � necessario verificare che il modem in possesso sia supportato dal progetto. Per fare questo � necessario collegare il modem ad una porta usb. In un terminale digitiamo


Un invito, da parte di tutta la comunit�, ad inserire il vostro dispositivo ed i relativi dettagli... 5 minuti del vostro tempo aiuteranno molte persone!
<pre>$ less /proc/bus/usb/devices </pre>


[[#Come utilizzare questa pagina |In fondo]] a questa pagina sono presenti la legenda ed una piccola guida su come inserire correttamente un elemento nella lista!
si otterr� una serie di informazioni su tutte le periferiche usb che avete nel pc.
La parte che ci interessa � questa:
<pre>
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0572 ProdID=cb00 Rev= 0.01 
S: Manufacturer=-
S: Product=ADSL USB MODEM
S: SerialNumber=55473201
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 7 Cls=00(>ifc ) Sub=00 Prot=00 Driver=none
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=84(I) Atr=03(Int.) MxPS= 8 Ivl=200ms
</pre>


Prendiamo nota dalla riga <tt>P:</tt> dei campi <tt>Vendor</tt> e <tt>ProdID</tt> che identificano il chipset del modem e notiamo che alla voce <tt>Driver</tt> c' scritto <tt>none</tt>, segno che in effetti state seguendo questa guida per qualcosa ;-).
Controllate se Vendor e Product ID del vostro modem corrispondono ad uno dei [http://accessrunner.sourceforge.net/modems.shtml modem supportati].
Se corrispondono ad un modem non supportato, provate a fare una ricerca nella [http://sourceforge.net/mailarchive/forum.php?forum_id=43894 mailing list del progetto] per vedere se (ed eventualmente come) qualcun altro riuscito a risolvere il vostro problema.


__TOC__
==L'occorrente per l'installazione==
= Lista Hardware =
Se il � modem supportato possiamo procedere, ma saranno necessarie ancora alcune cose:
*Il compilatore gcc funzionante. Se non l'avete installatelo (� presente nel primo cd di installazione, non vi serve internet):
<pre>
aptitude install gcc
</pre>
*Il driver per Wi.. (mi spiace non riesco a scriverlo ;-)) che dovreste avere in dotazione al modem. Se non l'avete cercate in rete un firmware compatibile per esempio alla Hamlet e saltate il prossimo punto.
*L'utility per estrarre il firmware dal driver Wi... (� pi� forte di me :-D). Se avete una connessione ad internet funzionante potete mettervi in una directory in cui avete diritto di scrittura e digitate
<pre>
$ cvs -z3 -d:server:anonymous@cvs.sourceforge.net:/cvsroot/accessrunner co -P utils
</pre>
altrimenti dovrete usare un'altro computer connesso ad internet, aprire [http://accessrunner.cvs.sourceforge.net/accessrunner questa pagina] (che � la simulazione web del cvs) e scaricare i quattro file contenuti nella cartella <tt>utils</tt>.
Ad ogni modo dopo esserci procurati le utils dobbiamo compilarle:
<pre>
$ cd utils  # o dovunque avete messo i file
$ make
</pre>
*Nel caso in cui il modem si identifichi con il'ID <tt>0xcafe</tt> (<tt>0x</tt> sta per esadecimale), vi serve anche la ROM di boot che scaricate ad esempio cos�
<pre>
$ wget http://www.olitec.com/pub/USBADSLV151-1008fr.tar.gz
</pre>
ora estraete il file WBoot.hex
<pre>
$ tar xvfz USBADSLV151-1008fr.tar.gz && cp USBADSL/WBoot.hex .
</pre>
e poi create un programmino C per convertire il file esadecimale in binario cos�:
<pre>
$ echo "int main(int argc, char ** argv)
{
unsigned int bp[] = {
#include \"WBoot.hex\"
};
write(1, bp, sizeof(bp));
}
" > programmino.c
</pre>
compilatelo e rendetelo eseguibile:
<pre>
$ gcc programmino.c -o programmino
$ chmod +x programmino
</pre>
ed eseguitelo in questo modo:
<pre>
./programmino > cxacru-bp.bin
</pre>


{| width="100%" border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse; text-align: center;"
Purtroppo nella attuale stable (sarge) trovate il kernel 2.6.8, quindi, a meno che non abbiate gi� installato un kernel 2.6.13 o superiore, dovrete usare un PC connesso ad internet per scaricare qualcuno dei seguenti pacchetti:
| align="center" style="background: #f9f9f9;"  | Produttore
*il sorgente di un kernel >=2.6.10 nella forma di un pacchetto kernel-source (o linux-source, nella nomenclatura pi� recente)
| align="center" style="background: #f9f9f9;" | Modelli
*un pacchetto kernel-image >=2.6.10 (o linux-image) gi� compilato, e il pacchetto linux-headers corrispondente, per compilare il modulo fuori dal kernel
| align="center" style="background: #f9f9f9;" | Compatibile
*un pacchetto linux-image >=2.6.13 da installare direttamente
| align="center" style="background: #f9f9f9;" | Guide
|-
| colspan="4" align="center" style="background: #f9f9f9;" |
=== Modem USB ADSL ===
|-
| ''Vari''
| [[Modem adsl Telindus ND220|Telindus ND220]]


Sagem Fast 800
I pacchetti debian relativi al kernel 2.6.12 (che � quello che normalmente consiglio su sarge, se non si vuole passare a etch) dovrebbero trovarsi [http://snapshot.debian.net/archive/2005/09/28/debian/pool/main/l/linux-2.6/ qui] (se il link non funziona vi prego di mettere un post nel forum). Per i sorgenti usate il pacchetto [http://snapshot.debian.net/archive/2005/09/28/debian/pool/main/l/linux-2.6/linux-source-2.6.12_2.6.12-10_all.deb linux-source-2.6.12_2.6.12-10_all.deb].


[[Modem adsl Aethra Starmodem|Aethra Starmodem]] (solo con chipset ADI)
Nel caso si decida per la compilazione di un kernel <2.6.13 (ma, ribadisco, sempre >=2.6.10) o anche del solo modulo cxacru � necessario scaricare la patch usbatm che trovate [http://sourceforge.net/project/showfiles.php?group_id=47406 qui]. Conviene sempre prendere l'ultima versione disponibile, che al momento � il file usbatm-20050216.tar.bz2.


| {{SupportatoConfigurazione}}
Se siete poco pratici di debian, e installare il modem � una delle prime cose che fate sulla vostra nuova sarge, devo avvisarvi che il fatto di aggiornare il kernel da 2.6.8 a 2.6.12 o superiori comporta qualche difficolt� tecnica. A breve vedr� di scrivere una piccola guida per questa migrazione, ma nel frattempo, prima di avventurarvi per questa strada: cercate informazioni nel forum ;-)
| align="left" | Richiede installazione dei driver '''eagle-adsl'''


{{link}} [http://www.eagle-usb.org/ Homepage driver eagle]
Da questo punto in avanti supporremo di aver messo tutti i file necessari all'installazione in una directory di lavoro all'interno della vostra home: ~/work/


{{guida}} [[Installare i driver eagle-adsl]]
==Installazione di linux-image==
|-
Nel caso abbiate optato per l'installazione di un pacchetto linux-image non vi resta altro da fare che installarlo (da root):
| ''Vari''
<pre>
# dpkg -i ~/work/linux-image-2.6.x-xx-xxx.deb
</pre>


|[http://accessrunner.sourceforge.net/modems.shtml Modem supportati] dal progetto '''Accessrunner''' (chipset Conexant)
Nota: qui si � supposto che il modem in questione rappresenti il vostro unico collegamento ad internet. Se invece avete accesso direttamente ad internet potete fare affidamento per l'installazione ad [[Indice_Guide#Gestione_dei_Pacchetti | apt]], che gestir� automaticamente le eventuali dipendenze.  


| {{SupportatoConfigurazione}}
Verificate che il bootloader, lilo o grub, punti alle giuste immagine del kernel e dell'initrd (vedi  [[Debian_Kernel_Howto#Installazione_nuovo_kernel | installazione nuovo kernel]]) e fate un reboot con il nuovo kernel.
Se non ci sono errori, a seconda della versione del kernel che avete installato, potete continuare con la compilazione del modulo cxacru, o passare all'installazione del firmware.


| align="left" | {{lh-kernel|Etch|2.6.13| cxacru }}
==Compilazione e installazione del solo modulo cxacru==
Se il kernel che avete installato non comprende ancora il modulo cxacru, potete compilarlo e installarlo a parte. Per questo sono sufficienti gli headers del kernel, ma vanno bene anche i sorgenti completi.  


Richiede installazione del firmware.
Nota: alcuni kernel tendono ad essere particolarmente esigienti riguardo la versione del compilatore con cui compilate il modulo, e rifiuteranno di caricarlo se usate una versione di gcc diversa da quella con cui � stato compilato il kernel: controllate la versione del compilatore che vi serve con <tt>cat /proc/version</tt> (vale solo per il kernel corrente).  


{{link}} [http://accessrunner.sourceforge.net/ Homepage driver Accessrunner]
Se avete scaricato i pacchetti deb con gli headers (di solito sono due pacchetti: uno generico e uno relativo alla vostra architettura) dovete installarli:
<pre>
# dpkg -i ~/work/linux-headers*.deb
</pre>


{{guida}} [[Installare i driver conexant accessrunner]]
ora si pu� procedere con la compilazione e installazione del modulo, dopo averlo scompattato:
|-
<pre>
| colspan="4" align="center" style="background: #f9f9f9;" |
# cd ~/work/
# tar xvfj ~/work/usbatm-20050216.tar.bz2
# cd ~/work/drivers/usb/atm
# make -C /usr/src/linux-headers-2.6.1x M=$PWD CONFIG_USB_CXACRU=m modules
# install -g root -o root -m 644 cxacru.ko usbatm.ko \
/lib/modules/2.6.1x/kernel/drivers/usb/atm/
# depmod -a
</pre>


=== Modem USB 56k ===
Se tutto � andato bene potete saltare il paragrafo sulla compilazione e passare all'installazione del firmware.
|-
|
|
|
|
|-
| colspan="4" align="center" style="background: #f9f9f9;" |
=== Periferiche Wireless ===
|-
| [http://www.netgear.it/ Netgear]
| WAG511


WG311T (168c:0013)
==Compilazione e installazione del kernel==
Nel caso abbiate deciso di compilare un nuovo kernel installate il pacchetto <tt>kernel-source</tt> (<tt>linux-source</tt>).
Qui supporremo che un utente non privilegiato non abbia diritto di scrittura nella directory <tt>/usr/src</tt> (come imho dovrebbe essere), quindi tutti i comandi successivi devono essere dati da root oppure usando un programma che vi dia pari diritti per queste azioni (per es. <tt>sudo</tt>).
<pre>
# dpkg -i ~/work/linux-source-2.6.x-xx-xxx.deb
</pre>
questo installer� un archivio compresso contenente il kernel nella directory <tt>/usr/src/</tt>. Andiamo a scompattarlo e applichiamo la patch:
<pre>
# cd /usr/src
# tar xvfj linux-source-2.6.x-xx-xxx.tar.bz2
# cd linux-source-2.6.x-xx-xxx
# tar xvfj ~/work/usbatm-20050216.tar.bz2
</pre>


WG511T (0271:0012)
C'� chi sostiene che scompattare il file usbatm direttamente nel kernel sia assolutamente sbagliato, per il rischio di sovrascrivere qualcosa. Ma considerando che l'operazione ha senso solo per 3 versioni del kernel, e successivamente i file contenuti nel pacchetto sono stati inclusi nell'albero dei sorgenti esattamente nella stessa posizione in cui li abbiamo messi noi, penso che siano timori infondati, a patto di non sbagliare la versione del kernel ;-).


WG511U (168c:0013)
'''nota bene''': mentre sperimentate con la compilazione del kernel <u>non usate mai</u> la directory <tt>/usr/src/linux</tt> che dovrebbe essere un link simbolico (<tt>man ln</tt>) ai sorgenti del kernel attualmente in uso. Se tutto il nostro procedimento funzioner�, alla fine cambierete il link in modo che punti ai sorgenti giusti. Per approfondimenti sull'argomento vedere il [[Debian_Kernel_Howto | debian kernel howto]]


WPN511 (168c:0013)
Invece di compilare un kernel da zero (impresa a dir poco titanica) conviene recuperare il config relativo al kernel che state usando, che dovrebbe essere presente nella directory <tt>/boot</tt>, e dovrebbe chiamarsi <tt>config-<versione del kernel></tt> o simili: sempre dalla directory principale dei sorgenti del kernel digitate
| {{SupportatoConfigurazione}}
<pre>
| align="left" | Richiede la compilazione e l'installazione dei driver madwifi
# cp /boot/config<qualcosa> .config
</pre>
in questo modo avrete un albero dei sorgenti configurato esattamente come il vostro attuale kernel, e da qui potete fare solo le modifiche che vi servono.


{{link}} [http://madwifi.org/ Pagina ufficiale Progetto MadWifi]
A questo punto prima di compilare dobbiamo abilitare alcune opzioni del kernel. Digitate
<pre>
# make menuconfig
</pre>


{{guida}} [[Madwifi | Guida installazione driver madwifi]]
Andate alla voce <tt>Device Drivers -> USB support -> USB DSL modem support</tt> ed attivate <tt>USB DSL modem support</tt> e <tt>Conexant AccessRunner USB support</tt>.
|-
| [http://www.zyxel.it Zyxel]
| [http://www.zyxel.it/product/model.php?indexcate=1085454766&indexcate1=1085450343&indexFlagvalue=1021876859 Zyxel ZyAir G-100]
| {{SupportatoConfigurazione}}
| align="left" |
{{lh-kernel|Sarge|2.6.8(?)|prism54}}
Richiede il download del firmware e il suo caricamento:


{{download}} [http://prism54.org/fullmac.html Download Firmware]
'''Nota''': il driver cxacru deve essere compilato come modulo perch�, probabilmente a causa di un bug, se compilato nel kernel in molti casi viene inizializzato prima che il firmware sia disponibile, e restituisce l'errore "<tt>firmware not found</tt>" anche se in realt� l'avete messo nel posto giusto. Il fatto � che non potendo fare "<tt>rmmod cxacru && modprobe cxacru</tt>", per farlo reinizializzare non vi resterebbe che staccare fisicamente il modem dalla porta usb e riattaccarlo, dopo ogni reboot, e questo pu� essere parecchio seccante!


{{link}} [http://prism54.org/ Pagina ufficiale Progetto Prism54]
Il resto della configurazione dovrebbe essere gi� a posto, ma controllate per sicurezza.
|-
Alla voce <tt>Device Drivers -> Networking support </tt>
|
<pre>
|
<M> PPP support
|
<M>   PPP support for async serial ports
|
<M>   PPP support for sync tty ports
|-
<M>   PPP deflate compression
| colspan="4" align="center" style="background: #f9f9f9;" |
<M>   PPP BSD-Compress compression
=== Schede Video ===
<M>  PPP over ATM
|-
</pre>
| [http://www.ati.com/ ATI]
| Radeon 7000/VE
| {{supportato}}
| align="left" | '''Driver OpenSource''': Supporto completo con 3D
|-
| [http://www.ati.com/ ATI]
| Radeon 8500<br/>
Radeon 9200
| {{supportato}}
| align="left" | '''Driver OpenSource''': Supporto accelerazione 3d<br/>
'''Driver Proprietari''': Supporto completo
|-
| [http://www.ati.com/ ATI]
|Mobility Radeon 9600 M10 <br/>
Radeon X700
| {{supportato}}
| align="left" | '''Driver OpenSource''': Supporto completo con 3D, funzionalit� grafiche parziali<br/>
'''Driver Proprietari''': Supporto completo
|-
| [http://nvidia.com/ NVIDIA]
| GeForce 6200
| {{supportato}}
| align="left" | '''Driver OpenSource''': Supporto completo con 3D
|-
| [http://nvidia.com/ NVIDIA]
| GeForce 4 MX 440
| {{supportato}}
| align="left" | '''Driver OpenSource''': Supporto completo con 3D<br/>
'''Driver Proprietari''': Supporto completo
|-
| colspan="4" align="center" style="background: #f9f9f9;" |


=== Webcam ===
Ala voce <tt>Networking options</tt>
|-
<pre>
|
<M> Asyncronous Transfer Mode
|
<M>  Classical IP over ATM
|
[*]    Do NOT send ICMP if no neighbour
|
</pre>
|}


=Come utilizzare questa pagina=
A questo punto uscite salvando la configurazione attuale e costruite il pacchetto <tt>kernel-source-2.6.x-xx-xxx-Custom.deb</tt> (per approfondimenti vedere [[Debian_Kernel_Howto#Compilazione_del_kernel | Compilazione del kernel]] nel Debian kernel howto):
<pre>
# make-kpkg clean
# make-kpkg --initrd kernel-image
</pre>
e installate il pacchetto ottenuto:
<pre>
# dpkg -i ../kernel-image-2.6.x.xx.xxx-Custom.deb
</pre>


== Lettura e legenda ==
Ora verificate che il bootloader (lilo o grub) punti alle immagini giuste di kernel e initrd e poi riavviate.
La tabella mostra una lista di Hardware compatibile con Linux (in particolare con Debian GNU/Linux) suddiviso per categoria, produttore e, se necessario, modello.  


Ogni elemento contiene le seguenti informazioni:
; Produttore : il nome del produttore con, eventualmente, un link al sito ufficiale
; Modelli : il nome del modello con, eventualmente, il codice "produttore/prodotto" presente in lspci
; Compatibile : lo stato di compatibilit:
::* {{NonSupportato}} non supportato
::* {{ParzialmenteSupportato}} parzialmente supportato
::* {{SupportatoConfigurazione}} supportato ma richiede la configurazione
::* {{Supportato}} supportato
: In caso di ''supportato'' e ''parzialmente supportato'' pu essere presente, inolte, una tabella contenente dei dettagli relativi alla versione del [[kernel]], alla [[Release | release di Debian]] da cui disponibile il supporto ed il [[modulo del kernel]] (''Driver'') necessario al suo funzionamento.
; Note : Link alle guide relative all'installazione/configurazione del dispositivo.
:
<div aling="left">
{{lh-kernel|Versione di Debian da cui iniziato il supporto al dispositivo|Versione del Kernel Linux da cui il dispositivo supportato nativamente|Nome del modulo da caricare}}
</div>
: possibile incontrare una tabella come la seguente:<br/>che riporta dei dettagli utili per l'installazione del dispositivo.
<br/><br/><br/><br/><br/><br/><br/>


== Inserimento di elementi ==
'''Aggiornamento''': solo recentemente (23/11/2005) sono riuscito nell'intento di far funzionare correttamente il driver cxacru anche se � compilato all'interno del kernel :-D. Questo permette di costruire un kernel monolitico e di disabilitare il supporto per i moduli, cosa senz'altro desiderabile nelle situazioni in cui � necessario un certo grado di sicurezza (per es. per un PC che fa da firewall-router).  
L'inserimento degli elementi � semplice; di seguito vengono forniti i passi per l'inserimento di un elemento:
Poich� la cosa non � per niente banale, e comporta la compilazione di un kernel recente (minimo 2.6.12, ma io ho testato il 2.6.14) e la creazione di un initramfs personalizzato (oltre a qualche configurazione minore in udev), consiglio la cosa solo ad utenti particolarmente avventurosi. Chi vuole cimentarsi mi pu� contattare sul forum.
* Prelevare da [[Lista Hardware Template | questa pagina]] il template pi� indicato
* Sostituire il testo racchiuso tra ''#...#'' con il proprio
* modificare la pagina [[Lista Hardware]] inserendo la propria parte appena dopo un <tt>|-</tt>
* Sarebbe utile ordinare gli elementi per produttore e modello...
* In caso di difficolt�, si possono contattare (tramite la pagina di discussione od un messaggio privato) i seguenti utenti:
** [[Utente:MaXeR|MaXeR]]
** [[Utente:TheNoise | The_Noise]]
** [[Utente:ilbeppe | Ilbeppe]]


[[Categoria:Hardware]]
==Installazione del firmware==
Qualunque metodo abbiate seguito, dopo il reboot dovreste trovare disponibile il modulo <tt>cxacru</tt>, verificate con
<pre>
# modprobe -l |grep cxacru
</pre>
il comando dovrebbe restituire un output simile a:
<pre>
/lib/modules/2.6.x/kernel/drivers/usb/atm/cxacru.ko
</pre>
se non restituisce nulla significa che c'� stato un errore nei precedenti passaggi.
 
Se tutto � andato per il meglio proseguiamo andando a recuperare il CD dei driver per w... ehm, quell'altro S.O.
Cercate nel CD il file <tt>CnxEtU.sys</tt> e copiatelo nella Cartella di lavoro. Ora estraete il firmware e copiatelo nella directory dove hotplug (o udev se usate un sistema pi� recente) si aspetta di trovarlo.
 
nota: per sarge, che utilizza ancora hotplug, la directory standard per il firmware � <tt>/usr/lib/hotplug/firmware</tt>, mentre da etch in poi hotplug � stato sostituito da udev, e la directory per il firmware � <tt>/lib/firmware</tt>.
Noi supporremo di essere su sarge:
<pre>
# cd ~/work
# ./utils/cxacru-fw CnxEtU.sys cxacru-fw.bin
# cp ~/work/cxacru-fw.bin /usr/lib/hotplug/firmware
</pre>
Se il vostro modem ha il chipset <tt>0xcafe</tt> copiate nella stessa directory anche la ROM di boot, cio� il file <tt>cxacru-bp.bin</tt>.
 
A questo punto togliete il modulo <tt>cxacru</tt>, nel caso sia caricato:
<pre>
# rmmod cxacru
</pre>
staccate il modem dalla porta USB nel caso sia attaccato, e poi riattaccate il modem alla porta USB e ricaricate il driver. Tutto questo perche � sempre meglio togliere il modulo dal kernel prima di staccare il modem, altrimenti a me � capitato che si bloccasse completamente il sistema.
Ora controllate che sia stato trovato il firmware:
<pre>
$ dmesg | tail
</pre>
il comando dovrebbe restituire qualcosa di simile a
<pre>
usbcore: registered new driver cxacru
cxacru 1-1:1.0: found firmware cxacru-fw.bin
</pre>
Nel caso, una volta caricato il firmware, riceviate, sempre in <tt>dmesg</tt>, il messaggio:
<pre>
cxacru 1-1:1.0: poll status: error -5
</pre>
significa che occorre una versione pi� recente del vostro firmware. In effetti non � assolutamente detto che i driver forniti dal produttore del modem siano aggiornati, ma potete senz'altro trovare un firmware aggiornato in rete, per esempio [http://ftp.linux.it/pub/People/md/warez/ qui] (notare che il pacchetto .deb � per sarge, e mette il firmware in <tt>/usr/lib/hotplug/firmware</tt>, quindi per etch � molto meglio non usarlo e scaricare direttamente il firmware) o eventualmente postando nel forum.
 
Ora il driver del modem dovrebbe gi� essere in funzione e il led relativo alla linea ADSL dovrebbe lampeggiare, segno che sta cercando la sincronizzazione con la linea. Mentre il led lampeggia avrete che:
<pre>
$ cat /proc/net/atm/cxacru\:0
ADSL USB MODEM (usb-0000:00:07.2-1)
MAC: xx:yy:zz:bla bla bla
AAL5: tx 9363 ( 0 err ), rx 14299 ( 0 err, 0 drop )
Line down
</pre>
e anche:
<pre>
$ tail /var/log/messages
Oct 5 08:06:00 muretto kernel: ATM dev 0: ADSL line: attempting to activate
Oct 5 08:06:10 muretto kernel: ATM dev 0: ADSL line: down
Oct 5 08:06:15 muretto kernel: ATM dev 0: ADSL line: attempting to activate
Oct 5 08:06:35 muretto kernel: ATM dev 0: ADSL line: down
Oct 5 08:06:40 muretto kernel: ATM dev 0: ADSL line: attempting to activate
Oct 5 08:08:00 muretto kernel: ATM dev 0: ADSL line: channel analysis
Oct 5 08:08:05 muretto kernel: ATM dev 0: ADSL line: up (4832 kb/s down | 320 kb/s up)
</pre>
qui alle 8.08.00 il modem si � sincronizzato con il segnale ADSL .
 
Una volta agganciato il segnale ADSL si avr�:
<pre>
$ cat /proc/net/atm/cxacru\:0
appariranno di seguito queste informazioni
ADSL USB MODEM (usb-0000:00:07.2-1)
MAC: xx:yy:zz:bla bla bla
AAL5: tx 9363 ( 0 err ), rx 14299 ( 0 err, 0 drop )
Line up
</pre>
Ci siamo: il driver del modem � perfettamente funzionante.
 
==Impostazione della connessione==
Prima di iniziare dovete sapere:
*userid e password forniti dal provider (di solito per Telecom Alice l'userid e la password sono entrambi uguali a <tt>aliceadsl</tt>)
*VPI e VCI del provider (nel caso di Telecom Alice sono 8 e 35).
*IP e DNS del nostro provider nel caso di una connessione con IP statico.
 
Iniziamo con la configurazione.
Copiate nella directory <tt>/etc/ppp/peers/</tt> il file <tt>/usr/share/doc/ppp/examples/peers-pppoa</tt>, che in Debian contiene la configurazione standard
<pre>
# cp /usr/share/doc/ppp/examples/peers-pppoa /etc/ppp/peers/adsl
</pre>
oppure create il file <tt>/etc/ppp/peers/adsl</tt> in questo modo:
<pre>
# echo "noauth
noipdefault
usepeerdns
defaultroute
persist
plugin pppoatm.so 8.35
user \"userid\"
" > /etc/ppp/peers/adsl
</pre>
In entrambi i casi modificate la riga <tt>user "userid"</tt> mettendo il vostro userid ;-), con o senza le virgolette: non ha importanza.
 
Inserite userid e password nei file <tt>/etc/ppp/pap-secrets</tt> e <tt>/etc/ppp/chap-secrets</tt>:
<pre>
# echo "userid  *  password" >> /etc/ppp/pap-secrets
# echo "userid  *  password" >> /etc/ppp/chap-secrets
</pre>
 
Controllate in <tt>/etc/resolv.conf</tt> se i DNS sono corretti altrimenti li dovrete inserire a mano. Per esempio un <tt>/etc/resolv.conf</tt> con i DNS di libero sarebbe:
<pre>
$ cat /etc/resolv.conf
search libero.it
nameserver 193.70.192.25
nameserver 193.70.152.25
</pre>
 
A questo punto fate partire la connessione con il comando
<pre>
# pon adsl
</pre>
ed il gioco � fatto.
 
Controllate in <tt>/var/log/messagges</tt> se tutto funziona regolarmente:
<pre>
# tail /var/log/messagges
Jun 3 00:07:40 localhost pppd[5101]: Plugin /usr/lib/pppd/2.4.2/pppoatm.so loaded.
Jun 3 00:07:40 localhost kernel: PPP generic driver version 2.4.2
Jun 3 00:07:40 localhost pppd[5101]: PPPoATM plugin_init
Jun 3 00:07:40 localhost pppd[5101]: PPPoATM setdevname_pppoatm - SUCCESS:8.35
Jun 3 00:07:40 localhost pppd[5126]: pppd 2.4.2 started by root, uid 0
Jun 3 00:07:40 localhost pppd[5126]: Using interface ppp0
Jun 3 00:07:40 localhost pppd[5126]: Connect: ppp0 <--> 8.35
Jun 3 00:07:43 localhost pppd[5126]: PAP authentication succeeded
Jun 3 00:07:43 localhost pppd[5126]: local IP address 82.59.0.222
Jun 3 00:07:43 localhost pppd[5126]: remote IP address 192.168.100.1
Jun 3 00:07:43 localhost pppd[5126]: primary DNS address 80.17.212.208
Jun 3 00:07:43 localhost pppd[5126]: secondary DNS address 151.99.125.1
</pre>
 
per disconnettere usate il comando
<pre>
#poff adsl
</pre>
 
Buona navigazione!
 
==Credits==
Per questa guida ho preso liberamente spunto da un [http://www.hackerjournal.it/hj/index.php?name=PNphpBB2&file=viewtopic&p=119080&sid=382d3eb4cf2690fa1c5e5352fd966f5c#119080 un post] di Natryum su www.hackerjournal.it, e da [http://www.fedoraitalia.org/modules/newbb/viewtopic.php?viewmode=thread&order=ASC&topic_id=7384&forum=2 un altro] di Uomolosco su www.fedoraitalia.org, oltre che da svariate indicazioni provenienti dalla gi� citata mailing-list del progetto Accessrunner, il tutto rivisto, corretto, ampliato, aggiornato e reso in una forma organica.
 
----
: [[Utente:Tindal|Tindal]]
[[Categoria:Hardware]][[Categoria:Modem ADSL]]
56

contributi