To support USB passthrough from an ESXi host or from a client computer to a virtual machine, you can add a USB controller to the virtual machine.

In the vSphere Client, you can add one xHCI controller and one EHCI+UHCI controller.
  • From hardware version 11 to hardware version 16, the supported number of root hub ports per xHCI controller is eight (four local USB 3.1 SuperSpeed ports and four logical USB 2.0 ports).
  • From hardware version 17 to hardware version 20, the supported number of root hub ports per xHCI controller is eight (four local USB 3.1 SuperSpeedPlus ports and four logical USB 2.0 ports).
  • With hardware version 21, the supported number of root hub ports per xHCI controller is eight (four local USB 3.2 Gen 2x2 ports and four logical USB 2.0 ports).

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 a VM Supported for Passthrough from Client Computer to a VM
EHCI+UHCI 2.0 Yes Yes
xHCI 3.2, 3.1, 2.0 Yes

USB 3.2, 3.1, and 2.0

Yes

Windows 8 or later, Windows Server 2012 and later, or a Linux guest operating system with a 2.6.35 or later kernel.

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

For virtual machines with Windows or Linux guest operating systems, you can add one or two controllers of different types. 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 more than 15 controllers and you connect USB devices to them, the devices are not available to the virtual machine.

Prerequisites

  • Verify that the ESXi host has USB controller hardware and modules that support USB 3.2, 2.0, and 3.1 devices.
  • Verify that the client computers have USB controller hardware and modules that support USB 3.2, 2.0, and 3.1 devices present.
  • To use the xHCI controller on a Linux guest operating system, verify 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.

Procedure

  1. Right-click a virtual machine from the vSphere inventory and select Edit Settings.
  2. On the Virtual Hardware tab, click Add New Device and from the drop-down menu select USB Controller.
    The controller appears in the Virtual Hardware devices list.
  3. To change the USB controller type, expand New USB Controller.
    If compatibility errors appear, you must fix them before you can add the controller.
  4. Click OK.

What to do next

Add one or more USB devices to the virtual machine.