lspci

From RaySoft

lspci is a utility for displaying information about all PCI buses in the system and all devices connected to them.[1]

Documentation

Syntax

lspci [PARAMETER ...]

Parameters

-b
Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the PCI bus instead of as seen by the kernel.
-d [VENDOR]:[DEVICE ID]
Show only devices with specified VENDOR and DEVICE ID. Both ID's are given in hexadecimal and may be omitted or given as *, both meaning any value.
-i FILE
Use FILE as the PCI ID list instead of /usr/share/hwdata/pci.ids.
-m
Dump PCI device data in machine readable form (both normal and verbose format supported) for easy parsing by scripts. Please don't use any other formats for this purpose, they are likely to change in the future versions of lspci.
-M
Invoke bus mapping mode which performs a thorough scan of all PCI devices, including those behind misconfigured bridges etc. This option is available only to root and it gives meaningful results only if combined with direct hardware access mode (otherwise the results are identical to normal listing modes, modulo bugs in lspci).
NOTE:
The bus mapper doesn't support PCI domains and scans only domain 0.
-n
Show PCI vendor and device codes as numbers instead of looking them up in the PCI ID list.
-p FILE
Use FILE as the map of PCI ID's handled by kernel modules. By default, lspci uses /lib/modules/kernel_version/modules.pcimap. Applies only to Linux systems with recent enough module tools.
-s [[[[DOMIAN]:]BUS]:][SLOT][.[FUNCTION]]
Show only devices in the specified DOMIAN (in case your machine has several host bridges, they can either share a common bus number space or each of them can address a PCI domain of its own; domains are numbered from 0 to ffff), BUS (0 to ff), SLOT (0 to 1f) and FUNCITON (0 to 7). Each component of the device address can be omitted or set to *, both meaning any value. All numbers are hexadecimal.
-t
Show a tree-like diagram containing all buses, bridges, devices and connections between them.
-v
Be verbose and display detailed information about all devices.
-vv
Be very verbose and display more details. This level includes everything deemed useful.
-vvv
Be even more verbose and display everything we are able to parse, even if it doesn't look interesting at all (e.g., undefined memory regions).

References

  1. man 8 'lspci'