Friday, March 09, 2018

How to check I/O device on VMware HCL

VMware has Hardware Compatibility List of supported I/O devices is available here
https://www.vmware.com/resources/compatibility/search.php?deviceCategory=io

VMware HCL for I/O devices

The best identification of I/O device is VID (Vendor ID), DID (Device ID), SVID (Sub-Vendor ID), SSID (Sub-Device ID). VID, DID, SVID and SSID can be simply entered into VMware HCL and you will find if it is supported and what capabilities have been tested. You can also find supported firmware and driver.

The get these identifiers you have to log in to ESXi via SSH and use command "vmkchdev -l".  This command shows VID:DID SVID:SSID for PCI devices and you can use grep to filter just VMware NICs (aka vmnic)
vmkchdev -l | grep vmnic
You should get similar output


[dpasek@esx01:~] vmkchdev -l | grep vmnic
0000:02:00.0 14e4:1657 103c:22be vmkernel vmnic0
0000:02:00.1 14e4:1657 103c:22be vmkernel vmnic1
0000:02:00.2 14e4:1657 103c:22be vmkernel vmnic2
0000:02:00.3 14e4:1657 103c:22be vmkernel vmnic3
0000:05:00.0 14e4:168e 103c:339d vmkernel vmnic4
0000:05:00.1 14e4:168e 103c:339d vmkernel vmnic5
0000:88:00.0 14e4:168e 103c:339d vmkernel vmnic6
0000:88:00.1 14e4:168e 103c:339d vmkernel vmnic7

So, in case of vmknic4 there is
·       VID:DID SVID:SSID
·       14e4:168e 103c:339d


The same applies to HBAs and disk controllers.  For HBA and local disk controllers use
vmkchdev -l | grep vmhba
This is the output from my Intel NUC at my home lab

[root@esx02:~] vmkchdev -l | more
0000:00:00.0 8086:0a04 8086:2054 vmkernel 
0000:00:02.0 8086:0a26 8086:2054 vmkernel 
0000:00:03.0 8086:0a0c 8086:2054 vmkernel 
0000:00:14.0 8086:9c31 8086:2054 vmkernel vmhba32
0000:00:16.0 8086:9c3a 8086:2054 vmkernel 
0000:00:19.0 8086:1559 8086:2054 vmkernel vmnic0
0000:00:1b.0 8086:9c20 8086:2054 vmkernel 
0000:00:1d.0 8086:9c26 8086:2054 vmkernel 
0000:00:1f.0 8086:9c43 8086:2054 vmkernel 
0000:00:1f.2 8086:9c03 8086:2054 vmkernel vmhba0

0000:00:1f.3 8086:9c22 8086:2054 vmkernel 

vmhba0 is local disk controller
vmhba32 is USB storage controller
vmnic0 is network interface

Hope this helps.

No comments: