.B -nn
Show PCI vendor and device codes as both numbers and names.
.TP
+.B -q
+Use DNS to query the central PCI ID database if a device is not found in the local
+.B pci.ids
+file. If the DNS query succeeds, the result is cached in
+.B ~/.pciids-cache
+and it is recognized in subsequent runs even if
+.B -q
+is not given any more. Please use this switch inside automated scripts only
+with caution to avoid overloading the database servers.
+.TP
+.B -qq
+Same as
+.BR -q ,
+but the local cache is reset.
+.TP
+.B -Q
+Query the central database even for entries which are recognized locally.
+Use this if you suspect that the displayed entry is wrong.
+.TP
.B -x
Show hexadecimal dump of the standard part of the configuration space (the first
64 bytes or 128 bytes for CardBus bridges).
Show hexadecimal dump of the extended (4096-byte) PCI configuration space available
on PCI-X 2.0 and PCI Express buses.
.TP
+.B -k
+Show kernel drivers handling each device and also kernel modules capable of handling it.
+Turned on by default when
+.B -v
+is given in the normal mode of output.
+(Currently works only on Linux with kernel 2.6 or newer.)
+.TP
.B -b
Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the
PCI bus instead of as seen by the kernel.
<file>
as the PCI ID list instead of @IDSDIR@/pci.ids.
.TP
+.B -p <file>
+Use
+.B
+<file>
+as the map of PCI ID's handled by kernel modules. By default, lspci uses
+.RI /lib/modules/ kernel_version /modules.pcimap.
+Applies only to Linux systems with recent enough module tools.
+.TP
.B -m
Dump PCI device data in a backward-compatible machine readable form.
See below for details.
The
.B /sys
filesystem on Linux 2.6 and newer. The standard header of the config space is available
-to all users, the rest only to root. Supports extended configuration space and PCI domains.
+to all users, the rest only to root. Supports extended configuration space, PCI domains
+and information on attached kernel drivers.
.TP
.B linux_proc
The
.B /dev/pci
device on FreeBSD. Requires root privileges.
.TP
-.B aix_device
-Access method used on AIX. Requires root privileges.
+.B obsd_device
+The
+.B /dev/pci
+device on OpenBSD. Requires root privileges.
.TP
.B nbsd_libpci
The
.B /dev/pci0
device on NetBSD accessed using the local libpci library.
+.TP
+.B aix_device
+Access method used on AIX. Requires root privileges.
.P
By default, PCILIB uses the first available access method and displays no debugging
.B ProgIf
Programming interface (optional).
+.TP
+.B Driver
+Kernel driver currently handling the device (optional, Linux only).
+
+.TP
+.B Module
+Kernel module reporting that it is capable of handling the device
+(optional, Linux only).
+
.P
New tags can be added in future versions, so you should silently ignore any tags you don't recognize.
.B @IDSDIR@/pci.ids.gz
If lspci is compiled with support for compression, this file is tried before pci.ids.
.TP
+.B ~/.pciids-cache
+All ID's found in the DNS query mode are cached in this file.
+.TP
.B /proc/bus/pci
An interface to PCI bus configuration space provided by the post-2.1.82 Linux
kernels. Contains per-bus subdirectories with per-card config space files and a
.I devices
file containing a list of all PCI devices.
+.SH BUGS
+
+Sometimes, lspci is not able to decode the configuration registers completely.
+This usually happens when not enough documentation was available to the authors.
+In such cases, it at least prints the
+.B <?>
+mark to signal that there is potentially something more to say. If you know
+the details, patches will be of course welcome.
+
+Access to the extended configuration space is currently supported only by the
+.B linux_sysfs
+back-end.
+
.SH SEE ALSO
.BR setpci (8),
.BR update-pciids (8)