Using a tool to display my computers hardware properties, I can see that my computer has a "USB xHCI Compliant Host Controller".
Does this automatically mean, it is USB 3.0? Or could this also apply to a USB 2.0 connectors?
Using a tool to display my computers hardware properties, I can see that my computer has a "USB xHCI Compliant Host Controller".
Does this automatically mean, it is USB 3.0? Or could this also apply to a USB 2.0 connectors?
Yes, you are correct. xHCI means USB 3.0 support (red). USB 2.0 is enhanced host controller (green)
The blue ones are USB 1.1 (OpenHost)
Some OEMs are indeed stupid and use USB 3.0 controllers, but use USB 2.0 ports (micro USB for example).
To see this, run a tool called USB Device Tree Viewer and click on each listed port which has the entry IsUserConnectable (here the user can connect USb devices, some are internally used to attach devices like USB card readers) and look for SupportedUSBProtocols and if the entry Usb300 has a 1 (yes) set. Here not:
No, xHCI is designed to work with all speeds of USB devices.
There are devices that has an xHCI host controller but has only USB 2 ports.
On the other hands, on modern motherboards that has both USB 2 and 3 ports, the xHCI host controller is responsible for both types of them. You will also see that even those 12M "full-speed" devices, such as your keyboard and mouse, are attached to it as well. Although often there are fallback EHCI controller(s), I suppose they are for devices that somehow cannot be attached to an xHCI controller (which I have never seen).
In Linux this can been confirmed with lsusb -t or lsusb.py.
P.S. I believe the reason we often (wrongly) consider xHCI = USB3 is because 5Gbps (or 10Gbps) is not supported in EHCI, and xHCI is currently the only/latest standard we have for USB host controllers that supports USB 3.x speeds. But that doesn't mean it is wrong/stupid/impossible for a device to have an xHCI controller but only USB 2 ports.