lspci - list all PCI devices
SYNOPSIS
lspci [options]
DESCRIPTION
lspci is a utility for displaying information about all
PCI buses in the system and all devices connected to them.
To make use of all the features of this program, you need
to have Linux kernel 2.1.82 or newer which supports the
/proc/bus/pci interface. With older kernels, the PCI util
ities have to use direct hardware access which is avail
able only to root and it suffers from numerous race condi
tions and other problems.
If you are going to report bugs in PCI device drivers or
in lspci itself, please include output of "lspci -vvx".
OPTIONS
-v Tells lspci to be verbose and display detailed
information about all devices.
-vv Tells lspci to be very verbose and display even
more information (actually everything the PCI
device is able to tell). The exact meaning of these
data is not explained in this manual page, if you
want to know more, consult /usr/include/linux/pci.h
or the PCI specs.
-n Show PCI vendor and device codes as numbers instead
of looking them up in the PCI ID database.
-x Show hexadecimal dump of first 64 bytes of the PCI
configuration space (the standard header). Useful
for debugging of drivers and lspci itself.
-xxx Show hexadecimal dump of whole PCI configuration
space. Available only for root as several PCI
devices crash when you try to read undefined por
tions of the config space (this behaviour probably
doesn't violate the PCI standard, but it's at least
very stupid).
-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.
-t Show a tree-like diagram containing all buses,
bridges, devices and connections between them.
Show only devices in specified bus, slot and func
tion. Each component of the device address can be
omitted or set as "*" meaning "any value". All num
bers are hexadecimal. E.g., "0:" means all devices
on bus 0, "0" means all functions of device 0 on
any bus, "0.3" selects third function of device 0
on all buses and ".4" shows only fourth function of
each device.
-d [<vendor>]:[<device>]
Show only devices with specified vendor and device
ID. Both ID's are given in hexadecimal and may be
omitted or given as "*" meaning "any value".
-i <file>
Use <file> as PCI ID database instead of
/usr/share/pci.ids.
-p <dir>
Use <dir> as directory containing PCI bus informa
tion instead of /proc/bus/pci.
-m Dump PCI device data in machine readable form (both
normal and verbose format supported) for easy pars
ing by scripts.
-M Invoke bus mapping mode which scans the bus exten
sively to find all devices including those behind
misconfigured bridges etc. Please note that this is
intended only for debugging and as it can crash the
machine (only in case of buggy devices, but unfor
tunately these happen to exist), it's available
only to root. Also using -M on PCI access methods
which don't directly touch the hardware has no
sense since the results are (modulo bugs in lspci)
identical to normal listing modes.
--version
Shows lspci version. This option should be used
standalone.
PCILIB OPTIONS
The PCI utilities use PCILIB (a portable library providing
platform-independent functions for PCI configuration space
access) to talk to the PCI cards. The following options
control parameters of the library, especially what access
method it uses. By default, PCILIB uses the first avail
able access method and displays no debugging messages.
Each switch is accompanied by a list of hardware/software
configurations it's supported in.
Use Linux 2.1 style configuration access to direc
tory <dir> instead of /proc/bus/pci. (Linux 2.1 or
newer only)
-H1 Use direct hardware access via Intel configuration
mechanism 1. (i386 and compatible only)
-H2 Use direct hardware access via Intel configuration
mechanism 2. Warning: This method is able to
address only first 16 devices on any bus and it
seems to be very unrealiable in many cases. (i386
and compatible only)
-S Use PCI access syscalls. (Linux on Alpha and Ultra
Sparc only)
-F <file>
Extract all information from given file containing
output of lspci -x. This is very useful for analy
sis of user-supplied bug reports, because you can
display the hardware configuration in any way you
want without disturbing the user with requests for
more dumps. (All systems)
-G Increase debug level of the library. (All systems)
FILES
/usr/share/pci.ids
A list of all known PCI ID's (vendors, devices,
classes and subclasses).
/proc/bus/pci
An interface to PCI bus configuration space pro
vided by the post-2.1.82 Linux kernels. Contains
per-bus subdirectories with per-card config space
files and a devices file containing a list of all
PCI devices.
SEE ALSO
setpci(8)
AUTHOR
The Linux PCI Utilities are maintained by Martin Mares
<mj@suse.cz>.
Man(1) output converted with
man2html