I have a BIOS setting called XHCI Pre-Boot Mode.

If I have this enabled, USB devices which aren't plugged in at boot, are never recognised. If I set it to Disabled then USB devices work normally.

The brief BIOS description says "Enable this option if you need USB 3.0 support in DOS." Which I don't, but it also says "Please note that XHCI controller will be disabled if you set this item as Disabled." So does that mean that USB 3.0 is disabled with this option?

Here's a picture of the screen:

Asus UX32VD Advanced USB BIOS screen

A subsequent BIOS update seems to have fixed this issue in that USB devices work even when not plugged in at boot with this option Enabled.

4 Answers 4


Based on the general symptom of USB devices not working when xHCI is enabled, and working when xHCI is disabled, it would sound like your OS has USB 2.0 drivers, but not USB 3.0 drivers.

What does this sort of BIOS setting do? I found a good summary of the choices for a similar 'xHCI Mode' BIOS setting in a post by tonymac user a6f691ac:

xHCI Mode = Disabled - The on-board USB 3.0 port function like a 2.0 port

xHCI Mode = Enabled - The on-board USB 3.0 port function like a 3.0 port

xHCI Mode = Auto - The on-board USB 3.0 port function like a 2.0 port before OS USB 3.0 driver load. If you reboot the OS, the on-board USB 3.0 port again function like a 2.0 port during this reboot BIOS phase before OS USB 3.0 driver load.

xHCI Mode = Smart Auto - The on-board USB 3.0 port function like a 2.0 port before OS USB 3.0 driver load. If you reboot the OS, during this reboot BIOS phase, BIOS is "Smart" enough to avoid downgrade the USB 3.0 port back to 2.0 functionality before OS USB 3.0 driver load. So Smart Auto is faster than Auto on 2nd boot onward, but Enabled is fastest once you are sure the OS has the USB 3.0 driver installed, because it avoid the switching. Making the on-board USB 3.0 port function like a 2.0 port is mainly to support OS installation or to support OS that does not have build-in USB 3.0 driver, so that the USB keyboard would still work if the user plug-in a USB keyboard or any other USB devices into the USB 3.0 ports before the OS is installed with the USB 3.0 driver come with the motherboard.


Each major version of USB has used a new software interface on the USB controller (1.x: UHCI and OHCI, 2.x: EHCI: 3.x: xHCI), each incompatible with the drivers for the previous version. Newer USB controllers work fine with older USB peripherals, so there is no reason for a computer to have anything but the latest USB hardware -- provided that it's fully up to date with the necessary drivers.

However, when installing an OS, there's the possibility of a chicken-and-egg problem where you have the drivers in hand, but they aren't built into the OS installation, and you don't have a way to complete the OS installation and get the drivers on to the system other than using a disk that you need the drivers for.

To get around this for USB, systems either include dedicated older ports (for instance dedicated USB 2 ports on a system that also has USB 3 ports) or else they put a selection like this one in the BIOS that lets you change ports to use the older interface standard on the computer side, and then once you've got the OS on and the updated USB driver installer copied to the system, you can change back, install the update USB drivers, and now everything is running on the newest faster USB version.

The various "Auto" settings seem like an attempt to provide a BIOS configuration that works at full speed normally without having to change a BIOS setting at install time. This is presumably to save tech support calls from individual owners who are reinstalling their OSes, as well as to suit centrally administered environments where all OS installs are done by remote network boot and something like changing a BIOS setting on an individual machine part way through the setup process would be impractical.

  • @peter-mortensen Do you plan to edit the quoted website to match your edit here, or? ;)
    – rakslice
    Jun 13, 2022 at 6:33

xHCI Pre-Boot Driver

Enabled The USB 3.0 ports are routed to the xHCI controller before booting to OS. (Default)

Disabled The USB 3.0 ports are routed to the EHCI controller before booting to OS.

When this item is set to Enabled, the xHCI Mode below will be automatically set to Smart Auto; when this item is set to Disabled, the xHCI Mode below will be automatically set to Auto.

source: http://mbforum.gigabyte.de/index.php?page=Thread&threadID=6484

  • 4
    Some clarification: xHCI is the USB 3.0 controller, and EHCI is the USB 2.0 controller. Possibly (I don't have a system with such options) - if you boot into a rescue environment like Windows PE, and you didn't include USB 3.0 drivers on the CD, things like external drives won't work when you connect them to the ports, UNLESS you set it to EHCI.
    – LawrenceC
    Jul 21, 2013 at 14:54

On dual-boot between Windows 10 and Windows 7 (pro for both), the xHCI controller bypasses the legacy USB ports (loads no legacy USB ports). Setting xHCI to disabled allows the dual boot to function correctly under the ASUS BIOS using the EHCI controller.


The XHCI controller (Extensible Host Controller Interface) is the USB 3.0 controller. For all practical purposes, you can consider the terms synonymous. So, yes, it sounds like this will disable the controller and the associated ports entirely (unlike earlier controllers, the same stack handles USB1 and USB2 as well as USB3, so this is probably an all-or-nothing prospect).

  • But setting it to Disabled allows my USB devices to work normally, so it doesn't disable the ports entirely. Sep 26, 2012 at 21:36
  • Oh, I read that backwards...but I'd suspect it's actually written backwards then. I'd expect that this option should be off for normal operation. That is to say, leave it disabled.
    – Shinrai
    Sep 26, 2012 at 21:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .