This was mostly copied from a similar thread I made at the Mageia forums, with a couple of relevant edits for Fedora 17.
https://forums.mageia.org/en/viewtopic.php?f=24&t=2800
It wasn't pretty, but I finally got it to work with the official Canon drivers. This is using the wireless network feature of my printer, which is interfaced through my wireless router. Hopefully I don't have any typos below.
http://support-au.canon.com.au/P/sea..._os&g_os=Linux
I downloaded the archived rpm (MG8100 series IJ Printer Driver Ver. 3.40 for Linux (rpm Packagearchive)) from Canon. Opened and extracted the tarball with Ark from Dolphin.
From /home/dkb/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/ I created 2 directories /common and /mg8100
I copied the appropriate rpms to each directory using dolphin.
So here I have the following:
/home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/common/cnijfilter-common-3.40-1.x86_64.rpm
/home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/mg8100/cnijfilter-mg8100series-3.40-1.x86_64.rpm
From there, I used rpm2cpio to extract the appropriate rpms (64-bit in my case).
# cd /home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/common/
# rpm2cpio cnijfilter-common-3.40-1.x86_64.rpm | cpio -idmv
# cd /home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/mg8100/
# rpm2cpio cnijfilter-mg8100series-3.40-1.x86_64.rpm | cpio -idmv
This creates /usr directories with all the files contained in the rpms in ~/common & ~/mg8100 directories.
Next I copied those files to my usr directory.
# cd /home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/common/
# cp -r /home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/common/usr/* /usr
# cd /home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/mg8100/
# cp -r /home/~/Downloads/cnijfilter-mg8100series-3.40-1-rpm/packages/mg8100/usr/* /usr
I listed the libcn* files.
# cd /usr/lib64 (for 64-bit mageia)
# ls libcn*
Next I created symbolic links for all these files below.
# ln -s libcnnet.so.1.2.0 libcnnet.so
# ln -s libcnbpcmcm377.so.8.0.1 libcnbpcmcm377.so
# ln -s libcnbpcnclapi377.so.3.5.0 libcnbpcnclapi377.so
# ln -s libcnbpcnclbjcmd377.so.3.3.0 libcnbpcnclbjcmd377.so
# ln -s libcnbpcnclui377.so.3.6.0 libcnbpcnclui377.so
# ln -s libcnbpo377.so.1.0.1 libcnbpo377.so
# ln -s libcnbpess377.so.3.3.3 libcnbpess377.so
Also needed older versions of libpng, libtiff, and libjpeg. I found and downloaded them using
http://rpm.pbone.net/
libpng-1.2.44-1.fc12.x86_64.rpm
libtiff-3.9.4-1.fc12.x86_64.rpm
libjpeg-6b-46.fc12.x86_64.rpm
I did the same with those as I did with the Canon rpms. After downloading the old fedora rpms, I extracted the contents with rpm2cpio, and copied the files to /usr/lib64/
Here are all the libpng, libtiff, and libjpeg files I ended up with after creating some symbolic links
Code:
[root@localhost ~]# cd /usr/lib64
[root@localhost lib64]# ls -l libpng*
lrwxrwxrwx 1 root root 18 Jun 12 10:05 libpng12.so -> libpng12.so.0.44.0*
lrwxrwxrwx 1 root root 18 Jun 12 12:26 libpng12.so.0 -> libpng12.so.0.44.0*
-rwxr-xr-x 1 root root 157496 Jun 12 12:26 libpng12.so.0.44.0*
lrwxrwxrwx 1 root root 19 Jun 10 15:30 libpng15.so.15 -> libpng15.so.15.10.0*
-rwxr-xr-x 1 root root 315568 Apr 2 17:11 libpng15.so.15.10.0*
lrwxrwxrwx 1 root root 11 Jun 12 10:05 libpng.so -> libpng12.so*
lrwxrwxrwx 1 root root 16 Jun 12 12:26 libpng.so.3 -> libpng.so.3.44.0*
-rwxr-xr-x 1 root root 172760 Jun 12 12:26 libpng.so.3.44.0*
[root@localhost lib64]# ls -l libtiff*
lrwxrwxrwx 1 root root 12 Jun 12 20:50 libtiff.so -> libtiff.so.3*
lrwxrwxrwx 1 root root 16 Jun 12 12:27 libtiff.so.3 -> libtiff.so.3.9.4*
-rwxr-xr-x 1 root root 408688 Jun 12 12:27 libtiff.so.3.9.4*
lrwxrwxrwx 1 root root 16 Jun 10 15:30 libtiff.so.5 -> libtiff.so.5.0.6*
-rwxr-xr-x 1 root root 468360 Apr 5 05:30 libtiff.so.5.0.6*
lrwxrwxrwx 1 root root 14 Jun 13 20:34 libtiffxx.so -> libtiffxx.so.3*
lrwxrwxrwx 1 root root 18 Jun 12 12:27 libtiffxx.so.3 -> libtiffxx.so.3.9.4*
-rwxr-xr-x 1 root root 9224 Jun 12 12:27 libtiffxx.so.3.9.4*
lrwxrwxrwx 1 root root 18 Jun 10 15:30 libtiffxx.so.5 -> libtiffxx.so.5.0.6*
-rwxr-xr-x 1 root root 10432 Apr 5 05:30 libtiffxx.so.5.0.6*
[root@localhost lib64]# ls -l libjpeg*
lrwxrwxrwx 1 root root 13 Jun 13 20:35 libjpeg.so -> libjpeg.so.62*
lrwxrwxrwx 1 root root 17 Jun 12 22:17 libjpeg.so.62 -> libjpeg.so.62.0.0*
-rwxr-xr-x 1 root root 147688 Jun 12 22:17 libjpeg.so.62.0.0*
lrwxrwxrwx 1 root root 16 Jun 10 15:30 libjpeg.so.8 -> libjpeg.so.8.0.2*
-rwxr-xr-x 1 root root 260744 Apr 23 14:59 libjpeg.so.8.0.2*
I found I needed to install ghostscript from Fedora for the printer to print. Before that I installed a2ps, so it might be needed as well.
When done, restart cups:
# service cups restart
The command from console # /usr/lib64/cups/backend/cnijnet should display the URI of your printer. This worked in Mageia 2 for me, but not in Fedora 17 - however I was able to use the URI discovered in Mageia 2 in Fedora 17.
Mine is: cnijnet:/00-1E-8F-A6-5A-72
EDIT: Had to disable the firewall for this to work.
If your printer is not discovered like mine wasn't, try entering that URI directly from the cups web interface:
http://localhost:631/
I used the "AppSocket/HP JetDirect" radio button, erased the word "socket" from the Connection box, and entered
cnijnet:/00-1E-8F-A6-5A-72
Finish out the wizard to install the printer. Try and print a test page.
EDIT: FYI, the number following cnijnet:/ is the MAC address of the printer.