如何获取特定网络接口的设备 ID?

如何获取特定网络接口的设备 ID?

我这里有2块类似的双口网卡。两者均由英特尔制造,但一款为 HP 品牌,另一款为 Intel 品牌。两者的供应商/设备 ID 不同。

我可以使用以下方法获取设备 ID:

lspci -nn -vvv | grep Ethernet

但我不知道如何将特定设备 ID 关联到网络接口。我知道我可以卸载一张卡并保留另一张卡,但当安装两张卡时仍然对我没有帮助。

我在网上搜索过,但没有看到任何有用的东西。谢谢

例子:

eth2 belongs to 
04:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
    Subsystem: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:000a]

eth3 belongs to
04:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:105e] (rev 06)
Subsystem: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:000a]

答案1

我有来自 2 个具有相同供应商/设备 ID 的设备的 2 个以太网端口。我可以通过比较中断分配来将 pci 插槽与接口名称匹配。我不确定您是否能够执行此操作,因为您似乎有一个可能共享中断的多功能设备。

就我而言:

$ lspci -s 03:00.0 -vv | grep Interrupt
     Interrupt: pin A routed to IRQ 31
$ lspci -s 05:00.0 -vv | grep Interrupt
     Interrupt: pin A routed to IRQ 32

并且在第一列和最后一列中找到匹配的接口p4p1或p4p2:

$ cat /proc/interrupts 
           CPU0       CPU1       
 31:   47757902  108675810   PCI-MSI 1572864-edge      p4p1
 32:   25923809   86364594   PCI-MSI 2621440-edge      p4p2

答案2

user@host:~$ lshw -c network -businfo

Bus info          Device      Class      Description
====================================================
pci@0000:03:00.0  ens160      network    VMXNET3 Ethernet Controller
pci@0000:0b:00.0  ens192      network    VMXNET3 Ethernet Controller
pci@0000:13:00.0  ens224      network    VMXNET3 Ethernet Controller

相关内容