The Canon MP640 is printer, scanner and copier with lots of useful features. It is especially good for networks with it’s Wifi or LAN support.
The drivers for Windows are excellent but unfortunately the Canon Europe site at time of writing shows no Linux drivers are available. (Listed as TBD)
I installed these on the 32 bit version of Ubuntu 9.10 (Karmic Koala) and it works fine with all the features of printer and scanner.
However if you try to install these drivers on 64 bit Ubuntu you get the architecture mismatch problem.
package architecture (i386) does not match system (amd64)
You can get around this problem by adding the
--force-architecture to the dpkg command line in the install.sh script.
The dpkg line should appear like this in the script
sudo dpkg --force-architecture -iG $c_fpath_pkg_name
also need to add it to the allowed arguments
&& [ $C_argment != "--force-architecture" ]
One other problem needs to be addressed for the scanner software. scangearmp cannot find the 32 bit gimp libraries. This is fixed easily using getlibs to find and install the missing 32 bit dependencies.
Now the MP640 can print and scan for 64-bit Ubuntu machines on the network.
The modified installer files working on x86_64 for the printer and scanner packages are at the links below.
Use these instead of the ones found in the .tar.gz (Note wordpress doesn’t allow .sh files to be uploaded so I’ve used .doc )
install.sh for cnijfilter
install.sh for scangearmp
cp install_sh_cnijfilter.doc cnijfilter-mp640series-3.20-1-i386-deb\install.sh
cp install_sh_scangearmp.doc scangearmp-mp640series-1.40-1-i386-deb\install.sh