Ein Blog über Code, Hardware und Co

Technik und Hardware

USB Netzwerk-Adapter am ESXI-Host

Zuletzt aktualisiert am 3. Juli 2024.

Es gibt durchaus Anwendungsfälle, bei denen man an einem ESXI-Host eine USB NIC verwenden möchte. Das kann beispielsweise der Fall sein, wenn man einen NUC oder einen anderen Mini-PC als Host nutzt, der nur eine NIC hat. Oder, wenn der Chipsatz der vorhandenen Netzwerkkarte nicht unterstützt wird.

Hinweis: Leider ist die in diesem Beitrag behandelte Lösung aktuell nur mit einer Geschwindigkeit des USB Ethernet-Adapters von 100MBit/s ohne zusätzlichen Treiber möglich, da die USB-NetworkDriver von Fling/Esxi aktuell nicht mehr zum Download bereitstehen.

Ausgangssituation

Ich nutze aufgrund des geringen Preises und der guten Energieeffizienz gerne NUCs und MiniPCs als ESXI-Host. So kann es aber gerade bei den MiniPCs aus China oft vorkommen, dass die Netzwerkchipsätze nicht auf der Kompatibiliätsliste für ESXI stehen und entsprechend auch nicht funktionieren.
Gute Beispiele dafür sind z.B. Realtek RTL8111/8168/8411 Chipsätze.

Beim Installationsversuch von ESXI erhält man dann z.B. die folgende Meldung:

Lösungsansatz ohne zusätzliche Treiber

Die einfachste Lösung ist tatsächlich Plug and Play, denn seit ESXI 7 ist (wieder) ein universeller USB-Netzwerktreiber (USB CDCE) im Stack enthalten.
Eine mit einem unterstützen Chipsatz ausgestatte USB-NIC kann so einfach eingesteckt und genutzt werden.
Auf jeden Fall funktioniert der folgende Adapter (zumindest habe ich ihn erfolgreich mehrmals im Einsatz):

Es sollte aber eigentlich jeder USB-Adapter mit RTL8153-Chipsatz funktionieren.

Angebot
uni USB Ethernet Adapter 3.0 1000Mbps LAN Adapter, USB RJ45 Adapter aus Aluminium und Nylon, treiberfreier Netzwerkadapter für MacBook, Mi Box, Surface, PC, Laptop mit macOS, Win 11/10/ 8.1/8, Linux
  • [1000Mbps Highspeed] Der USB 3.0 zu RJ45 Adapter bietet eine hohe Geschwindigkeit von bis zu 1000 Mbps über einen USB 3.0 Anschluss, ist abwärtskompatibel mit 100Mbps (USB 2.0) und 10Mbps (USB 1.1). Damit können Sie 1G-Film in nur 10 Sekunden herunterladen und eine reibungslose Netzwerkverbindung genießen. (Um 1 Gbps zu erreichen, ist ein CAT6- oder höheres Ethernet-Kabel erforderlich.)
  • [Stabile Gigabit-LAN] uni USB Lan Adapter bietet Gigabit-Ethernet-Konnektivität für zuverlässige Netzwerkverbindungen, wenn drahtlose Konnektivität schwach ist oder erweiterte Netzwerke benötigt werden. Der USB RJ45 Adapter ermöglicht einfachen Internetzugang ohne Einschränkungen durch schwache WiFi-Signale. Ideal für reibunglose Online-Spiele, Datenübertragung, HD-Filmstreaming und Videokonferenz.
  • [Plug & Play] Für uni USB 3.0 LAN Adapter ist kein Treiber oder externe Stromversorgung erforderlich und ist kompatibel mit MacBook, Surface Book und viele andere USB 3.0 Geräte unter Windows 11/ 10/ 8.1/ 8/ XP, macOS, Linux usw. Außerdem unterstützt es Kreuzerkennung, automatische Korrektur und Wake-on-LAN.
  • [Robust und tragbar] Der USB-Ethernet-Adapter verfügt über ein robustes Aluminiumgehäuse und geflochtenes Nylon, was für eine bessere Wärmeableitung und längere Lebensdauer im Vergleich zu billigen Kunststoffgehäusen sorgt. Mit seiner kompakten Größe ist er ideal für Geschäftsreisen und unterwegs.
  • [Verlässliche uni-Garantie] uni bietet eine 18-monatige problemlose Garantie für den High-Speed USB netzwerkadapter 1Gbps sowie einen 24/7-Kundendienst. Wir sind zuversichtlich in unsere einzigartige Produkte und Kunden.

Der einzige Wehrmutstropfen ist, dass der CDCE-Treiber nur 100MBit/s unterstütz.

Lösungsansatz mit zusätzlichem Treiber

Wer eine Lösung mit Gigabit-Ethernet möchte, der kommt um den Fling-Treiber nicht herum. Wir gehen nun einmal den Prozess der Installation gemeinsam durch.

Zum Zeitpunkt des Verfassens dieses Artikels unterstützt der Fling-Treiber folgende Netzwerkchips:

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

Update Juni 2024: Da VMwware die ursprüngliche Treiberseite offline genommen hat, sind die Treiber dort nicht mehr herunterladbar. Aktuell sind die Treiber aber noch über Archive.org downloadbar.

Wir installieren nun den Fling-Treiber für USB-Netzwerkdevices auf einem Esxi-Host.

