Canon Canoscan n670u on Ubuntu 12.04 Server.


I still own an old scanner given by my cousin (Thanks Cousin L, yes I still uses it), this scanner was dated back from the year 2k era, I think Aunt gave 1 set to me first and I left it behind in AUS for mate YX, and in about 2005 Cousin L decided to upgrade his second set so this was given to me too, nice scanner to have, it runs with the 5V power from USB (at the time most scanner require extra power), it does fair speed on scanning, it works without much trouble on Windows XP.

It was severing me well for quite some time, I even developed code allowing me to scan by Web (PHP > shell_exec to my share folder and dropbox, from my Android and iPad), till I upgraded to 64bits Windows, dear Canon decided NOT to support this device any more (Curse the person who decided to make a SAME Hardware configuration with 64bit support), I was left alone..

I just hate throwing good hardware away because some greedy company wants more $$ from my pocket! so I try to get my hands dirty and get so workaround!

By first, I try to run it under a Lited version of  32bit XP (which only consume me like 90MB RAM), it works ok but the problem is virtualbox runs USB device like a 99 years old man, scanning a page of  B5 would take me more than 4 minutes….well can’t complain much as it still works, since I only uses it to scan books cover, which I tolerated that for a while…

Recently, I started to use VMware instead of Virtualbox, which give me much better USB support and speed on VMs, so I started to make this old baby works again on my system…

On the VM, I am running Ubuntu 12.04 Server LTS.

By reading some Ubuntu hardware compatible list, it sure does list as supported natively by Ubuntu, good start!

Ubuntu Wiki –
Hardware4linux –

A bit of search leads me to SANE, Scanner Access Now Easy, the scanning solution on Ubuntu, sounds good too!!

And I also found someone who happens to have the same scanner, sweet!!!

Wrestling a Canoscan N670U / N676U / LiDE20 scanner in Edgy –

Ok, lets start rolling:


apt-get install sane

apt-get install sane-utils

Done done, follow the above page example,

nano /etc/sane.d/plustek.conf

The part that confuse me a bit was the file, he actually means copying the block from the link

The second part is to edit the dll.conf of SANE

nano /etc/sane.d/dll.d/dll.conf

What we do is just comment out all unneeded modules, you can follow the link too if you are unsure.

by running “lsusb” and “sane-find-scanner”

>Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
>Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
>Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
>Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
>Bus 002 Device 009: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20


># sane-find-scanner will now attempt to detect your scanner. If the
># result is different from what you expected, first make sure your
># scanner is powered up and properly connected to your computer.

># No SCSI scanners found. If you expected something different, make sure that
># you have loaded a kernel SCSI driver for your SCSI adapter.

>found USB scanner (vendor=0x04a9 [Canon], product=0x220d [CanoScan], chip=LM9832/3) at libusb:002:009
># Your USB scanner was (probably) detected. It may or may not be supported by
># SANE. Try scanimage -L and read the backend’s manpage.

># Not checking for parallel port scanners.

># Most Scanners connected to the parallel port or other proprietary ports
># can’t be detected by this program.

Good, SANE sees my scanner, now to the scanning part, running “scanimage -L” (part of sane-utils, -L list devices)

scaniamge -L
>device `plustek:libusb:002:009′ is a Canon CanoScan N670U/N676U/LiDE20 flatbed scanner

I am good to go! a bit more digging for config needs, runs:

scanimage –help -d “plustek:libusb:002:009”

This output all the config I would need for scans.

My final command for the scan:

scanimage -d “plustek:libusb:002:009″ -x 215 -y 190 –resolution 600 –format=tiff > /mnt/ramdrv/output.tiff”

I am able to scan my books cover again!!!


With the better USB speed on VMware compare to Virtualbox, I get my B5 book cover in 600dpi in about 118.5 secs, a bit below 2 minutes, not that bad for a 12 years old scanner!!

BTW, I do most of my scanning job now by my other scanner Canon P-150, which has a auto paper feeder and do double side, 5ppm (10pages) at 600dpi , but this 12 years old baby is still working good, colors are fine and I am happy it still serves me, and once again thanks to Aunt and Cousin L, I had such a nice scanner and fun with it!!!

Maybe when I have more free time, I shall make my old Webbase scanning code to work with my new Raspberry Pi, a Wireless (Power of coz) Scanning server is just fun!

Extra reading.

Scanning from Terminal –
SANE how to –
SANE Documentation –
MAN scanimage –
Canon USA n670u – Canon USA n670u