OS 13.1 / Canon CAPT Laserprinter driver installs but does not work

Hi there,

tried to install a Canon LBP7210Cdn printer. I tried both USB printer and Network printer mode. In both cases the both drivers provided from the canon website were thanks to Yast in seconds installed and the Yast Printer recognised the printer when I tried to add it. It added it and everything seemed to be ok … but it does not print at all !!!

I tried to print the testpage and can wait forever for that page - it never gets printed. Pushing the “Tetspage printind failed” button results in a messagebox telling me that …

[Job375] Unable to write data: Broken pipe

I could install the windows driver in a few minutes in my virtualbox Win7pro without any problem; both USB and Network mode work. I also tried it on a Win7 notebook … worked like a charm. But not so in OS13.1 !

Any idea what pipe is broken in 13.1 ? Any plumbers here who can fix the pipe in question ? :wink:

TIA, Joe

Installed drivers:

  1. cndrvcups-common-2.60-1.x86_64.rpm
  2. cndrvcups-capt-2.60-1.x86_64.rpm

OS : OpenSuse 13.1 (X86_64)

Hardware:
AMD FX 6300,
Asus Mobo M5A99X Evo R2.0,
16GB Ram,
AMD Radeon HD 6800
1 SSD + 2 HD’S

I have forgotten to mention that I am using via USB a HP All-in-one and a Samsung Laser printer, the later had a mechnical problem, thus I got the Canon as a replacement. They work with cups without any problem; only the famous landscape mode makes trouble in cups … but this is another story.

Cannon does not have the best Linux support HP and brother seem to do the best.

Can you show us the printer URI as defined in /etc/cups/printers.conf. IIRC, the URI shoul look like ‘ccp://…’

For a network-attached Canon printer, follow the advie given here

http://ubuntuforums.org/archive/index.php/t-1777714.html

Canon CAPT network printers must NOT be defined as network printers to CUPS!!

Follow the documentation as provided by canon with the drivers:

  • Install the two drivers
  • Define the network printer to cups with the LPADMIN command:
    /usr/sbin/lpadmin -p [printer name] -m [PPD file name] -v ccp://localhost:59687
    -Define the network printer to CCPD deamon with the CCPDADMIN command:
    /usr/sbin/ccpdadmin -p [Printer Name] -o net:[IP address]
    -Start the CCPD deamon:
    /etc/init.d/ccpd start

This Arch guide might be useful too

https://wiki.archlinux.org/index.php/Canon_CAPT#network_printers

For a USB-connected printer

https://wiki.archlinux.org/index.php/Canon_CAPT#USB_printers

Hi,

thanks for your response.

Could not find the entry you mentioned. Could it be that the syntax has changed !?
Anyway I have copied here the entire entry that yast/printer created:


<Printer canon>
UUID urn:uuid:da2dff0c-8841-3845-7cff-71290a3aea5f
Info Canon LBP7210C CAPT (UK)
MakeModel Canon LBP7210C CAPT (UK)
DeviceURI socket://192.168.2.220:9100
State Idle
StateTime 1418723945
Type 8393884
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
Attribute marker-colors \#000000,#FFFF00,#FF00FF,#00FFFF
Attribute marker-levels -1,-1,-1,-1
Attribute marker-names Black Toner Cartridge for LBP7210C,Yellow Toner Cartridge for LBP7210C,Magenta Toner Cartridge for LBP7210C,Cyan Toner Cartridge for LBP7210C
Attribute marker-types toner,toner,toner,toner
Attribute marker-change-time 1418723945
</Printer>

Joe

Great ! This method worked indeeed, though in OpenSuse one has to add another step!!!

I gave the following commands as suggested:


MyPC:~ #/usr/sbin/lpadmin -p Canon -m CNCUPSLBP7210CCAPTK.ppd -v ccp://localhost:59687
MyPC:~ #/usr/sbin/ccpdadmin -p Canon -o net:192.168.2.220

 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler   : Backend       : FIFO path             : Device Path   : Status 
 ----------------------------------------------------------------------------
     [0]    : Canon     : ccp           : //localhost:59687     : net:192.168.2.220     : New!!
MyPC:~ #/etc/init.d/ccpd start
Starting /usr/sbin/ccpd: .

At this point the printer seems to be registered, but it still did not work!

To make it run, I had to go to Yast / Printer / Printer Configurations and edit the Canon printer in question. Both “Accept Print Jobs” and “Enable Printing” have to be switched on. Saved the Printer data and clicked “Print Test Page” and … the printer finally started its work !!

I am not sure whether this last step can be replaced with an additional parameter in one of those command lines. Though I wrote batch files a lot under Dos and early Windows, I am still struggling with the logic and technical background of Linux command lines. So it would be great if someone else could improve the above mentioned commands, so that also the last step (Yast/Printers) could be turned into command line instructions and would allow to use a batch file to install the printer on every computer in the network with ease.

Thanks a lot for your help , Deano Ferrari !!!

UPDATE:

Have installed the drivers now on 2 other computers with OS 13.1 in our network and found out that an initial step was missing in the above mentioned procedure :

