USB Network Native Driver for ESXi Documentation

USB Network Native Driver for ESXi Documentation

USB Network Native Driver for ESXi

Summary

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.

Contributors

  • Songtao Zhen
  • William Lam

Changelog

 

Sep 21, 2023 - v1.13

  • Added support for ESXi 8.0 Update 2
  • ESXi80U2-VMKUSB-NIC-FLING-67561870-component-22416446.zip (md5: bf62144b4e695c3d00cb614a4ecfb2c3)
Note:

This is ONLY for ESXi 8.0 Update 2, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


Apr 26, 2023 - v1.12

  • Added support for ESXi 8.0 Update 1
  • Added support for new DLINK RTL8156 device (0x2001:0xb301)
  • Fixed 2.5GbE link speed issue for RTL8156 adapter
  • Updated maximum supported USB Network devices to 12 and persists setting over module parameters
  • ESXi800-VMKUSB-NIC-FLING-64098182-component-21668107.zip (md5: 4a35899f77ce4635d0cfa76a7975504d)
  • ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip (md5: 9c41b5f488ec5cee325207e16b047c10)
Note 1:

This is ONLY for ESXi 8.0 & 8.0 Update 1, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.

 
 
Note 2:

Known performance issue with RTL8156, TX up to 2.35Gbps while RX up to 2.15Gbps


Nov 23, 2022 - v1.11

  • Added support for ESXi 8.0
  • ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip (md5: 55087041545d2500c1b22deb65107f22)
Note:

This is ONLY for ESXi 8.0, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


May 24, 2022 - v1.10

  • Added support for ESXi 7.0 Update 3c and later
  • Resolve a PSOD issue
  • ESXi703-VMKUSB-NIC-FLING-55634242-component-19849370.zip (md5: 2db2ab5341bd45487e322c7e3d8f7e30)
Note:

This is ONLY for ESXi 7.0 Update 3c & later, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


Nov 10, 2021 - v1.9

  • Added support for ESXi 7.0 Update 3, 3a & 3b
  • Added support for VID: 0x0b05/PID: 0x1976 and VID: 0x1A56/PID: 0x3100
  • Resolve power management issue on xHCI
  • Disable USB bus scanning (usbBusFullScanOnBootEnabled=0) by default, which prevents PSOD for customers using multiple USB NICs
  • ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399.zip (md5: 067c7003cd00fcb861c3910cac430506)
Note:

This is ONLY for ESXi 7.0 Update 3, Update 3a & Update 3b, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


Jun 14, 2021 - v1.8

  • Added support for ESXi 7.0 Update 2
  • Disable USB bus scanning (usbBusFullScanOnBootEnabled=0) by default, which prevents PSOD for customers using multiple USB NICs
  • ESXi702-VMKUSB-NIC-FLING-47140841-component-18150468.zip
Note:

This is ONLY for ESXi 7.0 Update 2, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


October 26, 2020 - v1.7

  • Added support for ESXi 7.0 Update 1
  • USB NIC Bindings are now automatically persistent
  • 5GbE USB NICs now properly show Full vs Half Duplex
  • ESXi701-VMKUSB-NIC-FLING-40599856-component-17078334.zip
Note 1:

Customers using multiple USB NICs on a single host may observe PSOD during reboot. Please see the Instructions for workaround

 
Note 2:

This is ONLY for ESXi 7.0 Update 1, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


Aug 24, 2020 - v1.6

  • Add support for Aquantia and Trendnet AQC111U (0xe05a:0x20f4) (see Requirements for more details)
  • Add support for Realtek RTL8153 (0x045e:0x07c6) (see Requirements for more details)
  • Add support for Realtek RTL8156 (0x0bda:0x8156) (see Requirements for more details)
  • Support for persistent VMkernel to USB NIC MAC Address mappings (see Instructions for details)
  • Simplified USB NIC persistency (see Instructions for details)
  • Resolved link speed issue for RTL8153 chipsets
  • 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
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


April 6, 2020 - v1.5

  • Added support for ESXi 7.0
  • ESXi700-VMKUSB-NIC-FLING-34491022-component-15873236.zip
Note:

This is ONLY for ESXi 7.0, for ESXi 6.5/6.7, please ensure you are using the correct version of driver.


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

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

