I can trick my laptop with AMD USB 3.10 eXtensible Host Controller to work with ESP32's but they won't work normally. The ESP32's use a Silicon Labs CP2102 USB to UART chip.
Let me explain the trick. If I plug the ESP32's in the laptop simply ignores then. If I plug in an unpowered USB hub first, the laptop will then recognise the ESP32's and work fine with them. Just to be clear, the ESP32's will work plugged into the external hub AND plugged directly into another USB port on the laptop. If you unplug the external hub while the ESP32 is plugged into a different USB port on the laptop the ESP32 disconnects. No external hub equals no ESP32 connection no matter what port it is in.
Does the external USB hub put the onboard AMD USB 3.10 eXtensible Host Controller into a different mode? Does it change the handshaking protocol? What is happening here because I shouldn't need an external hub to make another USB device work. Thanks.