[sane-devel] Umax Astra 2200 under OpenBSD?

Henning Meier-Geinitz henning at meier-geinitz.de
Tue Aug 16 18:32:56 UTC 2005


On Tue, Aug 16, 2005 at 11:15:13AM -0700, alancorey at yahoo.com wrote:
> I'm trying to get a Umax Astra 2200 (using USB)
> working under OpenBSD 3.6 using sane-backends-1.0.16. 
> I'm not sure whether this backend tries to use libusb
> or not.

All USB backends use libusb, if available, through sanei_usb. Most
backends (but not all) can also use the kernel scanner driver.

> sane-find-scanner finds a USB scanner but can't
> identify it.

This means that you don't use libusb or libusb can't access the scanner.

> I have uscanner enabled in the kernel
> and the scanner gets found as /dev/uscanner0 as it
> seems it should.  If I disable uscanner in the kernel
> it doesn't get found at all. 
> /usr/src/sys/dev/usb/uscanner.c lists this among its
> devices but that may only be for the sake of
> identifying USB vendors and devices.

The uscanner driver can only be used if only bulk-in and out transfers
are used. Control messages or identifying devices is not supported by
the BSD uscanner driver.

You may need to add the USB device to umax.conf manually.

> The status of libusb is unknown.  I installed
> libusb-0.1.7p2 from the OpenBSD ports collection, but
> Sane seems to not be finding or using it.  Doing a
> locate libusb shows these files installed:
> /usr/local/bin/libusb-config
> /usr/local/lib/libusb.a
> /usr/local/lib/libusb.la
> /usr/local/lib/libusb.so.7.0
> At first I didn't have libusb installed, but after
> installing it I did a gmake uninstall, then gmake
> distclean, then configured and installed Sane over
> again.

Is "/usr/local/include/usb.h" available?

The SANE configure script prints the libraries it has find near the
end of its output, "-lusb" should be there.
> According to sane-backends-1.0.16/README.openbsd I may
> have to add the vendor and device IDs to
> sys/devs/usb/uscanner.c and rebuild the kernel.  I've
> made a couple of tries at that but I'm not quite sure
> where to put them.  C isn't my favorite language, and
> I'm rusty at pointers to structs.  It compiles and
> everything, but didn't seem to have any effect.  I
> added these: 0x1606 0x0230 for vendor and device, or
> tried to.

I recommend to not use the kernel scanner driver at all. You scanner
should be detected as /dev/ugen0 or similar when uscanner is not
enabled. That device can be used by libusb.

> I'm not sure whether I should be trying to
> troubleshoot uscanner or libusb because I don't know
> whether libusb is used or not.  It would be useful to
> have the backend description tell whether it uses
> libusb or not, but maybe it depends on the platform.


More information about the sane-devel mailing list