USB Network Native Driver for ESXi

If you had problem on your server in production or lab about expanding network ports and you don’t have free I/O slot for that, this new tool will handle it for you by adding driver for some USB network adapters to ESXi 6.5 and ESXi 6.7.

Please welcome to USB Network Native Driver for ESXi.

USB Network Native Driver for ESXi
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 three of 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 & the Realtek USB 3.0 gigabit network RTL8153. These are relatively inexpensive devices that many of our existing vSphere customers are already using and are familiar with.

Requirements

You must have the below hypervisors and devices on server:

  • VMware ESXi 6.5 or 6.7
  • USB Network Adapter with AX88178a, AX88179 or RTL8153 Chipset

Any adapters using the following chipsets and with the following VID/PID are supported. 

VendorChipsetVendorIDProductID
ASIXax881790x0B950x1790
DLINKAX881790x20010x4A00
SITECOMEUAX881790x0DF60x0072
ASIXAX88178a0x0B950x178A
RealtekRTL81530x0BDA0x8153

Installation and Configuration Instructions

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 by running the following command on ESXi Shell:

esxcli software vib install -d /path/to/the offline bundle

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)

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. 

Below is an example which binds the physical USB NIC (vsub0) to vSwitch and the respective portgroups that are also attached on the 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

if [ "${vusb0_status}" = "Up" ]; then
    esxcfg-vswitch -L vusb0 vSwitch0
    esxcfg-vswitch -M vusb0 -p "Management Network" vSwitch0
    esxcfg-vswitch -M vusb0 -p "VM Network" vSwitch0
fi

Further Reading

VMware Tools Client – Interact with a VM without Network Connectivity

ESXi Fails with “Corruption in dlmalloc” on HPE Server

Reverting to a previous version of ESXi

NUMA And vNUMA – Back To The Basic

vSphere Central, The Messenger of God

External Links

USB Network Native Driver for ESXi

Davoud Teimouri

Professional blogger, vExpert 2015/2016/2017/2018/2019/2020/2021/2022/2023, vExpert NSX, vExpert PRO, vExpert Security, vExpert EUC, VCA, MCITP. This blog is started with simple posts and now, it has large following readers.

Leave a Reply

Your email address will not be published. Required fields are marked *