Re: USB host controller and client driver



Hi Henrik

This is in reference to your reply to my question regaring Function
Drivers

Functions are actually USB devices and there might be multiple
functions connected to host via hub.

So now accoring to your statement

"Now, due to the asymetry of the protocol (the host polls the
functions), if you want your device to be the USB function (think PDA
connecting to PC) you'd use the USB function drivers and special usb
function hardware rather than USB host drivers and hardware.
"
What I can assume that you are referring to client driver - that in
mine case will be a dll named - usbmsfn.dll which will actually be
available by building code corresping to client driver. So then how can
you diferentiate b/w Client driver and function drivers.

Also I would be greatful if you can validate my other statements :-

1. Always, during the boot time the USB host controller driver DLL -
ohci2.dll gets loaded. It is taken care by device manager.


2. This means that although my ohci2.dll gets loaded during boot time
but it starts its job only after device is attached . During this time
, control is given by device manager to HcdPdd_Init inbul_ohci.cpp
(C:\WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\INTEL\PXA27X\HCD)which then
initializes the OHCI card within host controller and then configures
the device.


Now I am not sure what exactly configuration check takes place ??
Whether its device id , vendor id only or subinterface class also ??


3. Then once this configuration check is over , Device ?Manager
actually loads the correponding client driver - ie maybe usbmsfn.dll by

means of ActivateDeviceex().


Thanks & Regards

Aman

On Jan 24, 12:36 pm, "Henrik Viklund" <henrik.vikl...@xxxxxxxxx>
wrote:
On Jan 24, 5:47 am, "aman" <amitjob...@xxxxxxxxx> wrote:

What is the role of function drivers ?? Are client drivers and host
drivers enough to handle all situations ??As you might know the USB protocol is asymetric -on one side you have
the USB host and to that you connect USB functions (in your case the
USB function is the USB mass storage device, and the host is your WinCE
device).

Now, due to the asymetry of the protocol (the host polls the
functions), if you want your device to be the USB function (think PDA
connecting to PC) you'd use the USB function drivers and special usb
function hardware rather than USB host drivers and hardware.

Henrik Viklundhttp://www.addlogic.se





Thanks & Regards

Amit- Hide quoted text -- Show quoted text -

.



Relevant Pages

  • Lacie Mobile Disk 250 GB USB 2.0 not recognized by my computer
    ... i bought a "Lacie Mobile Disk 250 GB USB 2.0 HI-speed", but it seems not recognized by my computer. ... 00:10.0 USB Controller: VIA Technologies, ... Kernel driver in use: uhci_hcd ... # Enable WiMAX to see the WiMAX drivers ...
    (Linux-Kernel)
  • Re: CONFIG_NUMA breaks hibernation on x86-32 with PAE
    ... do you get any serial log or USB key output, ... No good ideas - the bug description gives me the impression of memory ... # CPUFreq processor drivers ... # Device Drivers ...
    (Linux-Kernel)
  • Re: 2.6.16-mm1
    ... it's in cfq code so I first tried changing schedulers) on USB ... Kernel is built for athlon k8, but running in 32 bit mode. ... # Firmware Drivers ... # ACPI Support ...
    (Linux-Kernel)
  • Re: 2.6.16-rc4: known regressions
    ... USB: allow usb drivers to disable dynamic ids ... This lets drivers, like the usb-serial ones, disable the ability to add ... into the usb-serial bus core for those drivers to get that ability. ... Make vm86 support optional ...
    (Linux-Kernel)
  • kernel oops with framebuffer device vt8623fb
    ... If I load the module vt8623fb i get a kernel oops, if the VIA 8623 display framebuffer driver is compiled direct into kernel the system hangs up very early at booting the kernel. ... 00:08.0 Ethernet controller: Realtek Semiconductor Co., ... 00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller ... # Device Drivers ...
    (Linux-Kernel)

Loading