VMware Oct 2014 patch allows ESXi 5.5 server's USB 3.0 devices to work in VMs at full speed

Posted by Paul Braren on Nov 4 2014 in
  • ESXi
  • There's been a bit of consternation about whether VMware will continue to allow their hypervisor to have value in a home lab situation. It's never really been supported in the first place, but there were some steps backward of late, see also:

    Best parts of VMware’s ESXi 5.5 free hypervisor rely on vCenter, which isn’t free. Uh oh?

    by Paul Braren on Sep 25 2013

    Recently, I discovered that William Lam has successfully kicked some virtual butt with a new Mac Pro ESXi host, see:

    How to install ESXi 5.5 Patch03 on the new Mac Pro 6,1?

    by William Lam on Oct 31 2014

    This resurrected some of my delusions of such grandeur, like I had shared in June of 2013:

    2013 Apple Mac Pro as a virtualization platform? Think about it…

    by Paul Braren on Jun 10 2013

    A nice step forward, he even got Thunderbolt 2 "support" working, see also:

    Superguide: Timeline of USB, SATA, and Thunderbolt speeds

    by Paul Braren on Aug 24 2013

    Then we had yesterday. Quite to my surprise, I learned from Andreas Peetz that VMware had snuck a little xHCI love into the latest patch bundle back in October:

    VMware ESXi 5.5, Patch Release ESXi550-201410001 (2087358)

    by VMware on Oct 16 2014

    That was an unexpected Halloween treat, which doesn't seem to have really been noticed by the friendly VMware community until his post yesterday at his VMware Front Experience:

    VMware silently adds native USB 3.0 support to ESXi 5.5

    by Andreas Peetz on Nov 03 2014

    Perhaps my hanging out in Germany for a while recently helped Andreas, a Frankfurt resident, to remember to tweet the news to me. Or perhaps he's just a nice guy. Either way, it was fun to have a little home lab gift yesterday, and I didn't waste any time beginning my tests. I took a pretty raw first-pass at a video walk-through last night. It's pretty much like watching over my shoulder as I monkeyed around with the implementation of the patch in my home lab, refining the process, and noticing a minor transposed characters in William Lam's related post, which Andreas quickly Tweeted out:

    xchi-should-read-xhci
    xchi should read xhci

    I then tested to see whether I could reliably repeat Andreas's results, using a Windows 10 VM running on my newly patched ESXi 5.5 based vZilla. Apparently yes, it was pretty easy to recreate. See also screenshot at the end of this article.

    So, what's the skinny on how to implement this, and/or test this new capability for yourself?

    I'll keep working on refining that in the coming days, as I'm finding some hosts don't seem to like xHCI very much (USB 2.0 printer on USB 2.0 motherboard port disappears). I'll post my findings here at TinkerTry, of course.

    Here's my first draft, which refers you to Andreas instructions for now:

    Step by Step - How to Allow ESXi 5.5 server's USB 3.0 devices to work in VMs at full speed

    Simply follow the excellent step-by-step instructions at:

    VMware silently adds native USB 3.0 support to ESXi 5.5
    by Andreas Peetz at Monday, November 03, 2014

    What It Is:

    This new USB 3.0 capability allows:

    • as the title says, this VMware Oct 2014 patch allows ESXi 5.5 server's USB 3.0 devices to work in VMs at full speed. This means you assign a USB 3.0 device attached to your host (aka, server) to a modern VM of your choosing, such as Windows 8.1 or Windows 10, or Windows Server 2012 R2 or Windows Server 10, see how Andreas explains it here:

    Please note: This will only work with Guest Operating Systems that include a generic USB 3.0/xHCI driver, and that is any Linux (with kernel version 2.6.38 and later), Microsoft Windows 8/8.1 and Server 2012 (R2), but not Windows 7 (resp. Server 2008 R2) or earlier versions of Windows!

    • in the past, you had to add xHCI capability to your VMs, then attach your USB 3.0 equipped workstation's devices to that remove VM, to get about 70% of native USB 3.0 speeds, so being able to use your server's USB 3.0 ports, at native speeds, is a big deal for some use-case scenarios, especially home labs
    • by such an in place upgrade, you get to keep your existing Realtek and AHCI drivers you may have injected into your hypervisor install media, see also
      Use ESXi-Customizer GUI to inject multiple driver VIBs into your ESXi installer ISO
      by Paul Braren on Dec 13 2013

    What It Is Not:

    This new USB 3.0 capability doesn't allow:

    • you to format USB 3.0 storage devices as a VMFS datastore for your VMs to share
    • a new a affordable VMFS datastore capability, so you may still be better off with affordable eSATA interfaces, using wire-ties to ensure admittedly problematic eSATA cabling doesn't slip out, corrupting in-use VMs:
      I abuse RAID arrays, and I’m not ashamed to admit it, Episode 2, Mediasonic HFR2-SU3S2
      by Paul Braren on Feb 06 2012
      VMware Purple Screens of Death can spring up from improper eSATA cabling
      by Paul Braren on Apr 10 2013
    • you to use use Rufus to create USB 3.0 bootable media that are faster (installing from USB 3.0 flash drive to create a USB 3.0 based ESXi Hypervisor on a USB 3.0 flash drive on a USB 3.0 port running at USB 3.0 speeds).
      [Nov 05 2014 added clarification - what I meant is that an ESXi 3.0 USB key will likely boot in legacy USB 2.0 boot mode just fine. So I simply won't get a faster USB 3.0 boot speeds. I'd have to re-test my BIOS settings on my vZilla to be sure. The thing is, that speed doesn't really matter, since the speed your ESXi boots from a flash drive doesn't have any operational impact on the speed of the ESXi server (or its VMs), once it's all booted up. It simply takes a little longer to boot up.]

    See also this extremely popular article:
    Rufus takes 2 minutes to create a bootable USB flash drive for ESXi installation
    by Paul Braren on Tue Sep 10th, 2013

    HighPoint-RocketU-4-Port-USB-3.0-PCI-Express-2.0-x4-HBA-Controller-1144C
    HighPoint RocketU 4-Port USB 3.0 PCI-Express 2.0 x4 HBA Controller 1144C

    If you're low on motherboard USB 3.0 ports, use something like my HighPoint RU1144A PCI-Express 2.0 x4 USB 3.0 Controller Card (the 1144A is has been replaced by the very similar 1144C) will likely get you identical speed on all 4 USB 3.0 ports, even if 4 VM tests are run concurrently, since the card uses discrete chips for each USB 3.0 port. Admittedly, I don't currently have enough identical USB 3.0 flash (thumb) drives lying around to test this. The speed tests I did on individual ports were essentially the same (+/- 5%) for the motherboard USB 3.0 ports versus the add-in card's USB 3.0 ports.

    Below, you'll see a screenshot of a segment of my video above, showing these test results, which are essentially identical in performance. No, it's not highly scientific, and it's not really apples to apples. But given the speed was slightly higher in a VM, that, and three more repeated tests I did after the video, was enough to convince me that this USB 3.0 support actually works, and it works well, at least with one VM.

    At left, Windows 8 on ThinkPad W520 laptop, using Mushkin Ventura Plus 16GB USB 3.0 Flash Drive (rebranded Kingston):
    usbflashspeed.com/35413

    At right, Windows 10 in an ESXi 5.5 VM, on Core i7/Z68 vZilla, using same Mushkin Ventura Plus 16GB USB 3.0 Flash Drive (rebranded Kingston):
    usbflashspeed.com/85036

    16GB-USB-3.0-Mushkin-Flash-Drive-speeds-on-a-Windows-8-machine-versus-in-a-Windows-10-VM
    16GB USB 3.0 Mushkin Flash Drive speeds on a Windows 8 machine versus in a Windows 10 VM

    See also

    USB 3.0 thumb drive speeds vary widely, here’s a quick and easy way to test them by Paul Braren on Aug 14 2012

    How to configure ESXi 5.0 for USB 3.0 passthrough to a Windows VM by Paul Braren on Nov 20 2011

    My Google+ thread:

    VMware silently adds native USB 3.0 support to ESXi 5.5 by Paul Braren on Nov 03 2014