Canon LBP 2900 link

Canon LBP 2900 link
Install without using the package repository

Using the pre-built packages from the package repository is the easiest way to install the Canon drivers. If for some reason you prefer to use the older install method that does not utilise a package repository, read the following instructions.


The 2.3 driver is the latest release: Canon Linux CAPT 2.3 Driver Download

The 1.9 driver download page can be found here. Alternatively you can directly download the Debian package (recommended for beginners) or the Source Code.

Automated install using a BASH script

A script has been developed to automate the install of this driver on both kinds of architectures (amd64, i386). Unfortunately Canon doesn’t supply 64bit DEB packages and compiling the driver from source is a bit tricky. Therefore using this script is the best approach for users of 64bit Ubuntu, while for the 32bit users it’s just an automation of the manual install mode.

The 64-bit versions of the DEB packages have been built on an Ubuntu 9.10 x86_64 architecture, while the 32-bit ones used by the script are the ones supplied by Canon. The script and the drivers have been tested on Ubuntu 9.04 i386 and on Ubuntu 9.10 amd64 using a Canon LBP2900 printer.

The archive containing the script and the packages needed for the install can be found here. Please read the README file contained in the archive for more details or use the -h or –help command line options when invoking the script.

For questions, details, bugs or enhancements, please visit this page.

Adding a printer

Configuring CUPS

System->Administration->Printing add printer. Choose “Add printer”. Do not choose USB Printer found by Ubuntu here. Select “CAPT Printer”. You should see “ccp” in URI. Change it so URI should become “ccp:/var/ccpd/fifo0”. Click “next”, find your model and add your printer. Choose English variant if you see Japanese and English variants. Also If you do not have you exact model in list, choose nearest. For example, for LBP 810, I choose “LBP 1120”.

To look for available models you may use command:

$ find /usr/share/cups/model -name ‘*LBP*K.ppd’

Close configuration dialog, open again and rename your printer to, say, “LBP810”. Remember name you chose, as later commands will refer to it.

Instead of GUI actions, you may try this:

sudo /usr/sbin/lpadmin -p LBP810 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

Again, choose another .ppd name, if you have another printer…

Configuring Canon services

$ sudo /etc/init.d/ccpd restart
$ sudo /etc/init.d/ccpd status
Canon Printer Daemon for CUPS: ccpd: 8956 8954

If you see only one number at the end of line, edit /etc/ccpd.conf and add this:

DevicePath /dev/usb/lp0

Instead you may try this:

$ sudo /usr/sbin/ccpdadmin -p LBP810 -o /dev/usblp0

Next, check for record in /etc/ccpd.conf

For a network printer such as the LBP7200Cdn, the “DevicePath” should say “net:”, so for example if your network printer is on IP address, then the entry in /etc/ccpd.conf should say

DevicePath net:

Now, restart canon services:

$ sudo /etc/init.d/ccpd restart
$ sudo /etc/init.d/ccpd status
Canon Printer Daemon for CUPS: ccpd: 8956 8954

You should see two numbers at the end. If you do, you are lucky 🙂 If you only see one number here, then try restarting the computer, or possibly you could try replacing the ccpd start up script with the one on this page, and then restart the computer.

Starting/stopping on USB add/Remove

Fill /etc/udev/rules.d/85-canon-capt.rules with your preferred editor

$ gksudo gedit /etc/udev/rules.d/85-canon-capt.rules

with this:

KERNEL==”lp*”, SUBSYSTEMS==”usb”, ACTION==”add”, SYSFS{idVendor}==”04a9″, RUN+=”/bin/bash /etc/init.d/ccpd start”
KERNEL==”lp*”, SUBSYSTEMS==”usb”, ACTION==”remove”, RUN+=”/bin/bash /etc/init.d/ccpd stop”

Next, reload UDEV config:

$ sudo udevadm control –reload-rules

Now, using

$ sudo /etc/init.d/ccpd status

check that printer started/stopped on adding/removing it from USB.


mmarkk@imac:~$ sudo ccpdadmin

ccpdadmin [-p Printer-name -o Printer-dev-path]
ccpdadmin [-x Remove-Printer-name]

CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787

Entry Num : Spooler : Backend : FIFO path : Device Path : Status
[0] : LBP810 : ccp : /var/ccpd/fifo0 : /dev/usb/lp0 :

Print a Test Page

At this point you can test your printer by going to: System->Administration->Printing

You should see a icon for the printer you have just setup. There maybe another printer in there with a similar name just ignore this one for the time being. Right click on the printer and choose properties. Click the buttons “Print Test Page”. Hopefully your page should print.

We have replaced the script to start the driver. Next we need to tell the system we want the script to start when the system next boots. This is where I had most problems with the ccpd daemon.

Restart and Verify

Now it is time to restart the system. If all goes well the system should restart and at the login page be able to print. This guide will not cover setting up cups for network printing.

After you login open a terminal and run:

sudo /etc/init.d/ccpd status
Canon Printer Daemon for CUPS: ccpd: 1135 1131

This shows the process Id’s for the two ccpd processes that should now be running. If you only see one then you still have a problem with the way the ccpd daemon is starting. Please check carefully you have completed all the steps above.

At this point you should be able to print a test page all being well.

If you run into problems try turning your printer off, restart your computer and only turn your printer on, after you have logged in.

Status Monitor

The Canon status monitor can alert you to any issues with your printer. This can be run directly on the terminal by issuing this command:

captstatusui -P
My printers example: captstatusui -P LBP3010

You will be presented with the User Interface and it should say ready to print. If not make sure the printer is switched on.

Finally we want the monitor to run each time the computer is switched so we add it to the as a startup application in: System Settings->Startup Applications

Click the Add button.

Name:Canon Printing Status Monitor

Command: captstatusui -e -P

Description: Hidden until error occurs

The -e option causes the monitor to stay hidden until an error occurs like when you run out of paper.


If Status monitor reports error “Check the DevicePath of /etc/ccpd.conf”, then you probably don’t have usblp kernel module. Run the following command:

lsmod | grep usblp

If it outputs nothing, load the module and restart ccpd:

sudo modprobe usblp
ls -l /dev/usb/lp0
sudo /etc/init.d/ccpd restart

Note: As of Ubuntu 11.10 (Oneiric Ocelot), usblp has been deprecated and will not be automatically loaded when you connect your USB printer (see bug #842823]).

If the status monitor works but printing does not, make sure that /var/ccpd/fifo0 actually exists:

ls -l /var/ccpd

When missing, it can be added manually:

sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo chown -R lp:lp /var/ccpd=======