On Thu, Aug 15, 2013 at 12:45 AM, Tim Roberts <t...@probo.com> wrote:
> Pete Batard wrote:
>> 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."
>
> That's not an issue.

Good to hear that.

> If you are driving the composite device, then you
> get the entire configuration descriptor, which includes the IAD descriptors.

I understand this. And then libusbx can parse the IAD descriptors
to know the grouping of interfaces, then assign proper sub-API
to all of the grouped interfaces.

> If you are not driving the composite device, then usbccgp.sys rewrites
> the configuration descriptors.

Firstly, so device with IAD can be a non-composite device. My
understanding was that an IAD device would be a composite
device. Now it seems that was a wrong understanding.

Secondly how does usbccgp.sys rewrites the configuration
descriptors?

> If you have a driver for MI_01, then the
> configuration descriptor that driver reads contains only interface #1.
> If you had an IAD that groups interfaces 3, 4, and 5, the PDO will be
> created for MI_03, but the rewritten configuration descriptor only
> includes interfaces 3, 4 and 5. You don't need the IAD, because you can
> enumerate the interfaces you got.

What do you mean by "You don't need the IAD"? Do you mean
you do not need to parse the IAD descriptors?

Assuming WinUSB is used for the IAD that groups Interfac 3/4/5,
then you mean libusbx can then enumerate the  interface 3/4/5
now that WinUSB driver is in charge of all three interfaces. Right?

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