Requirements

 
Vendor Chipset VendorID ProductID
AQUANTIA AQC111U 0xe05a 0x20f4
AQUANTIA Aquantia Pacific 0x2eca 0xc101
ASIX AX88179 0x0b95 0x1790
ASIX AX88178a 0x0b95 0x178a
CISCO LINKSYS RTL8153 0x13b1 0x0041
DLINK RTL8156 0x2001 0xb301
DLINK AX88179 0x2001 0x4a00
INSYDE SOFTWARE CORP Insyde Software Corp. 0x0b1f 0x03ee
LENOVO RTL8153 0x17ef 0x3062
LENOVO RTL8153 0x17ef 0x3069
LENOVO RTL8153 0x17ef 0x720a
LENOVO AX88179 0x17ef 0x304b
LENOVO RTL8153 0x17ef 0x7205
NVIDIA RTL8153 0x0955 0x09ff
Qualcomm NA 0x1A56 0x3100
Qualcomm NA 0x0b05 0x1976
REALTEK RTL8152 0x0bda 0x8152
REALTEK RTL8156 0x0bda 0x8156
REALTEK RTL8153 0x045e 0x07c6
REALTEK RTL8153 0x0bda 0x8153
SITECOMEU AX88179 0x0df6 0x0072
SUPERMICRO Supermicro computer Inc 0x15d9 0x1b83
TP-LINK RTL8153 0x2357 0x0601
TRENDNET AQC111U 0xe05a 0x20f4
 

Instructions

 

Custom ESXi Image Profile/ISO

  • See this blog post for creating custom ESXi ISO or Image Profile using vSphere Lifecycle Manager

Manual

    • 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 ESXi Offline Bundle (6.5/6.7) or Component (7.0)

      For (7.0+) - Run the following command on ESXi Shell to install ESXi Component:
esxcli software component apply -d /path/to/the component zip
      For (6.5/6.7) - Run the following command on ESXi Shell to install ESXi Offline Bundle:

esxcli software vib install -d /path/to/the offline bundle 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 need to use Option 2 to persist USB NIC bindings.

 

Multiple USB NIC Bindings

When multiple USB NICs are connected and used with ESXi, an ESXi PSOD may occur. To prevent the PSOD, the USB driver parameter usbBusFullScanOnBootEnabled=0 is now the default value and will prevent ESXi from performing a full USB bus rescan during bootup.

 

The implication is that to persist the USB NIC bindings, you will need to use Option 2 in the Persisting USB NIC Bindings section below. For customers who only have a single USB NIC and does not wish to add the additional persistent script or wish to enable Secure Boot, then you can configure usbBusFullScanOnBootEnabled=1 by using Option 1 in the Persisting USB NIC Bindings section below.

 

Persisting USB NIC Bindings

 

Option 1:

 

Run the following ESXCLI command which will enable the driver parameter to perform a full USB bus scan during startup:

esxcli system module parameters set -p "usbBusFullScanOnBootEnabled=1" -m vmkusb_nic_fling
 

Option 2:

 

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.

 

Standard Virtual Switch (VSS):

    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

Distributed Virtual Switch (VDS):

    VDS_0_NAME=vDS
    VDS_0_PORT_ID=10
    VDS_1_NAME=vDS-NSX
    VDS_1_PORT_ID=2

    vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print "v0:" $NF}') && vusb1_status=$(esxcli network nic get -n vusb1 | grep 'Link Status' | awk '{print "v1:" $NF}')
    count=0
    while [[ $count -lt 40 ]] && [[ "${vusb0_status}" != "v0:Up" || "${vusb1_status}" != "v1:Up" ]]
    do
        sleep 5
        count=$(( $count + 1 ))
        vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print "v0:" $NF}') && vusb1_status=$(esxcli network nic get -n vusb1 | grep 'Link Status' | awk '{print "v1:" $NF}')
    done

    if [ "${vusb0_status}" = "v0:Up" ]; then
        esxcfg-vswitch -P vusb0 -V ${VDS_0_PORT_ID} ${VDS_0_NAME}
    fi

    if [ "${vusb1_status}" = "v1:Up" ]; then
        esxcfg-vswitch -P vusb1 -V ${VDS_1_PORT_ID} ${VDS_1_NAME}
    fi
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
Comments

