Saturday, June 14, 2014

Ubuntu 14.04 and the Canon LBP6020B laser printer

The Canon in general, and the LBP6020 in particular, haven't had a good reputation on Linux / Ubuntu, however the good news is that while it still doesn't work out of the box, support appears to have improved recently.

If you're running Ubuntu 16.04, or any other linux distribution that supports docker, I suggest you look at my updated post "Ubuntu 16.04 (or any other recent linux) and the Canon LBP6020B laser printer".

If you're running something between Ubuntu 14.04 and 15.10, read on...

The latest Canon Linux drivers, available from Canon Europe, with release date 28 May 2014, includes support for the LBP6020 (earlier drivers may have, this is the first that I've seen).

When trying to get the printer working, the two main articles I used were:

The first indicates that the 32 bit libraries need to be enabled on 64 bit Ubuntu.  The drivers linked above include a 64 bit version, so I'm not sure if this is necessary any more (I already had the 32 bit libraries enabled).

Other than that, the steps I followed were:

Download the drivers from Canon Europe, and install:

tar xzvf ~/Downloads/Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz 
cd Linux_CAPT_PrinterDriver_V260_uk_EN/64-bit_Driver/Debian/
sudo dpkg -i cndrvcups-common_2.60-1_amd64.deb
sudo dpkg -i cndrvcups-capt_2.60-1_amd64.deb

Check that the LBP6020 is supported directly:

grep -H ModelName /usr/share/cups/model/*.ppd | grep 6020

You should see CNCUPSLBP6020CAPTK.ppd in the output.

Assuming that you only have one USB printer plugged in, check which device it is:

ls /dev/usb/lp*

Then define the printer queue (LBP6020 in the example below) with the device found above:

sudo lpadmin -p LBP6020 -m CNCUPSLBP6020CAPTK.ppd -v ccp://localhost:59687 -E
sudo ccpdadmin -p LBP6020 -o /dev/usb/lp0
sudo service ccpd start
sudo service cups restart

Check that the ccpd service appears to have started correctly:

On Ubuntu versions prior to 15.04:

sudo service ccpd status
On Ubuntu 15.04:

sudo /etc/init.d/ccpd status

You should see two numbers at the end of the line, if not, something's not right.  You can try looking in /var/log/cups/, but the information is unfortunately sparse.

Once the printer has been installed and is working, to start the printer:

# Switch the printer on and wait for it to settle

# Confirm that the usb device exists and matches the device in /etc/ccpd.conf:

ls /dev/usb/

# Start the ccpd service:

sudo service ccpd start

# Restart CUPS

sudo service cups restart

# Check that the service appears to have started correctly

sudo /etc/init.d/ccpd status


Hope this helps.

EDIT 24 Oct 2016: Added reference to a new post for Ubuntu 16.04 and other recent linux distributions.

EDIT 30 Apr 2015: Updated the status check for Ubuntu 15.04, and included the restart instructions from 11 Dec 2014.

EDIT 28 Feb 2015: Removed the command to autostart the service.  The sequence posted in the comments on 11 Dec 2014 assumes that the service hasn't been started.