Old:Installare i driver conexant accessrunner: differenze tra le versioni

m
(Aggiunto template autori)
 
(3 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Sarge}}
{{Old}}
==Introduzione==
==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).
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).
Riga 36: Riga 36:
</pre>
</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 ;-).  
Prendiamo nota dalla riga <code>P:</code> dei campi <code>Vendor</code> e <code>ProdID</code> che identificano il chipset del modem e notiamo che alla voce <code>Driver</code> c'è scritto <code>none</code>, segno che in effetti state seguendo questa guida per qualcosa ;-).  
Controllate se <code>Vendor</code> e <code>Product ID</code> del vostro modem corrispondono ad uno dei [http://accessrunner.sourceforge.net/modems.shtml modem supportati].
Controllate se <code>Vendor</code> e <code>Product ID</code> 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.  
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.  
Riga 51: Riga 51:
$ cvs -z3 -d:server:anonymous@cvs.sourceforge.net:/cvsroot/accessrunner co -P utils
$ cvs -z3 -d:server:anonymous@cvs.sourceforge.net:/cvsroot/accessrunner co -P utils
</pre>
</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>.  
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 <code>utils</code>.  
Ad ogni modo dopo esserci procurati le utils dobbiamo compilarle:
Ad ogni modo dopo esserci procurati le utils dobbiamo compilarle:
<pre>
<pre>
Riga 57: Riga 57:
$ make
$ make
</pre>
</pre>
*Nel caso in cui il modem si identifichi con l'ID <tt>0xcafe</tt> (<tt>0x</tt> sta per esadecimale), vi serve anche la ROM di boot che scaricate ad esempio così
*Nel caso in cui il modem si identifichi con l'ID <code>0xcafe</code> (<code>0x</code> sta per esadecimale), vi serve anche la ROM di boot che scaricate ad esempio così
<pre>
<pre>
$ wget http://www.olitec.com/pub/USBADSLV151-1008fr.tar.gz
$ wget http://www.olitec.com/pub/USBADSLV151-1008fr.tar.gz
Riga 113: Riga 113:
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.  
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.  


{{Box|Nota:|alcuni kernel tendono ad essere particolarmente esigenti 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).}}  
{{Box|Nota:|alcuni kernel tendono ad essere particolarmente esigenti 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 <code>cat /proc/version</code> (vale solo per il kernel corrente).}}  


Se avete scaricato i pacchetti deb con gli headers (di solito sono due pacchetti: uno generico e uno relativo alla vostra architettura) dovete installarli:
Se avete scaricato i pacchetti deb con gli headers (di solito sono due pacchetti: uno generico e uno relativo alla vostra architettura) dovete installarli:
Riga 134: Riga 134:


==Compilazione e installazione del kernel==
==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>).
Nel caso abbiate deciso di compilare un nuovo kernel installate il pacchetto <code>kernel-source</code> (<code>linux-source</code>).
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>).
Qui supporremo che un utente non privilegiato non abbia diritto di scrittura nella directory <code>/usr/src</code> (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. <code>sudo</code>).
<pre>
<pre>
# dpkg -i ~/work/linux-source-2.6.x-xx-xxx.deb
# dpkg -i ~/work/linux-source-2.6.x-xx-xxx.deb
</pre>
</pre>
questo installerà un archivio compresso contenente il kernel nella directory <tt>/usr/src/</tt>. Andiamo a scompattarlo e applichiamo la patch:
questo installerà un archivio compresso contenente il kernel nella directory <code>/usr/src/</code>. Andiamo a scompattarlo e applichiamo la patch:
<pre>
<pre>
# cd /usr/src
# cd /usr/src
Riga 149: Riga 149:
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 ;-).
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 ;-).


{{Box|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]]}}
{{Box|Nota Bene:|mentre sperimentate con la compilazione del kernel <u>non usate mai</u> la directory <code>/usr/src/linux</code> che dovrebbe essere un link simbolico (<code>man ln</code>) 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]]}}


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
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 <code>/boot</code>, e dovrebbe chiamarsi <code>config-<versione del kernel></code> o simili: sempre dalla directory principale dei sorgenti del kernel digitate
<pre>
<pre>
# cp /boot/config<qualcosa> .config
# cp /boot/config<qualcosa> .config
Riga 162: Riga 162:
</pre>
</pre>


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>.
Andate alla voce <code>Device Drivers -> USB support -> USB DSL modem support</code> ed attivate <code>USB DSL modem support</code> e <code>Conexant AccessRunner USB support</code>.


