Intel USB EHCI Switcher tool

Hi all,

I’d like to present my tool that allows to switch USB 2.0 ports to EHCI controller on Intel 7, 8 and 9 series and x99 chipsets.
As you probably know xHCI controllers have much lower device count limits compared to EHCI controllers. This, combined with fact that on Intel systems all USB ports are handled by xHCI controller causes issues for users with lots of USB devices. Official solutions are “disable USB 3.0” and “buy expansion card”. However, turned out that this Intel platforms have 2 EHCI controllers that are simply not used. Studying Intel datasheets revealed that all three controllers can be used if xHCI is configured as “Smart Auto” in BIOS.
What is interesting - even complex cases like composite USB 3.0 device containing both 3.0 and 2.0 devices are handled correctly - 3.0 devices are connected to xHCI and 2.0 are connected to second EHCI controller.

Link to GitHub: https://github.com/Alexx999/IntelUsbSwitcher