How to Install a Canon MF8040Cn Printer on Ubuntu 12.04 [duplicate]
I answered this on this SO question but here's that answer, reprinted.
For 14.04 through 20.04 do the following:
-
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
-
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
-
It shouldn't be necessary to reboot, but if the next step fails, reboot and try again.
-
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.
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:
http://support-asia.canon-asia.com/contents/ASIA/EN/0100270810.html
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!