Hi Suja
From the DDK :
"USB Driver Stack for Windows 2000
-
The host controller driver is at the bottom of the Windows 2000 USB
driver stack. It consists of a class/miniclass driver pair. The host
controller class driver, usbd.sys, is paired either with the openhci.sys
(Open Host Controller Interface) minidriver or with the uhcd.sys (Universal
Host Controller Driver) minidriver, depending on which USB protocol the
system is configured to use. The host controller class driver handles those
aspects of the port driver’s duties that are independent of the specific
protocol. -
Immediately above the host controller class driver is the USB bus
driver, usbhub.sys, also known as the hub driver. This is the device driver
for each hub on the system. -
Above the hub driver sits the client device driver. This might be a
vendor-supplied device driver or it might be a system-supplied driver or
driver stack. For a definition and example of a client driver, see
Vendor-Supplied
mk:htm> USB Client Drivers. In the case of composite devices, the hub driver
not only drives the hub, but also provides a generic parent facility between
the hub and the various interfaces of the device. For an example of the
device stack for a composite device in Windows 2000, see USB
mk:htm> Device Stack for Windows 2000. "
I don’t know if this is pertinant to your situation but …
From Walter Oney’s book Second Edition :
“The USB driver stack, for example, uses a back door to let USBHUB
communicate efficiently with the host controller driver without sending IRPs
through all the intermediate hub drivers that might be present. A USB bus
filter uses USBD_RegisterHcFilter in the parent device stack for the host
controller to make sure that it sees this backdoor traffic.”
Hope this helps
Naseh Alvi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of SUJA JAMES
Sent: Thursday, February 19, 2004 4:58 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB Driver stack
Hi All,
Does any one describe the USB driver stack in Windows 2000. Is this correct
?
MyDeviceDriver.sys
uhcd.sys
usbd.sys
Usbhub.sys
usbController
If so what this uhcd.sys and usbd.sys do?
Actaully I wrote a lower filter driver for my USB device driver. In that
filter driver I am geeting the IRP_MN_QUERY_CAPABILITIES request and I can
view the values. Now I wrote a lower filter driver for the USB Hub.But the
IRP_MN_QUERY_CAPABILITIES request is not getting there. So I think some
other driver is completing this IRP. may be uhcd.sys or usbd.sys. ? Who is
completing this IRP. In my Hub Filter driver I am getting all the
IOCTL_INTERNAL_USB_SUBMIT_URB request. No PNP related request when I plug by
device…
Thanks in advance
Suja.
http: — Questions? First
check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: naseh.alvi@st.com To unsubscribe
send a blank email to xxxxx@lists.osr.com</http:></mk:></mk:>