1) Treiber herunterladen

Zunächst laden wir uns den für unsere ESXI-Version passenden Treiber herunter. Leider sind die Treiber aktuell nicht mehr bei VMWare/Broadcom verfügbar. Man kann sie aber noch über Archive.org finden:

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

2) SSH auf dem Host aktivieren

Um den Treiber zu Installieren brauchen wir Zugriff auf die Konsole des Hosts. Daher müssen wir SSH aktivieren. Wir loggen uns dazu auf dem Host ein, klicken im linken Hauptmenü auf den Host, wählen dann “Aktionen”, im aufklappenden Dropdown-Menü auf “Dienste” und wählen “Secure Shell (SSH) aktivieren”

3) Treiber auf Host laden

Um den Treiber zu installieren, müssen wir ihn ersteinmal auf unseren Host bekommen. Auch dafür können wir ganz einfach das Webinterface des Hosts nutzen, auf dem wir ja bereits eingeloggt sind.
Wir navigieren dafür im linken Hauptmenü zu “Speicher”, wählen dann unseren Storage aus und klicken auf “Datenspeicher-Browser”. Wir erstellen nun ein Verzeichnis für den Treiber, z.B. “fling” und laden dort das Treiberfile herein.

4) Host in den Wartungsmodus versetzen

Als nächstes alle VMs herunterfahren und den Host in den Wartungsmodus versetzen. Dazu nach dem Herunterfahren der VMs im linken Hauptmenü auf “Host” Klicken und dann auf Aktionen klicken und im öffnenden Dropdown “In den Wartungsmodus wechseln” auswählen.

5) Über SSH verbinden

Wir verbinden uns jetzt mit folgendem Befehl über SSH (bei Linux-Systemen direkt aus dem terminal heraus, bei Windows-Systemen z.B. mit “Putty”) mit dem ESXI-Host:
ssh root@ip

6) Treiber installieren

Jetzt navigieren wir auf der Konsole zu dem Verzeichnis, in das wir zu Beginn das Treiberfile geladen haben:
cd vmfs
cd volumes
cd SSD-Storage
cd fling

PS: In deinem Fall musst du statt “SSD-Storage” natürlich den Namen deines Storage angeben.

Dann installieren wir den Treiber mit folgendem Befehl:
esxcli software vib install -d /vmfs/volumes/SSD-Storage/fling/
ESXi703-VMKUSB-NIC-FLING-55634242-component-19849370.zip

OH NO, ein Fehler
Bei einigen von euch kann der folgende Fehler erscheinen:

[StatelessError]
The transaction is not supported: VIB VMW_bootbank_vmkusb-nic-fling_1.10-1vmw.703.0.50.55634242 cannot be live installed.
 Please refer to the log file for more details.

Die Fehlermeldung kommt ind er Regel dadurch zustande, dass einige Kernelmodule nicht richtig heruntergefahren werden.
Die Lösung ist zum Glück meistens einfach und ähnlich wie bei einem guten Windows-PC: Einmal neustarten und erneut versuchen 😉
PS: Weitere Ursachen/Lösungen für den Fehler erläutere ich dir weiter unten.

Nach dem Neustart probieren wir es nochmal und: Tada, die Installation ist geglückt. Fertig.

Weitere Tipps, wenn es zum [StatelessError] kommt

IN meinem Fall habe ich an meinen Esxi-Host einige externe HDDs per USB angeschlossen (um genau zu sein 12). Dadurch kam es – bis alle platten angelaufen sind – zu einem längeren Bootprozess. Daher wurde die bootbank nicht richtig eingebunden und dann vom System automatisch ins tmp-Verzeichnis gelinkt. Das Resultat ist die o.g. Fehlermeldung. Ebenso äußerte sich der Fehler so, dass Einstellungsänderungen nicht mehr persistiert werden konnten und der Host – auch aus dem Wartungsmodus heraus – z.b. nach einem neustart immer wieder aus dem Wartungsmodus herausgesprungen ist.

Ein Workaround ist es hier zunächst, den Host ohne die angeschlossenen externen HDDs zu starten. Zusätzlich – und das ist eine dauerhafte Lösung – ist es wichtig, im UEFI bei der Boot-Reihenfolge das ESXI-Bootmedium an die erste Stelle zu setzen.

Das Ergebnis

Das Ergebnis ist nun eine zusätzliche USB-NIC, die auch die vollen 1 GBit/s mit dem installierten Treiber nutzen kann:

Der Installationsprozess ist hier noch einmal super im Video erläutert:

Quellen/Weitere Ressourcen

  • https://williamlam.com/2022/02/usb-network-adapters-without-using-the-usb-network-native-driver-for-esxi.html
  • https://williamlam.com/2023/12/vmware-flings-are-back.html
  • https://community.broadcom.com/vmware-code/communities/communityhomeblogs?CommunityKey=5d6496d1-215a-4ead-99e1-ff49b96deaf6
  • https://en.wikipedia.org/wiki/Ethernet_over_USB
  • https://ia601806.us.archive.org/26/items/flings.vmware.com/Flings/USB%20Network%20Native%20Driver%20for%20ESXi/usb-network-native-driver-for-esxi.html

Letzte Aktualisierung am 2024-12-03 / Affiliate Links / Bilder von der Amazon Product Advertising API

Schreibe eine Antwort