Problems using some USB devices in a virtual machine
search cancel

Problems using some USB devices in a virtual machine

book

Article ID: 315312

calendar_today

Updated On:

Products

VMware VMware Desktop Hypervisor

Issue/Introduction

  • You cannot use a specific USB device in my virtual machine.
  • The guest operating system locks up.
  • Failure when you plug in a USB device
  • You see an error message similar to:.

    Inappropriate ioctl for device


Resolution

These sections describe various problems that can occur when you use USB devices with a virtual machine, and suggest ways to avoid or work around those problems. The last section in this article explains how to file a support request with VMware.

Note: USB devices do not work in a Solaris virtual machine on VMware Server 1.0.

USB 3.0 Devices

For information on USB 3.0 devices, see VMware Workstation 7.x does not detect and connect USB devices attached through USB 3.0 host controller (1025956) and Host and guest OS USB 3.0 and virtual xHCI support with Workstation 9 (2041591)

USB 2.0 Devices

VMware Workstation 6, 7, and 8, VMware Player 2, 3, and 4, and VMware ACE 2 include a virtual EHCI controller that allows guests to fully use USB 2.0 devices. To enable USB 2.0 support for a virtual machine created with older products, you need to:

  1. Open the virtual machine with Workstation.
  2. Upgrade the virtual machine hardware version. For more information, see the Workstation help topic Change the Version of a Virtual Machine.
  3. Add a USB 2.0 controller. For more information, see the Workstation help topic Enable the USB 2.0 Controller for a Virtual Machine.

If you do not want to upgrade the virtual machine, there is a workaround. Try plugging the device into a USB 1.1 host port, or plugging the device into a USB 1.1 hub and then into a USB 2.0 host port. This action forces the transactions between the host and device to be USB 1.1. We suggest this because some USB 2.0 devices can experience problems when they are connected to the host with a USB 2.0 connection. This is due to operating system or driver limitations in passing the USB 2.0 host data to the virtual machine’s USB 1.1 controller. For example, formatting a USB 2.0 flash thumb drive or USB 2.0 hard drive can cause a Windows XP or Windows 2003 guest to fail with a blue screen error.

Troubleshooting USB devices

Follow these steps to troubleshoot a USB devices that does not work properly with your guest:

  1. Read the VMware product documentation on the VMware Web site for information on various types of USB devices and their expected behaviors in a virtual machine:
     
  2. Ensure that your USB device works when you plug it in and use it on the host system. If the USB device is not recognized on the host or does not work properly there, it might not work in a virtual machine, either.
     
  3. Ensure that the necessary drivers are installed in Windows. For more information, see A connected USB storage device is not displayed in a Windows virtual machine (1004584).
     
  4. Check whether the device needs to be automatically connected to the virtual machine. Syncing devices (such as PDAs or smart phones) must often connect quickly to the syncing software and so they require USB autoconnect. Before connecting the device or initiating a sync command from the device, ensure that the virtual machine has focus.

    Also, try:
     
    • Linux hosts: Disable hotplug and unload any kernel modules to improve the results. For related information, see Cannot use USB device in a virtual machine on a RHEL 4 x64 host (1036506).
    • Windows hosts: The first time the device is autoconnected, the VMware USB driver must load. Leave the syncing device connected while you load the driver, then disconnect and reconnect the device a second time for a quick connection into the virtual machine.
       
  5. Determine whether the USB device needs extra configuration. Issues can occur because the USB devices do not implement the USB protocol as expected. To resolve this issue, you can use certain quirks in the guest's interactions with the USB device.

    To add quirks:
     
    1. Open the vmware.log file.
       
    2. Search for the device manufacturer's name. Locate a line similar to:

      vmx | USB: Found device [name:Apple\ IR\ Receiver vid:05ac pid:8240 path:13/7/2 speed:full family:hid]

      The line has the name of the USB device and its vid and pid information. Make a note of the vid and pid values.
       
    3. Edit the .vmx file. Add this line to the .vmx file, replacing vid and pid with the values noted in Step 2, each prefixed by the number 0 and the letter x.

      usb.quirks.device0 = "0xvid:0xpid skip-reset"

      For example, for the Apple device found in step 2, this line is:

      usb.quirks.device0 = "0x05ac:0x8240 skip-reset"

      Note: For more information on editing the VMX file, see Editing the .vmx file of a VMware Workstation and VMware Player virtual machine (2057902)
       
    4. Save and close the .vmx file.
    5. Restart the virtual machine and try connecting the device again.
    6. If the issue is not resolved, replace the quirks line added in Step 4 with one of these lines, in the order provided, and repeat Steps 5 to 8:
       
      • usb.quirks.device0 = "vid:pid skip-refresh"
      • usb.quirks.device0 = "vid:pid skip-setconfig"
      • usb.quirks.device0 = "vid:pid skip-reset, skip-refresh, skip-setconfig"
         
      Notes:
       
      • Use one of these lines at a time. If one does not work, replace it with another one in the list. Do not add more than one of these in the .vmx file at a time.
      • The last line uses all three quirks in combination. Use this only if the other three lines do not work.

Filing a Support Request with VMware

If the issue continues to exist after trying the steps in this article, or if you have found a quirk that works, let us know. We need some specific information from you, so follow this process:

  1. Shut down the virtual machine.
  2. Open your .vmx file for editing again, and add this line:

    usb.analyzer.enable = "TRUE"

    Note: For more information on editing the VMX file, see Editing the .vmx file of a VMware Workstation and VMware Player virtual machine (2057902)
     
  3. Edit the virtual machine settings and go to Options > Advanced.
  4. Set Gather debugging information to Full.
  5. Power on your virtual machine.
  6. Connect the USB device to your virtual machine.
  7. Collect the VMware Support Information. For more information, see Collecting diagnostic information for VMware Workstation (1346).
  8. File a support request with VMware Support and quote this Knowledge Base article ID (774) in the problem description. For more information, see Filing a Support Request in Customer Connect (2006985) . Ensure to include this information with your Support Request:
     
    • The most recent log file.
    • A complete description of how the device failed to work in the virtual machine.
    • The exact make and model of the USB device you are trying to use.
       
  9. After collecting the support information, set Gather debugging information to None.

Additional Information:

This article applies primarily to VMware Workstation.
 
For translated versions of this article, see: