]> mj.ucw.cz Git - pciutils.git/blob - lspci.man
Fix to the previous patch.
[pciutils.git] / lspci.man
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 all PCI buses in the system and
11 all devices connected to them.
12
13 If you are going to report bugs in PCI device drivers or in
14 .I lspci
15 itself, please include output of "lspci -vvx".
16
17 .SH OPTIONS
18 .TP
19 .B -v
20 Tells
21 .I lspci
22 to be verbose and display detailed information about all devices.
23 .TP
24 .B -vv
25 Tells
26 .I lspci
27 to be very verbose and display even more information (actually everything the
28 PCI device is able to tell). The exact meaning of these data is not explained
29 in this manual page, if you want to know more, consult
30 .B /usr/include/linux/pci.h
31 or the PCI specs.
32 .TP
33 .B -n
34 Show PCI vendor and device codes as numbers instead of looking them up in the
35 PCI ID database.
36 .TP
37 .B -x
38 Show hexadecimal dump of first 64 bytes of the PCI configuration space (the standard
39 header). Useful for debugging of drivers and
40 .I lspci
41 itself.
42 .TP
43 .B -xxx
44 Show hexadecimal dump of whole PCI configuration space. Available only for root
45 as several PCI devices
46 .B crash
47 when you try to read undefined portions of the config space (this behavior probably
48 doesn't violate the PCI standard, but it's at least very stupid).
49 .TP
50 .B -b
51 Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the
52 PCI bus instead of as seen by the kernel.
53 .TP
54 .B -t
55 Show a tree-like diagram containing all buses, bridges, devices and connections
56 between them.
57 .TP
58 .B -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]
59 Show only devices in the specified domain (in case your machine has several host bridges,
60 they can either share a common bus number space or each of them can address a PCI domain
61 of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7).
62 Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are
63 hexadecimal.  E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
64 on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only
65 the fourth function of each device.
66 .TP
67 .B -d [<vendor>]:[<device>]
68 Show only devices with specified vendor and device ID. Both ID's are given in
69 hexadecimal and may be omitted or given as "*", both meaning "any value".
70 .TP
71 .B -i <file>
72 Use
73 .B
74 <file>
75 as PCI ID database instead of @SHAREDIR@/pci.ids.
76 .TP
77 .B -p <dir>
78 Use
79 .B <dir>
80 as directory containing PCI bus information instead of /proc/bus/pci.
81 .TP
82 .B -m
83 Dump PCI device data in machine readable form (both normal and verbose format supported)
84 for easy parsing by scripts.
85 .TP
86 .B -M
87 Invoke bus mapping mode which performs a thorough scan of all PCI devices, including
88 those behind misconfigured bridges etc. This option is available only to root and it
89 gives meaningful results only if combined with direct hardware access mode (otherwise
90 the results are identical to normal listing modes, modulo bugs in lspci). Please note
91 that the bus mapper doesn't support PCI domains and scans only domain 0.
92 .TP
93 .B --version
94 Shows 
95 .I lspci
96 version. This option should be used stand-alone.
97
98 .SH PCILIB OPTIONS
99 The PCI utilities use PCILIB (a portable library providing platform-independent
100 functions for PCI configuration space access) to talk to the PCI cards. The following
101 options control parameters of the library, especially what access method it uses.
102 By default, PCILIB uses the first available access method and displays no debugging
103 messages. Each switch is accompanied by a list of hardware/software configurations
104 it's supported in.
105
106 .TP
107 .B -P <dir>
108 Force use of Linux /proc/bus/pci style configuration access, using
109 .B <dir>
110 instead of /proc/bus/pci. (Linux 2.1 or newer only)
111 .TP
112 .B -H1
113 Use direct hardware access via Intel configuration mechanism 1. (i386 and compatible only)
114 .TP
115 .B -H2
116 Use direct hardware access via Intel configuration mechanism 2. Warning: This method
117 is able to address only first 16 devices on any bus and it seems to be very
118 unreliable in many cases. (i386 and compatible only)
119 .TP
120 .B -F <file>
121 Extract all information from given file containing output of lspci -x. This is very
122 useful for analysis of user-supplied bug reports, because you can display the
123 hardware configuration in any way you want without disturbing the user with
124 requests for more dumps. (All systems)
125 .TP
126 .B -G
127 Increase debug level of the library. (All systems)
128
129 .SH FILES
130 .TP
131 .B @SHAREDIR@/pci.ids
132 A list of all known PCI ID's (vendors, devices, classes and subclasses).
133 .TP
134 .B /proc/bus/pci
135 An interface to PCI bus configuration space provided by the post-2.1.82 Linux
136 kernels. Contains per-bus subdirectories with per-card config space files and a
137 .I devices
138 file containing a list of all PCI devices.
139
140 .SH SEE ALSO
141 .BR setpci (8),
142 .BR update-pciids (8)
143
144 .SH AUTHOR
145 The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.