[sane-devel] Niash (USB) backend problem (devfs, scanner.o and libusb don't mix well)

Henning Meier-Geinitz henning@meier-geinitz.de
Tue, 5 Feb 2002 18:56:28 +0100


Hi,

On Tue, Feb 05, 2002 at 02:10:18AM +0000, Ricardo Martins wrote:
> We're are facing a small problem when using our NIASH backend with SANE 
> 1.0.7, Devfs and libusb. Here's a description:
> 
> Currently we use two methods for USB access:
> - the facilities provided in the scanner.o module from the Linux kernel;
> - LibUSB 0.1.4

Is the reason for libusb the need for control messages?

> The problem is, we can not use libusb when the module scanner.o is 
> loaded (libusb is unable to claim the interface).

I have no personal experiences with this but blocking libusb from
using the scanner when the scanner module has claimed the device
sounds ok for me.

> And in SANE 1.0.7, something (probably sane_get_devices) triggers devfs 
> to load the scanner.o module, and so we are unable to use libusb.

Argl, devfs loads drivers automatically? I thought this was only done
by usbmgr. It should be possible to disable autoloading if the scanner
module really isn't needed.

USB backends which use the "usb vendor product" config lines usually
call sanei_usb_find_devices for every such line found in their config
files. This function will open every available scanner device
(/dev/usb/scanner0 etc.) and ask for its vendor and product numbers. 

> Does anyone knows why (and knows how to fix this) ?

Diable automatic loading  of the scanner module. Or disable any
backend in dll.conf that uses the scanner module. I don't know another
way.

Bye,
  Henning