Annotation of embedaddon/pciutils/lspci.man, revision 1.1.1.1

1.1       misho       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>