How can I install a Canon printer or scanner driver?

Solution 1:

PPA

I found the solution!

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

for older releases use ppa:michael-gruz/canon.

Finally,

sudo apt-get install [model]

Printer

Where [model] would be for:

Canon Pixma iP Series Ubuntu driver

Canon iP100 Ubuntu Driver -  cnijfilter-ip100series
Canon iP1800 Ubuntu Driver - cnijfilter-ip1800series
Canon iP1000 Ubuntu Driver - cnijfilter-pixmaip1000series
Canon iP1500 Ubuntu Driver - cnijfilter-pixmaip1500series
Canon iP1900 Ubuntu Driver - cnijfilter-ip1900series
Canon iP 2200 Ubuntu Driver - cnijfilter-ip2200series
Canon iP2500 Ubuntu Driver - cnijfilter-ip2500series
Canon iP2600 Ubuntu Driver - cnijfilter-ip2600series
Canon iP2700 Ubuntu Driver - cnijfilter-ip2700series
Canon iP3300 Ubuntu Driver - cnijfilter-ip3300series
Canon iP3500 Ubuntu Driver - cnijfilter-ip3500series
Canon iP3600 Ubuntu Driver - cnijfilter-ip3600series
Canon iP4200 Ubuntu Driver - cnijfilter-ip4200series
Canon iP4500 Ubuntu Driver - cnijfilter-ip4500series
Canon iP4700 Ubuntu Driver - cnijfilter-ip4700series
Canon iP4800 Ubuntu Driver - cnijfilter-ip4800series
Canon iP5200 Ubuntu Driver - cnijfilter-ip5200series
Canon iP6600 Ubuntu Driver - cnijfilter-ip6600series
Canon iP7500 Ubuntu Driver - cnijfilter-ip7500series

Canon Pixma MG Series Ubuntu Driver

Canon MG5100 Ubuntu Driver - cnijfilter-mg5100series
Canon MG5200 Ubuntu Driver - cnijfilter-mg5200series
Canon MG6100 Ubuntu Driver - cnijfilter-mg6100series
Canon MG8100 Ubuntu Driver - cnijfilter-mg8100series

Canon PIXMA MP Series Ubuntu Driver

Canon MP140 Ubuntu Driver - cnijfilter-mp140series
Canon MP160 Ubuntu Driver - cnijfilter-mp160series
Canon MP190 Ubuntu Driver - cnijfilter-mp190series
Canon MP210 Ubuntu Driver - cnijfilter-mp210series
Canon MP240 Ubuntu Driver - cnijfilter-mp240series
Canon MP490 Ubuntu Driver - cnijfilter-mp490series
Canon MP500 Ubuntu Driver - cnijfilter-mp500series
Canon MP510 Ubuntu Driver - cnijfilter-mp510series
Canon MP520 Ubuntu Driver - cnijfilter-mp520series
Canon MP540 Ubuntu Driver - cnijfilter-mp540series
Canon MP550 Ubuntu Driver - cnijfilter-mp550series
Canon MP560 Ubuntu Driver - cnijfilter-mp560series
Canon MP600 Ubuntu Driver - cnijfilter-mp600series
Canon MP610 Ubuntu Driver - cnijfilter-mp610series
Canon MP630 Ubuntu Driver - cnijfilter-mp630series
Canon MP640 Ubuntu Driver - cnijfilter-mp640series

Canon MX Series Ubuntu Driver

Canon MX320 Ubuntu Driver - cnijfilter-mx320series
Canon MX330 Ubuntu Driver - cnijfilter-mx330series
Canon MX350 Ubuntu Driver - cnijfilter-mx350series
Canon MX360 Ubuntu Driver - cnijfilter-mx360series
Canon MX410 Ubuntu Driver - cnijfilter-mx410series
Canon MX420 Ubuntu Driver - cnijfilter-mx420series
Canon MX860 Ubuntu Driver - cnijfilter-mx860series
Canon MX870 Ubuntu Driver - cnijfilter-mx870series
Canon MX880 Ubuntu Driver - cnijfilter-mx880series

Canon PIXUS Series Ubuntu Driver

