The latest FAQ is available from the isapnptools home websitein various forms: isapnpfaq as a text file (this is the form it is included as in the distribution), iaspnpfaq as a set of html files, or the iaspnpfaq as sgml source.
The text version is designed to be piped through less to give highlighting etc. If you want to strip out the control characters, pipe it through sed thus:
cat isapnpfaq.txt | sed 's/^H.//g' > isapnpfaq.clean.txt
Where ^H above is control-H. (You may need to prefix it with ^V when entering it on the command line).
To see if the one on the website is newer, compare the revision with the revision of this document.
You may also find the Plug-and-Play-HOWTO useful.
Isapnptools allow you to configure the ISA PnP cards complying with the Plug and Play ISA Specification Version 1.0a, which may be obtained from ftp://ftp.microsoft.com/developr/drg/Plug-and-Play/Pnpspecs/.
These boards use registers instead of jumpers to set the board address, interrupt assignments etc (resource allocations). In addition, the board contains a description of the resources that need to be allocated, with limits on the settings allowable.
In other words, isapnptools allow you to examine and change 'virtual jumpers' on the board. Note that you will need to know what other hardware is in your PC and what their 'jumper' settings are, including any devices built into the motherboard. The BIOS setup screens will help with this.
The BIOS (or any other PnP configuration program such as Win95 or isapnptools) uses a special protocol described in the specification to discover all the PnP boards, and allocate the resources so that there are no conflicts.
Because the BIOS rarely does the job properly, it is better to get it to do as little as possible, and use isapnptools to configure the resource settings. This is not always possible with newer BIOSes, so see also Pnpdump reports "No boards found".
See the instructions in the INSTALL file for the overall process. See the various README files for examples and specific details. See the FAQ too, particularly for sound cards.
The basic idea is you run pnpdump to scan your PnP boards and produce a skeleton configuration file. You then uncomment lines as required to setup the boards.
Uncommenting lines has the same function as moving jumpers on a non-PnP card. Generally, for each logical device you will want to uncomment one each of the resources, and maybe change the value for the resource within the range of the comments immediately above, such that when you've finished there are no conflicts.
You then run isapnp with the configuration file on each boot, and it will configure the boards like you asked. This is done by editing the boot up scripts to add the appropriate command.
You also need to arrange to load the appropriate kernel driver modules, after configuring the boards, to allow programs to access the boards. In some cases the driver may already be in the kernel and you can just run a program to tell it about the new hardware. Again, this is done by adding the appropriate commands to your system boot up scripts.
If you don't know how to recompile the kernel to make drivers modules rather than built-in etc, refer to the Kernel-HOWTO.
In the event of difficulties, see the FAQ first for answers.
Peter Fox, with some help and suggestions from many others. See the README. Contributors with useful suggestions and improvements may have their name and email address added to the README, if you don't want this to happen, please tell me.
See the isapnptools home site
For isapnptools release 1.19 and later, simply run pnpdump --version, the isapnptools release will be given.
For earlier versions, you can run
which should give an output like
strings `which pnpdump` | grep '\$Id'
$Id: isapnpfaq.sgml,v 0.17 2001/04/11 21:46:28 fox Exp $ $Id: isapnpfaq.sgml,v 0.17 2001/04/11 21:46:28 fox Exp $ $Id: isapnpfaq.sgml,v 0.17 2001/04/11 21:46:28 fox Exp $
The isapnptools version will be the same as the pnpdump.c,v version for versions 1.14 and later, and one greater earlier than that. You can compare the version number against the CHANGES file (NEWS file since 1.23).
Isapnptools must be run as root, and should not be made setuid root. The configuration files used, such as /etc/isapnp.conf and /etc/isapnp.gone should be owned by, and writeable only by, root.
This should minimize any interest in buffer overflow problems, as you have to be root in the first place.
In an attempt to prevent trojans being introduced into the isapnptools programs, I maintain md5sums of all the files on my web site, see md5.txt
If you suspect the md5 sums have been tampered with, please tell me, and I can check against the originals.
md5sum is part of the GNU textutils package.
If you are worried about security, I suggest you maintain isapnptools my compiling from source. After doing an exhaustive check for trojans, you can then simply produce diffs of the new version against the old and check that.
The nearest equivalent is pciutils. Have a look at freshmeat; see http://freshmeat.net/news/1999/01/28/917541046.html for instance.
No. isapnp only configures the cards for Linux. When you reboot, the BIOS will restore the card's settings. Note that Win95 will carry out the function of the BIOS (in terms of locating and configuring PnP boards) on PCs without a PnP BIOS.
Having said that, you must be careful using the REG and POKE keywords that you don't write to some register that corrupts the board resource data. (The resource data is often in EEPROM, and can be written to by suitable software to initialise it). See also What does "End tag checksum 0xb8 (BAD)" mean (in the pnpdump output) ?.
Well, I quite like isapnptools as it is predictable, and doesn't make the kernel any bigger (but then, I may be slightly biased).
However, you may want to check out a configuration manager for linux which now supports 2.0.30: CM for linux.
You also might want to look at Tom Lees' kernel PnP suite at http://www-jcr.lmh.ox.ac.uk/~pnp/, the files are in ftp.lmh.ox.ac.uk:/pub/linux/pnp/.
Work is underway to integrate PnP support into the kernel. See http://www.cs.utwente.nl/~vanrein/vha/. As this involves changing all the drivers, it may take a while.
It now looks like linux 2.4.x will support ISA PnP in the kernel if you want to use it. Even now (2.2.14), some drivers do their own PnP support, particularly the ALSA sound drivers.
/proc based interface has been developed for v2.2
Note that the following are ideas. Linux is a fast moving world, and due to the age of this document, likely to be out of date. New hardware is gaining support all the time.
See the Hardware-HOWTO.
Check your linux distribution's hardware compatibility list. For example, Redhat 5.2's is at Redhat 5.2 support.
Refer to the card vendor and manufacturer for Linux support information. If they won't support linux, tell your friends, and tell them you're telling your friends. Assuming you specified that the card was for use with Linux, you should be able to change it without too much trouble (having been sold a product unfit for purpose etc).
See also Where can I find out more ?
See also the device specific sections of this FAQ below.
A good place to find out more about PC hardware in general is the pc-hardware-faq, regularly posted to the newsgroups: comp.sys.ibm.pc.hardware.video, comp.sys.ibm.pc.hardware.comm, comp.sys.ibm.pc.hardware.storage, comp.sys.ibm.pc.hardware.cd-rom, comp.sys.ibm.pc.hardware.systems, comp.sys.ibm.pc.hardware.networking, comp.sys.ibm.pc.hardware.chips, comp.sys.ibm.pc.hardware.misc, comp.answers, news.answers.
A good place to find out about Linux configuration etc are the HOWTOs and mini-HOWTOS. These can be found on the MetaLab HOWTO website or from the TSX-11 HOWTO ftpsite or try http://www.linux-howto.com/.
These are also normally supplied with standard Linux distributions.
A more practical guide to using these tools (and fixing other configuration problems) can be found on the SuSe Linux support database. See /usr/doc/support-db/sdb_e/rb_isapnp.html if you've installed their database, or http://www.suse.de/.
See if you can find any information/statements on the vendor websites.
For example the soundblaster linux website.
For PnP DOS utilities etc, see the phoenix utilites website. Craig Hart's website also contains useful pnp stuff, including a list of pnp ids.
There used to be a mailing list for all pnp issues, including isapnptools, at firstname.lastname@example.org, but it shut down on 3-Nov-1999. So the answer is not that I am aware of.
If you would like to receive release announcements for isapnptools by email (releases are normally announced to comp.os.linux.announce anyway), then send an email to email@example.com, with the subject "subscribe isapnp-announce", giving the details of your email address.
Tell the Hardware-HOWTO maintainer !