My understanding is USB3 is intenteded to be backwards compatible with USB2 , so the intent is to be able to plug in a usb2 device (e.g keyboard) in a usb3 host (e.g. computer port) and it should all still work the same as before.
1.
That is the intent. I'm wondering how well that is achieved in practice? USB3 computers and devices have been available for more than a year, have you heard of any reports of incompatabilities ? If so, is there a common thread between the failures (e.g certain manufactures or certain device classes are particularity problematic ...)?
2.
USB3 keeps an extra set of the older usb2 signalling to gurantee compatability on the electrical interface. But how is compatability on the software side guranteed with the new XHCI controller. I know XHCI can handle all rates but I assume that it has different register specification than the usb 2 EHCI controller, so the host controller drivers for those would be different and incompatible. Is that true ?
But to still beable to communicate with usb2 devices using XHCI then there must be a higher software layer above the host driver that has a common interface for USB3 and USB2 to ensure they are compatible from a software prespective. Where is that layer ? Is that at the windows class drivers ? Are devices even aware which controller (XHCI or EHCI) they are talking too ?
I'm wondering if even though there is a point with a common interface, the XHCI may still cause subtle differences on the interface relative to EHCI (e.g the timing of the messages or ...) that may be enough to cause a failure. Do you think this worry is justified ?
3. I guess the industry has been through this before a decade ago when it transitioned from usb1 to usb2. What are the lessons to learn from that history ?
Thanks