Friday, March 26, 2021

How to FORCE passthrough the internal USB controller in the mother board

  • Enable ssh on esxi.
  • From terminal of your computer, ssh to esxi:

[root@homecenter:/etc/vmware] lspci -v
0000:00:00.0 Bridge Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
Class 0600: 8086:591f
0000:00:01.0 Bridge PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) [PCIe RP[0000:00:01.0]]
Class 0604: 8086:1901
0000:00:02.0 Display controller Display controller: Intel Corporation HD Graphics 630
Class 0380: 8086:5912
0000:00:14.0 Serial bus controller USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
Class 0c03: 8086:a12f

0000:00:14.2 Signal processing controller Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem
Class 1180: 8086:a131
0000:00:16.0 Communication controller Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1
Class 0780: 8086:a13a
0000:00:16.3 Communication controller Serial controller: Intel Corporation 100 Series/C230 Series Chipset Family KT Redirection
Class 0700: 8086:a13d

  • You will find the useful info:

0000:00:14.0 Serial bus controller USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
Class 0c03: 8086:a12f

  • Edit the file /etc/vmware/passthru.map

[root@homecenter:/etc/vmware] vi passthru.map
# passthrough attributes for devices
#
# file format: vendor-id device-id resetMethod fptShareable
# vendor/device id: xxxx (in hex) (ffff can be used for wildchar match)
# reset methods: flr, d3d0, link, bridge, default
# fptShareable: true/default, false
#
# Description:
#
# - fptShareable: when set to true means the PCI device can be shared.
# Sharing refers to using multiple functions of a multi‐function
# device in different contexts. That is, sharing between two
# virtual machines or between a virtual machine and VMkernel.
#
# - resetMethod: override for the type of reset to apply to a PCI device.
# Bus reset and link reset prevent functions in a multi-function
# device from being assigned to different virtual machines, or from
# being assigned between the VMkernel and virtual machines. In
# some devices it's possible to use PCI power management capability
# D3->D0 transitions to reset the device. In the absence of the
# override, the VMkernel decides the type of PCI reset to apply
# based on the device's capabilities. The VMkernel prioritizes
# function level reset (flr).
#
# Restrictions:
#
# - PCI SR-IOV physical and virtual functions (PFs/VFs) are not allowed
# in the list below. Those must support function-level-reset and
# must be shareable.
#
# Intel 82579LM Gig NIC can be reset with d3d0
8086 1502 d3d0 default
# Intel 82598 10Gig cards can be reset with d3d0
8086 10b6 d3d0 default
8086 10c6 d3d0 default
8086 10c7 d3d0 default
8086 10c8 d3d0 default
8086 10dd d3d0 default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4 164e default false
14e4 164f default false
14e4 1650 default false
14e4 1662 link false
# Qlogic 8Gb FC card can not be shared
1077 2532 default false
# LSILogic 1068 based SAS controllers
1000 0056 d3d0 default
1000 0058 d3d0 default
# NVIDIA
10de ffff bridge false

# below is by David
# usb internal
8086 a12f d3d0 default


  • Add the "8086 a12f" follow by the default volume" d3d0 default", then save and exit.
  • After reboot, you will find the internal USB controller can be passthrough now.




No comments: