xref: /pciutils/README (revision a33d0eb7)
1783ed67dSMartin MaresThis package contains the PCI Utilities, version 2.1.9.
22f48f637SMartin Mares
307159913SMartin MaresCopyright (c) 1997--2002 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
72f48f637SMartin Mares(at your opinion) any newer version. This is the same distribution
82f48f637SMartin Marespolicy as for the Linux kernel itself -- see /usr/src/linux/COPYING
92f48f637SMartin Maresfor details.
102f48f637SMartin Mares
11727ce158SMartin Mares
1207159913SMartin Mares1. What's that?
1307159913SMartin Mares~~~~~~~~~~~~~~~
1455c815b5SMartin MaresThe PCI Utilities package contains a library for portable access to PCI bus
1507159913SMartin Maresconfiguration registers and several utilities based on this library.
1607159913SMartin Mares
1707159913SMartin MaresCurrently, pciutils work on all versions of Linux and they also have somewhat
1807159913SMartin Maresexperimental support for FreeBSD and AIX. It should be very easy to add support
1907159913SMartin Maresfor other systems as well (volunteers wanted; if you want to try that, please
2007159913SMartin Maressend the patches to me, so that I can include them in the next version).
21727ce158SMartin Mares
2255c815b5SMartin MaresThe utilities include:  (See manual pages for more details)
23b2c9b373SMartin Mares
2407159913SMartin Mares  - lspci: displays detailed information about all PCI busses and devices.
25b2c9b373SMartin Mares
26b2c9b373SMartin Mares  - setpci: allows to read from and write to PCI device configuration
27b2c9b373SMartin Mares    registers. For example, you can adjust the latency timers with it.
2807159913SMartin Mares    CAUTION: There is a couple of dangerous points and caveats, please read
2907159913SMartin Mares    the manual page first!
30b2c9b373SMartin Mares
312f48f637SMartin Mares
3207159913SMartin Mares2. Compiling and (un)installing
3307159913SMartin Mares~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3407159913SMartin MaresJust run "make" to compile the package and then "make install" to install it.
35f3395cc5SMartin Mares
3607159913SMartin MaresIf you want to change the default installation location, please override
3707159913SMartin Maresthe ROOT and PREFIX variables specified in the Makefile -- e.g., you can
3807159913SMartin Maresuse "make PREFIX=/opt/pciutils ROOT=/opt/pciutils install" to create
3907159913SMartin Maresa separate installation not interfering with the rest of your system.
4007159913SMartin Mares
4107159913SMartin MaresWhen you are bored of dumping PCI registers, just use "make uninstall".
4207159913SMartin Mares
4307159913SMartin Mares
4407159913SMartin Mares3. Getting new ID's
4507159913SMartin Mares~~~~~~~~~~~~~~~~~~~
4607159913SMartin MaresThe database of PCI ID's (the pci.ids file) gets out of date much faster
4707159913SMartin Maresthan I release new versions of this package.
4807159913SMartin Mares
4907159913SMartin MaresIf you are missing names for any of your devices or you just want to stay
5007159913SMartin Mareson the bleeding edge, download the most recent pci.ids file from
51*a33d0eb7SMartin Mareshttp://pciids.sf.net/. You can try "make update-ids" to accomplish that
52*a33d0eb7SMartin Maresautomatically (requires wget and bzip2).
53*a33d0eb7SMartin Mares
54*a33d0eb7SMartin MaresIf your devices still appear as unknown, please send us their ID's and
55*a33d0eb7SMartin Maresnames, the detailed instructions for submissions are listed on the
56*a33d0eb7SMartin Maressf.net web page.
5707159913SMartin Mares
5807159913SMartin Mares
5907159913SMartin Mares4. Available access methods
6007159913SMartin Mares~~~~~~~~~~~~~~~~~~~~~~~~~~~
6107159913SMartin MaresThe library (and therefore all the utilities) know a variety of methods for
6207159913SMartin Maresaccessing the PCI registers. Here is a list of them:
6307159913SMartin Mares
6407159913SMartin Mares   /proc/bus/pci	on all Linux systems since kernel 2.1.82.
6507159913SMartin Mares   direct port access	on all Linux systems with i386, to be used when
6607159913SMartin Mares			/proc/bus/pci is unavailable or you want to scan
6707159913SMartin Mares			the bus manually when hunting kernel bugs.
6807159913SMartin Mares   dumps		reading of dumps produced by `lspci -x'.
6907159913SMartin Mares   lsdev + odmget	used on AIX
7007159913SMartin Mares   /dev/pci		used on FreeBSD
7107159913SMartin Mares
7207159913SMartin Mares
7307159913SMartin Mares5. Using the library
7407159913SMartin Mares~~~~~~~~~~~~~~~~~~~~
7507159913SMartin MaresThere is still no documentation for the library, if you want to use it
7607159913SMartin Maresin your programs, please follow the comments in lib/pci.h and in the
7707159913SMartin Maresexample program lib/example.c.
7807159913SMartin Mares
7907159913SMartin Mares
8007159913SMartin Mares6. Feedback
8107159913SMartin Mares~~~~~~~~~~~
822f48f637SMartin MaresIf you have any bug reports or suggestions, send them to the author.
832f48f637SMartin Mares
8407159913SMartin MaresIf you have any new ID's, I'll be very glad to add them to the database, but
8507159913SMartin Maresplease take a look at http://pciids.sf.net/ first and follow the instructions.
8607159913SMartin Mares
872f48f637SMartin MaresIf you want, subscribe to [email protected] (send
88783ed67dSMartin Mares"subscribe linux-pci" to [email protected]).
892f48f637SMartin MaresRelease notes about new versions will be send to the list and problems with
902f48f637SMartin Maresthe Linux PCI support will be probably discussed there, too.
912f48f637SMartin Mares
9207159913SMartin Mares
9307159913SMartin Mares7. Miscellanea
9407159913SMartin Mares~~~~~~~~~~~~~~
95e4842ff3SMartin MaresYou also might want to look at the pciutils web page containing release
96e4842ff3SMartin Maresnotes and other news: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.html .
97e4842ff3SMartin Mares
982bea6231SMartin MaresThere also exists a utility called PowerTweak which is able to fine tune
992bea6231SMartin Maresparameters of many chipsets much better than the Bridge Optimization code
100783ed67dSMartin Maresin Linux kernel (already removed in 2.3.x). See http://powertweak.sf.net/
1012bea6231SMartin Maresfor more information.
1022bea6231SMartin Mares
10355c815b5SMartin Mares					Have fun
10455c815b5SMartin Mares							Martin
105