Getting Canon PIXMA to work on Linux

Ubuntu 14.10 64bit Installation
I was really worried because I was replacing a Canon MP620 printer that was a real hassle to setup on Linux. Fortunately, the MX925 worked right out of the box!
 * Connect the printer to your network, wired or wireless.
 * Download the DEB packages from Canon. http://www.canon.dk/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_mx_series/mx925.aspx?type=download&language=&os=LINUX
 * Unpack the tar.gz archives.
 * Run the install.sh script from the package.
 * Answer the installer script's questions.
 * Start Printing! (Everything worked for me right out of the box).

I am using wired network for the printer and wireless for my Ubuntu Laptop. I suspect that the wireless setup will be the same, and using a USB connection should be a walk in the park (on a bright sunny day to boot).

Instructions for Ubuntu 14.04 and Linux Mint 17
The Canon PIXMA printers no longer work for recent Linux distributions.

1) Execute the commands below in a terminal (Ctrl + Alt + T) (use the actual model number of your actual printer). sudo add-apt-repository ppa:michael-gruz/canon-stable sudo add-apt-repository ppa:michael-gruz/canon-trunk  sudo apt-get update    wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/tiff3/libtiff4_3.9.7-2ubuntu1_i386.deb     sudo dpkg -i libtiff4_3.9.7-2ubuntu1_i386.deb    wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/tiff3/libtiff4_3.9.7-2ubuntu1_amd64.deb     sudo dpkg -i libtiff4_3.9.7-2ubuntu1_amd64.deb    sudo apt-get install -f
 * 1) For Pre Trusty use the following:
 * 1) For Trusty onwards use:
 * 1) for 32 bits :
 * 1) for 64 bits :

sudo apt-cache search  sudo apt-get install cnijfilter-mx860series 2) In order to actually add the printer spooler, you must do the following after the first step
 * 1) Retrieve your actual printer model (replace below  by your printer name e.g. MP630)
 * 1) then install the package that is displayed by the command above e.g.

Make sure that your printer is online and execute this : cnijnetprn --search auto This should produce something like networkcnijnet:/00-1E-8F-67-4C-D8 “Canon MP860 series” “Canon-MP860-series_00-1E-8F-67-4C-D8″ Now setup the printer queue (change the device ID according to the actual result from the command above) : sudo /usr/sbin/lpadmin -p canonmx860 -m canonmx860.ppd -v cnijnet:/00-1E-8F-9C-40-5A -E On 14.04 the command should be: sudo /usr/sbin/lpadmin -p canonmx860 -P canonmx860.ppd -v cnijnet:/00-1E-8F-9C-40-5A -E

The printer and the printer scanner should both become available. Do not forget to install the Xsane Scanning application (much better than Simple Scan) if your printer has an embedded scanner.

Sources :

http://linuxg.net/how-to-install-drivers-for-canon-printers-pixma-mx-series-on-ubuntu-14-04-trusty-tahr-linux-mint-17-qiana-and-their-derivative-systems/ and this page/



Instructions for Ubuntu 8.x?
Canon released its Linux printer drivers and tools at the end of 2009. This article attempts to fill the gaps in Canon's instructions. Note that many Canon printers are supported by drivers from other Canon models. Please refer to https://wiki.ubuntu.com/HardwareSupportComponentsPrintersCanon

Step by Step Guide
Get the drivers at http://software.canon-europe.com/. Drivers are available as binary .rpm and .deb packages and also in source form. Binary packages, available for both the x86 and amd64 architectures, should be easier to install in most cases.

Unpack the packages. You will get two directories with names like ccnijfilter-mp560series-3.20-1-i386-deb and guidemp560series-pd-3.20-1_en. The guide directory contains instructions which may be sufficient. cd cnijfilter*

If you are on amd64 machine, make a backup of the original install.sh script then edit the install.sh file. Modify the line containing "sudo dpkg" by adding "--force-architecture" option, so it looks like this: .. sudo dpkg --force-architecture ...

Now save install.sh and execute it as root sudo ./install.sh

According to Canon's instructions this should do the complete installation. However, in some cases it may end with: The printer registration has not been completed. Register the printer manually by using the lpadmin command.

If that happens, you will have to finish the installation manually, as follows.

Finishing installation manually.
Check that the Canon tools are installed and are runnable (they are installed in /usr/bin and have name starting with "cn", e.g /usr/bin/cngpij).

The Canon guide suggests restarting the cupsys at this point: cd /etc; sudo ./cupsys restart Make sure that your printer is online and execute this: cnijnetprn --search auto This should produce something like network cnijnet:/00-1E-8F-67-4C-D8 "Canon MP560 series" "Canon-MP560-series_00-1E-8F-67-4C-D8" Now setup the printer queue: sudo /usr/sbin/lpadmin -p canon560 -m canonmp560.ppd -v cnijnet:/00-1E-8F-67-4C-D8 -E In the above command, the '-p' option specifies printer name, the '-m' option specified PPD file. The PPD file for your printer should be included in your binary driver package and at this point should have been installed in /usr/share/ppd directory. The '-v' option specifies the device's uri (copy it from cnijnetprn's output). The '-E' option at the end "enables the destination and accepts jobs; this is the same as running the cupsaccept(8) and cupsenable(8) programs on the destination." (taken from the man page for lpadmin).

Now restart the cupsys one more time and your printer should be working.

Tools.
cngpijmonmp560 is the status monitor (also shows ink levels)

cngpij is the maintenance utility which allows you to do things like clean the print heads, align the print heads, check the nozzles, enable Quiet Mode, etc.

Both require -P option

Other notes/gaps and missing information.
The Canon MP560 tends to fall asleep after a period of inactivity and does not wake up when printing from Linux.

This article for installation works on every version of cnj* package. Download the software elsewhere, i.e. don't rely on the link provided. These instructions worked on my Debian Wheezy OS. Make sure cups is installed before trying to install this package. If you've already installed this package and your installation isn't working, confirm you have cups installed. If not, uninstall this package, install cups (apt-get install cups) then reinstall this package. Works like a charm.

More information is needed on scanning.

The michael-gruz launchpad ppa is obsolete, latest version: precise