On Thu, 20 Oct 2005, vishal wrote:

> Hi All,
>    I am currently working on developing the gadget controller driver for the 
> TI DM320 chip. I am done with the development of the gadget driver, and am 
> currently testing the driver using the available gadget API drivers. My 
> kernel version is 2.6.5.
>    I am basically trying to test my board with the following gadget drivers:
>  1. ether.c
>         - The 2.6.5 version does not support RNDIS. I am thinking of the 
> best configuration on the linux side which would allow my device to be 
> recognised as a remote ethernet interface.
>          The driver i am using on the windows side is a RNDIS driver as 
> detailed at the gumstikwiki page.
> 
>  2. serial.c
>         For the above  i am using the windows drivers as detailed in 
> linux-2.6.13/Documentation/usb/gadget_serial.txt file
> 
> 
>     Any suggestions/tips to follow when testing the above are really 
> welcome.
>  3. file_storage.c
>       - Here is what is taking most of my testing effort. I have followed 
> the procedure outlined at www.linux-usb.org gadget API file_storage page. I 
> am seeing the main thread in the file_stroage not being woken up after a few 
> BULK IN / BULK OUT transfers. Is the file_storage driver in 2.6.5 stable and 
> well tested? Are there any major issues that were fixed ?
>     And finally, is 2.6.5 a good source for implementing the gadget driver 
> or is there something better available in versions > 2.6.5
>     Please let me know. Any info on the 2.6.5 gadget API and known issues 
> with the drivers i  have listed would be very welcome.
>     I somehow want to get a device working and be certain that the driver i 
> have written is pukka.

I can't recall any problems with the 2.6.5 version of g_file_storage, but
that was so long ago it doesn't mean much.  More recent versions are
indeed stable and well-tested.

There's one thing you need to watch out for, when writing a controller
driver for use with g_file_storage.  The USB Mass Storage protocol
requires the device to halt the bulk endpoints at various times, and a lot
of controllers have problems with that (especially if data is still queued
in the FIFO when the halt is requested).  This issue definitely could be
the source of your difficulties.  One way around it is to use the
"stall=n" parameter when loading g_file_storage.

In general, you're better off working with the most recent version of the
kernel that you can.  A lot of bugs were fixed between 2.6.5 and 2.6.13, 
even if they may not directly affect the USB gadget subsystem.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to