Canon LBP2900
From ArchWiki
Contents |
Introduction
This is a brief manual about how to make Canon i-sensys LBP2900 (LBP2900) to work with arch. This manual can be also applied on folowing printer models: LBP3010/LBP3018/LBP3050, LBP3100/LBP3108/LBP3150, LBP3250, LBP3310, LBP5100, LBP5300, LBP3500, LBP3300, LBP5000, LBP3210, LBP3000, LBP2900, LBP3200, LBP-1120, LBP-1210
Note: if you can find your printer model on the list use this manual, and switch [printer model] with your printer model
Requirements
- cups
- ghostscript
- gsfonts
- rpmextract.sh
- system-config-printer
Install with:
# pacman -S cups ghostscript gsfonts rpmextract system-config-printer
Additional requirements on Arch64
- lib32-cups
- lib32-heimdal
- lib32-libxml2
- lib32-popt from aur version 1.14-1
Install with:
# pacman -S lib32-cups lib32-heimdal lib32-libxml2
And build the aur package using ABS or yaourt
Driver
For information about setting up cups, refer to CUPS.
Installation
Download the driver and extract it:
# wget http://files.canon-europe.com/files/soft31118/software/CAPTDRV180.tar.gz # tar -xvf CAPTDRV180.tar.gz # cd CANON_UK/Driver/RPM # rpmextract.sh *
The last command abow will extract all rpm-s and merge all directories that were stored in them. So basically you'll get two directories: etc and usr. Next thing you need to do is to open etc directory and change init.d to rc.d. You can also do it by command:
# mv etc/init.d etc/rc.d
Now you can remove rpm-s:
# rm *.rpm
and execute the nexth command wich will merge etc end usr directories with appropriate ones in / directory:
# cp -var * /
Restart cups
# /etc/rc.d/cups restart
Add cups daemon in /etc/rc.conf
Open /etc/rc.conf with a text editor of your choice (e.g. nano), and put cups in the list of daemons:
DAEMONS=(... @bluetooth cups gdm)
Make folowing directories and fifo0
# mkdir /var/ccpd /var/captmon # mkfifo /var/ccpd/fifo0
Make fifo0 accessable to everyone:
# chmod 777 /var/ccpd/fifo0
Change the owner of fifo0 into root:
# chown root /var/ccpd/fifo0
Register printer
Register the printer driver with the print spooler with the following command, replacing [printer model] with your printer model and [printer driver file] with your driver file:
# /usr/sbin/lpadmin -p [printer model] -m [printer driver file] -v ccp:/var/ccpd/fifo0 -E
for this manual it would be
# /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
Register the printer with ccpd daemon, once again replace [printer model] with your printer model:
# /usr/sbin/ccpdadmin -p [printer model] -o /dev/usb/lp0
in this case it is:
# /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
Make udev rule for your printer
Create an udev rule so when you turn the printer on, printer daemon (ccpd) will start. More about udev rules you can see here: http://reactivated.net/writing_udev_rules.html
# echo -e '#Own udev rule for [printer model]\nSUBSYSTEM=="usb", KERNEL=="lp0", RUN+="/etc/rc.d/ccpd restart"' <no line break> > /etc/udev/rules.d/85-[printer model].rules
in this case:
# echo -e '#Own udev rule for Canon i-sensys LBP2900\nSUBSYSTEM=="usb", KERNEL=="lp0", RUN+="/etc/rc.d/ccpd restart"' <no line break> > /etc/udev/rules.d/85-LBP2900.rules
Start printer daemon and print
# /etc/rc.d/ccpd start
The printer should now be installed. You could test it by pressing the Print Test Page button.
Turboprint
Related Links/Additional Information
https://help.ubuntu.com/community/HardwareSupportComponentsPrinters/CanonPrinters/Canon_LBP_2900 - A guide for setting up the printer on ubuntu