On Wed, Aug 14, 2013 at 2:26 AM, Pete Batard <p...@akeo.ie> wrote:
> Hi Jan,
>
> On 2013.08.13 16:15, Jan Becvar wrote:
>> Forgot to add that my idea/hope was that libusbx, when setting backend
>> of a composite interface, could check if this is not by chance first
>> interface of an IAD-collection and if so, assign the same backend to the
>> other interfaces of the collection as well. But I don't know in the
>> moment, if such approach wouldn't interfere with the general design of
>> libusbx or with one of the libusbx-supported drivers.
>
> It's more a case of this is a problem that very few people are expected
> to encounter without being able to use either the workaround of
> replacing the composite parent driver or have their app figure out which
> interfaces are accessible from libusb and which aren't, so we're not
> going to invest much resources into solving it (too few developers, too
> little time).


The 2nd option is not possible without changes in libusbx. Right now
it is not possible to access the other interfaces other than the first
interface in an interface collection of a USB IAD device as of
now, even though the supported driver (eg: WinUSB) is used to
associate with the interface collection.

So it is an issue with libusbx for interface collection inside USB
IAD device. Now that I realized that it is not possible to sort out
the issue in libwdi/Zadig, then the only fix possible is to change
libsubx to parse the IAD descriptors (interface collections).

The first workaround may work for quite some users. But it
has problems for device which has other interfaces not want
to be bound by libusbx supported drivers.

> Microsoft decided to present devices with multiple interfaces as
> independent devices on Windows by default, so if your application
> targets Windows, you're probably better off trying to work within this
> restriction instead. There's only so much that libusb will try to
> abstract when the OS isn't exactly cooperative.

The IAD interface collection is a special case.

BTW, libusbx Windows also does not support Multiple HID
top level collections (only the first top level collection will be
used). The situation is a bit similar here.


-- 
Xiaofan

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to