Nessun oggetto della modifica
Riga 1: Riga 1:
==Premessa==
Questa guida stata scritta da un'utente alle prime esperienze con Linux (Debian) i contenuti del presente articolo sono frutto di ricerche effettuate sul Web, rielaborate e a volte tradotte, tutte le informazioni presenti sono state testate, quindi possono ritenersi attendibili.
==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).
Il kernel di Linux permette di comunicare con ogni stampante che si possa collegare ad una porta usb, sfortunatamente, questo da solo non sufficiente; bisogna essere anche in grado di generare dati che la stampante possa capire, per questo serve un software di spool nel nostro caso CUPS.
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).
Detto questo, prima di accingersi alla configurazione di una stampante USB dobbiamo verificare i requisiti per l'istallazione
della stampante, '''3''' cose sono importanti:


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.
==='''1) Verificare se la nostra stampante compatibile con linux'''===
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).  
Infatti alcune stampanti necessitano di driver esterni a CUPS (Common UNIX Printing Solution), driver che possono essere ricercati nel sito linuxprinting.org: basta cercare la propria stampante e troverete i driver necessari al suo funzionamento.Per istallare i driver seguire le informazioni contenute nelle pagine indicate da http://linuxprinting.org in funzione del proprio driver scelto, ad esempio vedi questo link per il driver (hplip) http://hpinkjet.sourceforge.net/ cliccando su [''istallation istruction''].Fortunatamente se facciamo un'istallazione di CUPS completa dei pacchetti foomatic, gimpprint come descritto piu avanti abbiamo ottime probabilit� di trovare i driver per le stampanti pi� comuni  (hp,epson,ecc...)
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).


==Verificare se il modem � supportato==
==='''2) Verificare se i moduli per il funzionamento della stampante USB sono caricati dal kernel'''===
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


<pre>$ less /proc/bus/usb/devices </pre>
Prima di tutto dobbiamo controllare se nel kernel � attivato il supporto per la stampante USB ed i moduli necessari per la stampa: da ''root'' digitiamo il seguente comando


si otterr� una serie di informazioni su tutte le periferiche usb che avete nel pc.
  # modconf (cos� che i moduli verranno sempre caricati all'avvio di debian)
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 ;-).
si aprir� il pannello di configurazione del programma modconf:
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.


==L'occorrente per l'installazione==
*andiamo sulla riga '''kernel/drivers/parport'''  [invio] e controlliamo che '''(parport)''' e '''(parport_pc)''' siano attivati (se son attivati avranno un segno , altrimenti attiviamoli.)
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://cvs.sourceforge.net/viewcvs.py/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>


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:
*andiamo sulla riga '''kernel/drivers/usb/core''' [invio] e controlliamo che sia attivato (se son attivati avranno un segno , altrimenti attiviamoli.)
*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 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].
*andiamo sulla riga '''kernel/drivers/usb/hosts''' [invio] e controlliamo che '''(ehci_hcd)'''-'''(ohci_hcd)'''-'''(uhci_hcd)''' siano attivati (se son attivati avranno un segno , altrimenti attiviamoli.)


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.
*andiamo sulla riga '''kernel/drivers/usb/class''' [invio] e controlliamo che '''(usblp)''' sia attivato (se son attivati avranno un segno , altrimenti attiviamoli.)


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 ;-)
A questo punto si rende necessario riavviare il pc in quanto avendo usato il comando modconf dobbiamo rendere effettive le modifiche fatte al kernel digitando il seguente comando da ''root''
 
  # reboot


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/
A questo punto colleghiamo la stampante accesa al connettore USB del pc ed attendiamo il caricamento del kernel poi da shell verifichiamo se la stampante viene riconosciuta


==Installazione di linux-image==
==='''3) Verificare se la stampante viene riconosciuta dal sistema'''===
Nel caso abbiate optato per l'installazione di un pacchetto linux-image non vi resta altro da fare che installarlo (da root):
<pre>
# dpkg -i ~/work/linux-image-2.6.x-xx-xxx.deb
</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.  
da ''root'' digitiamo il seguente comando:  
# dmesg | grep usb
dovrebbe apparire una linea del genere:
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0alt 0 proto 2 vid 0x04B8 pid 0x0005


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.
oppure utilizzare questo comando della suite CUPS(se gi� installato cups)
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.


==Compilazione e installazione del solo modulo cxacru==
  # lpstat -a (per elencare le stampanti disponibili)
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.
  hp656 accepting requests since Jan 01 00:00


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).
Se non controlliamo l'efficienza di questa tre cose � inutile procedere con il software di spool.<br>
Questa procedura di riconoscimento della stampante pu� essere eseguita anche senza riavviare il sistema
caricando i seguenti moduli sempre da ''root'' con il comando modprobe:


