On Tue, 2 Dec 2003, Alex Bennee wrote: > > As I showed above with a decode from a CATC chief, they are setup commands > > to a hub, probably the one containing his device. > > Is that an external hub, because we didn't have one. However there is a > "Virtual Root Hub" which is part of the ISP116x. I'm a little fuzzy on > what a this is meant to mean or do, but could we be incorrectly routing > packets for the hub to the device?
That sounds like a very likely possibility. > That may explain some of the weirdness, if I understood what role the > root hub plays in USB :-) Normally I would expect your device to ignore those hub commands because it wouldn't understand them. But failure of the commands would mean that the USB core wouldn't communicate with your root hub properly and hence wouldn't communicate with any devices attached to your controller. The role of a root hub is pretty simple to understand. Many host controllers have multiple ports and hence must behave like a hub. For consistency, even controllers with just a single port are treated like a hub. That's what the root hub is (sometimes called a "virtual" root hub because it's not really a hub, just a software emulation). Your HCD has to register its root hub and carry out the associated functions. That means responding to control messages for hub and port status, generating status change interrupt messages, and carrying out various SetFeature and ClearFeature commands. In other words, your driver has to carry out all the functions necessary to convince the hub driver that there is a hub at the root of your bus. For an example of how such a thing might work, look at the uhci-hub.c file in drivers/usb/host/. Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel