Canon iP4300

From ArchWiki
Revision as of 18:44, 29 February 2008 by Bavardage (talk | contribs)
Jump to: navigation, search


This is a brief summary of the ways that the Canon iP4300 printer can be made to work with arch. As the printers are very similar, these techniques would very likely work with the iP4200 also.


The following packages will very likely be needed:

  • cups
  • ghostscript
  • gsfonts

Install with:

# pacman -S cups ghostscript gsfonts

For information about setting up cups, refer to CUPS, however all that is really needed for the iP4300 is to start the cups daemon with:

# /etc/rc.d/cups start

and to add cups to the daemons line in /etc/rc.conf

Methods of getting the printer working

There are basically three options:

Proprietary Drivers

Install needed packages

You will need the package rpmextract

# pacman -S rpmextract

Now create a directory somewhere (for the sake of this tutorial let this directory be ~/canon) and cd to it.

Download drivers

Download cnijfilter-ip4300-2.70-1.i386.rpm and cnijfilter-common-2.70-1.i386.rpm from and put into the folder you created, or:

# wget
# wget

Now extract the rpms:

# cnijfilter-ip4300-2.70-1.i386.rpm 
# cnijfilter-common-2.70-1.i386.rpm

Now for the monotonous bit (there is probably a much quicker way to do this using scripts etc, but this way is simple and allows you to see what goes where)

Move the files

The command should have created a usr/ directory in the folder with the rpms. Copy every file in this directory's subfolders into the corresponding actual location. e.g. copy the files in ~/canon//usr/lib/ to /usr/lib/ Do this for all files in all subdirectories (however I as my language is english, I didn't bother copying the locale folder in ~/canon/usr/local/share and everything still seems to work fine.

Install the printer with CUPS

If cups is not already running, start it with

# /etc/rc.d/cups start

Now point your browser of choice at http://localhost:631 This should present the cups web interface. If not, ensure that cups is started (see above) and that your hosts are set-up correctly (or see the CUPS article).

  • Click Add Printer
  • Fill in the Name, Description and Location (not really very important)
  • Choose the connection method for your printer, and fill in any details required for this.
  • Now you will be prompted for a Make/Manufacturer - choose Provide a ppd file (click browse)
  • Navigate to /usr/share/cups/model/ and choose canonip4300.ppd

The printer should now be installed. You could test it by pressing the Print Test Page button, or continue onto the next step to add support for higher resolutions. Bulk of information from The installed PPD file doesn't allow you to select the printing quality. To fix this, back up your ppd file, then open it as root. Your ppd file will be found in /etc/cups/ppd and it's name depends upon what you called your printer. The commands below assume the printer was called Canon:

# su root
# <text editor here> /etc/cups/ppd/Canon.ppd

Insert these lines in the file after the "Resolution" section:

*OpenUI *CNQuality/Quality: PickOne
*DefaultCNQuality: 3
*CNQuality 2/High: "2"
*CNQuality 3/Normal: "3"
*CNQuality 4/Standard: "4"
*CNQuality 5/Economy: "5"
*CloseUI: *CNQuality

The following gives a greater choice of print resolution if added to the "Resolution" section, but it is currently not know if the Quality setting impinges upon this. Note that the ip4200 only offers 600dpi in black and white. (Maybe someone could verify some of this)

*Resolution 1200/1200 dpi: "<</HWResolution[1200 1200]>>setpagedevice"
*Resolution 2400/2400 dpi: "<</HWResolution[2400 2400]>>setpagedevice"
*Resolution 4800/4800 dpi: "<</HWResolution[4800 4800]>>setpagedevice"

...and that's about it!



Related Links/Additional Information - A guide for setting up the printer on ubuntu - may help if using gnome etc.