Ubuntu – Making Canon LBP6000 printer work under Ubuntu 14.04 64-bit

64-bitcanondriversprinting

Previously, I have successfully used this Canon LBP6000 printer under Ubuntu 12.04 (32-bit). Recently, I upgraded to Ubuntu 14.04 (64-bit). Already several hours have been wasted making this printer work under this system, without success.

(I have already seen this question. But thought it better to post a new one since my observations are too long to fit as a comment. There is a similar issue in this one.)

Steps So Far

  • The Radu script did not work. Got something in the line of "ccp, unknown URI".
  • Downloaded and installed the latest driver from Canon.
  • Installed the .deb files found in Linux_CAPT_PrinterDriver_V260_uk_EN/64-bit_Driver/Debian

    sudo dpkg -i cndrvcups-c*

(Did not use the Michael PPA since I was actually downloading the latest driver from Canon site.)

  • Installation went without any problem.
  • Started CUPS in a browser. http://localhost:631/. The printer was automatically detected as Canon LBP6000/LBP6018. Moved forward and selected Canon LBP6000/LBP6018 CAPT (US) as the driver. Got it installed. The printer URI is shown as usb://Canon/LBP6000/LBP6018?serial=0000B1C4I3GU
  • Now, when I try printing a test page, the CUPS window says that "Sending Data to Printer". In about a minute, this job is shown as completed, though nothing gets printed.

The official Ubuntu page lists LBP6000/LBP6018
as a supported printer with driver
CNCUPSLBP6018CAPTK.ppd
under Ubuntu
13.10 (64bit)/12.10/12.04 (32bit). So, previously, there has been success with
64-bit versions.


UPDATE 1

As suggested here, executed find . -name \*.so\* -exec ldd {} \;|grep not
in the extracted driver directory. Got an output in the line of

libcncaptnpm.so.1 => not found
libstdc++.so.6 => not found

Executed sudo apt-get install lib32stdc++6. Now the message is reduced to the one
for libcncaptnpm only. Do not know how to install this one. apt-cache search libcncaptnpm returns an empty answer.

Any chance I can directly use the libcnaccm.so.1.0 file found under Linux_CAPT_PrinterDriver_V260_uk_EN/Src/cndrvcups-capt-2.60-1/libs?


UPDATE 2 (SOLVED)

I followed the procedure described in this answer. (Though I had downloaded the drivers directly from Canon site.)

Now my printer prints again. Big sigh of relief.

The next printer I will buy will not be a Canon. The hassle I had to go through was perhaps acceptable twenty years back. In this era, I will want my printer to simply plug-in and work.

Observations

When I submit the first print job in a login session, it waits. The queue says, Processing since ….. Then I need to kill the ccpd and captmoncnabc processes and
start the ccpd daemon again.

Wonder why I have to do it.

Actually, I made a script for that.

#!/bin/bash

pkill -9 -x ccpd
pkill -9 -x captmoncnabc
/etc/init.d/ccpd start
/etc/init.d/ccpd status

Best Answer

I followed Masroor/bain instructions; after installing EVERY SINGLE (hidden) DEPENDENCY, I was able to get it to work, but ran into the "kill ccpd once every boot" issue.

If you go here and look at the very end of the page, they say:

Only one ccpd process running after system startup For normal operation two ccpd processes should be running in a system. The ccpd daemon depends on running cups daemon before forking the second process. You can use the following method to workaround the problem:

  1. Enable the cups init script (update-rc.d cups defaults).

  2. Instruct the ccpd init script to run after the cups init (update-rc.d ccpd defaults 99), or add "sleep 10 && /etc/init.d/ccpd start" in /etc/rc.local script.

I removed all runlevels for ccpd and added the sleep command to rc.local.