Posts Tagged ‘karmic’

How to install and configure Canon Pixma iP3300 printer for color printing on Ubuntu and Debian Linux

Tuesday, March 29th, 2011

I’ve recently was asked by my cousin to install and configure her Canon Pixma iP3300 on Ubuntu Linux version 9.10 (Karmic) since the printer was not initialized properly by default.

After a bit of investigation and experimentation, I finally found the way to install and configure the Canon Pixma iP3300

Here is a step by step howto for all those who are suffering with the same annoying issue:

1. Install some preliminary deb packages

ubuntu:~# apt-get update
ubuntu:~# apt-get install alien libxml++1.0-dev libpng12-0 libpng12-dev libgtk1.2 libgtk1.2-common

2. Create a new canon directory

ubuntu:~# mkdir canon

3. Download the libraries and printer drivers in rpm (required by linux’s cups printing system

I’ve made a mirror of the packages, as it was a bit hard to find the packages, i hope mirroring them will guarantee the packages won’t suddenly disappear from the net.

I’ve mirrored a whole bunch of linux drivers which are for various Canon printers
However the files which are necessary for making the Pixma ip3300 to work out on Ubuntu or Debian are:

  • cnijfilter-common-2.70-1.i386.rpm
  • cnijfilter-ip3300-2.70-1.i386.rpm

In some cases on an AMD64 (64 bit Linux architecture), you might also need the file:

  • cnijfilter-common-2.70-1.src.rpm
  • To straight download the ip3300 necessary files in the just created directory canon in step 2 issue the cmd:

    ubuntu:~# cd canon
    ubuntu:/canon# wget https://www.pc-freak.net/files/canon-linux-drivers/cnijfilter-common-2.70-1.i386.rpm
    ...
    ubuntu:/canon# wget https://www.pc-freak.net/files/canon-linux-drivers/cnijfilter-common-2.70-1.src.rpm
    ...
    ubuntu:/canon# wget https://www.pc-freak.net/files/canon-linux-drivers/cnijfilter-ip3300-2.70-1.i386.rpm
    ...

    As you have seen in step 1, we have installed the alien tool which will be used to convert the rpm packages to .tgz (tar.gz) files.

    The reason why I’m converting to .tgz instead of directly converting to .deb package is that two of the files are built for the i386 architecture, the ubuntu where I wanted to install them has installed an amd64 version of Ubuntu (a 64bit release of Ubuntu).

    As the Ubuntu is amd64 version whether I try to convert the .rpm files to .deb packages like so:

    ubuntu:/canon# alien --to-deb cnijfilter-common-2.70-1.i386.rpm

    I got the error:

    cnijfilter-common-2.70-1.i386.rpm is for architecture i386 ; the package cannot be built on this system

    As I said earlier to get around this issue, 4. Use alien to convert my .rpm to .tgz :

    ubuntu:~# alien --to-tgz cnijfilter-common-2.70-1.i386.rpm
    cnijfilter-common-2.70.tgz generated
    ubuntu:~# alien --to-tgz cnijfilter-ip3300-2.70-1.i386.rpm
    cnijfilter-ip3300-2.70.tgz generated

    5. Untar the .tgz cnijfilter archives

    ubuntu:/canon# tar -zxvf cnijfilter-ip3300-2.70.tgz
    ...
    ubuntu:/canon# tar -zxvvf cnijfilter-common-2.70.tgz
    ....

    The above files unarchive will extract you a directory called usr/ , now you will need to manually copy the files from this directory to the correct locations, here are the commands to issue to do that:

    6. Copy extracted drivers to correct locations

    ubuntu:/canon# cd usr
    ubuntu:/canon/usr# cp -rpf lib/* /usr/lib
    ubuntu:/canon/usr# cp -rpf local/* /usr/local/
    ubuntu:/canon/usr# cp -rpf local/bin/* /usr/bin/
    ubuntu:/canon/usr# cp -rpf local/share/* /usr/share/

    7. Create symbolink links to libtiff and libpng as a fix up

    ubuntu:/canon/usr# ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3
    ubuntu:/canon/usr# ln -s /usr/lib/libpng.so /usr/lib/libpng.so.3
    ubuntu:/canon/usr# ln -s /usr/lib/libtiff.so.2 /usr/lib/libtiff.so.1
    8. Make the Ubuntu be aware of the newly installed libraries

    ubuntu:/canon/usr# ldconfig

    9. Restart the cups printing server

    ubuntu:/canon/usr# /etc/init.d/cups restart
    * Restarting Common Unix Printing System: cupsd

    So far so good by now, your Ubuntu or Debian system should be able to initilize your Canon Pixma iP3300 , next step is to configure your printer to be able to print correctly in color mode.

    What I did straight after my correct installation was to test the printer. The tests went fine with printing black and white or (Greyscale), however whether I tried to test printing in color mode, my printed images and colors were completely distorted!

    It took me a bit of try/fails until I succeeded with the printer to print in colors.

    There are few settings which has to be tuned right after install to make the Pixma iP3300 print in color on Linux

    Here are the few things which I had to tune from System -> Administration > Printing

    10. Configure in Administration -> Printing the following options

    Change the default set resolution for the printer from Automatic which is the printer default to:

    Resolution: 300x300DPI

    By the default the Pixma ip3300 will try to print out with the highest resolution possible 600x600DPI, however the Linux drivers doesn’t seem to support this resolution, if the 600x600DPI resolution is used the result is the distorted color picture print outs.

    Further on configure the Color Model option:

    Color Model: RGB Color or
    Color Model: CMYK

    Now your Canon Pixma iP3300 printer should be printing fine both in black and white and in color on your Ubuntu/Debian Linux.

    I believe this little install tutorial should be working just fine for all kind of Debian Linux direvatives 😉
    Enjoy printing and don’t forget Print as less as possible, Save a Tree! 😉