Use the Canon i250 bubblejet printer on Linux (Fedora)


If you need to use a Canon i250 with Linux, then this short guide tells
you how to get up and running. I did this in Fedora 7; another user performed the same procedure in Fedora Core 3 also with success.

The good news: there’s very little work to do. Though it’s not included in Fedora by default, Canon have produced an open source driver themselves which is freely available and works.

There are 3 steps – skip down to the first you that you need
help for!

  1. Install the pre-requisite software
  2. Install the CUPS drivers for the Canon i250
  3. Add the printer to CUPS

I am using Fedora (Linux) – but you will be able to use
these instructions to help you with Ubuntu, Mandrake, or whatever
you’re using as long as you can work out the equivalent commands for installing software.

1. Install the pre-requisite software.

The Canon software requires a few pre-requisites. From a terminal, a command something like this one is what you need (Ubuntu users may need to use “sudo” instead of “su”):

% su -c "yum install gnome-libs libglade libjpeg libpng10 libxml"

The exact names and list of packages will depend upon what’s already installed on your system. If your version of “yum” is sufficiently up to date then you may be able to skip this step and have yum automatically download what’s needed in the next step. (The crucial factor is whether your version of yum has the “–nogpgcheck” command line option).

2. Install the Canon drivers

These drivers can be downloaded from…0_drivers.html. At a minimum you need the bjfilteri250 and bjfiltercups RPMs. If you’re not using Fedora, you’ll need to download the source and compile it instead – or use such tools as “alien” or “file-roller” to extract or convert the binaries from the RPM. The other source tarballs available are for further packages, such as monitoring messages coming back from the printer.

% su -c "rpm -ivh bjfiltercups-2.3-0.i386.rpm bjfilteri250-2.3-0.i386.rpm"

You may be able to cut out the pre-requisites stage and have it done automatically for you with a command like this one:

% su -c "yum --nogpgcheck localinstall bjfiltercups-2.3-0.i386.rpm

The other RPMs and/or tarballs available from the Canon site include documentation and status monitoring software (e.g. for displaying “paper not loaded” or “out of ink” messages). I didn’t try any of them, as I just wanted to get the thing to print.

3. Add the printer to CUPS

I’m not sure if this step is strictly necessary, but it can’t harm, and might be needed to get CUPS (the standard Linux printer driver system) to recognise the presence of the newly installed components:

% su -c "/sbin/service cups restart"

Then to get the printer installed into CUPS, for me, it was like so:

% su -c "/usr/sbin/lpadmin -p i250 -m canoni250.ppd -v usb:/dev/usb/lp0 -E"

% su -c "/usr/sbin/lpadmin -d i250"

The second command sets the default printer to the one newly set up – it is optional. You may need to change /dev/usb/lp0 if you have more than one USB printer attached; there are ways of specifying it so that it will always identify the correct printer, whichever USB port you have connected it to. “/usr/sbin/lpinfo -l” may be a useful command here.

In fact in installing the above RPMs, a “canon_usb” backend was installed into CUPS. This is the backend needed to get messages back from the printer if you are using the status monitor. I couldn’t get this backend to work, and as the above one worked fine, I didn’t persevere. In that case, the commands would have been:

% su -c "/usr/sbin/lpadmin -p i250 -m canoni250.ppd -v canon_usb:/dev/usb/lp0 -E"
% su -c "/usr/sbin/lpadmin -d i250"

That’s it! You should be able to print from any normal program, or from the command line with a command like “lpr myfile.txt”. If you have any trouble, you should consult the man pages for the above commands, and the documentation guide available from the Canon website. I do not have access to a Canon i250 and it is unlikely I will be able to be of much more help.


  1. My homepage. Feedback / E-mail / Anything I forgot to mention? Use the contact address given there. (Of course, please try Google first)..

Print This Page Print This Page

Leave a Reply