How To: Get a Canon MP240 Printer Working in Ubuntu 10.04 32/64 Bit

The inkjet printer in our house is a Canon MP240 which is connected to the wife’s Windows-running laptop, while I’m on Ubuntu 10.04 64-bit, and although it takes a bit of effort to get them to play ball – they will talk and printing works just fine. To get it all up and running just follow these steps:

1.) Get the driver files

Head on over to: and enter Linux as your OS type and pick a language of choice, for the MP240 in English you’ll end up with a file called MP240_debian_drivers.tar. Extract it by right-clicking on it and selecting Extract Here from the pop-up menu, or running the command tar xvf ./MP240_debian_drivers.tar from the command line.

Once extracted, you’ll end up with a folder called the tar file name which has two files within it: MP240_debian_printer.tar and MP240_debian_printer_scangear.tar. Because this guide is about printing it’s the first file we’re after – so extract it using any of the two methods shown above, and again it’ll create a folder of the tar name, inside which you’ll find a tar.gz file (which you can safely ignore) and two deb files which are what we’re really after: cnijfilter-common_3.00-1_i386.deb and cnijfilter-mp240series_3.00-1_i386.deb.

2.) Repackage the deb OR get a libcupsys2 transitional package

Because Ubuntu has transferred from libcupsys2 to libcups, we have the option of using our mighty linux skills to repackage the debs to use libcups by reading this, but it’s a bit tech, and we don’t really have to. Instead, we can just install the transitional package from good ol’ Jaunty by heading over to this page: (link now broken – see local mirror of file below – or don’t use at all [see update 2!]).

The link to download the transitional deb is the one – just click on it to download, then double click on the file to install it. Nice – almost there!

Update: The link to the transitional package is no longer working, but as I still have a copy I’ve made it available here: libcupsys2_1.3.9-17ubuntu3.9_all.deb

Update 2: I see that some people have had success without using the libcupsys2 transitional package at all, just by ignoring the dependency. I haven’t tried it myself, but from what I read you can skip this step entirely by using the following commands for step 3:

sudo dpkg -i --ignore-depends=libcupsys2 --force-architecture cnijfilter-common_3.00-1_i386.deb
sudo dpkg -i --ignore-depends=libcupsys2 --force-architecture cnijfilter-mp240series_3.00-1_i386.deb

3.) Install / Force Install of the MP240 drivers

If you’re running 10.04 32-bit then you can just install the canon debs by running the following two lines at the command line:

sudo dpkg -i cnijfilter-common_3.00-1_i386.deb
sudo dpkg -i cnijfilter-mp240series_3.00-1_i386.deb

If, like me, you’re running 64-bit Linux, then you need to force dpkg to ignore the architecture differences like this:

sudo dpkg -i  --force-architecture cnijfilter-common_3.00-1_i386.deb
sudo dpkg -i  --force-architecture cnijfilter-mp240series_3.00-1_i386.deb

4.) Add your printer

With that done, we’re ready to set up the printer, so go to System | Administration | Printing from the gnome panel (or your printing config tool of choice if you’re using KDE or whatnot) and the printer driver will be available for you to use. Because I’m going across the network to get to the printer I’m clicking on [Add] then picking Windows Printer via SAMBA. You can just hit [Browse] without entering an IP or path or anything to browse detected workgroups on your network.

Selecting a CanonMP240 through SAMBA

Once you’ve selected the printer and clicked [OK] you can click [Forward] and then Canon as the driver manufacturer and you’ll find the MP240 driver in your list like this:

Canon MP240 Driver Selected

Select it, click [Forward] again and print off a test page – you should be all set! Cheers! =D

