Next Previous Contents

4. Configuring a PnP BIOS

When the computer is first turned on, the BIOS runs before the operating system is loaded. Newer BIOSs are PnP and will configure some or all of the PnP devices. For most PnP BIOSs there is no way to disable PnP so you have to live with it. Here are some of the choices which may exist in your BIOS's CMOS menu:

4.1 Do you have a PnP operating system?

If you say yes, then the PnP BIOS will PnP-configure the hard-drive, video card, and keyboard to make the system bootable. But it will leave it up to the operating system to finish the configuration job. It may do an Isolation on the ISA bus leaving the devices disabled but ready to be configured by the operating system. For Linux you should probably tell it that you don't have a PnP operating system. If you don't do this, the BIOS might leave the ISA devices it hasn't configured in a disabled state ?? Also PCI devices might not get configured ??

If you tell the BIOS you don't have a PnP OS, then the BIOS will do the configuring itself. Unless you have added new PnP devices, it should use the configuration which it has stored in its non-volatile memory (ESCD). See The BIOS's ESCD Database If the last session on your computer was with Linux, then there should be no change in configuration. See BIOS Configures PnP. But if the last session was with Windows9x (which is PnP) then Windows could have modified the ESCD. It supposedly does this only if you "force" a configuration or install a legacy device. See Using Windows to set ESCD. If you are using the isapnp or PCI Utilities program(s) to do configuring, they will run after the BIOS runs and change things the way you told them to.

Interoperability with Windows9x

If you are running both Linux and Windows on the same PC, how do you answer the BIOS's question: Do you have a PnP OS? Normally (and truthfully) you would say no for standard Linux and yes for Windows9x. But it's a lot of bother to have to set up the BIOS's CMOS menu manually each time you want to switch OSs. One solution is set the CMOS for no PnP OS, including when you start Windows. One might expect that Windows would be able to handle this situation where it is presented hardware that has been fully configured by the BIOS. In addition, one might expect that even if Windows didn't realize that the hardware was already configured, it would redo this configuration and then work OK. But it doesn't seem to work this way. It seems that Windows may just tell its device drivers what has been stored in the Windows' Registry. But the actual hardware configuration (done by the BIOS) is what was stored in the ESCD and may not be the same as the Registry => trouble.

One way to try to get the Registry and the ESCD the same is to install (or reinstall) Windows when the BIOS is set for "not a PnP OS". This should present Windows with hardware configured by the BIOS. If this configuration is without conflicts, Windows will hopefully leave it alone and save it in it's Registry. Then the ESCD and the registry are in sync. If this works for you (and this is the latest version of this HOWTO), let me know as I only have one report of this working out OK.

Another method is to "remove" devices that are causing problems in Windows by clicking on remove in the Device Manager. Then reboot with "Not a PnP OS" (set it in the CMOS as you start to boot). Windows will then reinstall the devices, hopefully using the bus-resource settings configured by the BIOS. Be warned that Windows will likely ask you to insert the Window installation CD since it sometimes can't find the driver files (and the like) even thought they are still there. As a test I "removed" the NIC card which had a Novell compatible drivers. Upon rebooting, Windows reinstalled it with Microsoft networking instead of Novell. This meant that the Novell Client needed to be reinstalled. Let me know about your problems with this method (only if this is the latest version of this HOWTO).

4.2 How are bus-resources to be controlled?

This may involve just deciding how to allocate IRQ and DMA bus-resources. If set to "auto", the BIOS will do the allocation. If set to manual, you manually reserve some IRQ's for use on "legacy" (non-pnp) cards. The BIOS may or may not otherwise know about your legacy cards. The BIOS will only know about your legacy cards if you ran ICU (or the like) under Windows to tell the BIOS about them. If the BIOS knows about them, then try using "auto". If it doesn't know about them then manually reserve the IRQ's needed for the legacy ISA cards and let the rest be for the BIOS PnP to allocate.

4.3 Reset the configuration?

This will erase the BIOSs ESCD data-base of how your PnP devices should be configured as well as the list of how legacy (non-PnP) devices are configured. Never do this unless you are convinced that this data-base is wrong and needs to be remade. It was stated somewhere that you should do this only if you can't get your computer to boot. If the BIOS loses the data on legacy devices, then you'll need to run ICA again under DOS/Windows to reestablish this data.


Next Previous Contents