Se avete scaricato i pacchetti deb con gli headers (di solito sono due pacchetti: uno generico e uno relativo alla vostra architettura) dovete installarli:
  # modprobe usblp
<pre>
  # modprobe uhci-hcd
# dpkg -i ~/work/linux-headers*.deb
  # modprobe ehci-hcd
</pre>
  # modprobe ohci-hcd
gli altri moduli descritti sopra generalmente li troviamo gi� precaricati dal kernel 2.6.x
comunque io prediligo la procedura con il comando modconf in modo che ad ogni avvio di sistema ci troviamo tutto configurato senza ripetere il caricamento dei moduli ed in pi� con la procedura sopradescritta comprendiamo pi� a fondo quello che stiamo facendo e di cosa abbiamo bisogno per stampare e per riconoscere una stampante USB .


ora si pu� procedere con la compilazione e installazione del modulo, dopo averlo scompattato:
==Configura stampante con CUPS==
<pre>
# 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>


Se tutto andato bene potete saltare il paragrafo sulla compilazione e passare all'installazione del firmware.
Per eseguire questa procedura abbiamo bisogno di installare il software CUPS, non argomento trattato in questa guida comunque
� possibile farlo dai ''repository'' cercando e installando tutti i vari pacchetti collegati a CUPS, scaricare sempre dai ''repository'' tutti i pacchetti dei driver della la nostra stampante, tutti i pacchetti di "foomatic" e di "ghostscript".


==Compilazione e installazione del kernel==
===Installare CUPS===
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>


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 ;-).
Installazione di CUPS Common UNIX Printing System digitando il seguente comando da ''root''  


'''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]]
  # apt-get install cupsys cupsys-client cupsys-driver-gimpprint
  # apt-get install foomatic-db-engine foomatic-db-hpijs
  # apt-get install foomatic-filters-ppds foomatic-gui


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
Sucessivamente controlliamo se CUPS � stato installato correttamente sempre da ''root'' con il comando
<pre>
# 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.


A questo punto prima di compilare dobbiamo abilitare alcune opzioni del kernel. Digitate
  # lpinfo -v
<pre>
  Dovremmo vedere qualcosa del genere:
# make menuconfig
  network socket
</pre>
  network http
  network ipp
  network lpd
  direct canon:/dev/lp0
  direct epson:/dev/lp0
  direct parallel:/dev/lp0
  direct usb:/dev/usb/lp0
  direct usb:/dev/usb/lp1
  direct usb:/dev/usb/lp2
  direct usb:/dev/usb/lp3
  direct usb:/dev/usb/lp4
  direct usb:/dev/usb/lp5
  direct usb:/dev/usb/lp6
  direct usb:/dev/usb/lp7
  direct usb:/dev/usb/lp8
  direct usb:/dev/usb/lp9
  direct usb:/dev/usb/lp10
  direct usb:/dev/usb/lp11
  direct usb:/dev/usb/lp12
  direct usb:/dev/usb/lp13
  direct usb:/dev/usb/lp14
  direct usb:/dev/usb/lp15


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>.
Arrivati a questo punto, avremo il software CUPS correttamente istallato e la stampante USB riconosciuta
passeremo alla configurazione del software di spool CUPS e della stampante avvalendoci dell'interfaccia web messa a disposizione da CUPS raggiungibile da un qualunque browsware all'indirizzo http://127.0.0.1:631, dove l'IP � il localhosts e :631 � la porta di ascolto del server CUPS.
Se non si riesce a visualizzare la pagina web principale di CUPS provare questo comando sempre da ''root''


'''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!
  # /etc/init.d/cupsys reload (per riavviare il server)


Il resto della configurazione dovrebbe essere gi� a posto, ma controllate per sicurezza.
===Configurare CUPS===
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
<M>  PPP BSD-Compress compression
<M>  PPP over ATM
</pre>