{{Box|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!}}
{{Box|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 "<code>firmware not found</code>" anche se in realtà l'avete messo nel posto giusto. Il fatto è che non potendo fare "<code>rmmod cxacru && modprobe cxacru</code>", 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!}}


Il resto della configurazione dovrebbe essere già a posto, ma controllate per sicurezza.
Il resto della configurazione dovrebbe essere già a posto, ma controllate per sicurezza.
Alla voce <tt>Device Drivers -> Networking support </tt>
Alla voce <code>Device Drivers -> Networking support </code>
<pre>
<pre>
<M> PPP support
<M> PPP support
Riga 177: Riga 177:
</pre>
</pre>


Ala voce <tt>Networking options</tt>
Ala voce <code>Networking options</code>
<pre>
<pre>
<M> Asyncronous Transfer Mode
<M> Asyncronous Transfer Mode
Riga 184: Riga 184:
</pre>
</pre>


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):
A questo punto uscite salvando la configurazione attuale e costruite il pacchetto <code>kernel-source-2.6.x-xx-xxx-Custom.deb</code> (per approfondimenti vedere [[Debian_Kernel_Howto#Compilazione_del_kernel | Compilazione del kernel]] nel Debian kernel howto):
<pre>
<pre>
# make-kpkg clean
# make-kpkg clean
Riga 201: Riga 201:


==Installazione del firmware==
==Installazione del firmware==
Qualunque metodo abbiate seguito, dopo il reboot dovreste trovare disponibile il modulo <tt>cxacru</tt>, verificate con
Qualunque metodo abbiate seguito, dopo il reboot dovreste trovare disponibile il modulo <code>cxacru</code>, verificate con
<pre>
<pre>
# modprobe -l |grep cxacru
# modprobe -l |grep cxacru
Riga 212: Riga 212:


Se tutto è andato per il meglio proseguiamo andando a recuperare il CD dei driver per w... ehm, quell'altro S.O.  
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.
Cercate nel CD il file <code>CnxEtU.sys</code> 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.


{{Box|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>.}}
{{Box|Nota:|per Sarge, che utilizza ancora hotplug, la directory standard per il firmware è <code>/usr/lib/hotplug/firmware</code>, mentre da Etch in poi hotplug è stato sostituito da udev, e la directory per il firmware è <code>/lib/firmware</code>.}}
Noi supporremo di essere su Sarge:
Noi supporremo di essere su Sarge:
<pre>
<pre>
Riga 221: Riga 221:
# cp ~/work/cxacru-fw.bin /usr/lib/hotplug/firmware
# cp ~/work/cxacru-fw.bin /usr/lib/hotplug/firmware
</pre>
</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>.
Se il vostro modem ha il chipset <code>0xcafe</code> copiate nella stessa directory anche la ROM di boot, cioè il file <code>cxacru-bp.bin</code>.


A questo punto togliete il modulo <tt>cxacru</tt>, nel caso sia caricato:
A questo punto togliete il modulo <code>cxacru</code>, nel caso sia caricato:
<pre>
<pre>
# rmmod cxacru
# rmmod cxacru
Riga 237: Riga 237:
cxacru 1-1:1.0: found firmware cxacru-fw.bin
cxacru 1-1:1.0: found firmware cxacru-fw.bin
</pre>
</pre>
Nel caso, una volta caricato il firmware, riceviate, sempre in <tt>dmesg</tt>, il messaggio:
Nel caso, una volta caricato il firmware, riceviate, sempre in <code>dmesg</code>, il messaggio:
<pre>
<pre>
cxacru 1-1:1.0: poll status: error -5
cxacru 1-1:1.0: poll status: error -5
</pre>
</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.  
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 <code>/usr/lib/hotplug/firmware</code>, 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:
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:
Riga 277: Riga 277:
==Impostazione della connessione==  
==Impostazione della connessione==  
Prima di iniziare dovete sapere:
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>)
*userid e password forniti dal provider (di solito per Telecom Alice l'userid e la password sono entrambi uguali a <code>aliceadsl</code>)
*VPI e VCI del provider (nel caso di Telecom Alice sono 8 e 35).
*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.
*IP e DNS del nostro provider nel caso di una connessione con IP statico.


Iniziamo con la configurazione.
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  
Copiate nella directory <code>/etc/ppp/peers/</code> il file <code>/usr/share/doc/ppp/examples/peers-pppoa</code>, che in Debian contiene la configurazione standard  
<pre>
<pre>
# cp /usr/share/doc/ppp/examples/peers-pppoa /etc/ppp/peers/adsl
# cp /usr/share/doc/ppp/examples/peers-pppoa /etc/ppp/peers/adsl
</pre>
</pre>
oppure create il file <tt>/etc/ppp/peers/adsl</tt> in questo modo:
oppure create il file <code>/etc/ppp/peers/adsl</code> in questo modo:
<pre>
<pre>
# echo "noauth
# echo "noauth
Riga 297: Riga 297:
" > /etc/ppp/peers/adsl
" > /etc/ppp/peers/adsl
</pre>
</pre>
In entrambi i casi modificate la riga <tt>user "userid"</tt> mettendo il vostro userid ;-), con o senza le virgolette: non ha importanza.
In entrambi i casi modificate la riga <code>user "userid"</code> 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>:
Inserite userid e password nei file <code>/etc/ppp/pap-secrets</code> e <code>/etc/ppp/chap-secrets</code>:
<pre>
<pre>
# echo "userid  *  password" >> /etc/ppp/pap-secrets
# echo "userid  *  password" >> /etc/ppp/pap-secrets
Riga 305: Riga 305:
</pre>
</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:
Controllate in <code>/etc/resolv.conf</code> se i DNS sono corretti altrimenti li dovrete inserire a mano. Per esempio un <code>/etc/resolv.conf</code> con i DNS di libero sarebbe:
<pre>
<pre>
$ cat /etc/resolv.conf
$ cat /etc/resolv.conf
Riga 319: Riga 319:
ed il gioco è fatto.  
ed il gioco è fatto.  


Controllate in <tt>/var/log/messagges</tt> se tutto funziona regolarmente:
Controllate in <code>/var/log/messagges</code> se tutto funziona regolarmente:
<pre>
<pre>
# tail /var/log/messagges
# tail /var/log/messagges
Riga 345: Riga 345:
==Credits==
==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.
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.
{{Autori
|Autore = [[Utente:Tindal|Tindal]]
}}
[[Categoria:Modem]]
3 581

contributi