]>
Commit | Line | Data |
---|---|---|
1 | This package contains the PCI Utilities, version @VERSION@. | |
2 | ||
3 | Copyright (c) 1997--2017 Martin Mares <mj@ucw.cz> | |
4 | ||
5 | All files in this package can be freely distributed and used according | |
6 | to the terms of the GNU General Public License, either version 2 or | |
7 | (at your opinion) any newer version. See http://www.gnu.org/ for details. | |
8 | ||
9 | ||
10 | 1. What's that? | |
11 | ~~~~~~~~~~~~~~~ | |
12 | The PCI Utilities package contains a library for portable access to PCI bus | |
13 | configuration registers and several utilities based on this library. | |
14 | ||
15 | In runs on the following systems: | |
16 | ||
17 | Linux (via /sys/bus/pci, /proc/bus/pci or i386 ports) | |
18 | FreeBSD (via /dev/pci) | |
19 | NetBSD (via libpci) | |
20 | OpenBSD (via /dev/pci) | |
21 | GNU/kFreeBSD (via /dev/pci) | |
22 | Solaris/i386 (direct port access) | |
23 | Aix (via /dev/pci and odmget) | |
24 | GNU Hurd (direct port access) | |
25 | Windows (direct port access, see README.Windows for caveats) | |
26 | CYGWIN (direct port access) | |
27 | BeOS (via syscalls) | |
28 | Haiku (via /dev/misc/poke) | |
29 | Darwin (via IOKit) | |
30 | DOS/DJGPP (via i386 ports) | |
31 | SylixOS (via /proc/pci) | |
32 | ||
33 | It should be very easy to add support for other systems as well (volunteers | |
34 | wanted; if you want to try that, I'll be very glad to see the patches and | |
35 | include them in the next version). | |
36 | ||
37 | The utilities include: (See manual pages for more details) | |
38 | ||
39 | - lspci: displays detailed information about all PCI buses and devices. | |
40 | ||
41 | - setpci: allows to read from and write to PCI device configuration | |
42 | registers. For example, you can adjust the latency timers with it. | |
43 | CAUTION: There is a couple of dangerous points and caveats, please read | |
44 | the manual page first! | |
45 | ||
46 | - update-pciids: download the current version of the pci.ids file. | |
47 | ||
48 | ||
49 | 2. Compiling and (un)installing | |
50 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
51 | Just run "make" to compile the package and then "make install" to install it. | |
52 | Please note that GNU make is needed on most platforms. | |
53 | ||
54 | If you want to change the default installation location, please override | |
55 | the PREFIX variable specified in the Makefile -- e.g., you can use | |
56 | "make PREFIX=/opt/pciutils install" to create a separate installation | |
57 | not interfering with the rest of your system. Setting the DESTDIR variable | |
58 | will allow you to install to a different directory from the one you intend | |
59 | to eventually run it from. This is useful for people who are packaging | |
60 | pciutils to install on other computers. | |
61 | ||
62 | There are several options which can be set in the Makefile or overridden | |
63 | when running make: | |
64 | ||
65 | ZLIB=yes/no Enable support for compressed pci.ids (requires zlib). | |
66 | If it is enabled, pciutils will use pci.ids.gz in preference to | |
67 | pci.ids, even if the pci.ids file is newer. If the pci.ids.gz | |
68 | file is missing, it will use pci.ids instead. If you do not | |
69 | specify this option, the configure script will try to guess | |
70 | automatically based on the presence of zlib. | |
71 | ||
72 | DNS=yes/no Enable support for querying the central database of PCI IDs | |
73 | using DNS. Requires libresolv (which is available on most | |
74 | systems as a part of the standard libraries) and tries to | |
75 | autodetect its presence if the option is not specified. | |
76 | ||
77 | SHARED=yes/ Build libpci as a shared library. Requires GCC 4.0 or newer. | |
78 | no/local The ABI of the shared library is intended to remain backward | |
79 | compatible for a long time (we use symbol versioning to achieve | |
80 | that, like GNU libc does). The value `local' includes the | |
81 | right directory name in the binaries, so the utilities can be | |
82 | run without installation. This is not recommended for any | |
83 | production builds. | |
84 | ||
85 | "make install-lib" installs the library together with its header files | |
86 | for use by other programs. | |
87 | ||
88 | When you are bored of dumping PCI registers, just use "make uninstall". | |
89 | ||
90 | ||
91 | 3. Getting new IDs | |
92 | ~~~~~~~~~~~~~~~~~~~ | |
93 | The database of PCI IDs (the pci.ids file) gets out of date much faster | |
94 | than I release new versions of this package, so it is maintained separately. | |
95 | ||
96 | It lives at http://pci-ids.ucw.cz/, where you can browse the database, | |
97 | download the most recent pci.ids file (e.g., by running the update-ids utility) | |
98 | and also submit new entries. | |
99 | ||
100 | Alternatively, you can use `lspci -q' to query the central database | |
101 | for new entries via network. | |
102 | ||
103 | The pci.ids file is also mirrored at https://github.com/pciutils/pciids. | |
104 | ||
105 | On Linux systems with a recent enough version of libudev, UDEV's HWDB | |
106 | database is consulted when pci.ids lacks the device. | |
107 | ||
108 | ||
109 | 4. Getting new versions | |
110 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
111 | The current version of pciutils is available at: | |
112 | ||
113 | http://mj.ucw.cz/sw/pciutils/ | |
114 | ||
115 | The tarball can be downloaded at the following places: | |
116 | ||
117 | ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/ | |
118 | https://www.kernel.org/pub/software/utils/pciutils/ (expect a couple of hours delay) | |
119 | ||
120 | There is also a public GIT tree at: | |
121 | ||
122 | git://git.kernel.org/pub/scm/utils/pciutils/pciutils.git | |
123 | https://github.com/pciutils/pciutils | |
124 | ||
125 | ||
126 | 5. Using the library | |
127 | ~~~~~~~~~~~~~~~~~~~~ | |
128 | So far, there is only a little documentation for the library except for the | |
129 | general introduction in the pcilib(7) man page. If you want to use the | |
130 | library in your programs, please follow the comments in lib/pci.h and in | |
131 | the example program example.c. | |
132 | ||
133 | ||
134 | 6. Feedback | |
135 | ~~~~~~~~~~~ | |
136 | If you have any bug reports or suggestions, send them to the author. | |
137 | ||
138 | If you have any new IDs, I'll be very glad to add them to the database. | |
139 | Just submit them at http://pci-ids.ucw.cz/. | |
140 | ||
141 | Announcements of new versions are sent to linux-pci@vger.kernel.org | |
142 | (see http://vger.kernel.org/ for instructions). | |
143 | ||
144 | Have fun | |
145 | Martin |