![]() |
Plug and Play Explaination and Troubleshoot |
There are three types of PnP cards that can be auto-configured:
* PCI
* PnP ISA
* PC Cards (PCMCIA).
All other devices are non PnP, have a static configuration and classified as ISA Legacy Devices. PnP devices are configured around Legacy devices. Windows95 configures Legacy devices with the 'Add New Hardware' wizard. Resource Usage (IRQs, I/O ports, DMA channels and memory windows): PnP can use one of two methods of determining resource usage.
1. Determine the resources that are not generically detectable and establish
the areas unavailable for configurable devices.
2. Extended System Configuration Data (ESCD) method. ESCD stores Legacy
information and the Last Working Configuration (LWC) of configurable devices.
This allows the system to ensure that resource assignment and device placements
are the same each time the computer is powered on. This is important when
using device drivers that get their resource allocation information from
a static source, such as the command line parameters in config.sys file.
A fully PnP compliant system requires a PnP BIOS. ESCD configures PnP boot devices as part of the Power On Self Test (POST) before booting the operating system. ESCD also allows run-time software (Windows95 Device Manager) to request specific resource assignments for PnP devices. This allows difficult to place configurations to be manually setup or disabled.
PnP elements: There are four elements to a PnP system.
1. The PnP BIOS starts the auto-configuration of the PnP cards during
the POST. This in turn isolates any Legacy devices and ascertains the resource
needs of PnP devices.
2. The ESCD functions are used to determine resources already in use by Legacy devices, and which are available for PnP devices. A PnP BIOS must be able to configure the card or cards that are required to boot the operating system (video and disk controllers), and may also configure all the cards in the computer, which is necessary for operating systems that don't feature native support for PnP cards. After identifying the PnP cards, the PnP BIOS compares these cards with those in the ESCD. If found, they are configured as stored in the corresponding ESCD entry. This ensures that when no new hardware has been installed, the PnP devices are configured identically for each session. If the PnP BIOS cannot find an entry in the ESCD, it consults the ESCD to determine what resources are free and assigns these to the new card. In addition, the ESCD allows system software and utilities to communicate with the BIOS, by placing their desired resource allocations in the ESCD.
3. The Configuration Manager (CM), configures the PnP cards not configured by the PnP BIOS, by using the ESCD in a similar manner as the BIOS does.
4. The ISA Configuration Utility (ICU) is designed to assist in determining a conflict-free configuration for standard (Legacy) ISA cards, as well as providing advanced configuration support for PnP cards. The ICU will allow certain functions in multi-function cards to be disabled and the configuration of particular cards to be locked: primarily for use with non PnP supporting operating systems.
The PnP BIOS:
The PnP BIOS performs the following steps to configure the PnP devices
before starting the machine:
* Builds a structure called the Resource Map, to determine the available
system resources - IRQ, I/O ports, DMA channels and memory windows.
* The Resource Map is then initialised to indicate the resources available.
* The BIOS determines the resources used by the system board devices,
either by looking up the information in the ESCD, or by enquiring from
the BIOS the resources used by system board devices.
* The PnP BIOS then interrogates the ESCD in order to determine resources
that are allocated to Legacy cards, and updates the Resource Map. At this
stage, the Resource Map contains all the necessary information on all Legacy
devices.
* PnP ISA cards are examined to establishes its resource needs.
* After identification, the boards are configured, starting with the
last known working configuration for each card in the ESCD. For new cards,
the system will use the first alternative configuration that matches the
card's resource requirements. However, if none are found, then the next
set of available resources is tried. If the system runs out of resources,
it will go back to the previously configured cards and attempt to re-configure
them to make room for the new card.
* The BIOS then scans the standard expansion BIOS memory area looking
for the expansion BIOS signatures for Legacy ISA and PnP ISA cards. These
are initialised on detection.
* The PCI Configuration Space is examined and PCI devices initialised.
As PCI devices are fully configurable by definition, these devices are
configured on a first come/first served basis. Again, the last working
configuration stored in the ESCD is tried before any attempt to dynamically
configure resources.
* If one or more PCI cards can't be configured, an error is generated
and the task of configuration is passed to the Configuration Manager.
* The expansion BIOSs are initialised and the ESCD structure updated
with the new PCI device configurations - ESCD data for PnP ISA card configurations
is carried out by the Configuration Manager.
All Interrupts Used Up:
PCs are limited to 15 interrupts (IRQs) most of which are allocated
to hardware other than add-in cards. Problems arise when all 15 IRQs have
been used, manual selection will then have to be used to set the IRQ and/or
Port Address to a shared value
BIOS taking control of settings:
The PnP BIOS may be detecting the card and setting it up before Windows
95 starts. If this happens and you don't want it to, then see if the pnp
option can be turned off by jumpers on the card or through a software driver
for the card If the CMOS BIOS is preventing an IRQ from being selected,
check the BIOS settings and alter to allow specific IRQs to be used
Computer reports hardware present, when it is not: Occationally Windows 95's will report incorrectly that it has found hardware that is not present (due to the motherboard's chipset reserving resources for hardware). These reserved resources cannot easily be overriden, but the computer can generally be coaxed into sharing its resources once the BIOS settings have been suitably