When working on my recent article,

I quickly discovered that there seemed to be some shortcomings when checking the device driver versions for some network adapters, such as those that are found my set of two Xeon D servers. These SoC (System on a Chip) servers feature two integrated Intel I-350 1GbE ports and two integrated X552/X557 10GbE ports, details as seen at the Supermicro SuperServer SYS-5028D-TN4T Product Page. Googling around for network driver version esxi results in these 2 VMware Knowledgebase articles right at the top:

Nope, that doesn't apply to any ESXi since 5.1, let's move on to the next KB article...

Alright, now we're getting warmer. In KB 1034674, I jumped down to the section entitled "Obtaining Network card driver and firmware information," and spotted this:

In ESXi 5.x, run this command to figure out your network name (column 1):

esxcli network nic list

esxcli network nic list

Now use the desired network name here, substituting it for vmnic0

esxcli network nic get -n vmnic0

esxcli network nic get -n vmnic0

This seemed very promising, at least at first. Then I soon realized that the detailed version of the igbn driver isn't there. Hmm.

On a whim, I also tried looking at Intel's readme for the latest i350 10GbE 4.5.3 driver. Nope, turns out those instructions don't show driver details either:

Use esxcli, vsish, or esxcfg-* to set or get the driver information, for example: Get the driver info

esxcli network nic get -n vmnic1

Get an uplink stats

esxcli network nic stats get -n vmnic1

Get the Netqueue stats

vsish -e get /net/pNics/vmnic1/stats

the output is just 0.1.0.0 .

Time to come up with another way. My way, not necessarily the best or only way. If you have a better way, by all means, let us all know by dropping a comment below!

My alternative approach works broadly across many systems by simply looking for all drivers with gb in the name:

esxcli software vib list | grep gb

esxcli software vib list | grep gb

Tada, there it is! Between each of 3 screenshots, I glean all I need, with a lot of detail, including hints about where the driver came from. In the next 2 screenshots below, you'll see I've run all 3 commands, on each Xeon D system.

esxcli network nic list esxcli network nic get -n vmnic0 esxcli software vib list | grep gb

Let's have a look at the output of these 3 commands, for these 2 Xeon D systems.

Example 1

Xeon D-1541 Intel I350 1GbE - fresh install of ESXi 6.5 Update 1 default inbox drivers nic name vmnic0 driver name igbn nic firmware 1.63.0:0x800009fa nic driver 0.1.0.0-14vmw.650.1.26.5969303 nic driver vendor VMW



What's up with the INT and VMW that comes after the device driver?

INT el

el VMWare

I could also figure out all the same things about the 10GbE NICs too, using the same commands. But I use vmnic2 instead of vmnic0 .

Example 2

Xeon D-1567 Intel X557 10GbE - already updated to ESXi 6.5 Update 1 EP04 updated I350 0.1.0.0 driver and X557 4.5.3 driver nic name vmnic2 driver name ixgbe nic firmware 0x800005ad nic driver 4.5.3-1OEM.600.0.0.2494585 nic driver vendor INT



Note that this time around, I can see the basics of the driver version from the esxcli network nic get -n vmnic2 command this time, showing 4.5.3-iov , but slightly lacking in details, so I still used the esxcli software vib list | grep gb command to get more.

Ah, so it's the device driver provider, that makes sense. Contrast that with the driver names for the VMW drivers, aka inbox drivers, apparently first provided with the indicated ESXi Build Number.

In my 1GbE example above, that's 5969303 . Looking that up, that means it's from 6.5 Update 1.

In my second 10GbE example, it's the older ESXi 6.0 GA build number 2494585 released 2015-03-12. In other words, this X557 driver family first arrived in the ESXi 6.0 GA days, which matches up nicely with exactly what happened.

Hope you learned something, feedback left below is always appreciated!

Web view of my Netgear XS708T ProSAFE 8-Port 10-Gigabit Smart Managed Switch

Footnotes

In my Xeon D-1567 example above, you'll also note that I've got newer I350 igbn 0.1.0.0-14vmw.650.1.26.5969303 VMW ware driver and X557 ixgbe 4.5.3-1OEM.600.0.0.2494585 INT el drivers loaded, here's exactly how those were loaded.

ware driver and X557 ixgbe 4.5.3-1OEM.600.0.0.2494585 el drivers loaded, here's exactly how those were loaded. The Intel I-350 is also known as i350 and i350-AM2.

The Intel X552/X557 is also known as 10GBASE-T PHY, Intel X557-AT/ X557-AT2.

Source, Intel.

Nice shout-out from Michael White, in his most recent installment of his weekly newsletter:

Newsletter: 5 November, 2017

Nov 05 2017 by Michael White at Notes from MWhite

My approach is short, just 3 lines anybody can paste into XCLI. An admittedly much more thorough approach is what Michael is referring to, it's the vDocumentation tool that my colleague Ariel Sanchez came up with, uses PowerCLI (download 6.5.0R1 here), all the details here:

Document your vSphere environment? Yes you can!

Aug 16 2017 by Michael White at Notes from MWhite

How to check that your TCP Segmentation Offload is turned on in both your VMware ESXi server and your VMs

Oct 29 2017



