On Wednesday 16 February 2005 3:37 am, Steve Hosgood wrote: > > Basically, David, your suggestion of "try small URBs" works! I am now > seeing 40 fps from my camera with URBs of 4K, 8K and 16K.
That tells me roughly where the bug is; thanks for helping find this! I'll ask you test a patch later on. > > > Now for the non-working situation of 800x600 images @ 40fps: > > > > And this is "non-working" in that you verified, using a > > CATC or equivalent, that the host wasn't sending any IN > > tokens to the device at all? > > > > I don't currently have access to a USB analyser, but last time I did > have one, then yes, the host wasn't sending IN tokens. Suggesting that the issue is in a part of the QH that wasn't being dumped ... otherwise you'd be seeing IN tokens of some kind, with the device NAKing. (Because maybe the data toggle was trashed.) > > The thing that's obviously striking here is that your urbs > > have 32KB buffers, so each one stretches into two qTDs: > > the first is five pages, the second is three. (And nothing > > looks obviously wrong in those parts of the queue heads.) > > It's an odd split: why not 4 pages + 4 pages? Because the most that fits into one qTD is 5 pages. If it split after 4 pages, then some URBs would take extra qTDs. > > ==> HYPOTHESIS: there's a bug in how the queue scanning > > handles that special case. It's very rare; QED. > > > > ==> PLEASE TEST BY: trying buffers of no more than 5KB > > in your bulk-IN urbs. This will completely avoid > > those special cases. > > > > Well - as stated right at the top of this posting, you're obviously > quite right. > > I've tested with 4K buffers (less than 5K as you suggested), but also > with 8K and 16K buffers. It works fine in all cases. Actually I meant to say "5 pages" (20 KB), but all those numbers look right are less than 20 KB. > > ==> HYPOTHESIS: this is more hardware that behaves oddly > > with the "park" mode. A recent patch disabled that, > > improving behavior on some NForce2 boards. > > > > ==> TEST BY: using 2.6.11-rc4, which turns off that > > park mode. > > > > I don't think I can do that today as I'm out of space on my hard disk > (doh!) and a bigger replacement is on order but hasn't turned up (yet). > If it turns up later today then of course I'll test with 2.6.11-rc4 for > you. > > Do you actually care any more, now that hypothesis #1 seems to have been > correct? Not especially, though it'll be interesting to see if things now act differently for you. Turning off "park" might mean the USB throughput is slightly lower for you (there's a module parameter that can turn it back on). - Dave ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
