Earlier this year I treated myself and purchased a Canon LiDE 100 USB Scanner (which ashamedly hasn’t seen all that much use for the rest of the year). As much as I like the little low cost fighter, one of my biggest gripes was that Canon hadn’t released any Linux drivers for the device, and because the code is proprietary, it wasn’t likely to get Linux support any time soon.

Well thankfully all of that has now changed and the wonderful SANE project has gone ahead and added driver support for the Canon LiDE 100… though getting it to work requires a little bit of effort on your part!

First, you need to grab the relevant USB libraries. So open up a terminal and enter:

sudo apt-get install libusb-dev build-essential libsane-dev

Next, grab the SANE backends from GIT. To do this, you need git-core, so:

sudo apt-get install git-core

Using the installed GIT, grab the necessary SANE backends with the following command:

git clone git://git.debian.org/sane/sane-backends.git

This grabs the necessary backends and puts them in a folder called sane-backends located in your home folder. Now switch to this directory and compile:

cd sane-backends
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install

Note that the make command might take a while to complete. Anyway, now that everything is installed, only root can currently scan, so we’ll need to change this with some permissions:

sudo gedit /lib/udev/rules.d/40-libsane.rules

Add the following 2 lines to the bottom of the file:

# Canon CanoScan Lide 100
ATTRS{idVendor}==”04a9″, ATTRS{idProduct}==”1904″, ENV{libsane_matched}=”yes”

Save your changes, close gedit and reboot your machine.

And hey presto, all of a sudden Xsane picks up your scanner and you are back in business. Nifty! :)

(Tested on a installation of Ubuntu 10.10 Maverick Meerkat)