Here’s a question I get asked from time to time for which I don’t know
the definitive answer.
Traditionally, alternate settings in USB descriptors are used to manage
isochronous bandwidth. When doing so, all of the alternate settings
have the same number and type of endpoints, but with varying bandwidth
settings.
The USB spec doesn’t seem to require that there be any relationship
between the contents of alternate settings. Thus, it would allow a case
(for example) where alternate setting 0 has three bulk pipes, and
alternate setting 1 has an isochronous pipe and an interrupt pipe.
Here’s the question: does Windows support that? We have a project where
we’d like endpoint #2 to be bulk in alternate setting 0, and isochronous
in the other alternate settings. Is that likely to work?
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Yes, it’s supported. The usb core doesn’t care about the number of EPs
per alt setting, it is just treated as a list to destroy (the old
setting) and another list to create (the new alt setting). Note that
KMDF did have an issue with the number of EPs changing between alt
settings, but that was fixed in v1.5
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Monday, February 12, 2007 11:54 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB Alternate Settings
Here’s a question I get asked from time to time for which I don’t know
the definitive answer.
Traditionally, alternate settings in USB descriptors are used to manage
isochronous bandwidth. When doing so, all of the alternate settings
have the same number and type of endpoints, but with varying bandwidth
settings.
The USB spec doesn’t seem to require that there be any relationship
between the contents of alternate settings. Thus, it would allow a case
(for example) where alternate setting 0 has three bulk pipes, and
alternate setting 1 has an isochronous pipe and an interrupt pipe.
Here’s the question: does Windows support that? We have a project where
we’d like endpoint #2 to be bulk in alternate setting 0, and isochronous
in the other alternate settings. Is that likely to work?
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer