Re: USB host controller and client driver
- From: "aman" <amitjobs05@xxxxxxxxx>
- Date: 29 Jan 2007 05:55:55 -0800
Henrik
Thanks 4 reply
Would look forward to answering you(if possible) maybe sometime later
in dis newsgroup
Thanks & Regards
Aman
On Jan 29, 6:49 pm, "Henrik Viklund" <henrik.vikl...@xxxxxxxxx> wrote:
On Jan 25, 5:43 am, "aman" <amitjob...@xxxxxxxxx> wrote:
Henrik
Well now things seem to be much more clear now :) but much more
complicated also :(
We have "host" and "function" in WinCE
The WinCE ported processor(Intel Xscale processor) when acts as host ,
then the "host controller " and "host client driver " come into picture
within this WinCE ported processor.
And when the WinCE ported processor((Intel Xscale processor)) acts as
function , then "function controller" and "function client driver "
come into picture within the WinCE ported processor.
Is it correct.Yes.
And if this is correct, then
->let me know the software we need to have in "function" if itwhatsoever.
communicates with "WinCE ported host processor".Sorry, but the above sentence does not make any sense to me
->Whats the role of "function client driver" within WinCE portedimplements the specific functionality (=class), ie RNDIS, MSD, Serial,
processorAs I've allready said (three times?), the function client driver
etc).
Perhaps you should go get yourself a copy of "USB Complete" by Jan
Axelsson. Her book covers most of the essential stuff of the USB
protocol and will give you a better understanding of USB than any of
us can give you over a newsgroup.
Henrik Viklundhttp://www.addlogic.se
Thanks & Regards
Aman
On Jan 24, 5:39 pm, "Henrik Viklund" <henrik.vikl...@xxxxxxxxx> wrote:
Doh! The last line should read:
The "client" (also called "class") is the layer that adds the
functionality to the
USB "function" and the "host" respectively, i.e RNDIS or MSD.
Henrik Viklundhttp://www.addlogic.se
On Jan 24, 1:35 pm, "Henrik Viklund" <henrik.vikl...@xxxxxxxxx> wrote:
On Jan 24, 1:07 pm, "Henrik Viklund" <henrik.vikl...@xxxxxxxxx> wrote:
On Jan 24, 11:34 am, "aman" <amitjob...@xxxxxxxxx> wrote:
What I have understood USB function drivers from your reply:-
"The USB function controller drvers come into picture only if your
WinCE ported processor (PXA27X) is to act as a client.
Correct.Um, I take that back, or rather, I realise we need to sort out somedefinitions! With USB there's a certain amount of confusion when it
comes what one mean with "client". To avoid confusion I (and CE help
for the most part...) like to call the host "host", and the device that
connects to a host is called function (*not* client). The "client"
(also called "class") is the layer that adds the functionality to the
USB "function", i.e RNDIS or MSD.
Henrik Viklundhttp://www.addlogic.se
so the driver will load during boot time but since the USB protocol is
host centric , all the communications will be initiated by host so
"function controller client drivers" in client(WinCE ported processor
(PXA27X))doesnt make sense - although I am not sure about it. "Function
controller client drivers" should be in host only I suppose
Kindly vaklidate the above statement if I am correct.Um, No? There is no such thing as a "function controller clientdriver", at least not in CE. There's the "function controller driver"
and there's the "function client driver" (sometimes refered to as the
function class driver). The same goes for CE's USB host -"host
controller driver" and "host client driver".
controller driver - abstracts hardware
client driver - adds useful functionality (MSD, RNDIS, HID etc.).
Also would appreciate if youu could make me available USB-OTG code forearlier so you're pretty much on your own I guess.
Intel PXA27X processor for WinCE 5.0.
Please tell me about it since I have just started of with USB OTG
device driver development.AFAIK there is no OTG available. USB OTG is not supported by CE5 or
Henrik Viklundhttp://www.addlogic.se
Thanks & Regards
Aman
On Jan 24, 2:46 pm, "Henrik Viklund" <henrik.vikl...@xxxxxxxxx> wrote:
On Jan 24, 9:53 am, "aman" <amitjob...@xxxxxxxxx> wrote:
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.There are host client drivers and there are function client drivers:
If we start with USB host. The USB host controller driver is
responsible for handling and abstracting the USB host controller
hardware into a well defined generic interface (in your case OHCI
compliant hardware controller). The host controller driver is loaded at
startup and is set up to detect any activity from the USB host
controller. When you plug in a usb device into the host connector the
host controller driver detects that something has been plugged in and
start to enumerate the device (figure out what device was plugged in).
Once it has figured that out it checks the registry for a suitable
*host* client driver and loads it. the client driver uses the host
controller driver's generic interface to communicate with the device.
In the case of USB function, the function controller driver is
responsible for handling and abstracting the USB function controller
hardware into a well defined generic interface. The USB function
controller driver loads at startup and also immediately load a
*function* client driver so that when plugged into a host it can
respond to the host's enumeration requests throgh the generic interface
exposed by the function controller driver.
Henrik Viklundhttp://www.addlogic.se
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 hostthe USB host and to that you connect USB functions (in your case the
drivers enough to handle all situations ??As you might know the USB protocol is asymetric -on one side you have
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 -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -
.
- References:
- USB host controller and client driver
- From: aman
- Re: USB host controller and client driver
- From: Henrik Viklund
- Re: USB host controller and client driver
- From: aman
- Re: USB host controller and client driver
- From: Henrik Viklund
- Re: USB host controller and client driver
- From: aman
- Re: USB host controller and client driver
- From: Henrik Viklund
- Re: USB host controller and client driver
- From: Henrik Viklund
- Re: USB host controller and client driver
- From: Henrik Viklund
- Re: USB host controller and client driver
- From: aman
- Re: USB host controller and client driver
- From: Henrik Viklund
- USB host controller and client driver
- Prev by Date: Re: Dual monitor
- Next by Date: how to migrate bsp from wince5.0 to 6.0?
- Previous by thread: Re: USB host controller and client driver
- Next by thread: Problem with Gdiapi TestCase 225: LineTO
- Index(es):
Relevant Pages
|
Loading