How To Install A (Canon) Printer On Debian And Debian-Like Systems

Want to support HowtoForge? Become a subscriber!
 
Submitted by freebourg (Contact Author) (Forums) on Wed, 2011-05-18 17:05. :: Debian | Linux | Ubuntu | Desktop

How To Install A (Canon) Printer On Debian And Debian-Like Systems

This tutorial will cover how to install the well-known CUPS printing system, and optionally tell you how to have your Canon printer work. There are extra details about where to find Canon drivers and how to install the "Print to PDF" feature.

 

Cups Installation

If you didn't check any option at the Debian network installation, you will need to download and install a few packages.

Run the following command as root:

# apt-get install cups cups-client "foomatic-db*"

This will install CUPS and download a database of printer drivers.

 

 Allow Users To Print

As the Debian distribution installs a secure Linux system on your computer, most of the permissions involved by installing packages are "opt-in". This means you have to explicitly grant permission to users so that they can print.

This is done by adding them to the lpadmin group:

# adduser YOUR_NORMAL_ACCOUNT lpadmin

 

Configure Your Printer

Power on and plug your printer, and then browse to http://localhost:631/

Go to the Administration tab and click Add printer. At that point you will be required to type your normal user and password (not root).

CUPS will look for printers available on the network or attached to your computer.

Choose your printer in the Local printers section.

Fill the form if you want to, then see if your printer driver is in the list.
NB: Your exact model number is probably not in the list, however if you've got a 3030 printer, the 3000 driver is the one you need.

If you don't find your printer in the list, either the driver just doesn't exist for non-Windows OS / Mac OS, or it is proprietary (non-free).

If you bought a Brother or HP printer, you're lucky because all of their current printers are provided with an opensource driver. Install the hplip package for Hewlett Packard printers.

You can't find Canon drivers on non-free repositories. You have to go to the Canon website and download them.

 

Download A Canon Printer Driver

