Sign Up for the Quarterly Newsletter

USB Network Native Driver for ESXi

USB has become one the most widely adopted connection type in the world & USB network adapters are also popular among Edge computing platforms. In some platforms, there is either limited or no PCI/PCIe slots for I/O expansion & in some cases, an Ethernet port is not even available. Another advantage of a USB-based network adapter is that it can be hot-plugged into an system without a reboot which means no impact to the workload, same is true for hot-remove.

This Fling supports the most popular USB network adapter chipsets found in the market. The ASIX USB 2.0 gigabit network ASIX88178a, ASIX USB 3.0 gigabit network ASIX88179, Realtek USB 3.0 gigabit network RTL8152/RTL8153 and Aquantia AQC111U. These are relatively inexpensive devices that many of our existing vSphere customers are already using and are familiar with.

  • VMware ESXi 6.5, 6.7 & 7.0
Any adapters using the following chipsets and with the following VID/PID are supported.

VendorChipsetVendorIDProductID
AQUANTIAAQC111U0xe05a0x20f4
AQUANTIAAquantia Pacific0x2eca0xc101
ASIXAX881790x0b950x1790
ASIXAX88178a0x0b950x178a
CISCO LINKSYSRTL81530x13b10x0041
DLINKAX881790x20010x4a00
INSYDE SOFTWARE CORPInsyde Software Corp.0x0b1f0x03ee
LENOVORTL81530x17ef0x3062
LENOVORTL81530x17ef0x720a
LENOVORTL81530x17ef0x3069
LENOVOAX881790x17ef0x304b
LENOVORTL81530x17ef0x7205
NVIDIARTL81530x09550x09ff
REALTEKRTL81530x045e0x07c6
REALTEKRTL81520x0bda0x8152
REALTEKRTL81530x0bda0x8153
REALTEKRTL81560x0bda0x8156
SITECOMEUAX881790x0df60x0072
SUPERMICROSupermicro computer Inc0x15d90x1b83
TP-LINKRTL81530x23570x0601
TRENDNET AQC111U 0xe05a0x20f4

Step 1 - Download the ZIP file for the specific version of your ESXi host and upload to ESXi host using SCP or Datastore Browser

Step 2 - Place the ESXi host into Maintenance Mode using the vSphere UI or CLI (e.g. esxcli system maintenanceMode set -e true)

Step 3 - Install the Offline Bundle (6.5/6.7) or Component (7.0)

Run the following command on ESXi Shell to install Offline Bundle (6.5/6.7):
esxcli software vib install -d /path/to/the offline bundle zip
Run the following command on ESXi Shell to install Component (7.0):
esxcli software component apply -d /path/to/the component zip
Step 4 - Plug-in the USB NIC and reboot for the change to go into effect. Once the host has rebooted, ESXi should automatically pickup and claim the USB NIC (e.g. vusb0)

Note: Secure Boot can not be enabled if you decide to use the USB NIC as your primary NIC for Management Network. Since the settings do not persist, you will need to create a startup script (see instructions below for more details details) and this is not allowed when Secure Boot is enabled. If USB NIC is not your primary NIC for the Management Network, then you do not have to disable Secure Boot

Intel NUC 10 (Frost Canyon) Considerations

The built-in Intel NIC is not automatically recognized by ESXi and requires an updated ne1000 driver which can be found here. You will need to create a custom ESXi ISO that contains this driver and install ESXi prior to installing the USB Native Driver ESXi Fling.

Persisting USB NIC Bindings

Currently there is a limitation in ESXi where USB NIC bindings are picked up much later in the boot process and to ensure settings are preserved upon a reboot, the following needs to be added to /etc/rc.local.d/local.sh based on your configurations.
vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
count=0
while [[ $count -lt 20 && "${vusb0_status}" != "Up" ]]
do
    sleep 10
    count=$(( $count + 1 ))
    vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
done

