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