Annotation of embedaddon/pciutils/lspci.man, revision 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>