Ala voce <tt>Networking options</tt>
portarsi di nuovo all'indirizzo http://127.0.0.1:631, se tutto � andato per il verso giusto nel brosware visualizzeremo un output di questo tipo:<br>
<pre>
<M> Asyncronous Transfer Mode
<M>  Classical IP over ATM
[*]    Do NOT send ICMP if no neighbour
</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):
'''figura 1''' Questa � la pagina principale di cups<br>
<pre>
[[Immagine:inizialecups.PNG]]<br>
# make-kpkg clean
[''cliccare''] sopra il link '''Printers''' visualizzando questa pagina:(fig1.2)<br>
# make-kpkg --initrd kernel-image
'''figura 1.2''' Indica che non ci sono stampanti istallate<br>
</pre>
[[Immagine:printer.PNG]]<br>
e installate il pacchetto ottenuto:
[''cliccare''] sopra il link '''Add Printer''' visualizzando questa pagina:(fig1.3)<br>
<pre>
'''figura 1.3''' Pannello di amministrazione<br>
# dpkg -i ../kernel-image-2.6.x.xx.xxx-Custom.deb
[[Immagine:aggiunginuovacups.PNG]]<br>
</pre>
Per procedere con l'amministrazione di cups tramite interfaccia web � necessario accedere al pannello di fig.1.3 tramite il nome UTENTE e PASSWORD generalmente quelli ''root'' dopo di che si apre il pannello di amministrazione, questo � quanto si legge in alcune guide presenti in rete, non so per quale motivo a me non funziona.
Altre guide dicono di creare un utente con il comando '''lppasswd -a <nome utente> e <password>''' in quanto l'utente e la password richieste dall'autenticazione sono riferite all'amministratore del server di stampa e non all'amministratore di sistema comunque anche con il seguente comando non sono riuscito ad entrare nel pannello di amministrazione,ho letto in diversi post cercati su internet di situazioni uguali a queste ma non ho trovato risposte risolutive.
Sarebbe un bene se qualcuno pi� esperto intervenisse su questa guida per spiegare ed approfondire questa parte riguardante L'ACCESSO AL SERVER CUPS.<br>
La cosa sicura � che centra la configurazione del file '''cupsd.conf''' che � il cuore del server di stampa infatti per eliminare questo problema ho agito  su quel file che si trova in '''/etc/cups/cupsd.conf'''
cambiando dei parametri e sono riuscito ad entrare nel pannello di configurazione per settare la mia stampante, a discapito comunque della sicurezza del server cups.
Quindi seguite questi passi solo se non riuscite in alcun modo ad entrare nel pannello di amministrazione, oppure leggetevi ed informatevi in rete http://www.cups.org sul funzionamento del server CUPS e del suo file di configurazione '''cupsd.conf''' in quanto non � argomento trattato in questa guida.


Ora verificate che il bootloader (lilo o grub) punti alle immagini giuste di kernel e initrd e poi riavviate.
editare con un qualsiasi editor...''vi''..''emacs''..''mc''.. il file '''/etc/cups/cupsd.conf'''
raggiungete la location amministratore e settate i seguenti parametri:


  <location /admin>
  AuthType None  (indica che non si richiede alcuna autenticazione)
  AuthClass Anonymous (annulla qualunque richiesta di autenticazione)
  </location>


