概念定义
VID:全称Vendor Identification,又称Vendor ID,是代表发明设备的专利所有者(技术厂商)的识别码,即常说的厂商ID,这个ID是PCI-SGI组织统一编制命名的,是唯一的厂商标识,不允许重名。例如:ATI的VID是0x1002,而NVIDIA的VID则是0x10DE。
DID:全称Device Identification,又称Device ID,是针对设备本身标识的代码,即常说的设备ID。这个ID标识主要区别同类设备的不同型号,一般由技术发明厂商按PCI规范命名,不同厂商的设备可以有重名(由于不同厂商都有唯一的VID,因此并不会混淆
份)。例如:同样研发代号为R350的ATI 9800和ATI 9800XT,设备ID却不同,分别为:0x4E48和0x4E4A。
SID/SSID:全称 Subsystem-Identification,又称Sub-ID子(次要)系统(设备)识别码,是授权被制造的设备的二次编码。和DID的区别是这个代码不是原技术厂商设备的代码,而是二级制造厂商代工设备的代码。有时候,如果是由技术厂商自己组织制造设备,这个编码也可以和DID同名。
SVID:全称 Subsystem-Vendor Identification,又称Sub-Vendor ID子(次要)系统厂商识别码,是由PCI-SGI组织认证的二级制造厂商的识别码,同样是唯一的厂商标识,不允许重名,但同一家技术厂商的VID和SVID可以重名。SID和SVID代码通常放在一起,作为设备二次认证的IDs。例如:8139网卡的Subsystem IDs组合是0x813910EC,前面的8139是SID,后面的10EC是SVID。
RID:全称Revision ID,又称Rev ID。即通常所说的版本号:REV.X.
CC:全称Class-Code,类型代码,是区别不同类或者同类不同规格设备类型的编码。对于每一种设备如显示、声卡、SCSI、USB设备等等都有各自的标准分类。例如:Class-Code:000c0300,代表UHCI类型的USB设备;而Class-Code: 000c0310,则代表OHCI类型的USB设备。
实际操作
Windows:
设备管理器中右击PCI相关硬件 → 属性 → 详细信息 → 硬件ID:
Linux:
使用lspci命令
验证:
实际案例:
检验ASUS XG-100C 是否可用于ESXi 7.0
1.查看VID、DID、SVID、SSID
可以看到该卡
VID:1d6a
DID:07b1
SSID:8741
SVID:1043
2.直接查看是否存在ESXi7.0驱动
通过https://www.vmware.com/resources/compatibility查询,asus相关网卡仅有如下驱动,未找到该网卡
3.查看原厂方案
ASUS XG-100C为OEM厂商,原厂方案为Aquantia AQC107 , Aquantia后被Marvell 收购,产品方案改名为 AQtion 10Gbit Network Adapter,而无论方案是否改名,在https://www.vmware.com/resources/compatibility中均存在认证驱动。
4.比对VID、DID、SVID、SSID
原厂方案存在驱动并不代表同样支持OEM厂商,我们需进行VID、DID、SVID、SSID比对。
通过筛选VID、DID,得出以下几个结果:
对几个型号逐一比对:
前三个型号SSID与SVID均不对应,但是最后一项存在如下:
SVID、SSID均为0000,而0000 与 FFFF均为无效code,所以这表明只要VID、DID一致即可。
故ASUS XG-100C可用于ESXi 7.0。
reference :
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/identifiers-for-pci-devices