Re: change from bulk to interrupt endpoints

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux