Further looking at the logs... The problem with that low speed device is that it places a giant boulder in the middle of the only place QHs can reasonably go in the compatability bandwidth schedule; the budgeting code is only capable of packing so many smaller pebbles around it. QHs are severely constrained as to ordering and placement in EHCI and you've got several of them fighting over a sliver of time left after the LS device is allocated. Which ones work will depend on what order they're plugged in.
(the analogy is apt in another way. You can have plenty of space to the left of a boulder, but if the new pebble must go on the right, too bad, and the boulder can't be moved once it's there) The budget algorithm could be modified to spread QHs out a bit more (more room on the right), but this would mean many iso devices (camera, scanners, audio, which have to go on the left) will no longer have enough bandwidth to work. Rebalancing QHs would also fix the problem (ability to move th boulder), but EHCI requires a shutdown handshake that can take up to two seconds for each QH rebalancing attempt (all traffic in New York must stop and wait while a giant crane is brought in to move the boulder). The other fix costs $25: buy a multi-TT USB 2.0 hub. I find it boggling that single-TT hubs are still the norm, but they're like $1 cheaper to make and those profit margins are all important! In a multi-TT hub, each port gets its own independent bandwidth schedule, instead of all of them sharing the same 188 byte buffer. I'll look a bit at how the budgeting algo can be tweaked, but the root cause of the problem here is 'USB 1 and USB 2 are only kinda pretending to be compatable'. Monty ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel