Lspci
From Christoph's Personal Wiki
lspci is a utility for displaying information about PCI buses in the system and devices connected to them.
Examples
Networking
You might have seen some systems using Ethernet interface names like "enp0s3
" instead of the traditional "ethN
" nomenclature. Here is what they mean:
$ ls -l /sys/class/net/ lrwxrwxrwx. 1 root root 0 Oct 23 21:42 enp0s3 -> ../../devices/pci0000:00/0000:00:03.0/net/enp0s3 lrwxrwxrwx. 1 root root 0 Oct 23 21:42 enp0s8 -> ../../devices/pci0000:00/0000:00:08.0/net/enp0s8 lrwxrwxrwx. 1 root root 0 Oct 23 21:42 enp0s9 -> ../../devices/pci0000:00/0000:00:09.0/net/enp0s9
$ lspci |grep -i net 00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) 00:08.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) 00:09.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
So, "enp0s3
" => Ethernet network peripheral #0 on serial port #3. PCI bus numbers will be in order: 3, 8, 9, a(10). Or, 3 = NIC#1, 8 = NIC#2, etc.
$ lshw -C network ... bus info: pci@0000:00:03.0 logical name: enp0s3 ...
$ lspci|grep -i net 00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
The first characters of each line are in the format: [<bus>]:[<slot>].[<func>]
In the above example, the bus is 0x00, the slot is 0x03, and the function is 0x0, where:
- bus
- the bus of the PCI device
- slot
- the slot of the PCI device
- function
- the function of the PCI device