Finally got Canon Pix IP1880 (IP1800 series) to run on AMD64 with Gentoo.
Steps 1 to 11 cover installation of drivers with Gentoo AMD64.
Steps 12 to 13 cover how to share this printer with Windows XP clients.
Step 14 cover how to share this printer with Max OS X clients.
Here is what I did:
1) Get "cnjifilter-2.70-r1.ebuild" from
http://bugs.gentoo.org/show_bug.cgi?id=177970
2) Put the ebuild under
Code: Select all
/usr/local/portage/net-print/cnijfilter
3) Run
Code: Select all
cd /usr/local/portage/net-print/cnijfilter
ebuild cnijfilter-2.70-r1.ebuild digest
Steps 4 to 6 are for AMD64 only.
4) amd64 needs to have emul-linux-x86-bjdeps-0.1-r2.ebuild emulation overlay too:
http://bugs.gentoo.org/129352
Put this under /usr/local/portage/app-emulation/emul-linux-x86-bjdeps
cd /usr/local/portage/app-emulation/emul-linux-x86-bjdeps
5) get all dependence files required for emul-linux-x86-bjdeps from
http://bugs.gentoo.org/129352
The files needed are:
Code: Select all
popt-1.12-scrub-lame-gettextpath
popt-1.7-nls.patch
popt-1.7-missing-tests.patch
Put these three files under the directory:
Code: Select all
/usr/local/portage/app-emulation/emul-linux-x86-bjdeps/files
6) Run
Code: Select all
cd /usr/local/portage/app-emulation/emul-linux-x86-bjdeps
ebuild emul-linux-x86-bjdeps-0.1-r2.ebuild digest
7) Unmask emul-linux-x86-bjdeps
Code: Select all
echo "app-emulation/emul-linux-x86-bjdeps ~amd64" >> /etc/portage/package.keywords
8 ) Set ip1800 as my use for cnijfilter
Code: Select all
echo "net-print/cnijfilter ip1800" >> /etc/portage/package.use
9) emerge cnijfilter
This should pull in emul-linux-x86-bjdeps if you are on amd64.
10) This was where I got stuck. I went to cups (
http://localhost:631) and couldn't find my printer. lsusb listed fine. Finally the post below by salamandrix really helped me. [Thanks salamandrix!]
salamandrix wrote:
Sorry for my bad english (i'm french)
I have a similar problem with a canon pixma ip4200 and it solve now.
Apparently it's a bad user and group for printer (via udev).
Before :
ls -l /dev/usb/
crw-rw---- 1 root plugdev 180, 0 oct 28 2007 lp0
With :
chown lp:plugdev /dev/usb/lp0
The problem solved and printer printing

.
Also, i add a rule device in /etc/udev/rules.d/10-local.rules :
BUS=="usb", SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="10a2", MODE:="0660", OWNER:="lp", GROUP:="plugdev"
For idVendor and idProduct, you can use lsub, for example in my home :
lsusb
Bus 001 Device 004: ID 04a9:10a2 Canon, Inc.
I hope that this solve your problem.
Added a rule device in /etc/udev/rules.d/10-local.rules :
Code: Select all
BUS=="usb", SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="10c2", MODE:="0660", OWNER:="lp", GROUP:="plugdev"
11) Restart cups
Step 12 to 13 are to share this IP1880 with Windows using CUPS only (No Samba)
12) To share the cups ip1880 printer with Windows Client:
At /etc/cups/cups.conf
Somewhere around:
Code: Select all
Allow 127.0.0.1
Allow 192.168.0.*
Order allow, deny
Restart cups
Now go to
http://localhost:631 and Add printer
You should see Canon 1800 series at USB.
When asked for Name of the Printer, use the following:
You can put in anything you want for "Location"
13) At windows machine:
Control Panel --> Printer --> Add Printer --> Connect to Network Printer
Code: Select all
http://{server}:631/printers/{printer_name}
Where {server} is the hostname of your gentoo box where Canon IP1880 is connected.
{printer_name} can be found by:
Under "Description:"
_Not_ by URI (usb://Canon/iP1800%20series)
If you followed step 12, it would be Canon_IP1880
14) To share this printer with Mac OS X:
At OS X, open a Terminal. Run:
Code: Select all
sudo lpadmin -p Canon_IP1880 -v ipp://{server}:631/printers/Canon_IP1880
Now open "System Preferences" at Menubar Apple --> Print and Fax
You should be able to see that printer.
This is it!
You do NOT need smb to share your printer on gentoo with windows machine.
Hope this helps everybody else who uses Canon Pixma series, especially 1800 series.
-William