Why does EHCI Handoff Exists on AM4 board BIOS with XHCI Controllers [duplicate]

Edit:

In my view this question is not a duplicate of the indicated question. I specifically want to also know what is the reason EHCI Hand off setting exists on XHCI motherboard where all USB ports are essentially controlled by XHCI. Thanks.

This question is close to this one on SU. There OP wants to know what is the ideal setting for XHCI Handoff when running Windows 7. Should it be Enabled or Disabled. So while it partly addresses the issue I have two related questions independent of the OS installed.

  1. What is the actual meaning of Handoff?
  2. On modern boards where (as per my understanding, see the below post quote from the manual) even USB 2.0 is wired to XHCI controller, what purpose does EHCI Handoff setting do?

The link on B350-DASH below shall open the Motherboard Manual. The exact description is also pasted below as a Quote.

The Gigabyte motherboard B350M-DASH has following options in BIOS Settings

XHCI Hand-off Determines whether to enable XHCI Hand-off feature for an operating system without XHCI Hand-off support. (Default: Enabled)

EHCI Hand-off Determines whether to enable EHCI Hand-off feature for an operating system without EHCI Hand-off support. (Default: Disabled)

Moreover it seems that it's the Chipset & CPU that handles the USB 3 ports on AM4 Platform.

So where does EHCI come in for EHCI Handoff?

USB

Chipset: - 2 x USB 3.1 Gen 2 Type-A ports (red) on the back panel - 2 x USB 3.1 Gen 1 ports available through the internal USB header - 4 x USB 2.0/1.1 ports available through the internal USB headers

CPU: - 4 x USB 3.1 Gen 1 ports on the back panel

3

1 Answer

"Hand-off" means that the BIOS lets the operating system handle the hardware, so the operating system must have drivers to handle that hardware. In other words, the BIOS hands over control of the ports.

XHCI relates to the USB3 port controller, while EHCI relates to older USB2 port controller. The BIOS does not include drivers for USB3, so USB3 will not function without operating system drivers.

Your motherboard manual says that you should set XHCI Hand-off to Enabled and EHCI Hand-off to Disabled, because you have a newer port controller that supports USB3. That requires having installed the right driver to support USB3.


(After change of question :)

My understanding is that you have both controllers on the motherboard, and they both have access to the interior bus, so both can access all USB ports.

However, because of hardware differences, EHCI cannot achieve USB3 speeds.

I believe that the reason they are both there is because some operating systems may have problems with the XHCI. These operating systems need the EHCI to be enabled and the XHCI disabled, and accordingly they don't support USB3.

4

You Might Also Like