Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-02 Thread Alan Stern
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-02 Thread Richard Stover
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-02 Thread David Brownell
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-02 Thread Alan Stern
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.

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-01 Thread Alan Stern
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-01 Thread Richard Stover
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-01 Thread David Brownell
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-01 Thread David Brownell
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)

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-01 Thread Richard Stover
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

Re: [linux-usb-devel] USB 2.0 interrupt endpoints

2003-10-01 Thread Richard Stover
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,