Ubuntu 14.10 64bit Installation

I was really worried because I was replacing a Canon MP620 printer, it was a real hassle to setup on Linux, but the MX925 was working out of the box)

I am using Wired network for the printer and wireless for my Ubuntu Laptop. I suspect that wireless setup will be the same., and USB should be a walk in the park

Instructions for Ubuntu 14.04 and Linux Mint 17

The Canon PIXMA printers do not work anymore for recent linux distributions.

1) Execute the commands below in a terminal (CTRL + ALT + T) (change the printer model with your actual printer)

#For Pre Trusty use the following:

sudo add-apt-repository ppa:michael-gruz/canon-stable

#For Trusty onwards use:

sudo add-apt-repository ppa:michael-gruz/canon-trunk

sudo apt-get update

#for 32 bits : 
   sudo dpkg -i libtiff4_3.9.7-2ubuntu1_i386.deb
   #for 64 bits : 
   sudo dpkg -i libtiff4_3.9.7-2ubuntu1_amd64.deb
   sudo apt-get install -f
#Retrieve your actual printer model (replace below <model_name> by your printer name e.g. MP630)
sudo apt-cache search <model_name>

# then install the package that is displayed by the command above e.g. 
sudo apt-get install cnijfilter-mx860series

2) In order to actually add the printer spooler, you must do the following after the first step

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 accordingly to the actual result 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 become available. Do not forget to install the Xsane Scanning application (much better than Simple Scan) if your printer has an embedded scanner.

Sources : and this page/

Instructions for Ubuntu 8.??

Canon released its Linux printer drivers and tools at the end of 2009. This article attempts to fill the gaps in Canon instructions. Do note that many of Canon printers are supported by other drivers, see e.g.

Step by Step Guide

Get the drivers at Drivers are available as binary rpm and deb packages and in the source form. Binary packages should be easier to install in most cases(they are for x86 architecture, but they should work on amd64 as well).

Unpack the packages. You will get two directory 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 in many cases.

cd cnijfilter*

If you are on amd64 machine, then save the original script and edit, find the place where "sudo dpkg" is invoked and add "--force-architecture" option, so the relevant line will look like this:

.. sudo dpkg --force-architecture ...

Now save and execute it as root

sudo ./

Accordingly to Canon's instructions this should do the complete installation, but 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 installation manually.

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).

Canon guide suggests to restart 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

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, the '-v' option specifies device uri (copy it from cnijnetprn's output).

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


cngpijmonmp560 is the status monitor (also shows ink levels)

cngpij is a driver GUI which allows to do many common operations (head cleaning, paper size, etc).

Both require -P <printer> option

Other notes/gaps and missing information.

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

Community content is available under CC-BY-SA unless otherwise noted.