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