The Canon PIXMA MP560 on Ubuntu

I’ve resisted getting an all-in-one printer / scanner / copier device in the past, largely due to worrying about the driver situation on Linux, but when I found out that my scanner hadn’t survived the trip to Zürich and we were also without a printer, we risked it and bought a Canon PIXMA MP560.

I say “risked”, because the noise levels in the search results when trying to find out whether this printer would actually work were very high.  In the hope that it will be of use to anyone similarly searching in the future, I thought it might be useful to add the following notes about things that definitely work for us.  (There are lots of things that we haven’t simply tried yet, e.g. printing via USB or scanning via USB, so I can’t comment on what’s involved in getting those to work.)

Update: with these drivers the printer does seem to have trouble printing more complex pages – it’ll only print out the top eighth of the page and then give up.  e.g. as an example, try printing out the English rules for Tobago (PDF linked from that page).  Rather annoying, and I haven’t had time to report it to Canon yet.

Obviously I can’t provide support if you’re having problems with this printer, so this is just to describe what worked for us on Ubuntu 9.04 (Jaunty Jackalope), 10.04 (Lucid Lynx) and 11.04 (Natty Narwhal).  I’m pretty happy with this printer, and it’s great to see that Canon are supporting Linux users by providing drivers.

Printing over Wireless

The instructions supplied with the printer explain how to get it to connect to your wireless network, which worked fine with WPA2 (AES).

Then you need to go to the drivers page for the PIXMA MP560 on Canon’s website, select “Linux” and “English”, and download “Debian Linux Print Drivers (3.2)”.  That’ll give you a tar file, which you should unpack in a new directory.  This in turn contains a tar.gz archive called cnijfilter-mp560series-3.20-1-i386-deb.tar.gz.  Unpack that and you’ll get the following:

cnijfilter-mp560series-3.20-1-i386-deb/
cnijfilter-mp560series-3.20-1-i386-deb/packages/
cnijfilter-mp560series-3.20-1-i386-deb/packages/cnijfilter-common_3.20-1_i386.deb
cnijfilter-mp560series-3.20-1-i386-deb/packages/cnijfilter-mp560series_3.20-1_i386.deb
cnijfilter-mp560series-3.20-1-i386-deb/install.sh

The “install.sh” script will fail if your setup is like either of ours, with the error message:

==================================================
Canon Inkjet Printer Driver Ver.3.20-1 for Linux
Copyright CANON INC. 2001-2009
All Rights Reserved.
==================================================
Error! Cannot specify package management system.

This error arises when both “dpkg” and “rpm” exist in your path, so you need to edit install.sh to cause the test for “rpm” to fail – find these lines:

## Judge is the distribution supporting rpm? ##                                                                                                                
 rpm --version 1> /dev/null 2>&1                                                                                                                                
 c_system_rpm=$?

… and change “rpm –version” to “rpm-no-thanks –version”, or something.  If you re-run ./install.sh then it should all work OK.  (I’ve put in bold the bits where you need user interaction.

 : mark@cava:~/Desktop/canon-drivers/cnijfilter-mp560series-3.20-1-i386-deb (master)
 ./install.sh
==================================================
Canon Inkjet Printer Driver Ver.3.20-1 for Linux
Copyright CANON INC. 2001-2009
All Rights Reserved.
==================================================
Execution command = sudo dpkg -iG ./packages/cnijfilter-common_3.20-1_i386.deb
[sudo] password for mark: 
(Reading database ... 490522 files and directories currently installed.)
Preparing to replace cnijfilter-common 3.20-1 (using .../cnijfilter-common_3.20-1_i386.deb) ...
Unpacking replacement cnijfilter-common ...
Setting up cnijfilter-common (3.20-1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place/sbin/ldconfig.real: /usr/local/lib/ is not a symbolic link
Execution command = sudo dpkg -iG ./packages/cnijfilter-mp560series_3.20-1_i386.deb
(Reading database ... 490522 files and directories currently installed.)
Preparing to replace cnijfilter-mp560series 3.20-1 (using .../cnijfilter-mp560series_3.20-1_i386.deb) ...
Unpacking replacement cnijfilter-mp560series ...
Setting up cnijfilter-mp560series (3.20-1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
/sbin/ldconfig.real: /usr/local/lib/ is not a symbolic link

## Driver packages installed. ##
#=========================================================#
#  Register Printer
#=========================================================#
Next, register the printer to the computer.
Connect the printer, and then turn on the power.
To use the printer on the network, connect the printer to the network.
When the printer is ready, press the Enter key.
> #=========================================================#
#  Connection Method
#=========================================================#
 1) USB
 2) Network
Select the connection method.[1]2
Searching for printers...

#=========================================================#
#  Select Printer
#=========================================================#
Select the printer.
If the printer you want to use is not listed, select Update [0] to search again.
To cancel the process, enter [Q].
-----------------------------------------------------------
 0) Update