Go to www.canon.com, select your country and language, then go to the Support page, find your printer (in category "Printer" or "Multifunction").
Choose "Linux" as your operating system. Let the language setting as it is. (Because maybe the drivers could be hidden if the included manual doesn't exist in your language).

Download that UFR II driver file.

 

Install Canon UFR II Driver

You'll end up with a zip file / archive.

Open your Terminal again, change to your Downloads directory, and unzip that file:

$ unzip *ufr2*.zip

The unzipped directory is the language you choose, e.g. "english" or "italiano". cd to that directory, then open the "driver" directory corresponding to your architecture (32 or 64 bits), and finally open the RPM folder.

As you may know, RPM is the "Red Hat Package Manager", but Debian uses APT. RPM files have the ".rpm" extension and Debian packages get a ".deb" extension.

So, we will have to convert them.

For that purpose, install a program called alien. And I'd advice to install fakeroot as well. (Fakeroot allows you to work on Debian packaging without root privileges, which are not needed until the installation part.)

# apt-get install alien fakeroot

Then convert the packages:

 $ fakeroot alien --to-deb *.rpm

Finally you can now install them as usual:

# dpkg -i *.deb

 

Configure Your Printer

Reload the "Add printer" page on the CUPS web interface, and this time you should be able to find your printer model in the list. (You can also press "Choose another ...." and go back to "Canon" again.)

You should not need to restart cups, but if you want to, just to be sure, do the following as root:

# service cups restart

Voilà ! You've successfully installed your printer!

 

Print To PDF

Here is a trick that could be helpful. If you're using an application that doesn't provide an "Export to PDF" function, you can simply print as normally and select a special "PDF printer."

In order to do that, you have to install the "cups-pdf" package:

# apt-get install cups-pdf

Your "PDF printed" documents will be put in a folder called "PDF" in your home directory, i.e. ~/PDF/

You may have to create this directory yourself if you have issues with the cups PDF printer.

 

Use The CUPS Web Frontend

The CUPS web user interface is the place to go whether you need to manage your printers and printing jobs, and find the reasons of printing issues. You can pause or cancel a job and even re-print a document.

Note you have to modify your /etc/cups/cupsd.conf configuration file if you want the interface to be accessible from other computers in your network.


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Anonymous (not registered) on Thu, 2014-02-13 16:05.

On Debian Wheezy amd64 version, you need to enable multiarch.
To enable , be root and invoke
dpkg --add-architecture i386
then, type
apt-get update
apt-get install ia32-libs-i386

Those might work for you(also README file of the driver).

Submitted by Anonymous (not registered) on Tue, 2014-01-07 00:29.
Nope doesn't work. Don't know what's wrong but none of my printers show up when I look for them. Even the HP printers and I did download and install the ip files.
Submitted by Andriy (not registered) on Tue, 2013-12-10 20:27.
Worked great here on Debian wheezy x64 with an MG3255. Thanks!
Submitted by Stefan Bregenzer (not registered) on Sun, 2013-01-20 23:13.
Hi,

I made a tutorial where I describe the installation of canon pixma mx715 in linux ubuntu (scanner + printer):


I think it also helps with other models, because it's the same way only other driver data (you can translate the site to english with the flag-icon on the right side of the blog)

greetings,

Stefan Bregenzer
Submitted by jbmere (not registered) on Fri, 2012-12-07 09:02.

Hi there,

After doing every step mentioned here, thank you very much for provide them, I still found problems because the authentication user code.

When I print from Windows, the driver rise up a windows asking me the user code  and password allowing to print over the device. This is missed in Linux. What is going wrong here?

Maybe I missed some basic steps ?

Is there  any help available ?

Thank you

Submitted by Jeff (not registered) on Mon, 2012-07-16 22:02.
Worked great here on Ubuntu 10.10 x64 with an MF-5950. Thanks!
Submitted by Dan (not registered) on Wed, 2012-05-23 10:19.

I downloaded the drivers for my company's Canon IRC3080i from Canon, and used these instructions to install them on Linux Mint 13...worked!

 Without the Canon drivers, sending anything to the printer just gave hundreds of pages of garbage from the printer.

 Thanks for these instructions!

 

Submitted by DarkDragon (registered user) on Tue, 2011-05-24 09:27.
Great information thank you I have been searching everywhere for this 
Submitted by Lawrence (not registered) on Fri, 2011-05-20 17:43.

Nice article, very informative and useable.

A point of caution though. Your procedure gives the idea that the linux drivers are there so all you have to do is select the OS (operating system). In fact, canon's linux support is very inconsistent. For  example, there is no Linux driver at all for the Canon Pixma iP2702 on the Canon site if you select North America at Canon's home page. Linux does not show up in the OS selection drop down list at all. But there are several versions of OSX and practically every version of Windows.

 I checked on this particular printer because I have an iP2700 that I managed to get it to work on my Ubuntu 10.04LTS 32 bit install only to discover that I cannot use it on my upgraded 64bit box - still running Ubuntu 10.04LTS. Tried a few hacks and work-arounds, none of which worked.

An acquaintance of mine also running Ubuntu 10.04LTS 32 bit got a Canon Pixma 1200. Many hours and several hacks and workarounds later I still can't print a word on this printer. Again, no Linux support.

Canon makes nice printers, but unfortunately,  the company is not very nice to Linux users.

 

Submitted by n2ptf (not registered) on Sun, 2011-05-22 13:38.
Same as the Pixma ip1700. I went to various world regions and still no linux drivers
Submitted by Daniel W (not registered) on Sun, 2011-05-22 01:46.
The i386 driver will install on a x86 install, you just need to use sudo dpkg -i --forcearchitecture canon~.rpm on each driver. I have done both my laptop and HTPC which are running 64 bit kernels, and both will print and scan from my Canon MP560 albeit crudely on the printing in some ways. It's not like as if it's a major loss to Canon if they don't cater to the most unused OS on the desktop out there is it?
Submitted by Alfred (not registered) on Sat, 2011-05-21 22:34.
If you are stuck with a Canon printer there are drivers available at Turboprint.de. They are not free but you can try a crippled version to se if it will work wiyh your printer. I used it to run a Canon Pixma successfuly but finally got smart and bought HP.
Submitted by Espaqu (not registered) on Sat, 2011-05-21 18:43.
Well stated. You could have elaborated on how selecting a region affects the availability of drivers. Selecting "North America" seems to provide the smallest number of choices, while "Australia" seems to have to most. Don't know why there should be that difference, but as long as I can find an appropriate driver, I don't care where I have to go to get it. 
Submitted by GregE (not registered) on Sat, 2011-05-21 12:43.

Canon do supply drivers for Linux, but you have to go to the European or Asian Canon support to get them. The supplied drivers are 32bit only and come packaged with an install script that must be run as a superuser. Both deb and rpm versions are available. My Pixma MP640 works very well under Debian, Mint and Ubuntu. On a 64bit system you need to edit the install script to --force-archtecture and you must also have ia32-libs installed.

I have had an issue with 64bit natty in that the install script fails due to a dependency issue. The debs need repackaging. If you do a minimal maverick install, install the driver then do a dist-upgrade - then the driver works as it should. 

 My multifunction prints and scans across my home network. Not as easy as using HPLIP, but doable.

 

Submitted by Alejandro (not registered) on Wed, 2013-01-09 19:29.

This is the latest location for the drivers on the australian site:

http://support-au.canon.com.au/P/search?model=imageRUNNER+iR+C3080i&menu=download&filter=0&tagname=g_os&g_os=Linux