In the section USB Function Controller Driver MDD and DDI Interface:

Microsoft refers USB Function Driver initializes MDD which initializes PDD.
Is USB Function driver is nothing but USB Client Driver ?

Please Clarify.

Sudheer

Re: Is USB Function Driver is Nothing but CLient Driver ? by Steve

Steve
Mon Nov 05 08:46:23 PST 2007

> In the section USB Function Controller Driver MDD and DDI Interface:
>
> Microsoft refers USB Function Driver initializes MDD which initializes
> PDD.
> Is USB Function driver is nothing but USB Client Driver ?
>
> Please Clarify.

The terms can be confusing but are used consistently. There are several
ports and layers involved

Client Driver -> Host Controller Driver->Physical wire->USB Function
hardware device -> USB Function Controller Driver (USBFN)[MDD/PDD] -> USB
Function driver (USB Mass Storage Function, RNDIS Function, ...)

- Client Drivers are HOST drivers for devices plugged into a USB host
controller (directly or through a HUB)
- HOST Controller Drivers are for HOST controllers (normally OHCI, UHCI or
EHCI)
- USBFN is the MS Function controller driver that abstracts the physical
Function controller hardware from the rest of the system the MDD contains
most of the code with the PDD providing the hardware specific parts since
there are no standards for function controllers.
- USB Function Drivers are the "personality" of the USB Functions (sometimes
called devices but that can be confusing) PB ships with support for Mass
Storage, RNDIS and Active Synch)

Steve Maillet
http://www.EmbeddedFusion.com


RE: Is USB Function Driver is Nothing but CLient Driver ? by Silver

Silver
Mon Nov 05 08:57:03 PST 2007

The "USB Function Controller Driver" controls the USB function hardware while
the
"USB Function Client Driver" implements the role of the endpoint(s).

For example, a generalisation;
The WingWang5000 is a USB function chip, that is the small end of the USB
cable. It will need a WingWang5000 USB Function driver control how to
transfer data pipes. It does not have a notion of what data goes over the
pipes (I ill conveniently ignore endpoint 0 setup stuff). It is a function
controller driver.

The USB Mass Storage Function Driver does not know anything about the
WingWang5000 but it does know about USB Bulk Only Transport SCSI commands. It
asks the function controller driver to transfer the commands and data. It is
a USB functon client driver.

Geoff
--