Note</p> Do not update your existing VIB! The VIB should be removed, followed by a reboot and re-install. Updating the VIB will result on an inability to load the usbnet module.

I know the future for ESXi is based on a Linux free World; but for those of us still rocking a Home Lab based on either ESXi 6.5 or 6.7, having the ability to step-up to the dizzying heights of better than Gigabit Ethernet, and for that matter, with USB based adapters, is quite something. Not to mention the fact that some of those adapters are quite inexpensive!

Some days ago I was contacted by someone based in the Netherlands who was trying to get the RTL8156 based adapters he had recently purchased working on ESXi. You might or might not have read this piece about USB Ethernet drivers for ESXi. I have been using both Realtek and ASIX adapters to complement the single Ethernet adapter on the Intel NUCs, and they have proved to be rock solid.

Fast forward a few months, and as soon as ESXi 6.5 was announced people started asking if I could recompile the drivers for the new release. Finally I had some time this week to look into that. The result? A lot of wasted time downloading the 6.5 disclosure packages, setting up the environment, tweaking build scripts, etc. It turns out that compiling the drivers in the ESXi 6.0 environment I built previously worked much better, with just a single trivial change to the USB namespace.

The single change I had to make was to change the namespace dependencies map from this:

echo -e "VMK_NAMESPACE_REQUIRED( \" com.vmware.usb \" , \" 9.2.3.0 \" ); \

VMK_NAMESPACE_REQUIRED( \" com.vmware.usbnet \" , \" 9.2.3.0 \" );" \

To this:

echo -e "VMK_NAMESPACE_REQUIRED( \" com.vmware.usb \" , \" 10.0 \" ); \

VMK_NAMESPACE_REQUIRED( \" com.vmware.usbnet \" , \" 9.2.3.0 \" );" \

Note the sneak change introduced by VMware – the USB namespace is version 10.0 now…

Update (07/02/19) Driver update to version 1.19.0 (Latest source code from ASIX). Update (25/02/19) Realtek driver updated to version 2.11.0 (latest) Version 2.11.0 adds support for the upcoming 2.5G USB C Ethernet adapters (RTL8156; not tested)

What’s new

Quite a lot! Apart from the new functionality discussed in detail by the VMware Gurus elsewhere, looking at the latest ODP packages clearly reveals VMware’s intention to move away from what they call “legacy” drivers.

The USB Ethernet drivers are dependent on two legacy modules (usb and usbnet); the modules are still available in ESXi 6.5, but will not load by default.

My first attempt at loading the USB Ethernet drivers failed miserably. It took me some time to realise that in 6.5 all legacy USB drivers (xhci, ehci-hcd, usb-uhci, usb, usb-storage, etc.) have been replaced by a single native driver called vmkusb. It serves me right for not paying attention to the various announcements…

Anyway, in order to get the USB Ethernet drivers to load the vmkusb module must be disabled for the legacy USB drivers to load. The details are described in the VMware Knowledge Base article 2147650.

Other than the above, there are no material differences between 6.0 and 6.5 for the legacy adapters so all performance figures described on the previous article are still valid.

Tested devices

The following devices were tested with these drivers.

ASIX

Realtek

Tested by Glen Kemp

USB 2.0 Adapter (RTL8152B Chipset)

Tested by Glen Kemp

The drivers

You can download the VIBs using the following links:

ASIX

ESXi 6.5 VIB

Realtek

ESXi 6.5 VIB