lspci(8)	       Linux 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.

       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.

       -s [[<bus>]:][<slot>][.[<func>]]
	      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.

       -P <dir>
	      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@ucw.cz>.

pciutils-2.1.9		 04 November 2001			3