'''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).
digitare da ''root'' questo comando:
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.


==Installazione del firmware==
  # /etc/init.d/cupsys reload (per riavviare il server)
Qualunque metodo abbiate seguito, dopo il reboot dovreste trovare disponibile il modulo <tt>cxacru</tt>, verificate con
 
<pre>
'''Nota:''' tutte le volte che si modifica il file cupsd.conf necessario riavviare il server<br>
# 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.
In questo modo si avr� accesso al pannello di amministrazione...ma come ripeto a discapito della sicurezza
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.
(questa � una soluzione estrema per utenti alle prime armi con linux utile per familiarizzare con il file '''cupsd.conf''' e accedere alla configurazione e amministrazione di una stampante)


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>.
superato questo "inghippo" di accesso al pannello di amministrazione si passa alla configurazione della stampante seguendo
Noi supporremo di essere su sarge:
e compilando i campi di fig.1.3.
<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:
*'''[name]''', aggiungi un breve nome indicativo, usato dal sistema per identificare la stampante. Questo nome non deve contenere spazi o altri caratteri speciali. Per esempio, la stampante HP 656 c potrebbe diventare hp656c.  
<pre>
*'''[location]''', ovvero il luogo dove la stampante � fisicamente collocata (per esempio nella propria stanza, nello studio....). Ci� pu� essere utile per poter gestire molte stampanti contemporaneamente.
# rmmod cxacru
*'''[description]''', dove si pu� indicare una completa descrizione della stampante. Per esempio il nome completo "HP 656 c Deskjet"<br>
</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:
[''cliccare''] sopra il link '''Continue''' visualizzando questa pagina:(fig1.4)<br>
<pre>
'''figura 1.4''' Selezionare il dispositivo dove � inascolto la stampante<br>
$ cat /proc/net/atm/cxacru\:0
[[Immagine:devicecups.PNG]]<br>
ADSL USB MODEM (usb-0000:00:07.2-1)
C'� una vasta gamma di scelta all'interno dell'elenco dei ''device'' per i divesi tipi di installazione stampanti di rete..stampanti seriali...ma a noi interessa l'USB quindi non tratteremo gli altri tipi di configurazione che non sono oggetto di questa guida, selezionare USB Printer # 1 o sucessivi se vi sono altri dispositivi collegati alle porte usb del Pc.<br>
MAC: xx:yy:zz:bla bla bla
[''cliccare''] sopra il link '''Continue''' visualizzando questa pagina:(fig1.5)<br>
AAL5: tx 9363 ( 0 err ), rx 14299 ( 0 err, 0 drop )
'''figura 1.5''' Selezionare il modello del dispositivo di stampa<br>
Line down
[[Immagine:cupstypedriver.PNG]]<br>
</pre>
[''cliccare''] sopra il link '''Continue''' visualizzando questa pagina:(fig1.6)<br>
e anche:
'''figura 1.6''' Selezionare il driver del dispositivo di stampa<br>
<pre>
[[Immagine:cupsselectdriver.PNG]]<br>
$ tail /var/log/messages
in questa fase � possibile scorrere il menu con tutti i driver disponibili in CUPS dopo aver istallato i driver ''foomatic'', ''gimp-print'' oppure i driver esterni come spiegato nell'itroduzione e di scegliere quello pi� adatto per il proprio dispositivo<br>
Oct 5 08:06:00 muretto kernel: ATM dev 0: ADSL line: attempting to activate
[''cliccare''] sopra il link '''Continue''' visualizzando questa pagina:(fig1.7)<br>
Oct 5 08:06:10 muretto kernel: ATM dev 0: ADSL line: down
'''figura 1.7''' Indica che la stampante � installata con successo<br>
Oct 5 08:06:15 muretto kernel: ATM dev 0: ADSL line: attempting to activate
[[Immagine:printok2.PNG]]<br>
Oct 5 08:06:35 muretto kernel: ATM dev 0: ADSL line: down
CUPS informer� che la stampante � stata correttamente aggiunta al sistema. Adesso � possibile entrare nella pagina di amministrazione della stampante.<br>
Oct 5 08:06:40 muretto kernel: ATM dev 0: ADSL line: attempting to activate
[''cliccare''] sopra il link '''hp656'''(ognuno avr� il nome del proprio dispositivo configurato) visualizzando questa pagina:(fig1.8)<br>
Oct 5 08:08:00 muretto kernel: ATM dev 0: ADSL line: channel analysis
'''figura 1.8''' Pannello di gestione della stampante<br>
Oct 5 08:08:05 muretto kernel: ATM dev 0: ADSL line: up (4832 kb/s down | 320 kb/s up)
[[Immagine:pannellostampantecups.PNG]]<br>
</pre>
All'interno di questa pagina troviamo il menu per la gestione della stampante:
qui alle 8.08.00 il modem si sincronizzato con il segnale ADSL .
[''cliccare''] sopra il link '''Configure Printer''' visualizzando una pagina tipo questa: (fig 1.9)<br>
'''figura 1.9''' Pannello di configurazione della stampante<br>
[[Immagine:gestionestampantecups.PNG]]<br>
Settiamo i parametri come la carta, la risoluzione, il colore a seconda delle specifiche del nostro dispositivo USB, torniamo alla pagina di fig.1.8, nel pannello di gestione della stampante e [''cliccare''] sopra il link '''Print Test Page''' e se tutto andato bene avremo la stampa della pagina di prova, ora il nostro sistema � configurato.
==Conclusioni==
Questa guida � stata scritta per utenti alle prime armi con linux,tratta con molta superficialit� la configurazione del server CUPS ma pone comunque delle soluzioni forse estreme per avallare alcune problematiche, e rimane un modo veloce per configurare una stampante in LOCALE e renderla funzionante in poco tempo, puo essere indicata per soluzioni di tipo casalingo.Si invatano comunque gli utenti ad approfondire le informazioni sulla configurazione del file '''cupsd.conf'''.
----


Una volta agganciato il segnale ADSL si avr�:
Autore: [[Utente:Geomod|Geomod]]
<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>
 
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>
 
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>
 
Buona navigazione!
----
: [[Utente:Tindal|Tindal]]
[[Categoria:Hardware]][[Categoria:Modem ADSL]]
148

contributi