I have Canon printer, model - LBP2900B. I have installed its printer drivers too from below shown link.


When clicked on print button, message is shown as "printing completed" but no page is printed ever.

lpinfo -v gives following -

network beh network lpd file cups-brf:/ network http network https network ipps network ipp serial serial:/dev/ttyS0?baud=115200 serial serial:/dev/ttyS1?baud=115200 direct hp network socket direct ccp direct parallel:/dev/lp0 direct hpfax

lsusb shows following -

Bus 001 Device 002: ID 04a9:1909 Canon, Inc. CanoScan LiDE 110 Bus 001 Device 004: ID 04a9:2676 Canon, Inc. CAPT Device Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 002: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


4 Answers 4


Using the following method will definitely help Ubuntu 18.04 64 bit users to install and use their Canon LBP2900 printer, which otherwise can be a harrowing experience for the less experienced.

It will NOT help to use the official Linux (32 bit or 64 bit) LBP2900 driver from Canon at https://support-in.canon-asia.com/contents/IN/EN/0100459601.html. So no use to waste time over it. The following instructions will help instead:

  1. Run the following in terminal:

    $ sudo apt-get install build-essential git autoconf libtool libcups2-dev libcupsimage2-dev
    $ git clone https://github.com/agalakhov/captdriver.git
    $ cd captdriver
    $ autoreconf -i
    $ ./configure
    $ make

    On some systems, the destination below might be /usr/libexec/cups/filter:

    $ sudo cp src/rastertocapt /usr/lib/cups/filter/
    $ sudo cp Canon-LBP-2900.ppd /usr/share/ppd/custom/
  2. Now open Settings --> Printers and Add Printer --> USB printer, selecting the driver Canon LBP-2900 CAPT GDI printer, 0.1.0 from the list, and complete the remaining steps forward.

  3. Then click Apply and OK. Print a test page and your Canon LBP2900 printer is ready to print on 64 bit Ubuntu 18.04!

Note: Sometimes, printing gets stuck with the message “Rendering completed”. In that case, it helped to just turn the printer off and on again.

Please acknowledge and report if found useful or not useful.

  • Hi! Nice to see somebody answered this question after so long. I was away from Ubuntu from May but now installed it again just to check whether your asnwer works or not.
    – Manoj
    Oct 23, 2018 at 4:13
  • When I entered "cd captdriver" I get this "bash: cd: captdriver: No such file or directory".
    – Manoj
    Oct 23, 2018 at 4:21
  • $ sudo cp src/rastertocapt /usr/lib/cups/filter/.............when I enter this in terminal, I get.........cp: cannot stat 'src/rastertocapt': No such file or directory.........even when I change "lib" to "libexec", I get the same error.
    – Manoj
    Oct 24, 2018 at 14:00
  • Thank you, these drivers work fine, just need to change model to "LBP-2900 CAPT GDI" in printer settings manually. Nov 5, 2018 at 12:37
  • Thank you. This worked for me on Ubuntu 21.10 while the official driver did not. Dec 16, 2021 at 9:59

I finally figured out how to install and run Canon LBP 2900B printer on Ubuntu 18.04 (64 bit) successfully. Follow the steps below shown one by one:

1) Download the drivers: Many people will suggest following link to download appropriate drives.


Don't do that, instead download them from this link.


2) Run following commands in the terminal one by one:

sudo apt-get install libglade2-0

sudo apt-get install libxml2:i386

sudo apt-get install libstdc++6:i386

sudo apt-get install libpopt0:i386

3) Install the drivers downloaded from above site. Unzip it, go to 64 bit folder, go to Debian folder and install them by double clicking. First install second one. While installing second package, you may get error that dependencies are not met. In that case click below given link and download libpng12-0 and install it.


4) Restart the cups by using the command in terminal -

service cups stop

service cups start

5) Use below given command in the terminal:

sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59787 -E

6) Registration of the printer:

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

(Before adding this command in terminal, check /dev/usb/.......path and see if you have lp0 file is there or not. I had lp1 instead. Add it accordingly. If there is no file, probably you haven't started the printer, when you start it that file comes there.)

7) Start ccpd daemon:

sudo /etc/init.d/ccpd start

8) Take the test print. Done!

9) If after restarting the OS, it doesn't work, give following command again in the terminal.

sudo /etc/init.d/ccpd start

Credit goes to: https://gbtechnologie.blogspot.com/2018/11/how-ti-install-canon-2900-printer-on.html


for any driver, there are at least 2 steps: 1) install the drivers and 2) register the printer with lpadmin (print spooler)

this needs the CAPT driver; as you know, but there are three steps: please copy the commands below; paste into the terminal; hit the ENTER key to action ..

1) install the drivers .. sounds like already done?

for the issues of this printer, I suggest we create a udev rule;

gksudo gedit /etc/udev/rules.d/99-CAPT.rules

and if it can't find gedit install it with sudo apt install gedit

when the above file opens, paste

ATTRS{manufacturer}=="CANON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2676",SYMLINK+="CAPT2900"

reboot your system and then do the details below

2) Register the printer (PPD) with the print spooler.

sudo /usr/sbin/lpadmin -p LBP2900B -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59787 –E

3) Register the printer in the ccpd daemon setup file.

sudo /usr/sbin/ccpdadmin -p LBP2900B -o /dev/CAPT2900

..... this is only this case

then restart the ccpd daemon

sudo /etc/init.d/ccpd start

  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Thomas Ward
    May 14, 2018 at 2:03

I had this problem with a Canon Pixma MG3250. After a clean install of Ubuntu 18.04, I downloaded the appropriate cnijfilter and scangearmp files, and also installed CUPS.

I had all the problems indicated above and elsewhere. So I reinstalled Ubuntu 18.04. Without doing anything else, I plugged in my printer, switched on, and Ubuntu asked if I wanted to install it. I agreed and it went ahead and installed it perfectly. Of course my computer was connected to the internet, via USB.

Not only the printer worked, but also the scanner, using Simple Scan. On my laptop, which is also dual boot Win 10 and Ubuntu 18.04, and which had a wireless connection to the internet, I followed the same procedure and again the printer was installed without any intervention from me.

Hope this works for you.....

  • I searched everywhere but could't find cnijfilter for Canon LBP 2900B printer. I think it doesn't even exist. Please post it here if you find one. Also your suggestion of installing printer with default Ubuntu process may work with other Canon printers but doesn't seem to be working with this specific model.
    – Manoj
    Nov 13, 2018 at 5:31

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