Force a single USB 3.0 port to work as USB 2.0

Although this is not a software solution, if you use a USB 2 extension cable then it will prevent the 5 USB 3 pins in the plug from physically connecting the wires which carry the USB 3 handshake between the host and device. A USB 2 device or cable only has 4 pins. A USB 3 port will default to USB 2 signaling communication when only 4 pins are connected. A USB 2 extension cable only caries 4 wires that connect the 4 pins of USB 2 only communications.


It's possible. It involves changing configuration registers in the xHCI controller, so it's obviously chipset-specific. This is how it's done on Linux. I suppose it should be possible to do it on Windows too, but I don't know what utility to use.

To set both ports to USB 2.0 mode:

sudo setpci -H1 -d 8086:1e31 d8.l=0

Right port 3.0 and left port 2.0:

sudo setpci -H1 -d 8086:1e31 d8.l=1

Right port 2.0 and left port 3.0:

sudo setpci -H1 -d 8086:1e31 d8.l=2

Changing the register at d8 (USB3_PSSEN) sets the ports in USB 2.0 mode, but they are still on the xHCI controller. To switch over to EHCI, you also have to change the register at d0 (XUSB2PR). For example to run both ports off the EHCI contoller you have to do this:

sudo setpci -H1 -d 8086:1e31 d8.l=0

sudo setpci -H1 -d 8086:1e31 d0.l=0

The registers are documented in this datasheet, in section 17.1.

http://www.intel.com/content/www/us/en/chipsets/7-series-chipset-pch-datasheet.html


This is likely impossible, or very device-specific. If it's at all possible, it would depend on how the 2.0/3.0 compatibility is handled by the system. I expect that low-level hardware and protocol detection, as well as management of transmission frequencies, is handled in the hardware/firmware - not the OS. If that's the case, then it would be entirely up to the hardware vendor to provide support for forcing a "legacy mode" in the drivers. I strongly doubt this is commonly - if at all - done.

You should consult your hardware manufacturer's documentation for more information on this.