Friday, January 25, 2013

Configuring Canon LBP series printers for Linux




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 CNCUPSCAPTK.ppd in my case its LBP6000 but 6000 driver comes as 6018 so yo have to use it here



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 :) 
Powered By Blogger

yyy

new.html //Insert in body Tag

This is my HTML page.