Skip to content

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
 [...]

 

19 thoughts on “USB 3.0 devices detected as USB 2 in ESXi 6.0 and 5.5”

  1. Pingback: USB Devices as VMFS Datastore in vSphere ESXi 6.0 | Virten.net

    1. 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.

  2. 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.

  3. 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.

  4. 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! :(

  5. Pingback: Functional USB 3.0 Ethernet Adapter (NIC) driver for ESXi 5.5 & 6.0 | virtuallyGhetto

  6. Pingback: Additional USB NIC for Intel NUCs | Virten.net

  7. 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

  8. Hi fgrehl,

    I was reading about the USB3.0 and the xHCI configuration.

    I restart the nuc6i5syh but i'm unable to find that bios option at Visual Bios 2.2.20, i also upgrade the bios to the last firmware.

    But, if execute the lsusb command, it appear to be everything right.

    ¿is this correct? both USB3.0 network cards are at the Bus 002, that belongs to the "Linux Foundation 3.0 root hub"


    Bus 002 Device 004: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
    Bus 002 Device 003: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
    Bus 002 Device 002: ID 2109:8110

    Bus 001 Device 006: ID 2109:2811
    Bus 001 Device 005: ID 046d:c714 Logitech, Inc. diNovo Edge Keyboard
    Bus 001 Device 004: ID 046d:c713 Logitech, Inc.
    Bus 001 Device 003: ID 8087:0a2b Intel Corp.
    Bus 001 Device 002: ID 046d:0b04 Logitech, Inc.
    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

  9. Thank you for this. Definitely helped me get mine set right. I ended up having to enable USB 3.0 within the BIOS. Apparently the Dell PowerEdge R630's come with it disabled by default.

  10. Holy jesus thank you! I've spent so many night trying to figure out why I can't get USB3 support with ESXi on my NUC.

    Thanks for taking the time to write this!

Leave a Reply to Sebastian Cancel reply

Your email address will not be published. Required fields are marked *