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>