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