I have two generic 4-port USB hubs that are supposed to be USB 2.0
compliant. The older one is fine, works as advertised. Meanwhile the newer
one sometimes shows up under the USB 2.0 root hub (i.e. "Standard Enhanced
PCI to USB Host Controller"), or usually it shows up under the slower
"Standard OpenHCD USB Host Controller" (USB 1.1).
My motherboard (Asus M2NPV-VM) USB ports are all USB 2.0 compliant, and
they individually auto-detect whether they need to switch down to USB 1.1
speeds. I'm using a Microsoft tool called UVCView under Windows XP to
display the details of the USB devices, including the hubs and roothubs.
According to UVCView, the older hub and newer hub seem to have the same
chipset vendor (idVendor = "Genesys Logic, Inc."), although externally
they look quite different and have different brand names. So I'm not sure
why one would be consistently USB 2.0 compliant, while the other one is
not.
Now another interesting thing I noticed is that the inconsistent hub will
only show up as USB 2.0-compliant after I boot into Windows after having
previously rebooted from Ubuntu 7.10 Linux (dual-boot system). So maybe
Linux does something to the device that puts it right. But when I list the
devices while in Linux I see that it is listed under USB 1.1 just like
when in Windows. I have no idea why Linux leaves the hub fixed for
Windows, but doesn't fix it for itself?!