On 2013.08.14 00:21, Xiaofan Chen wrote:
> 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.

I'm also worried about this part from [1]:
"Client drivers cannot access IAD descriptors directly."

> 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).

Which may or may not be possible, still as per [1]:
"Host software cannot retrieve IADs directly with a GetDescriptor request."

As far as WinUSB is concerned, I think the best we can get is 
WinUsb_GetAssociatedInterface(), but that what we're already trying to 
use. We may be able to fare better with libusb0/libusbK, since the doc 
seems to say that client drivers can query the composite parent, but now 
we need to modify external drivers, and we still can't solve anything 
when WinUSB is in use.

> 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.

Yeah, but I don't think Jan can use HID, and you can't really force 
install the HID driver anyway. I also think this the HID situation is a 
limitation from the OS too (i.e. nothing we can do about it).

On 2013.08.13 20:48, Jan Becvar wrote:
 > The Windows specific info's would be surely useful for various
 > purposes, is that already somewhere on the roadmap?

I don't think it is. That's partly because I personally have no idea in 
which milestone we should add this (don't want to give users false hope 
about getting it in version x.y.z) and also because that's not a feature 
I'm likely to forget about.

 > However I'm not sure if I get right your notes about "checking which
 > interfaces are accessible". Am I right that such info could be mainly
 > used to fail gracefully, because it will not help me get the other
 > interfaces of the association group accessible through libusbx if the
 > driver is attached to MI_00 rather than to the composite parent?

I'm considering this from the perspective of: If you don't want to 
replace the composite parent, you shouldn't be trying to consider these 
interfaces as part of the same device, but as multiple independent 
devices, and write your app from that perspective.

In other words, you should try to forget about IADs for the time being 
as Windows is not well suited to handle IAD in a generic fashion. If you 
were hoping to get anything related to this implemented quickly, you're 
only going to be disappointed.


On that topic, I'm gonna be away for a few days starting now, so please 
don't expect anything from me for a while.

Regards,

/Pete

[1] 
http://msdn.microsoft.com/en-us/library/windows/hardware/ff540054%28v=vs.85%29.aspx



------------------------------------------------------------------------------
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