-----------------------------------------------------------
Could not detect the target printer.
-----------------------------------------------------------
(Currently selected:[0](Update) )
[At this point I remembered to turn on the printer...]
Enter the value. [0]0
Connect the printer, and then turn on the power.
To use the printer on the network, connect the printer to the network.
When the printer is ready, press the Enter key. > Searching for printers..

#=========================================================#
#  Select Printer
#=========================================================#
Select the printer.
If the printer you want to use is not listed, select Update [0] to search again.
To cancel the process, enter [Q].
-----------------------------------------------------------
 0) Update
-----------------------------------------------------------
Target printers detected (MAC address  IP address)
1) Canon MP560 series (00-1E-8F-64-60-96 192.168.1.5)
-----------------------------------------------------------
(Currently selected:[1]Canon MP560 series (00-1E-8F-64-60-96 192.168.1.5)) 
Enter the value. [1]
#=========================================================#
#  Printer Name
#=========================================================# 
Enter the printer name.[MP560LAN]mp560-again
Execution command = sudo /usr/sbin/lpadmin -p mp560-again -m canonmp560.ppd -v cnijnet:/00-1E-8F-64-60-96 -E
#=========================================================#
#  Set as Default Printer
#=========================================================# 
Do you want to set this printer as the default printer? (yes/no) [yes]no
#=========================================================#
Installation has been completed.
Printer Name : mp560-again
Select this printer name for printing.
#=========================================================#

Then the printer should be set up correctly, and you can test it by going to System -> Administration -> Printing, right clicking on the new printer, selecting “Properties” and clicking on “Print Test Page”.

Scanning over Wireless

Thanks to Fergus in the comments below for pointing out that this is easy to get working.  First, make sure that you have the package libgimp2.0 installed with:

sudo apt-get install libgimp2.0

Now, from the Canon MP560 drivers page, download “ScanGear for Linux (1.4)”, which gives you a file called MP560_Linux_Scangear.tar.  Unpack that tar file, and you’ll find within it another archive called scangearmp-mp560series-1.40-1-i386-deb.tar.gz.  Unpack that, and change into the newly created scangearmp-mp560series-1.40-1-i386-deb directory.  Then run ./install.sh – the installation should work fine.

Then you can scan with Simple Scan.

Scanning to a USB stick

As an alternative to scanning over wireless, you can plug a USB stick into the printer and scan directly to that – just follow the prompts on the display.  It only offers scanning to PDF or JPEG, unfortunately – it would be nice if PNG was another option available when scanning to a USB mass storage device.