After the installation of the 2 original Canon drivers one has to install the Printer one time with Yast / Printer / Printer Configurations / Add. Use the Connection Wizard to select the Canon Network printer.
Choose the right driver and save it.

Now Yast seems to create something that is missing otherwise in the command line sequence.
Now delete that printer and close Yast.
Open the root terminal and execute:

MyPC:~ #/usr/sbin/lpadmin -p Canon -m {your ppd filename} -v ccp://localhost:59687
MyPC:~ #/usr/sbin/ccpdadmin -p Canon -o net:{your Canon's IP address}

 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler   : Backend       : FIFO path             : Device Path   : Status 
 ----------------------------------------------------------------------------
     [0]    : Canon     : ccp           : //localhost:59687     : net:{Your Canon's IP}    : New!!
MyPC:~ #/etc/init.d/ccpd start
Starting /usr/sbin/ccpd:

Now the printer installation is successfull and one should be able to print. Finally ! :wink:

UPDATE:

As I also tried to get further information/help from Canon, I now got a support email.
Nicely formulated they made very clear that Linux is not really supported by them. Either the driver works as is or not. If it’s not working don’t hesitate to ask someone else (Community) …

I will for sure remember this and will use this knowledge next time I have to decide on what to buy, as installing this printer drivers functional in OS13.1 took me nearly 2 working days.

Joe

To make it run, I had to go to Yast / Printer / Printer Configurations and edit the Canon printer in question. Both “Accept Print Jobs” and “Enable Printing” have to be switched on. Saved the Printer data and clicked “Print Test Page” and … the printer finally started its work !!

It will have adjusted parameters in /etc/cups/printers.conf which stores a list of defined printers, their repsective queues, and various directives.

This might go part way to increasing your understanding about the YaST Printer utility

https://en.opensuse.org/YaST_Printer#Default_Queue_and_Status

All this can be done from the CUPS web interdace, or via CUPS CLI commands as well

https://www.cups.org/documentation.php/doc-1.5/ref-printers-conf.html?VERSION=1.5&Q=

For example

Description

The Accepting directive defines the initial state of the printer-is-accepting-jobs attribute. This
state is also set by the cupsaccept(8) and cupsreject(8) commands:

/usr/sbin/cupsaccept printername
/usr/sbin/cupsreject printername

This directive must appear inside a Printer or DefaultPrinter section.

State
Examples

<Printer name>

State idle
</Printer>

Description

The State directive defines the initial value of the printer-state attribute. The strings idle and
stopped correspond to the IPP enumeration values 3 and 5, respectively. The cupsenable(8) and
cupsdisable(8) commands set the current state:

/usr/sbin/cupsenable printername
/usr/sbin/cupsdisable printername

This directive must appear inside a Printer or DefaultPrinter section.

However, normally when a printer is added for the first time (no existing definition), I would expect the defaults in printers.conf mean that it would be accepting jobs and enabled.

I will for sure remember this and will use this knowledge next time I have to decide on what to buy, as installing this printer drivers functional in OS13.1 took me nearly 2 working days.

Joe

Unfortunately, it is a general known fact that Canon support for Linux has historically been weak, but for recent models, the driver support does seem to have been improved.

Back from xmas holidays, I now again have the problem that this Canon LBP 7210 color laser printer does not print anymore. All print jobs waiting in the queue and the printer can’t be fed with them. It its visvible to the system, but does not print at all. That thing is a real PITA !

CANON does not give any further support (Got an email: In short: Feel free to call at any time someone else …) and the dealer doesn’t want to change it against another (non Canon) printer. He suggest to test it with a pure Windows computer and if its running its a driver software problem, in which case he is not responsible. And Canon is also not responsible - so it is my fault ! Great logic !

Linux and CANON - try to avoid this trap !

Try purging the jobs and check printer status via CUPS

http://localhost:631/jobs/
http://localhost:631/printers/

or via CLI

cancel -a
lpstat -p -a

Consider selling it to a Windows user, and get something more Linux-friendly.

Hi Deano,

it’s running again after I have reinstalled the driver and the printer again. Although it is a network printer, I have installed it on our printer server and shared it , which now turns out to be an excellent idea. Imagine all the work I would have each time that thing doesn’t want to work by re-installing the drivers on all my computers here again and again (my pc, wifes pc, daugthers pc, sons pc, my notebook, wifes notebook, … aaaarg! Horror !)

I will indeed try to sell that thing asap. Have already warned on the dealers website about problems with the Canon Linux LBP 7xxx series driver. Will try to get a postscript printer.

Cheers, Joe

I’m sure it will have been down to something simple. It would have been useful to get the reported status, and/or checking /var/log/cups/error_log perhaps.

I will indeed try to sell that thing asap. Have already warned on the dealers website about problems with the Canon Linux LBP 7xxx series driver. Will try to get a postscript printer.

Cheers, Joe

A nice HP or Brother multifunction laser is usually a safe bet.

Saw a nice Oki C531dn, understands PCL6 (XL3.0), PCL5c, PostScript 3 Emulation, SIDM (IBM-PPR, EPSON-FX) and duplex-printing. Now I need someone to whom I can sell the Canon “enfant terrible”.

Good luck with that.