Gentoo Wiki


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc
Merge-arrows.gifIt has been suggested that this article be Merged into one article with HOWTO Canon LBP 2900 using proprietary Canon drivers    (Discuss)



This howto describes how to use local or network printer Canon LBP 5000 using proprietary Canon drivers with CUPS. In my case I use this printer as network printer.

Upgrade from previous version of driver

Skip this section if you don't have already installed any previous version of the driver!

To upgrade to the latest version (1.60) simple download and unpack the driver packages again:

#cd /tmp
#cd /usr/local/portage/
#tar xvfj /tmp/net-print.tar.bz2

Now you can update your driver with emerge:

#emerge -u net-print/cndrvcups-common cndrvcups-capt



but be carefully to don't override your settings.

Finally you should restart the services:

# /etc/init.d/cupsd restart && /etc/init.d/ccpd restart


Many thanks to Jonas Jonsson who posted here an .tar.bz2 file to be used in a local overlay with is very useful.

Note: Update 18.05.2008:

I updated the tarball because I changed the capt driver ebuild (cndrvcups-capt-1.60_p1.ebuild). Instead of app-text/ghostscript-esp >=app-text/ghostscript-gpl-8.60 is now dependency of the ebuild. This was necessary to get the driver working again. Many thanks to Aleksandr Yakimov who provided this information, for more info look at the bugzilla page.

Note: Update 02.03.2008:

I created a new tarball with contains now also Version 1.60 of the Canon CAPT Printer Driver for Linux.

For more information look her:

Create a directory for the local overlay if you don't have done it yet:

#mkdir /usr/local/portage/

Download and unpack the driver packages:

#cd /tmp
#cd /usr/local/portage/
#tar xvfj /tmp/net-print.tar.bz2

Configure portage for using this overlay (maybe your make.conf is already configured for using a portage overlay):

#echo "PORTDIR_OVERLAY="/usr/local/portage"" >> /etc/make.conf

(If you need more information for a local overlay look here:

unmask the driver packages:

#echo "net-print/cndrvcups-capt" >> /etc/portage/package.keywords
#echo "net-print/cndrvcups-common" >> /etc/portage/package.keywords

Note: Update 18.05.2008:

The capt driver ebuild uses now app-text/ghostscript-gpl which blocks the packages app-text/ghostscript-esp.

If you have app-text/ghostscript-esp already installed you must remove it:

#emerge -C app-text/ghostscript-esp

emerge the packages:

#emerge cndrvcups-capt

The package cndrvcups-common is a dependency of cndrvcups-capt, so both packages will be installed.


On my x86_64 system the above installation procedure did not work for me: The printer just prints nothing, although there is not a single error in any log file. By experimenting with the closed source binaries I found that some programs that are involved in the printing processing dlopen some required libraries directly from /usr/lib using absolute paths. But with the ebuild the libraries are installed in /usr/lib32, which is different from /usr/lib (which is a symlink to /usr/lib64). So I did the following:

mv /usr/lib32/* /usr/lib
mv /usr/lib32/* /usr/lib
mv /usr/lib32/* /usr/lib
mv /usr/lib32/* /usr/lib
mv /usr/lib32/* /usr/lib
mv /usr/lib32/* /usr/lib
mv /usr/lib32/* /usr/lib

And now the printing works as good as for i386 gentoo linux! I do not know if it is required to move all of the above libraries to /usr/lib, but it worked for me.

Another problems with the ebuilds was that it did not download cndrvcups-capt-1.50-2a.tar.gz properly and did not install captstatusui, I had to do it manually. But apart from these tiny problems the ebuild is great! Months ago I worked for at least 30 hours unsuccessfully trying to install. With the ebuild and this HowTo I got it finally working, many thanks!

I use net-print/cndrvcups-common-1.50, cndrvcups-capt-1.50, ghostscript-esp-8.15.3, cups-1.2.12-r4, Canon LBP5000.

Yours, Johannes Gajdosik

PS: another problem in my installation was this: whenever ccpd was started before the printer was turned on, captstatusui showed "Printer Error; Check the DevicePath of /etc/ccpd.conf". When I started the printer, the error did not go away, and printing never worked. But when I restarted ccpd, everything worked fine again. I solved this problem in the following way: I renamed /usr/sbin/ccpd into /usr/sbin/ccpd.orig, and replaced ccpd by a previous version (1.30):

# ls -l /usr/sbin/ccpd*    
-rwxr-xr-x 1 root root 230757 Mar 19 23:07 /usr/sbin/ccpd
-rwxr-xr-x 1 root root  46016 Jan 14 00:14 /usr/sbin/ccpd.orig
-rwxr-xr-x 1 root root  13860 Jan 14 00:14 /usr/sbin/ccpdadmin
# md5sum /usr/sbin/ccpd*
c07c83ed69cbc1bc4f73299f496cb378  /usr/sbin/ccpd
4cdeee1a2517d8ad097e2893d7681fc5  /usr/sbin/ccpd.orig
c13a47ecc659e1acd4b5bce4ab31bdb6  /usr/sbin/ccpdadmin


Turn on your printer. Your printer should be available in list of USB devices.

(Skip this if you use your printer as network printer and continue at "Restart cupsd").

You will see something like that if all is ok

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

USB Connection

Enter the following command:

#/usr/sbin/ccpdadmin -p [Printer Name] -o [Printer Device Path]

Example: To register CANON_LBP5000 in the ccpd daemon setup file:

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

Network Connection

Note: is the default IP of the printer, you can change the IP address via browser or after setting up with the Canon status utility captstatusui

Enter the following command:

#/usr/sbin/ccpdadmin -p [Printer Name] -o net:[IP address]

Example: To register LBP5000 in the ccpd daemon setup file (IP address:

#/usr/sbin/ccpdadmin -p CANON_LBP5000 -o net:

Now you should get this output from ccpdadmin (output differs when using USB connection!)

#ccpdadmin -P CANON_LBP5000


# CUPS_ConfigPath = /etc/cups/
# LOG Path        = None
# UI Port         = 39787
# Entry Num  : Spooler   : Backend       : FIFO path             : Device Path   : Status
# ----------------------------------------------------------------------------
#     [0]    : CANON_LBP5000     : ccp           : /var/ccpd/fifo0       : net:  :


Run ccpd and add the deamons to the default runlevel

#/etc/init.d/ccpd start
#rc-update add ccpd default
#rc-update add cupsd default

Your printer should be available in CUPS now.


You can use the web interface of cups http://localhost:631/

Also the Canon Status Utility might be useful:

#captstatusui -P CANON_LBP5000

If your printer is a network printer you can use the internal web interface of the printer

Simple enter the IP address of your printer in your browser, e.g.

Retrieved from ""

Last modified: Sat, 23 Aug 2008 13:51:00 +0000 Hits: 5,768