Zur Gewährleistung von Kompatibilität und bei Supportanfragen ist es gelegentlich notwendig, den aktuellen Firmware Status von Netzwerkadapter oder HBA zu ermitteln. Natürlich kann man theoretisch den Server neu booten und dabei in die BIOS Einstellungen des Adapters gehen, aber dies ist gerade bei ESX Servern mit viel Aufwand verbunden. VM müssen auf andere Hosts im Cluster migriert werden, ein Konsolenzugang oder eine Remotekonsole wird benötigt. Dies alles kostet viel Zeit.
Viel schneller geht es mit ein paar Kommandos auf der ESXi Shell, ohne den Host zu beeinträchtigen. Dazu benötigt man nur einen Zugang per SSH.
Firmware und Treiber des HBA ermitteln
Zunächst kann man die installierten SCSI Komponenten ermitteln.
~ # esxcfg-scsidevs -a
Im obigen Beispiel handelt es sich um einen Emulex LPe12000 8GB FC HBA. Der verwendete Treiber für den Emulex HBA ist „lpfc“ (hier: vmhaba3 und vmhba4).
Die Treiberversion ermittelt man mit dem Kommando vmkload_mod.
# vmkload_mod -s <HBADriver> | grep Version
Also im Beispiel hier mit lpfc
# vmkload_mod -s lpfc | grep Version
Vendor ID des HBA ermitteln
Für Recherche in der VMware Hardware Compatibility List (HCL) benötigt man Vendor-ID (VID), Device-ID (DID), Sub-Vendor-ID (SVID) und Sub-Device-ID (SDID).
Die FC HBA haben hier die Nummern vmhba3 und vmhba4.
vmkchdev -l | grep vmhba3
- VID = 10df
- DID = f100
- SVID = 10df
- SDID = f100
Mit diesen Informationen kann man den VMware Compatibility Guide durchsuchen.
ESX Host Version prüfen
Die Abfrage der installierten ESXi Version erfolgt mit dem Befehl:
vmware -v
Firmware und Treiber des NIC ermitteln
Liste aller installierten Netzwerkadapter ausgeben (für ESXi Versionen ab 5.0)
# esxcli network nic list
# ethtool -i <vmnic-name>
Im Beispiel wird gezielt die Information zu vmnic9 untersucht.
~ # ethtool -i vmnic9 driver: igb version: 5.2.5 firmware-version: 1.52, 0x80000778 bus-info: 0000:0d:00.1
Für ESXi Versionen ab 5.0 wird noch ein anderes Kommando empfohlen:
# esxcli network nic get -n <vmnic-name>
~ # esxcli network nic get -n vmnic9
Advertised Auto Negotiation: true
Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full
Auto Negotiation: true
Cable Type: Twisted Pair
Current Message Level: 7
Driver Info:
Bus Info: 0000:0d:00.1
Driver: igb
Firmware Version: 1.52, 0x80000778
Version: 5.2.5
Link Detected: true
Link Status: Up
Name: vmnic9
PHYAddress: 1
Pause Autonegotiate: true
Pause RX: false
Pause TX: false
Supported Ports: TP
Supports Auto Negotiation: true
Supports Pause: true
Supports Wakeon: true
Transceiver: internal
Wakeon: MagicPacket(tm)
Vendor ID des NIC ermitteln
Auch hier kann man die Vendor-ID ermitteln. Das Verfahren ist analog zum oben beschriebenen.
vmkchdev -l | grep vmnic9
Hier wird nur die Information zu vmnic9 gesucht.
~ # vmkchdev -l | grep vmnic9 0000:0d:00.1 8086:1521 1734:11ce vmkernel vmnic9
- VID = 8086
- DID = 1521
- SVID = 1734
- SDID = 11ce
Links
VMware KB 1027206 – Determining Network/Storage firmware and driver version in ESXi/ESX 4.x, ESXi 5.x, and ESXi 6.x





