Scanning in Ubuntu with the Canon MF3010

After the debacle of setting up the Canon MF-3010 to print in 64-bit Lubuntu 13.10, it’s not a surprise that setting up scanning is also a pain in the neck.

After installing the sane-utils package, the command sudo sane-find-scanner wouldn’t find any USB printers. I looked at man sane-pixma, the backend driver responsible for interfacing with the Canon MF3010, but it didn’t list my printer model. However, on the official man page, the model is listed. Clearly, my version of sane-pixma was out of date.

I tried in vain to update sane-pixma via some package in the package manager; e.g. updating the sane package didn’t help (it made me install gimp, claiming it depended on it — huh?). Eventually I came across a page describing how to build and install sane-backend from source. After following the instructions on that page, sudo sane-find-scanner found my scanner. However, sudo scanimage -L still claimed it couldn’t find any USB devices. The build steps which I followed were:

$ sudo apt-get install libusb-dev
$ git clone git://git.debian.org/sane/sane-backends.git
$ cd sane-backends/
$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
$ make
$ sudo make install

scanimage -V showed two separate versions, one reflecting the thing I had just compiled from source (I believe the version was 1.0.25git) and the other reflecting the version that was installed earlier (1.0.23). By chance, I came upon this forum post which suggested putting some easily-accessible libsane files out of reach of scanimage:

$ cd /usr/lib/x86_64-linux-gnu
$ sudo mkdir old
$ sudo mv libsane.* old

Afterwards, scanimage -V showed both versions as 1.0.25, sudo scanimage -L found my device, and Lubuntu’s prepackaged simple-scan worked (when run as root).