On 7/4/06, mgr@xxxxxxxxxxx <mgr@xxxxxxxxxxx> wrote:
Hi Jinesh, Thanks for the answer. To me it seems like endpoints are pre-defined for the devices.
Its not just for you, but for everyone.
Here is my output from /proc/bus/usb/devices: T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev=#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 2 P: Vendor=0525 ProdID=a4a0 Rev= 2.13 S: Manufacturer=Linux 2.6.15.4 with at91_udc S: Product=Gadget Zero S: SerialNumber=0123456789.0123456789.0123456789 C:* #Ifs= 1 Cfg#= 2 Atr=c0 MxPwr= 2mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none) E: Ad=02(0) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms C: #Ifs= 1 Cfg#= 3 Atr=c0 MxPwr= 2mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver= E: Ad=02(0) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms I don't know why there are E rows appearing two times. It seems like this device has two Bulk endpoints, one "Bulk in" and one "Bulk out".
You are right. It seem that your device has two configurations and in both ones the device has only bulk end-points. It seem strange why the device is not having any Int. end-points.
So, what you are saying is that there is no way to change from bulk to int for this device?
I think you're just a bit misunderstood about the concepts of end-points. Firstly, end-points of a device are defined when the hardware is designed. Each of the four end-point types has its own features which makes them suitable for uses in different scenarios. The people who had designed your hardware might have felt the need to use only Bulk end-points for the device. As far as a programmer is concerned, he has to use whatever end-points are defined for the device. End-point addresses is somewhat like a network ip address and the types (Ctrl, Int, Bulk, Iso) similar to network protocols(UDP, TCP, SCTP). What you need to understand is that, you have to use the services that the end-points give, and not the other way. Its not you who decide what the device should support. http://www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf The above document describes briefly about the entire USB sub-system. Jinesh. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/