USB 3.0 devices detected as USB 2 in ESXi 6.0 and 5.5

In my latest post USB Devices as VMFS Datastore in vSphere ESXi 6.0 I had a problem with USB 3.0 devices that are detected as USB 2 in ESXi. I know that USB 3.0, also known as eXtensible Host Controller Interface (xHCI), is supported in ESXi 6.0 and ESXi 5.5 Build 2143827 or later. Unfortunately all of my devices are detected as USB 2.1, despite the USB 3 hub was visible. This problem applies to both, USB devices in path-through mode, and USB devices mounted from the command line with usbarbitrator disabled. The solution was quite simple and not related to an ESXi, but to a UEFI configuration.
xhci-smart-auto

Within the UEFI the xHCI mode is configurable with a default of "Smart Auto". According to the documentation, in "Smart Auto" mode the USB 3.0 port acts like a 2.0 port before OS USB 3.0 drivers are loaded. For whatever reason, this does not work properly with ESXi. After setting xHCI Mode to "Enabled", all devices are correctly identified as USB 3.0.

During my tests I've use two USB 3.0 capable devices on my 5th Gen Intel NUC (NUC5i5MYHE):

  • External 1TB 2.5" HDD (Seagate RSS LLC FreeAgent GoFlex USB 3.0)
  • USB 3.0 to mSATA SSD Enclosure (ASMedia Technology Inc.)

ESXi 6.0 with xHCI Mode "Smart Auto"
Both devices are connected to "Bus 001", which is the 2.0 root hub:

~ # vmware -v
VMware ESXi 6.0.0 build-3073146
~ # lsusb
Bus 001 Device 007: ID 0bc2:5031 Seagate RSS LLC FreeAgent GoFlex USB 3.0
Bus 001 Device 006: ID 174c:1153 ASMedia Technology Inc.
Bus 001 Device 003: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
Bus 001 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ESXi 5.5 with xHCI Mode "Smart Auto"
Same problem here. Both devices on "Bus 001".

~ # vmware -v
VMware ESXi 5.5.0 build-3116895
~ # lsusb
Bus 001 Device 008: ID 0bc2:5031 Seagate RSS LLC FreeAgent GoFlex USB 3.0
Bus 001 Device 007: ID 174c:1153 ASMedia Technology Inc.
Bus 001 Device 003: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
Bus 001 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

You can also use the lsusb -v command to see a verbose output containing the USB version (2.10):

~ # lsusb -v
Bus 001 Device 008: ID 0bc2:5031 Seagate RSS LLC FreeAgent GoFlex USB 3.0
Device Descriptor:
 bLength 18
 bDescriptorType 1
 bcdUSB 2.10
 bDeviceClass 0 (Defined at Interface level)
[...]
Bus 001 Device 007: ID 174c:1153 ASMedia Technology Inc.
Device Descriptor:
 bLength 18
 bDescriptorType 1
 bcdUSB 2.10
[...]

The problem described here applies only if you see a USB 3.0 root hub but devices are connected to the wrong hub. If you do not see the USB 3.0 hub you have to verify that the xhci module is enabled and loaded with:

~ # esxcli system module list |grep xhci
 Name    Is Loaded     Is Enabled
 xhci    true          true

To enable it (Load it automatically on boot):

~ # esxcli system module set -e true -m xhci

To load it while ESXi is running:

~ # vmkload_mod xhci

xHCI Mode "Enabled"
After setting the xHCI Mode to "Enabled" in the UEFI, both devices are connected to the USB 3.0 hub:

~ # vmware -v
VMware ESXi 5.5.0 build-3116895
~ # lsusb
Bus 002 Device 002: ID 174c:1153 ASMedia Technology Inc.
Bus 002 Device 004: ID 0bc2:5031 Seagate RSS LLC FreeAgent GoFlex USB 3.0
Bus 001 Device 002: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / P Attache 4GB Stick
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
~ # vmware -v
VMware ESXi 6.0.0 build-3073146
~ # lsusb
Bus 002 Device 002: ID 174c:1153 ASMedia Technology Inc.
Bus 002 Device 004: ID 0bc2:5031 Seagate RSS LLC FreeAgent GoFlex USB 3.0
Bus 001 Device 002: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb -v 
Bus 002 Device 003: ID 174c:1153 ASMedia Technology Inc.
Device Descriptor:
 bLength 18
 bDescriptorType 1
 bcdUSB 3.00
 [...]

 

Leave a comment ?

16 Comments.

  1. USB Devices as VMFS Datastore in vSphere ESXi 6.0 | Virten.net - pingback on October 19, 2015 at 9:46 pm
  2. Nice;)

    Can you say somethink about Thema throughput and transferrate?

    Thanks

    • Here you go: mSATA SSD (840 EVO 250GB) connected to a 5th Gen Intel NUC (NUC5i5MYHE) with a mSATA USB3 Enclosure.
      Max Write Throughput: 301.91 MB/s
      Max Read Throughput: 308.78 MB/s
      Max Write IOPS: 8159.31 CMDS/s
      Max Write IOPS: 8228.49 CMDS/s

      More info here.

  3. Great info! Was all excited to try on my NUCs, but it appears the DC53427HYE BIOS does not have this USB Configuration setting. Oh well.

  4. OMG! I've been having this issue for weeks. Especially with Windows 10 OS's. I broke out the same commands as you, but always thought it was the xHCI 0.96 implementation in ESXi 5.5. I thought an upgrade to 6.0 xHCI 1.0 would fix this, but didn't want to upgrade VC to 6.0.

    I will have to try this when I get home and report back. Never thought to check the BIOS. Great find if it works.

  5. Thanks so much for this!! Works AWESOME now, didnt work at all before!

  6. Good article, i didn't find the usb configuration on my nuc D54250WYKH, which version of firmware are you using ?

  7. HI is this an different if your bios is NOT UEFI, but a legacy AMI bios?

  8. Great finding! Unfortunately it doesn't work for me. I'm running esxi6 on Asrock H77M-ITX, and the only option for xHCI I have is to disable Legacy support. After doing that esxi still maps usb3 devices to usb2 hub. I'm so unhappy, because I want to use usb3 to gigabit adapter that brings WAN connectivity to the vm. In the usb2 i don't get higher speeds than 6Mbps, which is unacceptable.
    Bummer! :(

  9. For the 4th gen intel nuc a bios update should do the trick for that option.

    https://communities.intel.com/thread/61816?start=0&tstart=0

    For other devices a bios update is the best bet, if still no luck after update out of luck I'm afraid.

  10. Additional USB NIC for Intel NUCs | Virten.net - pingback on June 20, 2016 at 10:44 pm
  11. Good morning!

    Do you have a hint for a NUC6 owner if the above mentioned BIOS setting for USB is _not there_? :-)
    I tried BIOS version 42-54 - and the option is not there.
    My ESXi runs from an usb stick and i have the issue described in the article. Any other hint in forcing it to use the xHCI Hub/controller?

    Best regards,
    Sebastian

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>