The usb-serial, USB-LAN, USB-drive now work fine on my USB host interface using kernel 2.4.21-rmk1 on at91rm9200DK
I want to know how should I test and implement the usb device interface driver for it?
For basic testing, you can use a Linux 2.6 host and the "usbtest" driver. There will almost certainly be Windows-based testing too, some of it application-specific.
As for what to test, start with "Gadget Zero" (just handling control and bulk traffic) on top of the driver for the USB Device port on your hardware. Implement that with reference to the drivers which are already there; I'd suggest goku_udc, it's simplest.
The first thing to debug is enumeration: SET_ADDRESS, GET_DESCRIPTOR, SET_CONFIGURATION, and so on ... that's probably the most painful stage. Once that works, bulk IN/OUT (and control OUT) will be simple. When overnight abuse-the-driver tests are no trouble, cheer!
Then test with the other gadget drivers. Each one may turn up different bugs (most likely in your new code). TTCP over g_ether gives relatively mixed i/o patterns. The g_file_storage driver uses halts and another i/o pattern. And so on, including tests for isochronous transfers.
Does the existing kernel tree contain such source code ?
The 2.4.25 kernel has a recent version of the drivers/usb/gadget code, basically matching 2.6.2 (but 2.6 has more drivers).
Use that for any new 2.4 based work, even on older kernels.
- Dave
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel