The most common mistake I have noticed most newbies make is that of USB 1 == UHCI/OHCI, USB 2 == EHCI, USB 3 == xHCI. This is simply not, I repeat, not the case. The USB specification supersedes the hardware it describes. The hardware (the controller), is made to accommodate the USB specification, to allow the communication described in the USB specification.
A super-speed, top of the line thumb-drive using "usb attached scsi protocol", aka UASP and streams, transferring sectors faster than anyone could have ever imagined when plugged into a compatible xHCI root hub, should at the very least, enumerate on a UHCI, making it USB 1 compatible. Yes, it won't transfer faster than 12Mhz, but it is still USB 1 compatible. In fact, it may not transfer sectors at all, but as long as it enumerates, it is still USB 1 compliant. (If the thumb-drive doesn't support BBB or CB or whatever older protocol, only supporting UASP, this doesn't make the device USB 1 incompatible. It just means that the firmware doesn't support the old protocol, which is not the device's fault.)
Same goes the other direction, a simple low-speed, two-button mouse, with a ball, (not optical--remember those?), should and will still enumerate/work on a xHCI controller.
The controller is simply the hardware to allow the USB communication to take place. The UHCI/OHCI supporting USB 1, the EHCI supporting 1 and 2, and the xHCI supporting all the features of USB 1, 2, and up to USB 3.x (and now 4).
It would surprise me if your gaming mouse is anything faster than a full-speed device. I can't move the mouse or click a button faster than 12Mhz, can you? :-) Just because it has "USB 2.0 compatible" printed on the box doesn't mean it is a high-speed device. (And I don't mean to direct that at you, I am simply making a point).
To answer your other question about UHCI or OHCI being easier, my answer is yes, easier than EHCI, no, not easier than xHCI. xHCI has very much simplified the task, period.
If you do study the UHCI and/or OHCI, the two have a distinct difference. One is hardware hungry while the other is software hungry.
However, don't be discouraged. I have been working with USB for more than 20 years, and I still enjoy it and learn something new all the time. It has been my most enjoyable part of this hobby. Ben
|