Canon CAPT

From ArchWiki
Revision as of 13:15, 29 July 2009 by Cracker (Talk | contribs) (Make udev rule for your printer)

Jump to: navigation, search


This is a brief manual about how to make canon i-sensys LBP2900 (LBP2900) to work. This manual can be also applied on folowing printers: LBP3010/LBP3018/LBP3050, LBP3100/LBP3108/LBP3150, LBP3250, LBP3310, LBP5100, LBP5300, LBP3500, LBP3300, LBP5000, LBP3210, LBP3000, LBP2900, LBP3200, LBP-1120, LBP-1210 Note: if you can find the name of your printer in the list use this manual, and switch [printer model] with your printer model


  • cups
  • ghostscript
  • gsfonts
  • system-config-printer

Install with:

# pacman -S cups ghostscript gsfonts rpmextract


For information about setting up cups, refer to CUPS.


Download the driver and extract it:

# wget
# tar -xvf CAPTDRV180.tar.gz
# cd CANON_UK/Driver/RPM
# *

The last command abow will extract all rpm-s and merge all directories that were stored in them. So basically you'll get two directories: etc and usr. Next thing you need to do is to open etc directory and change init.d to rc.d. You can also do it by command:

# mv etc/init.d etc/rc.d

Now you can remove rpm-s:

# rm *.rpm

and execute the nexth command wich will merge etc end usr directories with appropriate ones in / directory:

# cp -var * /

Restart cups

# /etc/rc.d/cups restart

Add cups daemon in /etc/rc.conf

Open /etc/rc.conf with a text editor of your choice (e.g. nano), and put cups in the list of daemons:

DAEMONS=(... @bluetooth cups gdm)

Make folowing directories and fifo0

# mkdir /var/ccpd /var/captmon
# mkfifo /var/ccpd/fifo0

Make fifo0 accessable to everyone:

# chmod 777 /var/ccpd/fifo0

Change the owner of fifo0 into root:

# chown root /var/ccpd/fifo0

Register printer

Register the printer driver with the print spooler with the following command, replacing [printer model] with your printer model and [printer driver file] with your driver file:

# /usr/sbin/lpadmin -p [printer model] -m [printer driver file] -v ccp:/var/ccpd/fifo0 -E

for this manual it would be

# /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

Register the printer with ccpd daemon, once again replace [printer model] with your printer model:

# /usr/sbin/ccpdadmin -p [printer model] -o /dev/usblp0

in this case it is:

# /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0

Make udev rule for your printer

Create an udev rule so when you turn the printer on, printer daemon (ccpd) will start. More about udev rules you can see here:

# echo -e '#Own udev rule for [printer model]\nSUBSYSTEM=="usb", KERNEL=="lp0", RUN+="/etc/rc.d/ccpd restart"' > /etc/udev/rules.d/(no line break)

85-[printer model].rules in this case:

# echo -e '#Own udev rule for canon i-sensys LBP2900\nSUBSYSTEM=="usb", KERNEL=="lp0", RUN+="/etc/rc.d/ccpd restart"' > /etc/udev/rules.d/(no line break)


Start the printers daemon and print

# /etc/rc.d/ccpd start

The printer should now be installed. You could test it by pressing the Print Test Page button.

Related Links/Additional Information - A guide for setting up the printer on ubuntu