File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pciutils / lspci.man
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Fri Feb 17 15:18:42 2012 UTC (12 years, 3 months ago) by misho
Branches: pciutils, MAIN
CVS tags: v3_1_9, HEAD
pciutils

    1: .TH lspci 8 "@TODAY@" "@VERSION@" "The PCI Utilities"
    2: .IX lspci
    3: .SH NAME
    4: lspci \- list all PCI devices
    5: .SH SYNOPSIS
    6: .B lspci
    7: .RB [ options ]
    8: .SH DESCRIPTION
    9: .B lspci
   10: is a utility for displaying information about PCI buses in the system and
   11: devices connected to them.
   12: 
   13: By default, it shows a brief list of devices. Use the options described
   14: below to request either a more verbose output or output intended for
   15: parsing by other programs.
   16: 
   17: If you are going to report bugs in PCI device drivers or in
   18: .I lspci
   19: itself, please include output of "lspci -vvx" or even better "lspci -vvxxx"
   20: (however, see below for possible caveats).
   21: 
   22: Some parts of the output, especially in the highly verbose modes, are probably
   23: intelligible only to experienced PCI hackers. For exact definitions of
   24: the fields, please consult either the PCI specifications or the
   25: .B header.h
   26: and
   27: .B /usr/include/linux/pci.h
   28: include files.
   29: 
   30: Access to some parts of the PCI configuration space is restricted to root
   31: on many operating systems, so the features of
   32: .I lspci
   33: available to normal users are limited. However,
   34: .I lspci
   35: tries its best to display as much as available and mark all other
   36: information with
   37: .I <access denied>
   38: text.
   39: 
   40: .SH OPTIONS
   41: 
   42: .SS Basic display modes
   43: .TP
   44: .B -m
   45: Dump PCI device data in a backward-compatible machine readable form.
   46: See below for details.
   47: .TP
   48: .B -mm
   49: Dump PCI device data in a machine readable form for easy parsing by scripts.
   50: See below for details.
   51: .TP
   52: .B -t
   53: Show a tree-like diagram containing all buses, bridges, devices and connections
   54: between them.
   55: 
   56: .SS Display options
   57: .TP
   58: .B -v
   59: Be verbose and display detailed information about all devices.
   60: .TP
   61: .B -vv
   62: Be very verbose and display more details. This level includes everything deemed
   63: useful.
   64: .TP
   65: .B -vvv
   66: Be even more verbose and display everything we are able to parse,
   67: even if it doesn't look interesting at all (e.g., undefined memory regions).
   68: .TP
   69: .B -k
   70: Show kernel drivers handling each device and also kernel modules capable of handling it.
   71: Turned on by default when
   72: .B -v
   73: is given in the normal mode of output.
   74: (Currently works only on Linux with kernel 2.6 or newer.)
   75: .TP
   76: .B -x
   77: Show hexadecimal dump of the standard part of the configuration space (the first
   78: 64 bytes or 128 bytes for CardBus bridges).
   79: .TP
   80: .B -xxx
   81: Show hexadecimal dump of the whole PCI configuration space. It is available only to root
   82: as several PCI devices
   83: .B crash
   84: when you try to read some parts of the config space (this behavior probably
   85: doesn't violate the PCI standard, but it's at least very stupid). However, such
   86: devices are rare, so you needn't worry much.
   87: .TP
   88: .B -xxxx
   89: Show hexadecimal dump of the extended (4096-byte) PCI configuration space available
   90: on PCI-X 2.0 and PCI Express buses.
   91: .TP
   92: .B -b
   93: Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the
   94: PCI bus instead of as seen by the kernel.
   95: .TP
   96: .B -D
   97: Always show PCI domain numbers. By default, lspci suppresses them on machines which
   98: have only domain 0.
   99: 
  100: .SS Options to control resolving ID's to names
  101: .TP
  102: .B -n
  103: Show PCI vendor and device codes as numbers instead of looking them up in the
  104: PCI ID list.
  105: .TP
  106: .B -nn
  107: Show PCI vendor and device codes as both numbers and names.
  108: .TP
  109: .B -q
  110: Use DNS to query the central PCI ID database if a device is not found in the local
  111: .B pci.ids
  112: file. If the DNS query succeeds, the result is cached in
  113: .B ~/.pciids-cache
  114: and it is recognized in subsequent runs even if
  115: .B -q
  116: is not given any more. Please use this switch inside automated scripts only
  117: with caution to avoid overloading the database servers.
  118: .TP
  119: .B -qq
  120: Same as
  121: .BR -q ,
  122: but the local cache is reset.
  123: .TP
  124: .B -Q
  125: Query the central database even for entries which are recognized locally.
  126: Use this if you suspect that the displayed entry is wrong.
  127: 
  128: .SS Options for selection of devices
  129: .TP
  130: .B -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]
  131: Show only devices in the specified domain (in case your machine has several host bridges,
  132: they can either share a common bus number space or each of them can address a PCI domain
  133: of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7).
  134: Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are
  135: hexadecimal.  E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
  136: on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only
  137: the fourth function of each device.
  138: .TP
  139: .B -d [<vendor>]:[<device>]
  140: Show only devices with specified vendor and device ID. Both ID's are given in
  141: hexadecimal and may be omitted or given as "*", both meaning "any value".
  142: 
  143: .SS Other options
  144: .TP
  145: .B -i <file>
  146: Use
  147: .B
  148: <file>
  149: as the PCI ID list instead of @IDSDIR@/pci.ids.
  150: .TP
  151: .B -p <file>
  152: Use
  153: .B
  154: <file>
  155: as the map of PCI ID's handled by kernel modules. By default, lspci uses
  156: .RI /lib/modules/ kernel_version /modules.pcimap.
  157: Applies only to Linux systems with recent enough module tools.
  158: .TP
  159: .B -M
  160: Invoke bus mapping mode which performs a thorough scan of all PCI devices, including
  161: those behind misconfigured bridges, etc. This option gives meaningful results only
  162: with a direct hardware access mode, which usually requires root privileges.
  163: Please note that the bus mapper only scans PCI domain 0.
  164: .TP
  165: .B --version
  166: Shows
  167: .I lspci
  168: version. This option should be used stand-alone.
  169: 
  170: .SS PCI access options
  171: .PP
  172: The PCI utilities use the PCI library to talk to PCI devices (see
  173: \fBpcilib\fP(7) for details). You can use the following options to
  174: influence its behavior:
  175: .TP
  176: .B -A <method>
  177: The library supports a variety of methods to access the PCI hardware.
  178: By default, it uses the first access method available, but you can use
  179: this option to override this decision. See \fB-A help\fP for a list of
  180: available methods and their descriptions.
  181: .TP
  182: .B -O <param>=<value>
  183: The behavior of the library is controlled by several named parameters.
  184: This option allows to set the value of any of the parameters. Use \fB-O help\fP
  185: for a list of known parameters and their default values.
  186: .TP
  187: .B -H1
  188: Use direct hardware access via Intel configuration mechanism 1.
  189: (This is a shorthand for \fB-A intel-conf1\fP.)
  190: .TP
  191: .B -H2
  192: Use direct hardware access via Intel configuration mechanism 2.
  193: (This is a shorthand for \fB-A intel-conf2\fP.)
  194: .TP
  195: .B -F <file>
  196: Instead of accessing real hardware, read the list of devices and values of their
  197: configuration registers from the given file produced by an earlier run of lspci -x.
  198: This is very useful for analysis of user-supplied bug reports, because you can display
  199: the hardware configuration in any way you want without disturbing the user with
  200: requests for more dumps.
  201: .TP
  202: .B -G
  203: Increase debug level of the library.
  204: 
  205: .SH MACHINE READABLE OUTPUT
  206: If you intend to process the output of lspci automatically, please use one of the
  207: machine-readable output formats
  208: .RB ( -m ,
  209: .BR -vm ,
  210: .BR -vmm )
  211: described in this section. All other formats are likely to change
  212: between versions of lspci.
  213: 
  214: .P
  215: All numbers are always printed in hexadecimal. If you want to process numeric ID's instead of
  216: names, please add the
  217: .B -n
  218: switch.
  219: 
  220: .SS Simple format (-m)
  221: 
  222: In the simple format, each device is described on a single line, which is
  223: formatted as parameters suitable for passing to a shell script, i.e., values
  224: separated by whitespaces, quoted and escaped if necessary.
  225: Some of the arguments are positional: slot, class, vendor name, device name,
  226: subsystem vendor name and subsystem name (the last two are empty if
  227: the device has no subsystem); the remaining arguments are option-like:
  228: 
  229: .TP
  230: .BI -r rev
  231: Revision number.
  232: 
  233: .TP
  234: .BI -p progif
  235: Programming interface.
  236: 
  237: .P
  238: The relative order of positional arguments and options is undefined.
  239: New options can be added in future versions, but they will always
  240: have a single argument not separated from the option by any spaces,
  241: so they can be easily ignored if not recognized.
  242: 
  243: .SS Verbose format (-vmm)
  244: 
  245: The verbose output is a sequence of records separated by blank lines.
  246: Each record describes a single device by a sequence of lines, each line
  247: containing a single
  248: .RI ` tag :
  249: .IR value '
  250: pair. The
  251: .I tag
  252: and the
  253: .I value
  254: are separated by a single tab character.
  255: Neither the records nor the lines within a record are in any particular order.
  256: Tags are case-sensitive.
  257: 
  258: .P
  259: The following tags are defined:
  260: 
  261: .TP
  262: .B Slot
  263: The name of the slot where the device resides
  264: .RI ([ domain :] bus : device . function ).
  265: This tag is always the first in a record.
  266: 
  267: .TP
  268: .B Class
  269: Name of the class.
  270: 
  271: .TP
  272: .B Vendor
  273: Name of the vendor.
  274: 
  275: .TP
  276: .B Device
  277: Name of the device.
  278: 
  279: .TP
  280: .B SVendor
  281: Name of the subsystem vendor (optional).
  282: 
  283: .TP
  284: .B SDevice
  285: Name of the subsystem (optional).
  286: 
  287: .TP
  288: .B PhySlot
  289: The physical slot where the device resides (optional, Linux only).
  290: 
  291: .TP
  292: .B Rev
  293: Revision number (optional).
  294: 
  295: .TP
  296: .B ProgIf
  297: Programming interface (optional).
  298: 
  299: .TP
  300: .B Driver
  301: Kernel driver currently handling the device (optional, Linux only).
  302: 
  303: .TP
  304: .B Module
  305: Kernel module reporting that it is capable of handling the device
  306: (optional, Linux only).
  307: 
  308: .P
  309: New tags can be added in future versions, so you should silently ignore any tags you don't recognize.
  310: 
  311: .SS Backward-compatible verbose format (-vm)
  312: 
  313: In this mode, lspci tries to be perfectly compatible with its old versions.
  314: It's almost the same as the regular verbose format, but the
  315: .B
  316: Device
  317: tag is used for both the slot and the device name, so it occurs twice
  318: in a single record. Please avoid using this format in any new code.
  319: 
  320: .SH FILES
  321: .TP
  322: .B @IDSDIR@/pci.ids
  323: A list of all known PCI ID's (vendors, devices, classes and subclasses). Maintained
  324: at http://pciids.sourceforge.net/, use the
  325: .B update-pciids
  326: utility to download the most recent version.
  327: .TP
  328: .B @IDSDIR@/pci.ids.gz
  329: If lspci is compiled with support for compression, this file is tried before pci.ids.
  330: .TP
  331: .B ~/.pciids-cache
  332: All ID's found in the DNS query mode are cached in this file.
  333: 
  334: .SH BUGS
  335: 
  336: Sometimes, lspci is not able to decode the configuration registers completely.
  337: This usually happens when not enough documentation was available to the authors.
  338: In such cases, it at least prints the
  339: .B <?>
  340: mark to signal that there is potentially something more to say. If you know
  341: the details, patches will be of course welcome.
  342: 
  343: Access to the extended configuration space is currently supported only by the
  344: .B linux_sysfs
  345: back-end.
  346: 
  347: .SH SEE ALSO
  348: .BR setpci (8),
  349: .BR update-pciids (8),
  350: .BR pcilib (7)
  351: 
  352: .SH AUTHOR
  353: The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>