Pixus 550 Ubuntu Driver - cnijfilter-pixus5510iseries
Pixus 560 Ubuntu Driver - cnijfilter-pixus560iseries
Pixus 850 Ubuntu Driver - cnijfilter-pixus850iseries
Pixus 860 Ubuntu Driver - cnijfilter-pixus860iseries
Pixus 865 Ubuntu Driver - cnijfilter-pixus865iseries
Pixus 950 Ubuntu Driver - cnijfilter-pixus950iseries
Pixus 990 Ubuntu Driver - cnijfilter-pixus990iseries
Canon Pixus ip3100 Ubuntu Driver - cnijfilter-pixusip3100series
Canon Pixus ip4100 Ubuntu Driver - cnijfilter-pixusip4100series
Canon Pixus ip8600 Ubuntu Driver - cnijfilter-pixusip8600series

Reference: http://www.ubuntubuzz.com/2011/06/download-install-canon-printer-driver.html

Scanner

If you would like to download the scanner application (and driver) install one of these packages (according to your model number):

scangearmp-mg5100series
scangearmp-mg5200series
scangearmp-mg6100series
scangearmp-mg8100series
scangearmp-mp140series
scangearmp-mp160series
scangearmp-mp190series
scangearmp-mp210series
scangearmp-mp240series
scangearmp-mp250series
scangearmp-mp270series
scangearmp-mp280series
scangearmp-mp490series
scangearmp-mp495series
scangearmp-mp510series
scangearmp-mp520series
scangearmp-mp540series
scangearmp-mp550series
scangearmp-mp560series
scangearmp-mp600series
scangearmp-mp610series
scangearmp-mp630series
scangearmp-mp640series
scangearmp-mx320series
scangearmp-mx330series
scangearmp-mx340series
scangearmp-mx350series
scangearmp-mx360series
scangearmp-mx410series
scangearmp-mx420series
scangearmp-mx860series
scangearmp-mx870series
scangearmp-mx880series

Then look for "Scan Gear MP" or run from the terminal:

scangearmp

Solution 2:

For 14.04 through 20.04 do the following:

  1. Download the drivers from: https://www.usa.canon.com/internet/portal/us/home/support/details/printers/black-and-white-laser/mf4770n?tab=drivers#Z7_MQH8HIC0L88RB0AMD0F1Q42K25

  2. Extract the file archive to a directory. From that directory:

    cd ~/Downloads
    tar -xf *inux_UFRII*.tar.*
    sudo dpkg -i *inux_UFRII*/*/Debian/*.deb
    sudo apt-get install -f
    
  3. It shouldn't be necessary to reboot, but if the next step fails, reboot and try again.

  4. Run "Add printer". That should just show up automatically when you click the 'Add' button. Give it a few seconds and the printer chirps then just magically shows up.

EDIT 2/27/16 (16.04beta) Updated the link to the 3.10 driver (they updated their website). Everything just worked using above, didn't need to reboot.

EDIT 9/8/16: The current driver version is now 3.20. Make installation commands agnostic to both the driver version and the system architecture.

EDIT 06/12/20: The current driver version is now 5.10. Adjusted the installation steps for different wildcards.

Solution 3:

For many (but not all) Canon printers and scanners we can download a proprietary Linux driver from Canon Asia. If a driver was not yet listed in the Canon web search tool linked above we may still find links to the appropriate driver downlaods from the Canon product overview page. Download the Debian package archives to install the proprietary printer drivers with the Ubuntu Software Center by a double click on them.

The proprietary scanner application scangearmp will not install with SANE and hence can not be used with applications based on SANE. After installation is it run from the terminal:

scangearmp

Note that drivers available there support a series of printers but not a subset of of this series. This is usually indicated by the product numbering (e.g. for a Pixma IP 2820 you will download the driver for the IP2800 series, for a PIXMA MX457 you will need the driver for the MX450 series, etc.)

Older drivers may also be available from ppa:michael-gruz/canon-trunk.

Some Canon printers are also supported by the Gutenprint drivers. Borderless or high resolution photo-printing may not be supported.

You may note that these drivers allow printing but they usually will not fully support all printer features. This has been like that for all Canon printers for reasons only Canon knows of.

In case we need a driver that fully supports all printer features there is a commercially available printer driver Turboprint which actually works great but you may not want to support their rather weird and expensive licencing plan (starting from $34 for one computer and two printers with free updates for 6 months only).