Saturday, July 8, 2017

Canon LBP2900 driver installation - Arch Linux

Hi All,

This post explains how to setup CanonLBP2900 printer drivers in Arch Linux.

Installation of drivers:

1. You need the yaourt package manager (to install software for AUR)

2. Issue the command yaourt capt-src
    This command installs the 2.7 version of CAPT drivers.

Configuration of the CUPS driver:

1. As we know CAPT has to sit on the CUPS driver. So make sure that CUPS is installed and configured properly.

To be on the safer side, you can issue the command:

sudo pacman -S cups

Then enable the cups driver by the command:

systemctl enable org.cups.cupsd.service

Then start the service:

systemctl start org.cups.cupsd.service

Check the status by:

systemctl status org.cups.cupsd.service (you should get active status with pid values)

Configuration of the CAPT driver:

2. Make sure that the user is added to both the groups - lp and sys

gpasswd -a ananth sys lp

3. Next make sure that the ppd is registered to the path

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

4. Check for the path where the printer has its device, register capt to cups through the usblp device 

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

5. Start and enable the ccp daemon:

sudo systemctl enable ccpd.service

sudo systemctl start ccpd.service

sudo systemctl status ccpd.service (to check its running/active status)

6. Check if its all working fine with

captstatusui -P LBP2900 

Precaution commands:

Many a times, the printer might not work due to various reasons. 

Steps / Commands to be followed then:

1. Reinstall CUPS
2. Reinstall CAPT
3. ls -l /var/ccp
4. sudo mkdir /var/ccpd
5. sudo mkfifo /var/ccpd/fifo0
6. sudo chown -R lp:lp /var/ccpd
7. sudo chown -R user_name:lp /var/ccpd (replace username with $LOGNAME)

8. ldd /usr/bin/captfilter (produces this below output)
        linux-gate.so.1 (0xf76f7000)
libpopt.so.0 => /usr/lib32/libpopt.so.0 (0xf76b0000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf74ef000)
/lib/ld-linux.so.2 (0xf76f9000)

9. ldd /usr/bin/capt* | sort | uniq | grep "not found" (should give you no output )

Last enable both cups and capt for startup by the command

sudo systemctl enable org.cups.cupsd.service
sudo systemctl enable ccpd.service

Hope this helps...

Tc,
Ananth G S