I recently bought a Canon LBP 6000 Laser printer. But unfortunately most of latest laser printers are not just plug and play friendly with Linux systems
But the issue i faced is vendor provided solution and drivers are not just helping with installation and configuration of the printer.
And there is quite piece by piece community support over opensource forums but they actually didnt help me in one piece.
So i decided to post my workings to assist some one who got stuck with a canon printer.
Step 1
Download Canon provided device drivers and install them
you can download the driver form Canon vendor website
before moving forward yo may have to install cups if yo dont have it and following libraries
yum install cups
yum install compat-libstdc++-33
it will download a tar ball .
Then use
tar -zxvf CAPT_Printer_Driver_for_Linux_V220_uk_EN.tar.gz
and extract the package
Then you will get the following
`-- CAPT_Printer_Driver_for_Linux_V220_uk_EN
|-- 32-bit_Driver
| |-- Debian
| `-- RPM
|-- 64-bit_Driver
| `-- RPM
|-- Doc
if you are using fedora, Redhat, or any redhat based Linux distributions you can directly install from the rpm distribution. Else you can go with debs if yo are using Dabion or buntu.
based on 32 bit or 64 bit choose the distribution and
yum localinstall cndrvcups-capt-2.20-1.x86_64.rpm
yum localinstall cndrvcups-common-2.20-1
to install drivers.
As a matter of fact this driver will directly pickup the printer but the issue is default printer created by the driver is leading to faulty state of the printer. Coz of communicating with the wrong port.
Step 2
Login as a super user and post
[root@localhost ~]# /etc/init.d/ccpd status
if your printer is setup correctly this should return two values like below
[root@localhost ~]# /etc/init.d/ccpd status
/usr/sbin/ccpd: 1126 1104
Else you have to do following
Add the printer
/usr/sbin/lpadmin -p {printer name=""} -m {ppd file=""" -v {driver url=""} -E
in my case it is
/usr/sbin/lpadmin -p LBP6000 -m CNCUPSLBP6018CAPTK.ppd -v ccp://localhost:59787 -E
Note that the ppd file is named as CNCUPS
Step 3
Add port to the printer
[root@localhost ~]# /usr/sbin/ccpdadmin -p LBP6000 -o /dev/usb/lp0
here we are assigning printer to usb port lp0
Now you can see the printer by
[root@localhost ~]# 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] : LBP6000 : ccp : //localhost:59787 : /dev/usb/lp0 :
restart cps and see the status now two set of values should display as cups stats as below
[root@localhost ~]# /etc/init.d/ccpd restart
[root@localhost ~]# /etc/init.d/ccpd status
/usr/sbin/ccpd: 1126 1104
Now basically your printer will be listed as a printer. Just let the default printer installed by the system to be there else it will recreate same thing when ever your printer is plugged in.
Step 5
Now you have to setup rules to initiate a cups restart at the connecting of the device to load the printer and assign it
for that you have to add the rule file
[root@localhost ~]# vim /etc/udev/rules.d/85-canon-capt.rules
add following rule to the file
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idProduct}=="271a", ATTRS{idVendor}=="04a9", RUN+="/bin/bash /etc/init.d/ccpd restart"
you can determine the vendor id and product id by "lsusb " it will list all usb devices available
[root@localhost ~]# lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Bus 001 Device 004: ID 04a9:271a Canon, Inc.
Bus 001 Device 005: ID 04f2:b217 Chicony Electronics Co., Ltd
Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
here my printer is
Bus 001 Device 004: ID 04a9:271a Canon, Inc
vendor id is 04a9
and prodct id is 271a
then reload the rules
[root@localhost ~]# udevadm control --reload-rules
Just deattach the printer and attach again
[root@localhost ~]# /etc/init.d/ccpd status
/usr/sbin/ccpd: 1126 1104
if something like this comes you are good to go
Good luck :)