[sane-devel] CanoScan LIDE 20 on FreeBSD 5.1 Release

Brian K. White brian@aljex.com
Mon, 8 Dec 2003 17:33:34 -0500

Gerhard Jaeger wrote:
> Hi,
> it seems, that this is a FreeBSD related problem, as the backend
> works fine on x86-Linux & libusb!
> A few days ago we also tried to make a CanoScan 660 work using
> FreeBSD and
> we had the same problems there. I'Ve installed FreeBSD 4.9 on my box
> now, but had not the chance to check it so far...

I set up a N670U on freebsd a few months ago on freebsd 4.6 and maintained
it through 4.8.
(same family as lide20, lide30, and several other N6xxx)
I never figured out how to use libusb, but I did figure out how to use

uscanner requires manually editing a couple files in the kernel source which
contain lists of scanner model numbers and identifier strings. I don't
remember the exact details now, and I'm a couple thousand miles away from
that machine, which isn't running so I can't ssh in to it either.

But I figured it out just by poking around in the kernel source looking for
uscanner, and there is a file or two (both in the same directory)
the stings you need to add/edit are pretty obvious just by looking at all
the other ones that are already in there. In the directory I'm talking
about, note that there are 3 or 4 files that have lists of model names and
matching identifier strings. really you only need to edit one file, or
possibly two, the others are generated during the build process from the one
or two. There is a perl or awk script in there that tells the story.

I forgot where I got the unique identifier from the scanner to add to the
kernel source.
Maybe the kernel boot messages in syslog, maybe sane_find_scanner, maybe
scanimage -L or some other sane command with a debugging option. Again,
although I don't recall the details, I can say I figured it out just by
blundering around, so presumably it can't be that hard and you could do the
same if no one gives you better help than "it works on linux" or "heres how
you do it:" and then proceeds to give you a bunch of linux instructions.

when the uscanner device driver files are edited to add recognition of this
scanner, then you build the kernel, and *only then*, the new kernel will
create a /dev/uscanner0 either whenever you plug in the device, or maybe
only if the device is plugged in when the kernel boots. You dont create
/dev/uscanner0 yourself either btw, either the kernel makes it for you, or
just go back and look again at what you edited and maybe build a new kernel.
(of course you need "uscanner" in the kernel config file and whatever else
uscanner relies upon, like usb uhci ohci or whatever...

once you have a /dev/uscanner0
you put that in the plustek config file

I put /dev/uscanner0 explicitly, but really /dev/uscanner[0-9] or something
is more correct, because the "0" is dynamically assigned when the device is
detected, and might not always be "0". but I didn't have any other scanners
and so I knew it would always be "0"

If there is a searcheable archive of this list somewhere, I did describe
this all in more explicit detail, including that actual commands executed
and files edited, and how/where they were edited. look back at least 6
months, maybe more.

good luck.

Brian K. White  --  brian@aljex.com  --  http://www.aljex.com/bkw/
filePro BBx  Linux SCO  Prosper/FACTS AutoCAD  #callahans Satriani