Printing on Canon LBP3370 using a HP Driver in Ubuntu

At work we have a Canon LBP3370 laser printer. Most of our other printers have been HP, and printing from Ubuntu Linux has been relatively straightforward. HP have very good support for printing in Linux through the HPLIP software. My HP multi function printer (including scanning) at home works fine with Ubuntu. However I had some problems with the Canon printer. In the past on Ubuntu 9.10 I fixed the problems by installing the HP drivers. But then around 10.04 and especially 12.04, printing with the default drivers seemed ok. But again on Ubuntu 14.04 I have problems printing, in particular duplex. Below are the steps to fix this. For reference, I've left the instructions that I used on Ubuntu 9.10 at the bottom.

Ubuntu 14.04

When using Ubuntu 14.40 with the Canon LBP 3370, the default driver (selected when installing/setting up the print in Ubuntu) works ok, except for duplex printing. Everything I tried resulted in the front side being printed on the front of one sheet and the back side being printed on the back of a second sheet. The printer was feeding the paper as if duplex printing, but for some reason feed in a new sheet of paper for printing the back side. I tried some of the other optional drivers available in Ubuntu but they didn't fix the problem. The solution: use the proprietary Canon driver. The instructions I found on AskUbuntu. I repeat the ones I used to get duplex successfully working.

Update your software packages, and since using 64-bit Ubuntu, make sure packages for using 32-bit software is available:

$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libstdc++6:i386 libxml2:i386 zlib1g:i386 libpopt0:i386

Download the driver from the Canon website (note they have website for different regions - I used Asia Pacific). I downloaded the driver named "UFR II Printer Driver for Linux Version 2.90".

Unzip the downloaded package:

$ tar xzvf Linux_UFRII_PrinterDriver_V290_uk_EN.tar.gz

Install the two packages included:

$ sudo dpkg -i Linux_UFRII_PrinterDriver_V290_uk_EN/64-bit_Driver/Debian/*.deb

Now use the "Printers" application in Ubuntu to change the driver of your printer. From the "Choose a driver" menu, select "Provide a PPD file". Then find the file for LBD 3370 in the directory /usr/share/cups/model/. The driver should be selected and thats it. Duplex printing now works.

For more details or getting it to work on other Canon printers see the AskUbuntu thread.

Old - Ubuntu 9.10

The following is from 2010 and as most likely no longer useful. See above for getting LBP 3370 working on Ubuntu 14.04.

Below is the original configuration in Ubuntu of using the Canon driver, and then the way I fixed the problems by using a HP driver.

Using the Canon Driver

When adding a printer in Ubuntu 9.10, I followed the steps of selecting 'Canon' and then 'LBP-3360' (the LBP-3370 is not listed) which gives the option of four drivers:

Canon LBP-3360 Foomatic/pxlmono [en] (recommended)
Canon LBP-3360 Foomatic/lj4dith [en]
Canon LBP-3360 Foomatic/ljet4 [en]
Canon LBP-3360 Foomatic/ljet4d [en]

As was suggested, I choose the pxlmono driver. Note that the LBP-3370 uses direct sockets printing (the device URI is 'socket://IP'). Unfortunately I had several problems when printing (mostly PDF - not sure if it also applied to other formats). Firstly, sometimes the first page of the PDF would print and then an error message would be printed (on the paper):

PCL XL Error
  SubSystem: IMAGE
  Error: MissingData
  Operator: ReadImage
  Position: 8644

And then some documents were taking a loooong time to print (5-10 minutes per page).

Fixing with the HP Driver

A quick search at OpenPrinting indicated that the driver I selected may not be reliable. It suggested using the hpijis-pcl5e driver instead (surprise, surprise - a HPLIP driver). So I downloaded the driver directly, saved it in /etc/cups/ppd/ and selected it from the printer Properties (under "Make and Model" select "Change" and then "Provide PPD file"). The result is shown below (note the "Make and Model").

For the past few weeks printing to the Canon printer using the HP driver has been trouble free. Nice job HP!