xref: /pciutils/README (revision 46ea554d)
1ab12277eSMartin MaresThis package contains the PCI Utilities, version @VERSION@.
22f48f637SMartin Mares
30d656226SMartin MaresCopyright (c) 1997--2004 Martin Mares <[email protected]>
42f48f637SMartin Mares
52f48f637SMartin MaresAll files in this package can be freely distributed and used according
62f48f637SMartin Maresto the terms of the GNU General Public License, either version 2 or
7deaad187SMartin Mares(at your opinion) any newer version. See http://www.gnu.org/ for details.
82f48f637SMartin Mares
9727ce158SMartin Mares
10ded39e3aSMartin Mares############################################################################
11ded39e3aSMartin Mares
12ded39e3aSMartin MaresBeware, this is a preliminary test version!  Anything might not work!
13ded39e3aSMartin Mares
14ded39e3aSMartin MaresSome more things I intend to merge before the 2.2.0 release:
15ded39e3aSMartin Mares
16ded39e3aSMartin Mares   o  pcimodules and possibly other Linux module related stuff
17ded39e3aSMartin Mares   o  New ID's from the pciids project
18ec25b52dSMartin Mares   o  Avoid calling show_ext_caps() for non-ext devices.
19aabb0a92SMartin Mares   o  Kill memory leaks in lib/names.c
20ded39e3aSMartin Mares
21ded39e3aSMartin Mares############################################################################
22ded39e3aSMartin Mares
23ded39e3aSMartin Mares
24ded39e3aSMartin Mares
2507159913SMartin Mares1. What's that?
2607159913SMartin Mares~~~~~~~~~~~~~~~
2755c815b5SMartin MaresThe PCI Utilities package contains a library for portable access to PCI bus
2807159913SMartin Maresconfiguration registers and several utilities based on this library.
2907159913SMartin Mares
3007159913SMartin MaresCurrently, pciutils work on all versions of Linux and they also have somewhat
3181abd2a7SMartin Maresexperimental support for FreeBSD, NetBSD, AIX, GNU Hurd and Solaris/x86.
3281abd2a7SMartin MaresIt should be very easy to add support for other systems as well (volunteers
3381abd2a7SMartin Mareswanted; if you want to try that, I'll be very glad to see the patches and
3481abd2a7SMartin Maresinclude them in the next version).
35727ce158SMartin Mares
3655c815b5SMartin MaresThe utilities include:  (See manual pages for more details)
37b2c9b373SMartin Mares
38*46ea554dSMartin Mares  - lspci: displays detailed information about all PCI buses and devices.
39b2c9b373SMartin Mares
40b2c9b373SMartin Mares  - setpci: allows to read from and write to PCI device configuration
41b2c9b373SMartin Mares    registers. For example, you can adjust the latency timers with it.
4207159913SMartin Mares    CAUTION: There is a couple of dangerous points and caveats, please read
4307159913SMartin Mares    the manual page first!
44b2c9b373SMartin Mares
451b95f396SMartin Mares  - update-pciids: download the current version of the pci.ids file.
461b95f396SMartin Mares
472f48f637SMartin Mares
4807159913SMartin Mares2. Compiling and (un)installing
4907159913SMartin Mares~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5007159913SMartin MaresJust run "make" to compile the package and then "make install" to install it.
51f3395cc5SMartin Mares
5207159913SMartin MaresIf you want to change the default installation location, please override
5307159913SMartin Maresthe ROOT and PREFIX variables specified in the Makefile -- e.g., you can
5407159913SMartin Maresuse "make PREFIX=/opt/pciutils ROOT=/opt/pciutils install" to create
5507159913SMartin Maresa separate installation not interfering with the rest of your system.
5607159913SMartin Mares
5707159913SMartin MaresWhen you are bored of dumping PCI registers, just use "make uninstall".
5807159913SMartin Mares
5907159913SMartin Mares
6007159913SMartin Mares3. Getting new ID's
6107159913SMartin Mares~~~~~~~~~~~~~~~~~~~
6207159913SMartin MaresThe database of PCI ID's (the pci.ids file) gets out of date much faster
6307159913SMartin Maresthan I release new versions of this package.
6407159913SMartin Mares
6507159913SMartin MaresIf you are missing names for any of your devices or you just want to stay
6607159913SMartin Mareson the bleeding edge, download the most recent pci.ids file from
671b95f396SMartin Mareshttp://pciids.sf.net/ (e.g., by running the update-ids utility).
68a33d0eb7SMartin Mares
69a33d0eb7SMartin MaresIf your devices still appear as unknown, please send us their ID's and
70a33d0eb7SMartin Maresnames, the detailed instructions for submissions are listed on the
71a33d0eb7SMartin Maressf.net web page.
7207159913SMartin Mares
7307159913SMartin Mares
7407159913SMartin Mares4. Available access methods
7507159913SMartin Mares~~~~~~~~~~~~~~~~~~~~~~~~~~~
7607159913SMartin MaresThe library (and therefore all the utilities) know a variety of methods for
7781abd2a7SMartin Maresaccessing the PCI registers. Here is a list of them, sorted by autodetection
7881abd2a7SMartin Marespriority:
7907159913SMartin Mares
8007159913SMartin Mares   /proc/bus/pci	on all Linux systems since kernel 2.1.82.
8181abd2a7SMartin Mares   /sys/bus/pci		on all Linux systems since kernel 2.5.xx.
8281abd2a7SMartin Mares   direct port access	on i386 systems running Linux, GNU Hurd or Solaris/x86;
8381abd2a7SMartin Mares			available only to root, useful if no other access
8481abd2a7SMartin Mares			method is available or you want to hunt kernel bugs
8507159913SMartin Mares   /dev/pci		used on FreeBSD
8681abd2a7SMartin Mares   lsdev + odmget	used on AIX
87a9b9d270SMartin Mares   libpci		used on NetBSD
8881abd2a7SMartin Mares   dumps		reading of dumps produced by `lspci -x'
8981abd2a7SMartin Mares			(this one is not autodetected)
9007159913SMartin Mares
9107159913SMartin Mares
9207159913SMartin Mares5. Using the library
9307159913SMartin Mares~~~~~~~~~~~~~~~~~~~~
9407159913SMartin MaresThere is still no documentation for the library, if you want to use it
9507159913SMartin Maresin your programs, please follow the comments in lib/pci.h and in the
9607159913SMartin Maresexample program lib/example.c.
9707159913SMartin Mares
9807159913SMartin Mares
9907159913SMartin Mares6. Feedback
10007159913SMartin Mares~~~~~~~~~~~
1012f48f637SMartin MaresIf you have any bug reports or suggestions, send them to the author.
1022f48f637SMartin Mares
10307159913SMartin MaresIf you have any new ID's, I'll be very glad to add them to the database, but
10407159913SMartin Maresplease take a look at http://pciids.sf.net/ first and follow the instructions.
10507159913SMartin Mares
1062f48f637SMartin MaresIf you want, subscribe to [email protected] (send
107783ed67dSMartin Mares"subscribe linux-pci" to [email protected]).
1082f48f637SMartin MaresRelease notes about new versions will be send to the list and problems with
1092f48f637SMartin Maresthe Linux PCI support will be probably discussed there, too.
1102f48f637SMartin Mares
11107159913SMartin Mares
11207159913SMartin Mares7. Miscellanea
11307159913SMartin Mares~~~~~~~~~~~~~~
114e4842ff3SMartin MaresYou also might want to look at the pciutils web page containing release
11581abd2a7SMartin Maresnotes and other news: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml .
116e4842ff3SMartin Mares
1172bea6231SMartin MaresThere also exists a utility called PowerTweak which is able to fine tune
1182bea6231SMartin Maresparameters of many chipsets much better than the Bridge Optimization code
119783ed67dSMartin Maresin Linux kernel (already removed in 2.3.x). See http://powertweak.sf.net/
1202bea6231SMartin Maresfor more information.
1212bea6231SMartin Mares
12255c815b5SMartin Mares					Have fun
12355c815b5SMartin Mares							Martin
124