Canon LBP2900
The older instructions were used in Linux Mint earlier. Currently for Arch , installed the AUR package captdriver from the website https://github.com/mounaiban/captdriver↗ which works without any manual intervention. All the local computers can use the printer without any issues. Just followed Arch wiki and reddit instructions. https://www.reddit.com/r/archlinux/comments/tcczhj/comment/il8m2sz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button↗
Now, install this https://aur.archlinux.org/packages/captdriver-git↗ ( If you are newer to Arch, look into installing AUR packages)
Add user to be able to use printing service( adding user to the lp group):
sudo gpasswd -a your_user lp
and on the CUPS web interface, select Canon Inc LBP2900/LBP3000 r2c, 0.1.3 as driver version.
restart cups using systemctl restart cups.service.
Configure canon LBP2900B laser printer in Linux . Canon’s CAPT driver can be downloaded from here ↗ http://support-asia.canon-asia.com/cont↗ … 59601.html↗
it is the 2.71 version; I see that Canon only updated it a week ago; it comes down as linux-capt-drv-v271-uken.tar.gz so click to download and SAVE and it should end up in your Downloads folder ………
__
we will need you to use the terminal; the tv screen on the bottom tool bar; if you click to open it; and if you right-click at the text prompt you should see a menu there and you can select PASTE to paste the commands that are below;
so there are 3 steps:
1)install the drivers
register the printer
register it in the ccpd daemon ……… one needs this extra step
for the CAPT driver
__
- driver install; paste in these commands line by line to the terminal
and hit the ENTER key after each paste
Code: ↗ Select all↗
cd Downloads
Code: ↗ Select all↗
tar -zxvf linux-capt-drv-v271-uken.tar.gz
Code: ↗ Select all↗
cd linux-capt-drv-v271-uken/32-bit_Driver/Debian
Code: ↗ Select all↗
sudo dpkg -i cndrvcups-common_3.21-1_i386.deb
Code: ↗ Select all↗
sudo dpkg -i cndrvcups-capt_2.71-1_i386.deb
……… and that should be the drivers installed
so restart CUPS with
Code: ↗ Select all↗
sudo service cups restart
_
- printer registration………….
Code: ↗ Select all↗
sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59787 -E
__
- ccpd registration
assuming you have only one printer (the LBP2900) and it is usb connected the next command is
Code: ↗ Select all↗
sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
then we start up the ccpd daemon, having introduced it to your new LBP entry ………
Code: ↗ Select all↗
sudo /etc/init.d/ccpd start
……… try a test print ……… eg from LibreOffice ………. any joy?
Sources: https://forums.linuxmint.com/viewtopic.php?t=245944↗ ↗
http://forums.debian.net/viewtopic.php?f=7&t=109825↗ ↗
https://help.ubuntu.com/community/CanonCaptDrv190↗ ↗
https://riku.titanix.net/wordpress/canon-2900-working-on-linux/↗ ↗
https://help.ubuntu.ru/wiki/canon_capt↗ ↗
http://localhost:631/printers/LBP2900↗ ↗
https://askubuntu.com/questions/1035727/printer-error-check-the-devicepath-of-etc-ccpd-conf↗ ↗
Solving printing problem in canon-lbp2900
Type on the terminal
sudo /etc/init.d/ccpd status
If, the answer is one number, not two: too bad.
Type on the terminal
sudo /etc/init.d/ccpd restart
and then
sudo /etc/init.d/ccpd status
The answer is two numbers. OK.
Try printing the test page, no paper on the printer, the printer stops and does not restart.
We have to start the printer monitor at bootstrap.
On the system setting - startup applications
click the Add button
Name: Canon printing status monitor
Command: captstatusui -e -P LBP2900
Description: Hidden until an error occurs
The printer now is working properly.
captstatusui -e -P LBP2900
Source: https://askubuntu.com/questions/326620/printing-problem-canon-lbp2900↗ ↗
Ultimately the below guide worked almost perfectly.
http://forums.debian.net/viewtopic.php?f=7&t=109825↗ ↗
PRINTER INSTALLATION GUIDE ( 64BIT MACHINES )
Printer Name - CANON2900B
DELETE everything you have done before as these are required in following order to make it work.Scroll below for how to delete printer.
1.ls dev/usb
Mypcoutput - lp0
IF there is no output then Printer is not connected to computer , check the wires and all connections , it is most likely USB is not connected or power is off but if both are ON then try restarting computer and then check else reinstall distro.
- sudo apt-get install ia32-libs libglade2-0 libpopt0:i386 // is
because those are listed as the ‘Depends:’ prerequisites of the Canon ‘.deb’ //
IF it give error in 64bit machines then do
sudo dpkg –add-architecture i386
sudo apt-get update
sudo apt-get install ia32-libs
3.sudo mkdir var/ccpd / not mentioned in Canon installation guide but it is required as it creates the spool directory and the spool service socket for the Canon rasterizer daemon ‘ccpd’//
4.sudo mkfifo var/ccpd/fifo0 / not mentioned in Canon installation guide but it is required as it creates the spool directory and the spool service socket for the Canon rasterizer daemon ‘ccpd’//
5.sudo chown -R lp:lp /var/ccpd
6.sudo apt-get install cups
7.sudo service cups stop
8.sudo service cups start
9.sudo service ccpd stop
10 ./usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59787 -E Register the printer (PPD) with the print spooler. /read the installation guide STEP 5 /
HERE 59787 WILL BE USED , 59687 IS MISTAKE FROM CANON wont work in debian distros and debians UI ports is <Ports>
UI_Port 59787
11./usr/sbin/ccpdadmin -p LBP5000 -o dev/usb/lp0 / Register the printer in the ccpd daemon setup file. / STEP 6 installation guide///
12./etc/init.d/ccpd start / Start ccpd daemon. STEP 7 installation guide./
13 ↗ http://localhost:631↗ ↗ and it should be like this [url]i.imgur.com/quMuymd.png[/url]
**
Testing YOUR installation-
$$ sudo ccpdadmin status
CUPS_ConfigPath = etc/cups
LOG Path = None
UI Port = 59787
Entry Num : Spooler: Backend: FIFO path: Device Path : Status
[0] : canon : ccp : //localhost:59787 : /dev/usb/lp0 :
$$ cat /etc/ccpd.conf
# Canon Printer Daemon for CUPS Configuration Data
<Path>
# CUPS configuration file path.
# Default /etc/cups/
CUPS_ConfigPath /etc/cups/
# Log directory path.
# LogDirectoryPath /var/log/CCPD/http://paste.debian.net/70760
</Path>
# Printer entries.
# Mapping each "Printer Name" to each "Printer Device Port".
# The "Printer Name" has to be identical to the CUPS printer queue name.
#
# For example, if you prepare a printer named "LBP3200" as a CUPS
printer
# queue name, and the printer is connected to the USB port
"/dev/usb/lp0",
# you can use the following three lines example just by removing the
# comment symbol "#" of each line.
#<Printer LBP3200>
#DevicePath /dev/usb/lp0
#</Printer>
<Printer 2900>
DevicePath /dev/usb/lp0
</Printer>
<Ports>
# Status monitoring socket port.
# Default 59787
UI_Port 59787
PDATA_Port 59687
</Ports>
$$ sudo service cups status
Status of Common Unix Printing System: cupsd is running.
$$ sudo service ccpd status
usr/sbin/ccpd: 5086 5084 4093 4092 /IMPORTANT -> here it should show atleast two numbers if it is not showing two numbers here then something wrong restart cups , ccpd , printer , restart pc , printer or reinstall again , two numbers are here because one is ccpd process and other number is created when printer is connected so other number is for child process
**
DELETING PRINTER
sudo ccpdadmin status
CUPS_ConfigPath = etc/cups
LOG Path = None
UI Port = 59787
Entry Num : Spooler: Backend: FIFO path: Device Path : Status
[0] : canon : ccp : //localhost:59787 : /dev/usb/lp0 :
root@debian:/home/sun# sudo ccpdadmin
Usage:
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] : canon : ccp : //localhost:59787 : /dev/usb/lp0 :
$$ ccpdadmin -x canon
$$ ccpdadmin -x canon / to look again that it is deleted /
**
TROUBLESHOOTING
PRINTER NOT PRINTING TEST PAGE -
check cups service running.
check ccpd service running.
Turn power off printer.
$ sudo /etc/init.d/cups stop //stop cups service
$ sudo /etc/init.d/ccpd stop //stop ccpd service
Restart computer
Turn power on Printer.
$$ sudo /etc/init.d/cups start //start cups service
$$ sudo etc/init.d/ccpd start / start ccpd service
- Even not printing ?
>> Recheck all steps above
>> If its still not printing then Delete everything , check all steps before installation and then reinstall printer and check again.
>> Read the ↗ https://help.ubuntu.com/community/CanonCaptDrv190↗ ↗ and printer installation guide again and see if you made any mistakes.
**
Enjoy printing!
Steps carried out on 7-Jun-2020 - 2nd time configuring due to OS reinstallation
$ cd ~/Downloads/linux-capt-drv-v271-uken/64-bit_Driver/Debian
$ sudo dpkg -i cndrvcups-common_3.21-1_amd64.deb
$ sudo dpkg -i cndrvcups-capt_2.71-1_amd64.deb
$ ls /dev/usb/lp0
/dev/usb/lp0
$ sudo /etc/init.d/ccpd status
/usr/sbin/ccpd:
$ sudo /etc/init.d/ccpd restart
Shutting down /usr/sbin/ccpd: .
Starting /usr/sbin/ccpd: .
$ sudo /etc/init.d/ccpd status
/usr/sbin/ccpd: 20720
$ ldd /usr/bin/captfilter
not a dynamic executable
$ sudo apt-get install libc6:i386 libpopt0:i386
$ ldd /usr/bin/captfilter
linux-gate.so.1 (0xf7ef7000)
libpopt.so.0 => /usr/lib/i386-linux-gnu/libpopt.so.0 (0xf7ecb000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7cef000)
/lib/ld-linux.so.2 (0xf7ef8000)
$ ldd /usr/bin/capt* | sort | uniq | grep “not found”
libstdc++.so.6 => not found
libxml2.so.2 => not found
libz.so.1 => not found
$ sudo apt-get install zlib1g:i386 libxml2:i386 libstdc++6:i386
$ sudo mkdir /var/ccpd
$ sudo chown -R lp:lp /var/ccpd
The next step for configuring the port connection in CUPS can be done either through cups website or manually http://localhost:631↗ ↗ or by doing the
Current Connection: usb://Canon/LBP2900?serial=0000A2A6Q1P9
Local Printers: CAPT Printer
Connection:ccp://localhost:59787
For mode choose from file /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd
Or both the above steps can be done manually
$sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v
$ /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
Restart computer once after all the configuration is completed.
$ sudo /etc/init.d/ccpd status
/usr/sbin/ccpd: 1828 1827
https://forums.linuxmint.com/viewtopic.php?t=180589↗ ↗
© Prabu Anand K 2020-2026