USB controllers are available to add to virtual machines to support USB passthrough from an ESXi host or client computer to the virtual machine.

You can add two USB controllers to a virtual machine. The xHCI controller, available for Linux, Windows 8 and later, and Windows Server 2012 and later guest operating systems, supports USB 3.0 superspeed, 2.0, and 1.1 devices. The EHCI+UHCI controller supports USB 2.0 and 1.1 devices.

The conditions for adding a controller vary, depending on the device version, the type of passthrough (host or client computer), and the guest operating system.

Table 1. USB Controller Support
Controller type Supported USB Device Version Supported for Passthrough from ESXi Host to VM Supported for Passthrough from Client Computer to VM
EHCI+UHCI 2.0 and 1.1 Yes Yes
xHCI 3.0, 2.0, and 1.1 Yes (USB 2.0 and 1.1 devices only) Yes (Linux, Windows 8 and later, and Windows Server 2012 and later guests)
Note: Drivers are not available for the xHCI controller on Windows guest operating systems.

For Mac OS X systems, the EHCI+UHCI controller is enabled by default and is required for USB mouse and keyboard access.

For virtual machines with Linux guests, you can add one or both controllers, but 3.0 superspeed devices are not supported for passthrough from an ESXi host to a virtual machine. You cannot add two controllers of the same type.

For USB passthrough from an ESXi host to a virtual machine, the USB arbitrator can monitor a maximum of 15 USB controllers. If your system includes controllers that exceed the 15 controller limit and you connect USB devices to them, the devices are not available to the virtual machine.


  • ESXi hosts must have USB controller hardware and modules that support USB 2.0 and 1.1 devices present.
  • Client computers must have USB controller hardware and modules that support USB 3.0, 2.0, and 1.1 devices present.
  • To use the xHCI controller on a Linux guest, ensure that the Linux kernel version is 2.6.35 or later.
  • Verify that the virtual machine is powered on.
  • Required Privilege (ESXi host passthrough): Virtual Machine.Configuration.Add or Remove Device


  1. In the vSphere Client inventory, right-click the virtual machine and select Edit Settings.
  2. Click the Hardware tab and click Add.
  3. Select the type of USB Controller to add and click Next.
  4. Review the device information and click Next.
  5. Click Finish.
    New USB Controller (adding) appears in the hardware list as Present.
  6. Click OK to save your changes.


When you reopen the Properties Editor, the xHCI controller appears on the Hardware tab as USB xHCI controller. The EHCI+UHCI controller appears as USB controller.

What to do next

Add one or more USB devices to the virtual machine.