On Wed, 1 Oct 2003, Richard Stover wrote:
I just tested bulk transactions. On the 3GHz P4 on which
I'm doing the development I can maintain one transaction
per microframe. Of course packet size is reduced to 512 bytes
from the (nominal) 1024 interrupt transactions packet size.
This gets me
You say you can maintain one transaction per microframe -- what's the
bottleneck?
How big are the buffer sizes in the URBs that you queue for your
transfers? There's no reason for them to be limited to 512 bytes.
Alan Stern
Thanks for pointing that out Alan. I just tested it and I can
get
Richard Stover wrote:
It would still be nice to have high-bandwidth interrupt
packets (24Mb/sec guaranteed bandwidth) eventually. But for now
I'm happy with 12Mb/sec bulk transactions.
I'm dusting off a patch that will do that as a side effect
of more significant periodic scheduling updates. You
On Thu, 2 Oct 2003, Richard Stover wrote:
What do you think determines this current limit of 3 transactions
per microframe? Is it primarily cpu speed that sets the amount
of time it takes to get another transaction going? I suspect it
is not the FX2 chip, but I haven't verified that yet.
On Wed, 1 Oct 2003, Richard Stover wrote:
I'm writing a USB driver for a custom interface we are
developing for an astronomical camera. We are using the
Cypress FX2 USB chip. Most aspects of the system are working
fine but so far the throughput is not as high as required
to support the data
I'm going to try bulk transfers this afternoon.
I also just tried doing high bandwidth interrupt
transfers. I thought that perhaps I could get
three transfers per microframe.
In /proc/bus/usb/devices I see this for my interrupt
endpoint:
E: Ad=82(I) Atr=03(Int.) MxPS=3066 Ivl=125us
Note that
Richard Stover wrote:
I have noted two limitations on
INTERRUPT endpoints. First, the maximum packet size seems
to be 1023 bytes instead of 1024 bytes. This is a minor
problem, but it does seem to violate the USB 2.0 specs.
I get a urb status in my callback of -75 when I try 1024 bytes.
That
Richard Stover wrote:
I'm going to try bulk transfers this afternoon.
I also just tried doing high bandwidth interrupt
transfers. I thought that perhaps I could get
three transfers per microframe.
Not yet supported ...
In /proc/bus/usb/devices I see this for my interrupt
endpoint:
E: Ad=82(I)
I just tested bulk transactions. On the 3GHz P4 on which
I'm doing the development I can maintain one transaction
per microframe. Of course packet size is reduced to 512 bytes
from the (nominal) 1024 interrupt transactions packet size.
This gets me to 4Mbyte/s throughput. I really need 10Mbyte.
It
Hi David,
If I could get the one-microframe period to work with
interrupts that would get me very close to my original
goal of 10Mbyte throughput.
See the spec for wMaxPacketSize ... it makes more sense
in hex, since you're interpreting the high bandwidth
multiplier bitfield incorrectly.
Oh yes,
10 matches
Mail list logo