Gerhard Jaeger said the following on 12.09.2006 08:31: [...] > > Use the latest CVS stuff, this should work.
It definitely works here since you were so kind to modify the the code! Thanks again for that! [...] > > If there's no rpm available for the latest CVS snapshot, then you have to > > compile it on your own - sorry Lazy as I was, I only replaced the plustek files by running cp libsane-plustek* /usr/lib/sane/. from .libs after compiling the CVS tarball. Regards, Taki -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: OpenPGP digital signature Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20060913/072a54c8/signature.pgp From [email protected] Wed Sep 13 19:31:56 2006 From: [email protected] (Gerard Klaver) Date: Wed Sep 13 19:32:09 2006 Subject: [sane-devel] sanei_usb_open() and multifuntion devices In-Reply-To: <[email protected]> References: <[email protected]> Message-ID: <[email protected]> On Wed, 2006-09-13 at 13:29 +0200, Wittawat Yamwong wrote: > Hello, > > I think that how sanei_usb_open() collects endponts is not correct. It loops > through all configurations, interfaces and alternate settings and takes the > first bulk in, bulk out and interrupt endpoint it found. This works only for > some special cases and it is likely to fail for multifunction devices, e.g. > Smartbase MP360 which has endpoints for the scanner function in the interface > #1. > > I would propose that sanei_usb_open() accepts two additional parameters > specifying an interface number and an alternate setting. These parameters can > be omitted (e.g. set to -1). In this case the behaviour described above is > valid. If the parameters are given, sanei_usb_open() must use only the > endpoints belonging to the specified interface. > > There is also an issue with sanei_usb_set_configuration(), it simply doesn't > work this way because setting new configuration will succeed if and only if > there is no interfaces claimed by any driver. But the function takes the > device number returned by sanei_usb_open() as a parameter and, unfortunely, > sanei_usb_open() implicitly claims one interface. We have chicken and egg > problem here. Solution: sanei_usb_set_configuration() have to take the device > name instead of the device number as the first parameter. > > If I understand correctly, sanei_usb_claim_interface(), > sanei_usb_release_interface() and sanei_usb_set_altinterface() are useless > because sanei_usb_open() already claims an interface for you and > sanei_usb_close() will release it afterward. Why does one want to claim > another interface while he cannot use its endpoints through sanei_usb > functions? > > Regards > -- > Wittawat Yamwong > Hannover, Germany > I use them for my stv680 backend, one problem i had after some updates (sane, libusb,kernel) was that setting the configuration didn't work anymore. Disable of the set_configuration solved it for me at that moment. If setting the configuration is needed for other devices, i don't know at the moment if some of the webcams i have need that. -- -------- m.vr.gr. Gerard Klaver