Hi

RLC8153 support wakeonlan.

esx return none : 

esxcli network nic get -n vusb0
Advertised Auto Negotiation: true
Advertised Link Modes: 1000BaseT/Full, 100BaseT/Full, 10BaseT/Full, Auto
Auto Negotiation: true
Backing DPUId: N/A
Cable Type:
Current Message Level: -1
Driver Info:
Bus Info: 0000:00:00:0
Driver: uether
Firmware Version: NA
Version: 1.0.0.0
Link Detected: true
Link Status: Up
Name: vusb0
PHYAddress: 0
Pause Autonegotiate: false
Pause RX: false
Pause TX: false
Supported Ports:
Supports Auto Negotiation: true
Supports Pause: false
Supports Wakeon: false
Transceiver:
Virtual Address: 

 

Can implement it ?

where i find the "offline bundle" as zip?

Hi. You need to be logged in and then you find that here:
https://communities.vmware.com/t5/Flings/ct-p/77

I'm getting an error when trying Option 2, is there another option?                                                                                                        A template for non-commercial use is a predefined document or file format designed for personal, educational, or any purpose other than generating profit. 

Can you please be more specific - what means option 2 and what kind of error you got? Are you registered with VMWare and logged in?

Thank you mstoeckert65
I was hoping to find the download link on this same page, or the link you provided, but I can't see it.
Now with the link offered, I can locate and download it.

Thank you so much.

 

It only remains to try

Are the updated releases simply code rewrites for compatibility, or do they include bug fixes and/or enhancements?

I'm currently running 7.0.3n.  Would I be able to update this fling beyond 1.10 without needing to update ESXi to 8 (as I'm not certain my hardware is compatible)?

I am getting errno2 while installing the offline package with esxi 6.7 and also the same error when trying to install the component bundle with esxi 8.

Do I need a working Nic Adapter to install the packages? At least i have thought the offline package could be installed without an internet connection.

The problem is that my internal nic is broken on my laptop and i use a usb c network adapter. 

I know 🙂 laptop.. but it is only my home (small) lab..

 

Hi mentex,

in my opinion you can install the driver without an internet connection. You need to check for the correct version (not every version is for every ESXi version) and if the chipset of your USB nic is supported. I have this https://www.amazon.de/Cable-Matters-202095-Network-Adapters/dp/B0856V9FDH running on systems starting with ESXi 7 and (after driver update) now 8.0.2.

M.

Thanks M. it should be..

I have a:

ASIXAX881790x0b950x1790

I am now playing around with the image builder.. Maybe i will have luck.

I guess i had the right version. I will double check that and give an update..

the image which was created with the image builder worked fine

Anyone else have problems with the download links today? I'm having no luck pulling the v1.13 fling for 8.0U2 (linked from https://communities.vmware.com/t5/Flings/ct-p/77) at the following:

https://download3.vmware.com/software/vmw-tools/USBNND/ESXi80U2-VMKUSB-NIC-FLING-67561870-component-...

I tried pulling all the older versions of the fling as as well and wasn't able to get any of them either.

Download links for all the driver versions are broken for me as well, just as admiralsandecke mentioned above.

The download links for all driver versions are still broken.

Let me google for you: you can have a look at archive.org:

https://archive.org/download/flings.vmware.com/Flings/USB%20Network%20Native%20Driver%20for%20ESXi/

No guarantee - just found....

Archive.org is working for me, thanks.

Hi, the download links appear to be (temporarily?) broken. 

I have tried to download 1.10 (https://download3.vmware.com/software/vmw-tools/USBNND/ESXi703-VMKUSB-NIC-FLING-55634242-component-1...) and 1.13 (https://download3.vmware.com/software/vmw-tools/USBNND/ESXi80U2-VMKUSB-NIC-FLING-67561870-component-...). Neither of these links work and both return an ERR_INVALID_RESPONSE / 403. 

Any chance someone could look into this and fix it? Thanks!

Hi - have you tried the archive.org links above?

Version history
Revision #:
1 of 2
Last update:
‎12-09-2023 03:05 PM
Updated by:
 
Contributors