[CC: list severely trimmed] On Fri, 10 Jun 2011, Hans de Goede wrote: > Something which I would also like to bring to everyone's attention > is that we really need to fix the ehci schedule code wrt scheduling > usb1 transfers over usb2 hubs. > > The current code is very broken when it comes to periodic transfers, > it basically disallows using the last microframe (let alone the > crossing of the frame boundary and using the first microframe of > the next frame). Indeed, the current code is not good. About the best we can say is that it usually works, in undemanding circumstances. > This means that trying to submit isoc transfers with a size of 1023 > will just plain fail, even if this is the only device on the entire > bus. I've never tried doing that. Does it really fail? Or does it set up the transfer in a way that isn't fully compliant with the spec? > This is one of the reasons I ended up doing the hack above, so > that these devices will at least work (be it at a decreased framerate) > through a usb2 hub. > > Things become even messier when the device has a build in usb audio > microphone, often this will just not work. In general, the USB-2.0 spec does not give high-speed controllers as much flexibility for scheduling full- and low-speed periodic transfers as full-speed controllers have. And even using the available flexibility to its full advantage is _extremely_ difficult -- I doubt we will ever implement it. But we could do better than we do now. Rewriting the scheduling code will be a big project, and I have avoided working on it for a couple of years now. :-) But it could be done if the need was urgent enough. > Finally fixing this has become more important now then ever since > sandybridge machines (and maybe generation one core i# machines too, > I don't know) no longer have a companion controller, but instead > have an integrated usb2 hub. I don't know... It's true that we're starting to see more machines with no companion controllers. But it's also true that USB-3 controllers are starting to permeate the market -- and for them this whole issue is moot since the scheduling is done automatically by the hardware/firmware. So while the issue may be gaining importance, it's also losing importance. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html