HOWTO Canon LBP 2900 using proprietary Canon drivers
From Gentoo Linux Wiki
| Installation • Kernel & Hardware • Networks • Portage • Software • System • X Server • Gaming • Non-x86 • Emulators • Misc |
Contents |
[edit] Intro
This howto describes how to use local printer Canon LBP 2900 using proprietary Canon drivers with CUPS. Main problem with this printer is postscript support absence. Canon proprietary driver includes daemon to convert PS to LBP2900 internal format (Canon Printer Daemon).
[edit] Installation
First of all download last drivers here
ftp://download.canon.jp/pub/driver/lasershot/linux/
You should download two files:
1. cndrvcups-capt
2. cndrvcups-common
Binary drivers are available only as RPM. I installed it using rpm command with --nodeps flag.
[edit] Setup
Turn on your printer. Your printer should be available in list of USB devices. You will see something like that if all is ok
#lsusb Bus 001 Device 002: ID 04a9:2676 Canon, Inc.
Restart cupsd:
#/etc/init.d/cupsd restart
Change fifo access mode (if it does not exist you can create it using mkfifo command)
#chmod 777 /var/ccpd/fifo0
Create directory and link it to .ppd file
#cd /usr/share/ppd/ #ln -s /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd
System printer using lpadmin in CUPS
#/usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
Check if your printer have device node:
#ls -l /dev/usb/lp0
and register it using ccpdadmin in Canon Printer Deamon
#/usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
[edit] Startup script
Create /etc/init.d/ccpd file
#!/sbin/runscript
#
# ccpd startup script for Canon Printer Daemon for CUPS
#
# Modified for Debian GNU/Linux
# by Raphael Doursenaud <rdoursenaud@free.fr>.
# Modified for Gentoo GNU/Linux
# by NStorm
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
depend() {
need net
after cupsd
}
start() {
ebegin "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --exec $DAEMON
eend $?
}
stop() {
ebegin "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
eend $?
}
status() {
echo "$DESC: $NAME:" `pidof $NAME`
}
[edit] Restart
Run ccpd, add deamons to startup
#/etc/init.d/ccpd start #rc-update add ccpd default #rc-update add cupsd default
Your printer should be available in CUPS now.
