Dimensione: 10969
Commento:
|
Dimensione: 10985
Commento: CategoryHardware
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 393: | Linea 393: |
CategoryNuoviDocumenti CategoryInTraduzione | CategoryDaRevisionare CategoryHardware CategoryInTraduzione |
IndiceBRTableOfContents |
Introduzione
Questo articolo vuole essere una guida in italiano, aggiornata all' utilizzo della stampante laser LBP 2900 e sue simili sotto ubuntu utilizzando i driver ufficiali Canon
E' una traduzione riadattata dell' articolo :
https://wiki.ubuntu.com/Canon_LBP_2900_HowTo
l' articolo originale funziona perfettamente su Dapper , e tramite alcuni accorgimenti anche su Edgy a 32 bit , non ho provato personalmente su Edgy a 64 bit.
Prerequisiti per tutti i S.O.
bisogna installare o aver gia' installato il pacchetto "alien" per convertire i file rpm in deb
per installare alien, o da synaptic, oppure da riga di comando :
$ sudo aptitude install alien
aver gia' scaricato il file "Driver.tar.gz" dal sito Canon all' indirizzo : http://software.canon-europe.com/products/0010177.asp
Prerequisiti per S.O. a 64 bit
premesso, che non ho provato personalmente, l' autore dell' articolo originale dice :
E' necessario installare le librerie IA32, usando synaptic installare :
- i32-libs - i32-libs-gtk - i32-kde - i32-libs-openoffice.org
potrebbe esser necessario installare pure
lib32asaund2, lib32gcc1, lib32stdc++6 and lib32z1
li avevo gia' installati per altre necessita'!
Inoltre durante l' installazione i driver canon richiedono le librerie libcups.so.2 e libgnutls.so.13 che devono essere fornite manualmente perche' non incluse in nessuno dei pacchetti amd64 ia32* o lib32* !!
stranamente invece la libreria libgnutls.so.12 e' fornita nel pacchetto ia32-libs-openoffice.org
Personalmente ho preso queste due librerie direttamente dalla directory /usr/lib32 di una macchina con su' installato dapper 32 bit!
in alternativa e' possibile estrarre le due librerie direttamente dai pacchetti 32bit di libcupsys2 e libgnutls
ATTENZIONE :
durante la procedura di seguito descritta, quando dovrete convertire i pacchetti canon rpm in formato deb tramite alien, probabilmente non riuscirete a farlo, potrete eventualmente farlo o su una macchina con installato ubuntu a 32 bit (edgy o dapper non fa' differenza), o da un' installazione chroot!! oppure trovatevi un' amico che lo faccia per voi!!!
quando poi dovrete installare i pacchetti deb, usate l' opzione --force-all di dpkg in modo da forzare l' installazione degli applicativi 32 bit sulla vostra macchina 64 bit.
$ sudo dpkg -i --force-all cndrvcups-common_1.30-2_i386.deb cndrvcups-capt_1.30-2_i386.deb
anche se questa procedura, nella mia macchina ha funzionato, declino ogni responsabilita'!!!
scompattiamo i driver ed installiamoli
Una volta scaricati i driver, essendo che la Canon li fornisce in versione RPM per redhat, bisogna scompattarli e farli diventare DEB
quindi
$ tar -xvf Driver.tar.gz
ed otterremo una directory con all' interno due file che dovremo convertire con alien :
$ sudo alien -c cndrvcups-capt-1.30-1.i386.rpm $ sudo alien -c cndrvcups-common-1.30-1.i386.rpm
quindi installiamoli :
$ sudo dpkg -i cndrvcups-common_1.30-2_i386.deb cndrvcups-capt_1.30-2_i386.deb
essendo che il processo di formazione dei pacchetti deb tramite alien non e' perfetto, dobbiamo realizzare un po' di lavoro a manina, quindi creiamo due directory, una coda fifo (First In - First out , ossia una coda dove i primi dati entrati saranno anche i primi ad uscire), e rendiamo la coda utilizzabile da tutti gli utenti
$ sudo mkdir /var/ccpd $ sudo mkdir /var/captmon $ sudo mkfifo /var/ccpd/fifo0 $ sudo chmod 777 /var/ccpd/fifo0
inoltre se stiamo lavorando su edgy , dobbiamo rendere l' utente root proprietario della coda, altrimenti piu' avavti avremmo un' errore di Unable to copy PPD file in step
$ sudo chown root /var/ccpd/fifo0
riavviamo il server di stampa
Per rendere efficace l' installazione dei driver, abbiamo necessita' di fermare e riavviare il server di stampa CUPS
$ sudo /etc/init.d/cupsys stop
controlliamo che realmente il server si sia fermato vedendo se e' ancora tra i programmi in esecuzione (filtrando solo le righe che riportano la parola "cupsd"
$ sudo ps ax | grep cupsd
se l' output che riceviamo contiene solo una riga, stile :
username 24738 0.0 0.0 2896 836 pts/0 S+ 21:21 0:00 grep cupsd
vuol dire che il server si e' realmente fermato, se invece otteniamo 2 righe , stile :
cupsys 24897 0.0 0.1 4336 1976 ? SNs 07:35 0:04 /usr/sbin/cupsd username 24738 0.0 0.0 2896 836 pts/0 S+ 21:21 0:00 grep cupsd
per qualche oscuro mistero, il server non si e' fermato e dobbiamo procedere a killare il processo manualmente , tramite il comando
$ sudo killall cupsd
una volta fermato il server di stampa CUPS, dobbiamo riavviarlo:
sudo /etc/init.d/cupsys start
Identificare il Driver di stampa corretto e registrarlo
Siccome nel pacchetto scaricato dal sito canon ed installato, vi sono i driver per piu' stampanti, dovremo vedere quale e' il nome di quello a noi necessario per poi indicarlo al sistema
$ ls /usr/share/cups/model/ | grep CNCUPS
rispondera con qualcosa di simile :
CNCUPSLBP1120CAPTJ.ppd
CNCUPSLBP1120CAPTK.ppd
CNCUPSLBP1210CAPTJ.ppd
CNCUPSLBP1210CAPTK.ppd
CNCUPSLBP2900CAPTK.ppd
CNCUPSLBP3000CAPTJ.ppd
CNCUPSLBP3000CAPTK.ppd
CNCUPSLBP3200CAPTJ.ppd
CNCUPSLBP3200CAPTK.ppd
CNCUPSLBP3210CAPTJ.ppd
CNCUPSLBP3210CAPTK.ppd
CNCUPSLBP3300CAPTJ.ppd
CNCUPSLBP3300CAPTK.ppd
CNCUPSLBP3600CAPTJ.ppd
CNCUPSLBP5000CAPTJ.ppd
CNCUPSLBP5000CAPTK.ppd
per alcune stampanti, vi sono 2 file di driver disponibili K.ppd e J.ppd provate prima con il file K
per chi sta' configurando il driver sotto ubuntu edgy, siccome il S.O. cerca il driver nel path /usr/share/ppd/ bisogna preventivamente creare un link sinbolico con :
$ cd /usr/share/ppd/ $ sudo ln -s /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd
poi, usando il comando
$ sudo /usr/sbin/lpadmin -p [modello stampante] -m [nome file driver stampante] -v ccp:/var/ccpd/fifo0 -E
con i dati relativi alla nostra stampante, quindi per la Canon LBP2900
$ sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
registrare il driver della stampante presso lo spooler di stampa!
siete gia' a meta' opera, potete andare a controllare nel menu' Sistema -> amministrazione -> stampa e li' gia' vedrete la vostra stampante!!!
registrate quindi la stampante presso il daemon ccpd, usando il seguente comando:
$ sudo /usr/sbin/ccpdadmin -p [printer model] -o /dev/usblp0
che per noi sara' :
$ sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usblp0
sostituzione del file /etc/init.d/ccpd
dovendo modificare pesantemente il file in questione e' piu' agevole sostituire direttamente il suo contenuto, per far cio' conviene copiare e incollare il contenuto riportato sotto, in un file vuoto creato col vostro editor testi preferito, salvarlo con un nome di fantasia, e poi dopo aver fatto una copia di riserva del file originale, sostituirlo!
# # ccpd startup script for Canon Printer Daemon for CUPS # # Modified for Debian GNU/Linux # by Raphael Doursenaud <rdoursenaud@free.fr>. DAEMON=/usr/sbin/ccpd LOCKFILE=/var/lock/subsys/ccpd PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=ccpd DESC="Canon Printer Daemon for CUPS" test -f $DAEMON || exit 0 case $1 in start) echo -n "Starting $DESC: $NAME" start-stop-daemon --start --quiet --exec $DAEMON echo "." ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON echo "." ;; status) echo "$DESC: $NAME:" `pidof $NAME` ;; restart) echo -n "Restarting $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --exec $DAEMON echo "." ;; *) echo "Usage: ccpd {start|stop|status}" exit 1 ;; esac exit 0
per fare il la copia di riserva e sostituire il file originale
$ sudo mv /etc/init.d/ccpd ccpdold $ sudo cp [nome di fantasia] /etc/init.d/ccpd
e dare al file i permessi di esecuzione
sudo chmod a+x /etc/init.d/ccpd
avviare il server ad ogni accensione
dopo esser arrivati sin qui' il server di stampa ancora non e' funzionante, bisogna avviarlo col comando
$ sudo /etc/init.d/ccpd start
ma ad ogni riaccensione della macchina dovremmo avviarlo manualmente, e cio' non e' cosa buona, quindi inseriamolo tra le cose che partono in automatico
$ sudo update-rc.d ccpd defaults 20
spegniamo la stampante, riavviamo il computer, e dopo aver fatto il login, accendiamo la stampante, e testiamo se tutto funziona a meraviglia.
test finali
per controllare che tutto sia ok, diamo
$ sudo ccpdadmin
che ci rispondera' con qualcosa del tipo :
Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 39787 Entry Num : Spooler : Backend : FIFO path : Device Path : Status ---------------------------------------------------------------------------- [0] : LBP2900 : ccp : /var/ccpd/fifo0 : /dev/usblp0 :
effettuiamo una seconda prova con
$ captstatusui -P [modello stampante]
che per noi sara' :
$ captstatusui -P LBP2900
si aprira' una finestra che ci dira' che la nostra stampante e' pronta a stampare!!!!
se ottenete un messaggio d' errore ignoratelo!
aprite un file e stampate!!
messaggi d' errore e problemi
nella mia installazione a 32 bit e in quella dell' autore dell' articolo a 64 bit, arrivato alla fase finale dove si deve dare il comando
$ captstatusui -P [printer model]
abbiamo avuto un' errore di :
captstatusui: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
ma siccome ad entrambi il sistema satmpa non ci siamo curati di risolvere il problema!!!
aggiunta :
nella mia versione a 32 bit, se stampo e si inceppa la carta, non riesco piu' a stampare se non riavviando il pc!!