February 7, 2009

Canon printer driver and CUPS error

Maybe you experienced this particular error message while trying to install the cnij_usb Canon printer driver for your PIXMA, on recent CUPS version (or recent Linux distributions):


This error message will be raised by CUPS during the printer installation, as the name formerly used by Canon for its CUPS backend: namely cnij_usb, does not conform to the CUPS standard (RFC 3986), as it contains an underscore character "_" in its name.
Older version of CUPS did not reject this, but this is filtered out now in recent CUPS releases, available on recent Linux distributions.

Canon has released a fix for that, and has renamed the backend: cnijusb simply throwing out the underscore character.

This new backend is only available in the 3.00 release of the Canon drivers, in the package:

This package is one of the 2 packages to install for a PIXMA printer.

You can get this package on canon-asia web site, for e.g. the MP638. Simply install it (no need to unistall a previous package, it will override it), it can be used along for instance with the 2.80 driver (for MP610) or 2.70 (for MP600) Canon printer specific package (cnijfilter-mpXYZ_2.80-1_i386).
Choose the .deb or .rpm package according to your distribution.

This is good news anyway: Canon is following the Linux move, and bring the necessary updates to its Linux software accordingly.


george said...

I have the MP630 and I run Ubuntu 8.10

I downloaded MP630_debian_drivers.tar from Canon. Please tell me what should I do in order to install the drivers.

(I know that inside the tar there are some deb files. I installed them, but I still can't print)

S├ębastien said...

Thank you for the news. The problem is that your old .ppd isn't still working with this new driver's version (with my jaunty xubuntu). Is there something to change in the file ?

Nicolas said...

What do you get exactly when using the customized .ppd ?

Pixma MP610 said...

I have nothing. i got the message that the printing is done (i don't remember the words exactly) but nothing happened. And if i use the canon's ppd, it's really working.

Just said...

Nicolas, thank you so much for this blog. I just got my MP160 going in Ubuntu 9.04 / Jaunty through your instructions.

CUPS now has a MP160 driver. But print quality is rather poor for photo's. So I still wanted the Canon AU driver.

One thing needs to be added. Somehow the software is looking for some files in /usr/bin, but they are located in /usr/local/bin

Here is the CUPS error log on this:

[Job 53] /bin/sh: /usr/bin/cifmp160: not found
D [28/Aug/2009:20:05:18 +0200] [Job 53] GPL Ghostscript 8.64: Unrecoverable error, exit code 1

and here the second one:

/usr/bin/lgmonmp160: not found

So I made symlinks for all Canon files located in /usr/local/bin in /usr/bin

Now my MP160 prints OK.

Even better, as the Canon driver seems a postscript filter and not a raster I guess CUPS will accept icc profiles. I will try some time soon.

Nicolas said...

Did you install the Canon driver from source ?
in this case, there is probably a
option to add to the ./configure step, so that the program will install in /usr/bin and not in /usr/local/bin

Just said...

Bonjour Nicolas!

I did not use the source. I used the 3.00 deb package for the common and Gdebi to install that. I used the rpm package and alien/Gdebi for the printer specific part.

I will try compile the source with that prefix. It will take some time though. Woud be super if it works!!

Slam said...

I have a Pixma mp620 under Ubuntu Karmic K 9.10 But have totally lost the ability to print. This driver is only for 32b systems I use 64bit Does anyone know how to install it for 64b?

DannyStaple said...

I've found that the Canon PIXMA ip5300 driver will print successfully on a PIXMA MX7600. Glad I did - I spent ages trying to get it to print with Linux.

This works in Ubuntu - not tried with other distro's yet.