Alan Stern <[EMAIL PROTECTED]> said: > On Mon, 29 Aug 2005, Brian Murphy wrote: > > > It seems that the acm driver sets the maximum transfer size to > > the wMaxPacketSize field of the relevant endpoint descriptor, > > this is maximum 64 bytes for a bulk high speed endpoint. > > From my experiments this does not just restrict bulk packets to > > the correct size but also restricts the maximum number of packets > > in a frame to one packet. With 1 frame/ms this gives a limitation of > > 64k/s. > > > > Changing the line > > > > acm->writesize = le16_to_cpu(epwrite->wMaxPacketSize); > > > > to > > > > acm->writesize = 64*17; /* 17 - number of bulk packets in a USB high > > speed frame */ > > > > increases performance for writes considerably. > > > > This hack is almost certainly not optimal for usb 2.0 (full speed) devices. > > FYI: Full speed is 12 Mb/s, and the maximum number of 64-byte bulk > packets in a full-speed frame is 19. High speed is 480 Mb/s. There's no > reason (as far as I know) why the writesize needs to have any particular > relation to the size of a packet or the size of a frame. > > Alan Stern > > >
-- What I was trying to say is that it seems that only one write will be scheduled each frame (by experiment) so that a larger size write is necessary to utilize the full bandwidth of the frame. I seemed to remember 17 from somewhere but it can't have been the number of 64 byte bulk packets in a frame. Perhaps it is the number of millions of dollars in my bank account? ;) I didn't have the specs to hand when I wrote the mail and I guessed wrongly. With names like "full speed" and "high speed" it should be clear to me that the one that seems fastest is the slowest ;). /Brian ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel