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

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{Versioni compatibili|Debian Sarge 3.1}}
==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 6: Riga 7:
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.
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.


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).  
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).  
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.  
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.  
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).
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).
Riga 36: Riga 37:


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 <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].
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 50: 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 <tt>utils</tt>.  
Ad ogni modo dopo esserci procurati le utils dobbiamo compilarle:
Ad ogni modo dopo esserci procurati le utils dobbiamo compilarle:
<pre>
<pre>
Riga 56: Riga 57:
$ make
$ make
</pre>
</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ì
*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ì
<pre>
<pre>
$ wget http://www.olitec.com/pub/USBADSLV151-1008fr.tar.gz
$ wget http://www.olitec.com/pub/USBADSLV151-1008fr.tar.gz
</pre>
</pre>
ora estraete il file WBoot.hex
ora estraete il file <code>WBoot.hex</code>
<pre>
<pre>
$ tar xvfz USBADSLV151-1008fr.tar.gz && cp USBADSL/WBoot.hex .
$ tar xvfz USBADSLV151-1008fr.tar.gz && cp USBADSL/WBoot.hex .
Riga 85: Riga 86:
</pre>
</pre>


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:
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:
*il sorgente di un kernel >=2.6.10 nella forma di un pacchetto kernel-source (o linux-source, nella nomenclatura più recente)
*il sorgente di un kernel >=2.6.10 nella forma di un pacchetto kernel-source (o linux-source, nella nomenclatura più recente);
*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
*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;
*un pacchetto linux-image >=2.6.13 da installare direttamente
*un pacchetto linux-image >=2.6.13 da installare direttamente.


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].
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].


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.
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 <code>usbatm-20050216.tar.bz2</code>.


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 ;-)
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 ;-).


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/
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: <code>~/work/</code>.


==Installazione di linux-image==
==Installazione di linux-image==
Riga 104: Riga 105:
</pre>
</pre>


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.  
{{Box|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. }}


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.  
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.  
Riga 112: 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.  


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).  
{{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).}}


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 148: 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 ;-).


'''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 <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]]}}


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 <tt>/boot</tt>, e dovrebbe chiamarsi <tt>config-<versione del kernel></tt> o simili: sempre dalla directory principale dei sorgenti del kernel digitate
Riga 163: Riga 164:
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 <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>.


'''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 "<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!}}


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.
Riga 213: Riga 214:
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 <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>.
{{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>.}}
Noi supporremo di essere su sarge:
Noi supporremo di essere su Sarge:
<pre>
<pre>
# cd ~/work
# cd ~/work
Riga 240: Riga 241:
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 <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:
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:
1 508

contributi