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 rate. 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.
> 
> The second, more serious problem is that I can do only
> 1 IN transaction per frame instead of 1 IN transaction
> per microframe, per endpoint. This reduces the maximum bandwidth
> by a factor of 8. When I try to use an interval less than
> 4 (8 microframes) I get error -12 (ENOMEM) when trying to submit
> the urb.

Have you considered using bulk transfers rather than interrupt?  If you're 
not sharing the bus with any other devices then latency won't be a 
issue, and bulk isn't subject to the same bandwidth limitations as 
interrupt.

Alan Stern



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to