On 12/19/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > On 12/19/06, Jon Smirl <[EMAIL PROTECTED]> wrote: > > > I was giving the hub more credit than it deserved. I thought it was > > doing store and forward so that it was talking 480Mb to the PC and > > then 1Mb, 12Mb or 480Mb to the peripherals. > > It is, but it makes none of the timing decisions itself. This makes > sense in some way-- it lets the host controller and driver software > exert exacting control over timing details, which can matter to some > devices. That's... being somewhat diplomatic though. > > The practical effect from a driver standpoint is making everything > fantastically more complicated :-) > > > If I understand correctly > > it is switching the 1Mb or 12Mb traffic onto the PC at 1Mb or 12Mb > > which would make scheduling harder. > > Actually, it is doing 480Mbps to the hub, but the translation timing > details from 480Mbps to 480/12/1 are decided by the host > controller/driver. The hub has a tiny buffer (about one microframe, > best-case), a few rules it follows for store/forward and it's entirely > up to the host controller to make sure the buffering is used > correctly/optimally. USB has pages upon pages of special case timing > that has to be handled in endless combination, and it's up to the > software driver to find a way to make it work with a 188-byte hub
188-byte hub buffer Obviously designed by a hardware engineer who believes the PC should be dedicated to monitoring his buffer. > buffer. That's not even getting into interleaved transaction > ordering... > > Monty > -- Jon Smirl [EMAIL PROTECTED] ------------------------------------------------------------------------- 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