특정 네트워크 인터페이스의 장치 ID를 얻는 방법은 무엇입니까?

특정 네트워크 인터페이스의 장치 ID를 얻는 방법은 무엇입니까?

여기에 비슷한 듀얼 포트 네트워크 카드가 2개 있습니다. 둘 다 Intel에서 제조했지만 하나는 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

동일한 공급업체/장치 ID를 가진 2개의 장치에서 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

관련 정보