Leon's Weblog

November 21, 2009

Setting up a Canon MX860 Printer on a 64-Bit Linux System

Filed under: Gadgets — Leon @ 4:41 pm

Canon MX860 I bought the MX860 printer because I knew it had Linux support but getting it setup was a bit harder than I had anticipated. The fist step was getting the proper drivers (since the CD that came with the printer only had Windows and MacOS drivers). Luckily the Linux drivers were available on the Canon Europe page at the following link.

The drivers are available in 3 formats: RPM package, Deb package, and the source code. After several failed attempts at getting the source code to compile, I tried installing the RPM package. Unfortunately, I run a 64-bit system and the packages were compiled for a 32-bit. The drivers essentially provide two CUPS backends: cnijnet and ncijusb. However, these files were placed in /usr/lib/cups/backend instead of in /usr/lib64/cups/backend where I needed them. Copying the files to the proper location allowed CUPS to see the drivers and I was pleasantly surprised that this actually worked. Similarly the RPM installed a CUPS filter pstocanonij into /usr/lib/cups/filter instead of into /usr/lib64/cups/filter so this file needs to be copied as well. Just make sure to restart the CUPS server using the following command before continuing to the next step: /etc/init.d/cups restart

Before playing with the CUPS configuration, I wanted to test that the drivers were installed properly and could find the printer on the network. To do this just run /usr/lib/cups/backend/cnijnet from the command prompt and it should return the device URI for the printer. If this works, just open to the CUPS config page in your browser of choice at http://localhost:631/ and add the new printer. The Canon MX860 series Ver.3.10 driver should be available in the pick-list. If the test page does not come out, check your firewall settings. You may also find other discussions on setting up the MX860 in Linux useful. Good luck.

P.S. I have used this printer with my Linux setup for more that 4 years without problems. I also found generic ink cartridges at a fraction of the OEM brand cost that work just as well. It’s worth a try if you print a lot of documents.

Update 08/26/13: I recently updated my OS to OpenSuse 12.3 and ran into some additional trouble with the printer installation. Luckily I saved the rpm files from the last time that I installed this printer because Canon no longer links to them on their site (only the driver source code is provided and I could not get it to compile on my system). If you need the files don’t worry. You can still download them here.

Installing the rpm involved an additional problem of locating the proper dependencies. Even with all required libraries installed, RPM complained that libtiff.so.3 was missing (it is an old library… libtiff.so.5 is now standard). I forced the RPM to install ignoring this dependency and everything worked fine. To do this, just install the packages directly and do not use the install.sh script.

A few final words for success. My system no longer configured CUPS to store the drivers in /usr/lib64 so moving the file from /usr/lib was no longer required. Remember to disable the Linux firewall when adding the printer in CUPS. You can enable it again after the printer is installed. Also use the Gutenprint ‘simplified’ driver for best results.