Configure USB Controllers and USB Device Access in VMware Player
Learn how to configure USB 1.1, USB 2.0, or USB 3.0 controllers in VMware Player and connect physical USB devices to Windows or Linux guests.
What a virtual USB controller does
A USB controller is virtual hardware that allows a guest operating system to communicate with physical USB devices redirected from the host. The guest needs a configured controller before VMware Player can pass eligible USB devices into the virtual machine.
The virtual controller is different from the physical USB ports and controller hardware in the host computer. VMware Player uses the host operating system's USB subsystem to identify the physical device, then presents that device through the virtual controller to the guest.
A USB device is normally attached to either the host or the guest at a given time. When you connect a flash drive to the guest, the host releases it so both operating systems do not attempt to control the same device simultaneously.
USB controller types in VMware Player
The controller type describes the USB hardware exposed to the guest. It is not simply a description of the connector on the physical computer. A newer virtual controller can generally support devices from earlier USB generations when the virtual hardware and guest operating system support that arrangement.
VMware Player USB controller compatibility
If a virtual machine has an older hardware compatibility level, the desired controller may not appear in the settings. You may need to upgrade the VM's virtual hardware compatibility before selecting EHCI or xHCI. Review the consequences of that change before upgrading a production VM; see configure virtual machine compatibility.
Compatibility requirements
- The host operating system must recognize and support its physical USB controller and the connected device.
- Host-side, device-specific drivers are not necessarily required solely for VMware Player to redirect a device into the guest.
- The guest may still require its own driver after the device is attached. Host recognition does not guarantee guest usability.
- Behavior depends on the selected virtual controller, VM hardware compatibility, guest operating system support, and the particular USB device.
Add or configure a USB controller
- Shut down the guest completely. Power off the virtual machine rather than suspending it. VMware Player generally requires the VM to be powered off before virtual hardware is added or changed.
- Open VM settings. Select the virtual machine in VMware Player and open its hardware settings.
- Check for a USB controller. If one is absent, choose the option to add hardware and select a USB controller. The exact wording can differ between VMware Player releases.
- Select the compatibility level. Where the interface exposes a choice, select USB 1.1, USB 2.0, or USB 3.0 according to the VM hardware level and guest requirements. Use UHCI for USB 1.1, EHCI for USB 2.0, and xHCI for USB 3.0.
- Save the settings. Confirm the hardware configuration and close the settings window.
- Start or restart the VM. Boot the guest so it can enumerate the virtual controller.
- Verify detection. In Windows, inspect Device Manager for the USB controller. In Linux, inspect the system's USB device list and logs, for example with
lsusbanddmesgwhen those tools are available.
For a focused walkthrough of adding the hardware, see add a USB controller.
Connect a USB device to the guest
- Connect the physical USB device to the host computer.
- Start the virtual machine and wait until the guest has booted.
- Open VMware Player's Removable Devices menu or equivalent removable-device controls.
- Select the eligible USB device and choose the action that connects it to the virtual machine. The device should be released by the host and presented to the guest.
- Wait for the guest to detect the hardware and install or request its device driver.
- Verify the device in a guest application. For example, a storage device should appear in Windows File Explorer or a Linux file manager after it is recognized and mounted.
To return the device to the host, use the same removable-device controls while the guest is running and choose the disconnect, release, or return-to-host action. Close files and stop applications using the device before disconnecting it. See connect a USB device to a virtual machine for related device-handling steps.
Generic USB storage and peripheral pass-through only make the physical hardware available to the guest. They do not replace guest-specific application configuration or driver installation.
Example: USB flash drive in a modern Windows guest
- Power off the VM and confirm that a USB controller is configured.
- Choose a controller level supported by the VM hardware compatibility and the Windows guest.
- Start the VM, open the Removable Devices controls, and connect the flash drive to the guest.
- Confirm that it appears in File Explorer. If it does not, check Device Manager and Disk Management for driver, partition, or mount problems.
- Close files, disconnect the device from the guest, and then use it on the host.
USB input devices and visibility
Keyboards, mice, and similar human interface devices (HIDs) are treated differently from ordinary removable devices because they are commonly needed to control the host. VMware Player does not normally list all USB input devices for guest connection by default.
If direct attachment is necessary, enable the VMware Player setting that reveals or shows all USB input devices. Then use the removable-device controls to assign the required keyboard, mouse, or other HID to the guest.
For HID-specific procedures, see connect USB HIDs to a virtual machine.
Legacy USB emulation
Legacy USB emulation is a compatibility feature that makes USB input devices available to older guest software or to environments that cannot use the guest's normal USB drivers early in startup.
It may help when an older operating system needs keyboard input during boot, setup, or another pre-driver stage. Identify whether the problem is limited to early startup before enabling it.
Enable legacy emulation only when the guest or boot-time software needs it. It is not normally the default solution for modern guests with native USB support. After enabling it, reboot the guest and test input at the stage where it was previously unavailable. Related configuration is covered in configure legacy emulation mode.
USB 2.0 and USB 3.0 examples
Use a USB 2.0 peripheral with an older VM
- Power off the VM and check its virtual machine hardware compatibility.
- Confirm that it meets the Workstation 6-equivalent or later requirement for EHCI.
- If permitted by your environment, upgrade the VM hardware compatibility.
- Configure USB 2.0 / EHCI, save the settings, and boot the guest.
- Attach the peripheral from the Removable Devices menu and verify guest recognition.
Enable USB 3.0 for an eligible Linux guest
- Check that the Linux kernel is version 2.6.35 or newer for the historical xHCI requirement specified here.
- Confirm that the VM hardware compatibility is Workstation 8-equivalent or later.
- Select USB 3.0 / xHCI, save the configuration, and start the VM.
- Attach the device and verify detection with
lsusband relevant system logs such asdmesg. - If detection succeeds but the application cannot use the device, install or update the required guest-side driver or application.
Troubleshooting USB access
Verification checklist
- The VM is powered off when virtual USB hardware is changed.
- A virtual USB controller is present.
- The selected UHCI, EHCI, or xHCI generation matches the VM hardware compatibility.
- The host operating system recognizes the physical USB device.
- The device is connected through VMware Player's removable-device controls.
- The guest detects the controller and the device.
- The guest has any driver required by the device.
- The device is disconnected from the guest before host applications use it again.
- An alternate input method is available before redirecting a keyboard or mouse.