On Sun, 22 Apr 2007, Julien BLACHE wrote:

> Brad Sawatzky <[EMAIL PROTECTED]> wrote:

[ ... ]

> > Is it possible for the autoprobed scanner device to be indeterminate?  The
> 
> I'm not sure what you mean here, could you elaborate ?

See below.

> > CX6600 is a multifunction printer/scanner unit with built-in card reader so
> > many different devices are created when it's plugged in -- could there be
> > some weird race condition?  Arrgh.
> 
> There's only one node created under /dev/bus/usb unfortunately, that's
> a real problem with multifunction devices and the current permissions
> scheme - it's hard to share the printer between CUPS and SANE.

This is what was in the back of my mind.  I'm not sure how libsane
identifies the correct scanner device in /dev/.  If the scanner can be
accessed through more than one device ( ie. /dev/bus/usb/00X/00Y, and
/dev/usbdevX.Y_epZZ) then the device libsane picks would depend on which
device it tries first and was able to open.  If CUPS grabbed the
/dev/bus/usb/ device first, would libsane keep searching and eventually try
the /dev/usbdevX.Y* devices?  

Of course, this assumes that
  a) libsane walks /dev looking for scanner devices, and
  b) the usbdevX.Y* devices can actually be used to control the scanner
  despite having different major/minor numbers than the nodes in
  /dev/bus/usb/...

> Exposing the endpoints individually as it's done now could help solve
> that, I'd need to check why this was introduced and what the plans are
> on the libusb side.

-- Brad


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to