VMware Cloud Community

USB Passthrough

Running ESXi 6.0U1 from a USB flash drive (installed).  Made a new VM and can't passthrough any external USB devices to the new VM.  The host has two USB controllers, one on the back and one on the front.  There is also a PCI-e USB 3.0 card. 

With the VM powered off, I did the normal Edit Settings -> Add... -> USB Controller -> EHCI+UHCI.  However neither the guest VM nor ESXi see any USB storage devices that I attach.  The 'Connect to USB Device' menu at the top of the console only shows the virtual tablet and BT entries. 

Interestingly, the PCI-e USB 3.0 card does show up in the guest VM after adding PCI Device via the above method.  Unfortunately, the USB storage devices also don't get recognized when attached to the card.  Any ideas?

0 Kudos
4 Replies

Hello Alge,

Do your external storage devices passes USB passthrough compatibility? All External USB devices are not supported.



Bhaskar Manogaran.

0 Kudos

The link only returns an error and none of the KB seems to work, returning only blank pages and errors.  I have seen posts from other people with my same system (HP z800) who have USB passthrough working.  Granted their systems might be different ages but I don't expect large variance in USB controllers there.

I was able to attach a USB flash drive via vSphere Client.  After adding the controller, I plugged the USB drive into my system that has vSphere Client installed.  From there I was able to add the USB drive via the Console, but unfortunately the drive was continuously detaching and re-attaching.  So that isn't a viable solution. 

What other ideas do we have?

0 Kudos

Here are the controllers showing up in the guest VM.

# lspci | grep USB

02:01.0 USB controller: VMware USB1.1 UHCI Controller

02:02.0 USB controller: VMware USB2 EHCI Controller

13:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)

The PCI-e USB 3.0 controller with extra verbosity.

# lspci -vvv


13:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10) (prog-if 30 [XHCI])

  DeviceName: pciPassthru0

  Subsystem: Fresco Logic FL1100 USB 3.0 Host Controller

  Physical Slot: 224

  Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+

  Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

  Latency: 64, Cache Line Size: 64 bytes

  Interrupt: pin A routed to IRQ 0

  Region 0: Memory at fd2f0000 (64-bit, non-prefetchable) [size=64K]

  Region 2: Memory at fd2ee000 (64-bit, non-prefetchable) [size=4K]

  Region 4: Memory at fd2ef000 (64-bit, non-prefetchable) [size=4K]

  Capabilities: [40] Power Management version 3

  Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)

  Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

  Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+

  Address: 0000000000000000  Data: 0000

  Capabilities: [70] Express (v2) Endpoint, MSI 00

  DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us

  ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-

  DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

  RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-

  MaxPayload 128 bytes, MaxReadReq 128 bytes

  DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-

  LnkCap: Port #0, Speed 5GT/s, Width x32, ASPM L0s, Exit Latency L0s <64ns, L1 <1us

  ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-

  LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-

  ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

  LnkSta: Speed 5GT/s, Width x32, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-

  DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported

  DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled

  LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-

  Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

  Compliance De-emphasis: -6dB

  LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-

  EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-

  Capabilities: [b0] MSI-X: Enable+ Count=8 Masked-

  Vector table: BAR=2 offset=00000000

  PBA: BAR=4 offset=00000000

  Capabilities: [100 v1] Advanced Error Reporting

  UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-

  UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-

  UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-

  CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+

  CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+

  AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-

  Kernel driver in use: xhci_hcd

0 Kudos

After more searching, I found a post about installing vmware tools in the guest.  Following VMware Documentation for Debian 8 I installed the open-vm-tools package.  Unfortunately no changes with either the PCI-e USB 3.0 card or the regular USB controllers on the motherboard.

0 Kudos