Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Hardware/StampantiScanner/CanonLbp2900"
Differenze tra le versioni 8 e 9
Versione 8 del 03/01/2007 22.22.30
Dimensione: 10969
Autore: davidea
Commento:
Versione 9 del 03/03/2007 13.46.24
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

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


CategoryDaRevisionare CategoryHardware CategoryInTraduzione