Sir.. I have recently upgraded to ubuntu 12.10. I recently bought Canon LBP2900 printer. Unfortunately I tried to install it ..there is no use. Please tell me how to install it and work with it.


3 Answers 3


First download the Linux_CAPT_PrinterDriver_V240_uk_EN.tar.gz

  • Unzip, navigate in the folder, and install according to your needs

1) Create the following directories/file if they are missing:

sudo mkdir /var/ccpd

sudo mkfifo /var/ccpd/fifo0

sudo mkdir /var/captmon

2) Register the printer:

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

3) Register the printer with ccpd daemon:

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

4) Start ccpd daemon:

sudo /etc/init.d/ccpd start

I have found the install procedure for canon LBP2900 64 bit Arch and which works on :

  • Linux Mint 17.1 Ubuntu 14.04 and 15.04 LMDE 2 (Betsy)

Power On Printer after login check ls -l /dev/usb/ should return lp0

install packages downloaded from canon site


Install following

sudo apt-get install portreserve, gsfonts, gsfonts-other, gsfonts-x11 
sudo apt-get install libc6:i386 libpopt0:i386 libglade2-0:i386

libglade2-0:i386 may not be required for linux mint 17.1 cinnamon but required for Ubuntu 14.04, 15.04 and LMDE 2

sudo service cups restart
sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
sudo service ccpd restart
ensure that there are two processes by checking
sudo service ccpd status

captstatusui -P LBP2900

If you are seeing the message Ready to print, you are done! Else you may have to restart the system, and repeat all the steps.

Switch off the printer and switch on. Another printer LBP2900-2 may install disable it in printers app.

To ensure that printer is available after reboot edit /etc/rc.local and add

service cups restart 
service ccpd restart 

in that order as cups has to start before ccpd

You do not need to change the port no to 59787 as is indicated in some forums or even the device to /dev/lp0 in the ccpd.conf file both of these not required.

To use LSB scripts instead of changing rc.local

Add the below to /etc/init.d/ccpd for LSB headers for restart of ccpd at boot. So no entry required in rc.local. This may or may not work if it doesnt go back to rc.local entries.

 # Provides:          ccpd 
 # Required-Start:    $local_fs $remote_fs $syslog $network $named 
 # Should-Start:      $ALL 
 # Required-Stop:     $syslog $remote_fs 
 # Default-Start:     3 5 
 # Default-Stop:      0 1 2 6 
 # Description:       Start Canon Printer Daemon for CUPS 

Hope this solves the problem Anil Gadgil


I have successfully tested this printer in Ubuntu 12.04 last month. Below are the steps for for easy understanding. This has been brought together with help of various answers given on this forum before, thankful to everyone.

  1. System Settings → Printing

    Remove any automatically added printer(s) of the one we are installing.

  2. From the downloaded driver file. Extract the two deb files and start as below

  3. Install

    • cndrvcups-common_2.40-1_i386.deb first, and then
    • cndrvcups-capt_2.40-1_i386.deb without any error messages.
  4. Create the following directories/file if they are missing:

    sudo mkdir /var/ccpd
    sudo mkfifo /var/ccpd/fifo0
    sudo mkdir /var/captmon

    Change Ownership

    sudo chown -R lp:lp /var/ccpd
  5. Register the printer:

    sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
  6. Register the printer with ccpd daemon:

    sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
  7. Start ccpd daemon:

    sudo /etc/init.d/ccpd start
    • Test install:

      captstatusui -P LBP3100

    • The dialog box should show Ready to Print. If it shows nothing or error. Just restart the printer physically.

      sudo ccpdadmin


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

Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.