Today I successfully installed a driver for the Canon Pixma MP510 printer. I installed the driver on my laptop running SL x86-64 3.4 Loop 2b, and found the Gentoo Wiki page
http://gentoo-wiki.com/Canon_Pixma_Series very helpful. I did not follow exactly the Gentoo Wiki, though; here's what I did:
1. I already have the line
PORTDIR_OVERLAY=/usr/local/portage in my /etc/make.conf file, as I have been experimenting creating my own ebuilds (see another thread). However, if you don't already have that line, add it to your /etc/make.conf on a new line after the line
source /usr/portage/local/layman/make.conf2. Create the directory (well, directories, to be precise) /usr/local/portage/app-emulation/emul-linux-x86-bjdeps/
3. Create the directory (well, directories, to be precise) /usr/local/portage/net-print/cnijfilter/
4. Copy the file emul-linux-x86-bjdeps-0.1-r1.ebuild into the directory mentioned in Step 2 above. You can find the ebuild file on the Gentoo Bugzilla Web page
http://bugs.gentoo.org/show_bug.cgi?id=1293525. Type the following as root into a Terminal window:
- Code: Select all
ebuild /usr/local/portage/app-emulation/emul-linux-x86-bjdeps/emul-linux-x86-bjdeps-0.1-r1.ebuild manifest
6. Copy the patch file popt-1.7-missing-tests.patch from the Web page mentioned in Step 4 above into the directory /usr/local/portage/app-emulation/emul-linux-x86-bjdeps/files/
7. Copy the patch file popt-1.7-nls.patch from the Web page mentioned in Step 4 above into the directory /usr/local/portage/app-emulation/emul-linux-x86-bjdeps/files/
8. Repeat Step 5.
9. Copy the file cnijfilter-2.70.ebuild into the directory mentioned in Step 3 above. You can find this ebuild file on the following Gentoo Bugzilla Web page:
http://bugs.gentoo.org/show_bug.cgi?id=17797010. Type the following as root into a Terminal window:
- Code: Select all
ebuild /usr/local/portage/net-print/cnijfilter/cnijfilter-2.70.ebuild manifest
11.Type the following as root into a Terminal window:
- Code: Select all
emerge -v emul-linux-x86-bjdeps
USE="mp510" emerge -v cnijfilter
12. Follow the instructions on how to restart CUPS, displayed at the end of the above compilation.
13. Open CUPS in a browser window (
http://localhost:631/) and use Add Printer to add the new Canon printer. The driver for the Canon MP510 will be in the local CUPS database. Print a test page to be sure it works.
EDIT: By the way, if you read the above-mentioned Gentoo Wiki page you'll see that, simply by changing the local USE flag, you can build a driver for any of the following other Canon printers instead: ip90, ip1700, ip1800, 1p2500, ip3300, ip4300, mp160, mp460 and mp600. And if you create an ebuild for net-print/bjfilter or net-print/cnijfilter-2.60 instead of net-print/cnijfilter-2.70 then you can build a driver for various other models of Canon printer too.

EDIT2: You don't need to install emul-linux-x86-bjdeps if you are using the x86 edition of SL, only if you are using the x86_64 edition.

EDIT3 (Monday Nov 30, 2009 09:49): To date, the Canon printer models supported by the various cnijfilter package versions are as follows:
cnijfilter-2.60-r6 => ip2200, ip4200, ip6600d, ip7500, mp500
cnijfilter-2.70-r1 => mp160, mp510, mp600, ip90, ip1800, ip2500, ip3300, ip4300
cnijfilter-2.80 => mp140, mp210, ip3500, mp520, ip4500, mp610
cnijfilter-2.90 => ip100, ip2600
cnijfilter-3.00 => ip1900, ip3600, ip4600, mp190, mp240, mp540, mp630
cnijfilter-3.10 => mx320, mx330, mx860
cnijfilter-mp540-3.00 => mp540
N.B. The commerical driver
TurboPrint for Linux 2 supports further models of Canon printer. It costs Euro 29.95. See the TurboPrint Web site for details:
http://www.turboprint.info/printers_Canon.html