The USB Network Native Driver for ESXi Fling has been an extremely popular Fling that has allowed customers to easily add additional networking capabilities by using a supported USB-based network adapter even though ESXi traffic over USB networking is not officially supported.
In most deployments, the USB network adapter is usually a supplement to the existing onboard network adapter of a system. However, there have been scenarios where the onboard network adapter is either not available or functional and customers would still like to be able to install ESXi and have it running over just the USB network adapter.
Although installing ESXi using just a USB network adapter is possible today, one downside is that an additional workflow is needed to fix the network binding after installing ESXi.
During the interactive ESXi installation, you will see the following error at 81% which will cause installer to get stuck
Exception: No vmknic tagged for management was found.
At this point, the installer has completed and you need to switch to the console (Alt+F1) and just perform a reboot to actually complete the installation.
After ESXi boots up for the first time after the install, you will need to go into the DCUI and manually bind the vusb0 interface for ESXi management for connectivity. To persist this USB NIC binding, you will need to add small snippet to /etc/rc.local.d/local.sh
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.
Obviously, this was not an ideal user experience and I personally had to use this workaround on several occasions, especially for newer hardware platforms where the onboard network adapter may not be recognized by ESXi and being able to use the USB Network Fling definitely came in handy.
With the release of ESXi 7.0 Update 2, we have improved the user experience for installing ESXi with just a single USB NIC. This enhancement was added by Songtao after mentioning the undesirable behavior. A new driver parameter called usbBusFullScanOnBootEnabled has been introduced and can added after the initial installation which removes the need for the workaround mentioned above by editing the local.sh file. This new parameter instructs ESXi to perform a full bus scan to claim all USB NICs that are attached since USB device claiming is slow compared to PCIe devices.
To configure the the parameter for the USB Network Fling, run the following ESXCLI command:
esxcli system module parameters set -p "usbBusFullScanOnBootEnabled=1" -m vmkusb_nic_fling
You can confirm the setting has been successfully applied, by running the following command:
esxcli system module parameters list -m vmkusb_nic_fling
does this still require the USB Network Native Driver for ESXi Fling?
I can't find one compiled for 7.0u2.....
This feature is not directly tied to the USB NIC Fling as there are some USB NICs which are claimed by the inbox cdc driver. What determines if you need the USB Fling is the model and you can refer to the USB NIC Fling Requirements page. Rule of thumb is if you needed the Fling in the past, then you'll continue to need it and we do no have a build for 7.0 Update 2 (yet), so please hold off on upgrading
Great article as always William.
any idea when a Build for 7.0 update will be available , thanks Eric
Sorry , was suppose to say 7.0 update2
No ETA. Both Songtao and I have been pretty swamped lately, but its in our backlog
Hello William,
I am working a lot lately with Tanzu and Updated 2 🙁 Lab is suffering a lot for customer demos due to slowness of gigabit again.
As this is not supported and community base, there is not much to ask, except a favor 🙂
So +1 on the fling for update 2.
You are awsome!!
Same here, +1 for update 2
is this not the update 2? "VMware vSphere Hypervisor (ESXi) 7.0U2a" I can't get my usb nic to work following option 1 or 2.
Hello,
Please I faced an issue when using a USB network adapter, I experienced a similar issue but after rebooting the machine it works properly except I had to every time the machine shut down I had to choose the network adapter from the ESXi network settings.
Great write up. One thing in my case (not sure of others) the installer did NOT save the root password on my install. Struggled with that step for a while before I came across this:
https://www.virten.net/2020/07/solution-esxi-installation-with-usb-nic-only-fails-at-81/
How can I find the fling iso? All links provided redirect to https://developer.vmware.com/samples#instructions. I have a system that has 3 intel nic and one usb realtek nic. I'm trying to get my esxi host to recognize it. However, I have been unable to locate the fling install.
vmwa.re/flings
I'm so late to the game! Thank you!
It works perfectly on 8.0 u2, love U <3