How to Install a Canon MF8040Cn Printer on Ubuntu 12.04. No help from Canon who say they support linux but don't even have a driver download on their site!


I answered this on this SO question but here's that answer, reprinted.

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.

  • The link must have changed. That page does not show drivers at all. You can click on a Support button which takes you to a drivers page. The site may autodetect Linux and display no drivers. If that happens, choose your version (32 or 64 bit) to see the drivers.
    – revnoah
    Feb 1 '16 at 17:19
  • Thanks, I updated the link and also updated for 16.04beta since I just installed it and needed to install drivers again.
    – JimB
    Feb 27 '16 at 18:45

This guide is for installing a Canon MF8000C series printer on Ubuntu 12.04. I'm using 64-bit ubuntu plus MF8040Cn but the guide should hopefully work for any printer in the series (and maybe even others).

As an alternative to this guide, Bob Vincent has also written shell scripts (32 & 64 bit) that people seem to use successfully. Downloadable from this thread which has more background info: https://bugs.launchpad.net/ubuntu/+bug/502920?comments=all

Here it goes...

Step 1 - Download driver (rpm - non ubuntu package) The first challenge is to find the latest version of the UFR II driver for linux. I found it by searching for a similar printer on canon asia:


Step 2 - Extract identify the drivers Open the downloaded file in the archive manager and extract it to the desktop. Then open up a terminal and do the following:

cd ~/Desktop/Linux_UFRII_PrinterDriver_V250_uk_EN/

or similar if this was not your exact version

cd 64-bit_Driver/RPM/

If you are running 32-bit, change to 32-bit instead of 64-bit (You can tell you're running 64-bit in the "System Monitor")

Step 3 - Covert the .rpm files to .deb so that ubuntu can install them

sudo apt-get install alien

Install the alien application that will convert the files for you

sudo alien --to-deb --scripts cndrvcups-common-2.50-1.x86_64.rpm
sudo alien --to-deb --scripts cndrvcups-ufr2-uk-2.50-1.x86_64.rpm

Repackage to deb (ubuntu installation files)

sudo dpkg -i cndrvcups-common_2.50-2_amd64.deb
sudo dpkg -i cndrvcups-ufr2-uk_2.50-2_amd64.deb

Install the deb files

Step 4 - Ensure Apparmor (security app) does not block using of the printer (seems necessary for 12.04 and after)

sudo gedit /etc/apparmor.d/local/usr.sbin.cupsd 

This opens the apparmor config file you need to change. Add the following to it and close the text editor again:

/usr/lib64/cups/backend/cnusb Uxr,
/usr/lib64/cups/filter/pstoufr2cpca Uxr,

Then execute:

ln -s /usr/lib64/lib* /usr/lib/x86_64-linux-gnu/

64-bit only - ensure libraries are found

sudo apt-get install libjpeg62:i386

Install libjpeg, don't know why but people say you should do it and it works...

sudo /etc/init.d/apparmor restart

Restart apparmor to read new config.

Step 5 - Install your new network printer (start the printer and connect the network cable to your network first :)) Open ubuntu's printer application and choose add. Expand the network printer area. If you're lucky your printer appears automatically, if not you can search for it by IP, if you don't know the IP of your printer, you can get that from printer info through the printer lcd (see manual for details)

Print away!

  • This worked for the ImageClass MF4770n on 12.04 but it does not seem to work on 14.04.
    – Kevin
    Jul 5 '14 at 23:02
  • Canon have started bundling drivers for ubuntu/debian. Did you try installing with the packaged .deb files?
    – Kristofer
    Jul 7 '14 at 5:02
  • I did not see any bundled drivers on the Canon site.
    – Kevin
    Jul 7 '14 at 5:13

I installed successfully the Canon ImageClass MF4770n on 14.04 64-bit. I followed Kristofer instructions but you need to install the ia32-libs. Just follow Mike instruction from this link: https://stackoverflow.com/questions/23182765/how-to-install-ia32-libs-in-ubuntu-14-04-lts. Do not forget to change the repository to http://old-releases.ubuntu.com/ubuntu/ like Tim Wu said in his comment.

Not the answer you're looking for? Browse other questions tagged or ask your own question.