lspci(8)                The PCI Utilities                lspci(8)


NAME
       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.

       By  default,  it  shows  a  brief list of devices. Use the
       options described below to request either a  more  verbose
       output or output intended for parsing by other programs.

       If  you  are going to report bugs in PCI device drivers or
       in lspci itself, please include output of "lspci vvx"  or
       even  better "lspci vvxxx" (however, see below for possi
       ble caveats).

       Some parts of the output, especially in the highly verbose
       modes,  is  probably  intelligible only to experienced PCI
       hackers. For the exact definitions of the  fields,  please
       consult  either the PCI specifications or the header.h and
       /usr/include/linux/pci.h include files.

       Access to some parts of the  PCI  configuration  space  is
       restricted  to root on many operating systems, so the fea
       tures of lspci available to normal users are limited. How
       ever, lspci tries its best to display as much as available
       and mark all other information with <access denied>  text.


OPTIONS
       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).

       n     Show PCI vendor and device codes as numbers instead
              of looking them up in the PCI ID list.

       x     Show hexadecimal dump of the standard part  of  the
              configuration  space  (the  first  64  bytes or 128
              bytes for CardBus bridges).

       xxx   Show hexadecimal dump of the whole  PCI  configura
              tion space. It is available only to root as several
              PCI devices crash when you try to read  some  parts
              of the config space (this behavior probably doesn't
              violate the PCI standard, but it's  at  least  very
              stupid).  However,  such  devices  are rare, so you
              needn't worry much.

       xxxx  Show hexadecimal dump of the  extended  (4096byte)
              PCI  configuration space available on PCIX 2.0 and
              PCI Express buses.

       b     Buscentric  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  treelike  diagram  containing  all  buses,
              bridges, devices and connections between them.

       s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]
              Show  only devices in the specified domain (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 function (0 to 7).  Each component of
              the  device  address  can be omitted or set to "*",
              both meaning "any value". All numbers are hexadeci
              mal.   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 the 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 "*", both meaning "any value".

       i <file>
              Use  <file>  as  the  PCI  ID   list   instead   of
              /usr/local/share/pci.ids.

       m     Dump PCI device data in machine readable form (both
              normal and verbose format supported) for easy pars
              ing  by scripts. Please don't use any other formats
              for this purpose, they are likely to change in  the
              future versions of lspci.

       D     Always  show  PCI domain numbers. By default, lspci
              suppresses them on machines which have only  domain
              0.

       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 (oth
              erwise the results are identical to normal  listing
              modes,  modulo bugs in lspci). Please note that the
              bus mapper doesn't support PCI  domains  and  scans
              only domain 0.

       version
              Shows  lspci  version.  This  option should be used
              standalone.


PCILIB AND ITS OPTIONS
       The PCI utilities use PCILIB (a portable library providing
       platformindependent functions for PCI configuration space
       access) to talk to the PCI cards. It supports the  follow
       ing access methods:


       linux_sysfs
              The  /sys  filesystem  on  Linux 2.6 and newer. The
              standard header of the config space is available to
              all users, the rest only to root. Supports extended
              configuration space and PCI domains.

       linux_proc
              The /proc/bus/pci interface supported by Linux  2.1
              and  newer. The standard header of the config space
              is available to all users, the rest only to root.

       intel_conf1
              Direct  hardware  access  via  Intel  configuration
              mechanism  1.  Available on i386 and compatibles on
              Linux, Solaris/x86,  GNU  Hurd,  Windows,  DOS  and
              OS/2. Requires root privileges.

       intel_conf2
              Direct  hardware  access  via  Intel  configuration
              mechanism 2. Available on i386 and  compatibles  on
              Linux,  Solaris/x86,  GNU  Hurd,  Windows,  DOS and
              OS/2.  Requires  root  privileges.  Warning:   This
              method  is able to address only first 16 devices on
              any bus and it seems to be very unreliable in  many
              cases.

       fbsd_device
              The /dev/pci device on FreeBSD. Requires root priv
              ileges.

       aix_device
              Access method used on  AIX.  Requires  root  privi
              leges.

       nbsd_libpci
              The  /dev/pci0  device on NetBSD accessed using the
              local libpci library.

       /dev/os2_oemhlp
              The /dev/OEMHLP$ driver in OS2KRNL/OS2LDR.

       dos_bios
              The PCI System BIOS , using software interrupt  1A.


       By  default, PCILIB uses the first available access method
       and displays no debugging messages, but you  can  use  the
       following switches to control its behavior:


       P <dir>
              Force  use  of  the linux_proc access method, using
              <dir> instead of /proc/bus/pci.

       H1    Use direct hardware access via Intel  configuration
              mechanism 1.

       H2    Use  direct hardware access via Intel configuration
              mechanism 2.

       F <file>
              Extract all information from given file  containing
              output  of lspci x. This is very useful for analy
              sis of usersupplied bug reports, because  you  can
              display  the  hardware configuration in any way you
              want without disturbing the user with requests  for
              more dumps.

       G     Increase debug level of the library.


FILES
       /usr/local/share/pci.ids
              A  list  of  all  known PCI ID's (vendors, devices,
              classes and subclasses). Maintained at  http://pci
              ids.sourceforge.net/, use the updatepciids utility
              to download the most recent version.

       /proc/bus/pci
              An interface to PCI bus  configuration  space  pro
              vided  by  the  post2.1.82 Linux kernels. Contains
              perbus subdirectories with percard  config  space
              files  and  a devices file containing a list of all
              PCI devices.


SEE ALSO
       setpci(8), updatepciids(8)


AUTHOR
       The  PCI  Utilities  are  maintained   by   Martin   Mares
       <mj@ucw.cz>.