53 thoughts on “The Canon PIXMA MP560 on Ubuntu”

  1. Thanks for this guide. I got to the point where my printer is supposed to be detected, but I keep getting the message “could not detect the target printer.” Any thoughts about what I might try would be appreciated!

    1. Great, I’m glad to hear it. On another occasion (with the printer on!) I had to try the step where it searches for the printer a couple of times before it found it.

  2. Thanks for the scanning to USB stick section.
    Was having fun trying to get it working wirelessly with Ubuntu

  3. Thanks, Mark, for the great instructions. The bold bits for user interaction were very helpful.

    The instructions worked out for me on 10.04. I first did a ‘which dpkg’ and a ‘which rpm’ to see if the update.sh would have a conflict, and since rpm wasn’t found the script just worked without any modification.

  4. Thanks! I just had to download, unpack and run ./install.sh – now I can print wireless from laptop running 10.04.

  5. Thanks. I’ve just move to ubuntu, so I was worried about coundn’t get my printer to work.

  6. I’m on 10.04, and I get the following error when I try to run install.sh:
    Error: Dependency is not satisfiable: cnijfilter-common (>= 3.20)
    I tried the rpm-no-thanks edit, but that didn’t work, either.
    Thanks!

  7. Thanks for this tutorial, it worked like a charm. Printing wirelessly in 10.04. Still haven’t figured out how to scan yet, but will try that next.

  8. thanks for the link and info!!!
    went to the website and downloaded the driver using Linux mint 9. went without a hitch and am using it wirelessly as well. amazing!
    thanks again
    Dan

  9. There is joy in Mudville! I finally got a chance to retry this. The key (for me) was to do everything from a prompt. When I was opening the download with the Archive Manager, I kept getting the error that I posted above. I saved it to a directory, tar -xvf, gunzip, tar -xvf, badabing. No runs, no hits, no errors. My Ubuntu box is tethered to the wireless router (it’s an old PC), and the printer is wireless. It just works! Thanks, Mark!

  10. Thank you for the blog entry. Printing & Scanning wirelessly with Ubuntu 10.04.1.This entry helped me choose the Canon printer. Printing: Set the printer up to talk to the wireless network. PC is wired to the wireless router. In 10.04.1 for me, the printer install script ran straight through, no clash of package installers, it found the printer and installed it in the ubuntu print control. Scanning: Downloaded the scangearmp deb archive. Extracted it. ran the install.sh. It failed. It needed the libgimp 2.0 (Gimp libraries, not included in 10.04.1), so I installed these using the standard software install tool. This gave a warning about other package installers, I followed the advice to kill those. You need to do it as root e.g. “sudo apt-get install -f”. Gimp then installed. Ran the install.sh again. It completed. Couldn’t find the executable but it turns out there will be a symbolic link for scangearmp in /usr/bin. Just type scangearmp at the command line to run or put an item in the menu to point to it. Enjoy.

    1. Thanks for the comment, Fergus. I’ve added a section on scanning over wireless, which I’ve finally got around to trying, and worked fine on Natty.

  11. I’m having the same problem Andres was. “Could not detect the target printer” comes up every time I try install, even after multiple attempts. Up to that point, install works fine though, and the cable is good because it works in Windows. Any thoughts?
    –I’m using Ubuntu 10.04 on Toshiba A665 laptop.

    1. Ken,
      Regret that you had a problem. I have two Ubuntu 10.04 laptops using the MP560 with full functionality. It took about ten minutes total after downloading the software. This multifunction device is a sweetheart of a deal at $49.99! I’ll always go with the most inexpensive functional option. If you have any pull at Microsoft, you might ask the Win 7 guys to quit screwing up Samba. That way, I could get my wife’s desktop to work properly on the home network and she could join in the fun. Windows is less of a king and more of a knave.

  12. I just purchased my MP560 on Friday (for $49.00!!). I successfully installed the drivers on one of my Netbooks without having to make any changes to the script. However, on the other box, I had to not only change the install.sh script to read “rpm-no-thanks –version” as Mark had suggested but, I had to do the same thing with the Scangear install script. Furthermore, for some reason I couldn’t get the Scangear sript to run; I had to enter “sh install.sh” before it would fire up.

    One more thing for those who might not realize it: If you wish to connect to this printer via bluetooth, you don’t have to purchase Canon’s BU-30 adaptor. Any USB bluetooth adaptor will work! Set it up by going into “Settings” on the printer’s menu, digging down to Bluetooth and giving it a pairing code. Then, pair it with whatever device suits your fancy.

    1. didnt see reply button at first but what i said is ment for u. if u dont mind could you help me out?

  13. Another thing which I just learned: The native scanning programs (XSane, Simple Scan) in Ubuntu don’t seem to pick-up the scanner. You can start it by entering ALT F2 and entering scangearmp. To make it easier (I’m a noob; I like GUIs and icons!) I created a custom launcher and enteredg scangearmp in the command line. Moved it onto my AWN dock(you can also place it onto the Gnome Panel). Works like a charm :-)

  14. This worked well on Ubuntu 10.10, 64bits, after applying small modifications suggested here and by jmcvey in another thread to use:
    1- force option, since I have 64b OS, and
    2- rpm-no-thanks

    Happily printing and scanning via USB cable.

  15. Any USB bluetooth adaptor will work! Set it up by going into “Settings” on the printer’s menu, digging down to Bluetooth and giving it a pairing code. Then, pair it with whatever device suits your fancy.

    where is the bluetooth settings located i cant find them at all.

    1. Sorry Kris, I have no reason to monitor this blog. Thus, I hadn’t seen your question.

      First, plug-in your Bluetooth adaptor to the usb port at the front of the printer. If you don’t do this, you’ll never see the Bluetooth menu option under “Device Settings”.

      1. i did and it said “unsupported Usb Driver please remeove”

        so just for giggles i went to the device settings and their is no mention of bluetooth anywhere. so i contacted cannnon support and they told me that you have to buy the BU-30 adaptor inorder to do bluetooth. i can input the emails if you wish.

  16. to kris and giggles:
    my mp560 refused to accept a noname-bt-usb-adaptor, but showed the ‘bluetooth-settings’ a while after I plugged in a Typhoon class1-bt-dongle. My Nokia E71 found the dongle correctly via bt as ‘MP-560-printer’, but it wouldn’t print.. :-(

    greetings!
    stefan

  17. Worked perfectly for me on the first try. eeebuntu standard (8.10/Hardy I think) on a netbook. Kudoos to Canon for a driver that works, and this page for pointing me to it. tx.

  18. Awesome!

    Instructions are crystal clear and very damn easy to follow. Successfully installed the printer drivers and able to take print outs.

    Thanks a bunch! :-)

    Harry

  19. Awesome job man. Thanks a lot for the info, it worked instantly from an i386 and a 64 machine. I had upgraded to 10.10 and forgot about all this printer mess from the last time. I found your instructions useful twice now.. lol. Thanks again!!

  20. Great, thanks. Googling that error led me here and it solved things for my Pixma 270 instantly.

    What is remarkable is that it did work before on previous installs of Ubuntu; now on Natty Beta it didn’t.

    Another thing learned.

  21. Thanks for the instructions. I gave up getting it to work months ago. Glad I happened upon your blog.

  22. Hi
    Thank you , for your great explanations, I googled the error & it brought me here,
    Only thing is I dunno nothing about ubuntu, & I don’t know HOW YOU EDIT the install.sh & change the rpm version to rpm no thank version, do I do that on the terminal? if so what is the comand line?
    Thank you 4 your help sorry to ask a stupid question.

    1. Sorry, this may well be too late to help with your question, but you can edit the install.sh file with any text editor, for example:


      gedit install.sh

  23. Holy submarine sized monkey brains! It works!

    You sir are a superstar. No offence to not having faith, but I’ve tried ‘tutorials’ in the past for installing printers on linux and they have never worked. This is truly amazing.

    Thank you so much! I can now avoid Windows for __almost__ everything :-) :-)

  24. this post is amazing helped me get the printer installed and working. I just love it how companies are supporting linux more and people like you help trouble shoot issues like this to get it working if something doesnt quite work properly out of the box.

    cheers, james from australia

  25. It worked… Some time ago.
    Last days I made some changes (that I do not remember :-( ) to use an Epson Perfection Scanner.
    And now I can no more use the Canon as a scanner.
    Scangear finds the scanner when I use it as root.
    But not when I use it as an user.
    I think taht there some file whose permission has been changed. But where is it?
    (Sorry if my english is too bad, I’m french.)

    1. I found it! I answer to myself;
      It should not be the changes made for the Epson Perfection Scanner.
      It seems that it is because of the upgrading to Ubuntu 12.04.
      If you encounter the same problem, here is the way to solve it:

      when printer is on, run the command :
      lsusb

      there is a line “…Device 002: ID 04a9:1748 CANON..”
      find “ID vendor:model” in it (her it is ID 04a9:1748)
      edit the file /lib/udev/rules.d/40-libsane.rules as root
      and add this two lines (with the proper values) in it:
      # Canon PIXMA MG5250
      ATTRS{idVendor}==”04a9″, ATTRS{idProduct}==”1748″, ENV{libsane_matched}=”yes”

      save, and restart your computer. it should work.

      1. Great, I’m glad to hear that you solved the problem. I don’t have this printer myself any more, so I wouldn’t have seen this on upgrading to 12.04. However, I’m sure your comments will be useful to other people having a similar problem.

  26. Great post, Mark! When I tried it it was complianing about libxml2. Following were the errors:
    dpkg: dependency problems prevent configuration of cnijfilter-mp560series:i386:
    cnijfilter-mp560series:i386 depends on libxml2 (>= 2.6.24).
    dpkg: error processing cnijfilter-mp560series:i386 (–install):
    dependency problems – leaving unconfigured

    I did some search and resolved it by installing libxml2 using the following:

    - sudo apt-get update
    - sudo apt-get install libxml2

  27. I use Linux Mint 14, which found and installed my MP560 ‘ perfect’ on his own :-) I can print, I can scan, so what’s the problem?
    I can not configure my printer, which means he doasnot detect my lower paper feeder. I have to use the photo feeder at the backside of the printer. Another nice feature of this printer, two-side printing is not possible too.
    Does any one know how I can change the settings to use these features?
    thanx

  28. Thanks, it working fine. I’am running Ubunt 13.04 with a Lubutu desktop.
    This is running on an old Aspire 5050. 512Kb of Ram.
    I only had to run sudo apt-get -f install to correct a library.
    Scan and print is working both with WiFi. Its a great article.

  29. Hey, but the process stops just after installing the packages, and the terminal stops and closes!
    What must I do?

  30. I use mint 14 (kind of Ubuntu 13.4). It recognizes much canon 560 automatically and installs the drivers automatically too. En editing works fine. Just go to add new printer /network printer. The scanning function will be installed to.

  31. I upgraded to Linux Mint 16 and scangear will no longer work. Has anyone figured out the problem with Libgimp2.0? I am not savvy enough to figure that out.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>