Troubleshooting USB devices using USB quirks in Fusion
search cancel

Troubleshooting USB devices using USB quirks in Fusion

book

Article ID: 315623

calendar_today

Updated On:

Products

VMware Desktop Hypervisor

Issue/Introduction

Symptoms:
  • You can not connect a USB device to the virtual machine.
  • You receive an error when connecting a USB device to the virtual machine.
  • The USB device disconnects itself after a period of time.


Environment

VMware Fusion 11.x
VMware Fusion 12.x
VMware Fusion Pro 11.x
VMware Fusion Pro 8.x
VMware Fusion 4.x
VMware Fusion 2.x
VMware Fusion Pro 12.x
VMware Fusion 10.x
VMware Fusion 6.x
VMware Fusion Pro 10.x
VMware Fusion 3.x
VMware Fusion 8.x
VMware Fusion 7.x
VMware Fusion 5.x

Cause

These issues occurs because the USB devices do not implement the USB protocol as expected by Fusion.

Resolution

To resolve this issue, ensure that Fusion uses certain quirks in its interactions with the USB device. These quirks add special characteristics to the way Fusion connects and communicates with the device.


To add quirks:
  1. Shut down the virtual machine and quit Fusion.

    Caution: Do not skip this step.
     
  2. Open the vmware.log file within the virtual machine bundle. For more information, see Locating a virtual machine bundle in VMware Fusion (1007599).
  3. In the Filter box at the top of the Console window, enter the name of the device manufacturer.

    For example, if you enter the name Apple, you see a line that looks 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.
     
  4. Open the .vmx file using a text editor. For more information, see Editing the .vmx file for your Fusion virtual machine (1014782).
  5. 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"
     
  6. Save the .vmx file.
  7. Re-open Fusion. The edited .vmx file is reloaded with the changes.
  8. Start the virtual machine, and connect the device.
  9. 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 = "0xvid:0xpid skip-refresh"
  • usb.quirks.device0 = "0xvid:0xpid skip-setconfig"
  • usb.quirks.device0 = "0xvid:0xpid 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.
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:
 
Fusion 2.x and 3.x
  1. Open the .vmx file using an text editor.
  2. Add this line:

    usb.analyzer.enable = "TRUE"
     
  3. Go to the VMware Fusion menu and click Preferences.
  4. Select Enable debugging checks.
  5. Shut down your virtual machine and quit Fusion.
  6. Reopen Fusion and power on your virtual machine.
  7. Connect the USB device to your virtual machine.
  8. Collect the VMware Support Information. For more information, see Collecting diagnostic information for VMware Fusion (1003894).

    To address this issue further, file a support request with VMware by Broadcom Support and quote this Knowledge Base article ID (142884) in the problem description. For more information, see Creating and managing Broadcom support cases https://knowledge.broadcom.com/external/article?articleId=142884
  9. After collecting the support information go to VMware Fusion > Preferences and disable debugging checks.
Fusion 4.x and above
  1. Shutdown the virtual machine.
  2. Enable USB Verbose Logging.

    For Fusion 6.x and earlier
    1. Open the .vmx file using a text editor. For more information, see Editing the .vmx file for your VMware Fusion virtual machine (1014782).
    2. Add this line to the file:

      usb.analyzer.enable = "TRUE"
       
    For 7.x and above
    1. Click on Virtual Machine > Settings > Advanced
    2. Select Enable USB verbose debugging
       
  3. Enable debug logging for the virtual machine.

    In Fusion 4.x and earlier, select Preferences from the Fusion menu and then select the Enable debugging checks option.

    In Fusion 5.x and above, ensure that the virtual machine is shutdown, go to Settings > Advanced,and set Troubleshooting to Performance or Hang/Crash.

    Select the appropriate option from dropdown:
     
    • Select Performance if you experience performance related issue with your virtual machine.
    • Select Hang/Crash if you experience a hang or crash issue with your virtual machine.
       
  4. Power on your virtual machine.
  5. Connect the USB device to your virtual machine.
  6. Collect the VMware Support Information. For more information, see Collecting diagnostic information for VMware Fusion (1003894).
  7. To address this issue further, file a support request with VMware by Broadcom Support and quote this Knowledge Base article ID (142884) in the problem description. For more information, see Creating and managing Broadcom support cases https://knowledge.broadcom.com/external/article?articleId=142884
After collecting the support information go to Virtual Machine > Setting > Advance > Troubleshooting and change to Default. This disables the debugging mode after collecting the information.



Additional Information

You can use quirk lines for more than one device. Number the devices in order, starting with device0 and progressing to device1 , device2 , etc. Do not skip any numbers.
 
Quirks are peculiar to each device, so the required quirk (if any) for each device will need to be discovered separately.


Collecting diagnostic information for VMware Fusion
Locating the virtual machine bundle in VMware Fusion
Editing the .vmx file for your VMware Fusion virtual machine