esxcfg-vswitch -R
Note: The vusbX vmkernel interface may not show up in either ESXi Embedded Host Client and/or vSphere HTML5 UI, this does not mean there is an issue. ESXi was never designed to support USB-based NICs for Management Network and the UI may not properly detect these devices when using the UI. It is recommended to use the ESXi Shell for any operations requiring configuration of vusbX devices.

Persisting VMkernel to USB NIC mappings

When multiple USB NICs are connected, it is possible that the mapping between vmkX to physical MAC Address of the USB NIC could random change upon rebooting ESXi. To ensure this does not happen, customers can specify the mapping by adding custom parameter to USB NIC module.

Here is an example where we are mapping vusb0 to 70:88:6b:85:c0:53 and vusb1 to 58:ef:68:7f:2b:f7:
esxcli system module parameters set -p "vusb0_mac=70:88:6b:85:c0:53 vusb1_mac=58:ef:68:7f:2b:f7" -m vmkusb_nic_fling
Aug 24, 2020 - v1.6
  • Add support for Aquantia and Trendnet AQC111U (0xe05a:0x20f4) (see Requirements page for more details)
  • Add support for Realtek RTL8153 (0x045e:0x07c6) (see Requirements page for more details)
  • Add support for Realtek RTL8156 (0x0bda:0x8156) (see Requirements page for more details)
  • Support for persistent VMkernel to USB NIC MAC Address mappings (see Instructions tab for details)
  • Simplified USB NIC persistency (see Instructions tab for details)
  • Resolved link speed issue for RTL8153 chipsets
Note 1: There are known issues when using Jumbo Frame 9K for RTL* chipset, this is still being investigated. For now, only up to 4K is supported.

Note 2: This will be the last release which will include support for ESXi 6.5

      ESXi700-VMKUSB-NIC-FLING-39035884-component-16770668.zip
      ESXi670-VMKUSB-NIC-FLING-39203948-offline_bundle-16780994.zip
      ESXi650-VMKUSB-NIC-FLING-39176435-offline_bundle-16775917.zip

April 6, 2020 - v1.5
  • Added support for ESXi 7.0
Note: This is ONLY for ESXi 7.0, for ESXi 6.5/6.7, please ensure you are using the correct version of driver.

      ESXi700-VMKUSB-NIC-FLING-34491022-component-15873236.zip

February 12, 2020 - v1.4
  • Add SuperMicro/Insyde Software Corp USB Devices in the supported list
  • Resolved invalid speed reporting for some quick devices by using the default speed
      ESXi670-VMKUSB-NIC-FLING-33242987-offline_bundle-15615590.zip
      ESXi650-VMKUSB-NIC-FLING-33268102-offline_bundle-15620342.zip

November 27, 2019 - v1.3
  • Resolved USB device detection issue on Intel XHCI controller
  • Resolved packet record issue for ASIX USB network adapters
      ESXi670-VMKUSB-NIC-FLING-30899283-offline_bundle-15188556.zip
      ESXi650-VMKUSB-NIC-FLING-30940032-offline_bundle-15188510.zip

September 27, 2019 - v1.2
  • Added support for Aquantia Multi-Gig (1G/2.5G/5G) USB network adapter (see Requirements page for more details)
  • Added support for Auto Speed/Connection detection for RTL8153/RTL8152 chipsets
      ESXi670-VMKUSB-NIC-FLING-28903484-offline_bundle-14722970.zip
      ESXi650-VMKUSB-NIC-FLING-28903792-offline_bundle-14722993.zip

June 17, 2019 - v1.1
  • Added support for 9 additional USB NIC devices including USB 2.0 RTL8152 & TPLINK (see Requirements page for complete list)
  • Added support for Jumbo Frames (up to 4K) for RTL8153 & AX88179
      ESXi670-VMKUSB-NIC-FLING-24524132-offline_bundle-13958648.zip
      ESXi650-VMKUSB-NIC-FLING-24599816-offline_bundle-13964320.zip

February 12, 2019 - v1.0 (Initial Release)

      ESXi670-VMKUSB-NIC-FLING-20124247-offline_bundle-11613968
      ESXi650-VMKUSB-NIC-FLING-20123976-offline_bundle-11613344