35 thoughts on “How To: Get a Canon MP240 Printer Working in Ubuntu 10.04 32/64 Bit”

  1. I get the following error:

    $ sudo dpkg -i –force-architecture cnijfilter-common_3.00-1_i386.deb
    dpkg: error processing cnijfilter-common_3.00-1_i386.deb (–install):
    cannot access archive: No such file or directory
    Errors were encountered while processing:
    lbp@ubuntu:~$ sudo dpkg -i –force-architecture cnijfilter-mp240series_3.00-1_i386.deb
    dpkg: error processing cnijfilter-mp240series_3.00-1_i386.deb (–install):
    cannot access archive: No such file or directory
    Errors were encountered while processing:

    This makes me feel like an idiot…

    1. Not to worry – by the looks of things you’re not running the command in the same directory as the .deb files.

      Looking at the line lbp@ubuntu:~$ shows that you’re in the ~ directory, which is just the home directory for the current user, and translates to /home/YOUR-USER-NAME, so for my user account it’d be /home/r3dux and for yours it seems to be /home/lbp.

      To fix this, either go to the location where you extracted the .deb files using cd i.e.

      cd ./MP240_debian_drivers/MP240_debian_printer

      And then run the commands – should work just fine. Alternatively, using Nautilus or whatever file-explorer type thing you’re using, just copy and paste the files to your home directory’s root (i.e. the top level, where you have the Music, Templates etc. folders) and then run the commands just like you’ve been doing – and it should be able to find and install them.

      I just had to install this stuff on my work laptop, and the entire process looked like this from the command-line (after downloading the drivers and installing the transitional cups package, 64-bit version Ubuntu 10.04 so required the –force-architecture command):

      r3dux@r3dux-laptop:~$ cd MP240_debian_drivers/MP240_debian_printer/
      r3dux@r3dux-laptop:~/MP240_debian_drivers/MP240_debian_printer$ ls
      cnijfilter-common_3.00-1_i386.deb  cnijfilter-common-3.00-1.tar.gz  cnijfilter-mp240series_3.00-1_i386.deb
      r3dux@r3dux-laptop:~/MP240_debian_drivers/MP240_debian_printer$ sudo dpkg -i  --force-architecture cnijfilter-common_3.00-1_i386.deb
      [sudo] password for r3dux: 
      dpkg: warning: overriding problem because --force enabled:
       package architecture (i386) does not match system (amd64)
      Selecting previously deselected package cnijfilter-common.
      (Reading database ... 202225 files and directories currently installed.)
      Unpacking cnijfilter-common (from cnijfilter-common_3.00-1_i386.deb) ...
      Setting up cnijfilter-common (3.00-1) ...
      r3dux@r3dux-laptop:~/MP240_debian_drivers/MP240_debian_printer$ sudo dpkg -i  --force-architecture cnijfilter-mp240series_3.00-1_i386.deb
      dpkg: warning: overriding problem because --force enabled:
       package architecture (i386) does not match system (amd64)
      Selecting previously deselected package cnijfilter-mp240series.
      (Reading database ... 202235 files and directories currently installed.)
      Unpacking cnijfilter-mp240series (from cnijfilter-mp240series_3.00-1_i386.deb) ...
      Setting up cnijfilter-mp240series (3.00-1) ...
      Processing triggers for libc-bin ...
      ldconfig deferred processing now taking place

      All done! Hope this helps! =D

  2. Thanks but I still am having problems…I was missing a step ie not looking closely enough at it yesterday when I posted but that has been resolved. Now when I go to step 4 Add Printer, the following error occurs after I try to do a test page:

    Debug output replaced with link by r3dux: Pastebin link to CUPS error output

    Thanks for the help so far…this looks complicated but for all I know it is easy to a veteran…


    1. Hmm, tricky one… certainly works for me without any issues.

      If it were me I’d start with the simple stuff: In Synaptic package manager, uninstall CUPS completely (so it also removes all config files) along with the transitional libcupsys package and the Canon MP240 drivers.

      Then, reinstall the lot (CUPS, then transitional package, then driver debs in correct order) and then reboot your machine – it’s amazing how often a quick uninstall/reinstall and a reboot will fix things!

      If you’re still not getting any joy after this I’ll take a brief look into it, but I know no more than you at this stage, and I’d just be doing some googling.

  3. oh yeah!! if you need the scanner just do:

    step1: install libgimp2.0
    sudo apt-get install -f libgimp2.0
    step2: extract the file in MP240_debian_drivers.tar. and run
    sudo dpkg -i scangearmp-common_1.20-1_i386.deb
    sudo dpkg -i scangearmp-mp240series_1.20-1_i386.deb

  4. Just wanted to thank you for this guide. I rescued my better half’s laptop, which had slowed to a near-halt with Vista, by installing Ubuntu onto it and she absolutely loves it. But we had difficulty sorting out the printer. Our impression of Ubuntu is that it is really excellent once you’ve got it up and running, but getting it up and running is often rather tricky and requires many searches of forums to try to find out what to do. This is a case in point. There is lots of advice out there about how to get this printer working, all of it contradictory and none of it actually working, apart from your guide here.

    Being noobs, we had a similar problem to Brad Potter with regard to files not being in the correct directory, but sorted it out. Otherwise this worked very well, and my better half is extremely pleased not to have to boot with Vista whenever she wants to print anything out. (Now she only needs to boot Vista to sync her iPhone… although she says her iPod Classic works far better with Rhythmbox than it did with iTunes!)

  5. Hi there – following your guide again to get this printer working on another computer, and the link to the transitional package in Step 2 is now broken. Is there anywhere else to get this file?

    Thanks for any help you might be able to give…

    1. Hi JonathanCR,

      I still had a copy of the transitional file, so I’ve modified the article (Step 2) to link to a locally hosted copy of the file.

      Best wishes,

  6. How safe is it to install this transitional file. I had good printing with Jaunty. I have slightly dif config. I have ubuntu server(10.04 now) and MAcbook pro. I have two printers. Under Jaunty I was able to FIND and install both the Canon470 and the HPdeskjet. When I upgraded, no matter what version..the Canon was missing. I would go to Sysyetm/Admion/Printing then ADD, and Canon was NOT there. I finally installed Turboprint, and then it was magically there. I didnt use their thing to install with. But now the HP is missing. Also like you say, my server/workgroup dialogue for adding prtrs in MAc was blank. After I installed them however they shoed up on Default.? Also my username,password dont work on the cup website(631)
    Im printing….for now..but there has to be a better way than using Turbo. Like I said, I was happy with Jaunty. If this transition messes everything up, I dont wanna reinstall entire OS. How easy would it be to restore it to default 10.4?

    1. My understanding is that it’s completely safe to install this transitional file, if anything’s playing up (which is extremely unlikely) then you can just uninstall it with:
      sudo apt-get remove libcupsys2

  7. Thanks very much for uploading the transitional file – that’s very much appreciated. Unfortunately I can’t seem to get it to work this time. Everything goes through smoothly and the computer automatically adds the printer – I don’t have to choose a driver at all. However, when I try to print a test page, it comes up with a PRINT ERROR and the message: “Stopping job because the scheduler could not execute a filter.” I don’t know what that means and I haven’t found any helpful advice anywhere else, other than to try re-installing CUPS and starting again from scratch, but I’ve done that with the same result. If you have any tips with this situation they would be much appreciated, but if you don’t, I understand!

  8. Hmm, that’s pretty odd. You say the computer automatically adds the printer? I’ve never seen that happen – all I’ve got is once I’ve installed the transitional package and then the two cnij drivers, there’s an entry for a Canon MP240 in the driver list, which I then pick myself. If the computer’s automatically picking the driver, maybe it’s picking the wrong one?

    Another thing I’ve seen which has almost tripped me up a few times recently is that I’ll go to print something and there’s be some cryptic error which makes no sense to me, but when I look at the printers I have installed via Printing (system-config-printer), you can right-click on a printer and there’s an option there for Enabled – if this isn’t ticked, the printer’s not going to work, and to make life more annoying it has a tendency to un-tick itself sometimes, so you then need to go and re-enable it again.

    So it could be worth checking that both Enabled and Shared are ticked for the printer you want to use.

    Hope this helps – and if you do manage to figure out the issue, it’d be great to hear how you did it.

  9. I got my MP240 to work by converting the RPMs to DEBs on 9.04. But this method does not work after my move to 10.10 any longer. The converted DEBs install, printer says ¬®completed” but no print shows up. Printer has no problems from XP.

    I also tried the method mentioned under 3) sudo dpkg -i –force-architecture cnijfilter-common_3.00-1_i386.deb. WHile the DEBs are generated without complaints, they do not install ¬®dependencies not met”.

    It REALLY annoys me that all works on XP and 9.04, and the printer is worthless on the latest Ubuntu. My wife thinks I am a failure…. (or rather my experiment with Ubuntu).

    1. Hmm, did you try just issuing:

      sudo dpkg -i --ignore-depends=libcupsys2 --force-architecture cnijfilter-common_3.00-1_i386.deb
      sudo dpkg -i --ignore-depends=libcupsys2 --force-architecture cnijfilter-mp240series_3.00-1_i386.deb

      From what I read, just ignoring libcupsys2 results in a working printer once you’ve added it from the list of printers (Canon MP240 will be in the list once the two packages above are installed).
      Source: Ubuntu Forums.

      1. What worked for me: First installing libcupsys2_1.3.9-17ubuntu3.9_all.deb from link above, then use latest DEBs from CANON site, many tks!

        What did not work:

        Neither: sudo dpkg -i –ignore-depends=libcupsys2 *. Ubuntu installer refused the resulting DEBs with dependency error.

        Nor: Converting latest CANON RPMs to DEBs. Installation did not give any errors, but printer did nothing.

  10. Update 2 with

    sudo dpkg -i –ignore-depends=libcupsys2 –force-architecture cnijfilter-common_3.00-1_i386.deb
    sudo dpkg -i –ignore-depends=libcupsys2 –force-architecture cnijfilter-mp240series_3.00-1_i386.deb

    workes perfect with ubuntu 10.10 64bit on an IBM ThinkPad T60 .

    Thank you very much!!!!

  11. Ok, So Im trying to install this on Natty and and I think theres more than one dependency problems.

    dpkg: dependency problems prevent configuration of cnijfilter-common:i386:
    cnijfilter-common:i386 depends on libc6 (>= 2.3.4-1).
    cnijfilter-common:i386 depends on libcupsys2 (>= 1.2.1).
    cnijfilter-common:i386 depends on libpopt0 (>= 1.7).
    dpkg: error processing cnijfilter-common:i386 (–install):
    dependency problems – leaving unconfigured
    Errors were encountered while processing:

    Now I tried ignore the dependency but I guess it doesnt work like that. Some help please!

    1. Yeah, I’m in the same boat – I can’t get it to work in 11.04 with the transitional package or by forcing architecture or forcing ignoring of dependencies.

      I had at it for a couple of hours then just gave up with the same errors you’re getting. I’m sure it can be done, but I don’t have the time or inclination to fight with it anymore. Sorry!

  12. This is almost a complete fix for me and my Canon iP2600, so thank you a thousand times over. The ignore dependency did the trick for me with 11.04. However, there is one minor issue. The Update Manager and Synaptic want to remove the drivers that I just installed because they are “broken” I think it is because I forced it to ignore the dependencies. That said, I will try building the debs with different dependencies and hope that does the trick. At least I was able to print what I needed.

  13. What worked for my 11.04, see above, does not work any longer in 11.10, what a pain.

    What did work this time was:

    sudo dpkg -i –ignore-depends=libcupsys2 –force-architecture cnijfilter-common_3.00-1_i386.deb
    sudo dpkg -i –ignore-depends=libcupsys2 –force-architecture cnijfilter-mp240series_3.00-1_i386.deb

    In addition, for my network printer I had to extract the canonmp240.ppd from Canons zip.

    PS: Using latest MP240, Download: 31325, Last modified: 01-Mar-11 from Canon UK site

    1. But, now the package manager complains with

      The following packages have unmet dependencies.
      cnijfilter-common : Depends: libcupsys2 (>= 1.2.1)
      cnijfilter-mp240series : Depends: libcupsys2 (>= 1.2.1)

      and it seems I have to re-install this with each ubuntu update. Any ideas anybody?

      1. I’ve moved to Linux Mint Debian Edition and given up on this.

        I might well be able to fix it, but it’s a cost/benefit issue that I’m just not winning any more. Now I just copy anything I want to print to the NAS, then access it from my wife’s computer which is directly connected to the printer via strands of copper wire.

  14. +1 for this guide, works beautifully!

    A note about installing the scanner: Tomehy’s advice above works perfectly, except that on later versions of Mint/Ubuntu, the .deb file that you download off Canon’s website (version 1.10 is the latest in the case of a PIXMA MP140 device) doesn’t seem to work (apparently it’s not a valid .deb file), but hunt around the net for a higher version (e.g. 1.80).

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.