http://www.wintrouble.net/discus/messages/55/398.html?973971257

 

Plug and Play Explaination and Troubleshooting

Plug and Play (PnP) is a system for configuring devices, usually in the form of add-in cards, that enables them to work together without conflicting with each other. PnP consists of:

* PnP and non PnP cards (devices)
* PnP initialisation and run-time routines within the Operating System (OS) and utility software
* PnP BIOS routines

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.

Plug and Play Problems

Most PnP problems seem to be caused by the BIOS claiming the board before Windows95 has a chance to detect and allocate its resources. To see what interrupts and ports have been allocated, select:

* control panel
* system applet
* device manager tab
* double click on 'computer'

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 altered.




http://www.hardwaresite.net/d220300.html

There is in the setup a menu for the setting of the PCI bus and of the ISA Plug and Play devices, usually called PCI/Plug and Play Setup (or PNP/PCI Configuration). The proper menu setting is important in order to avoid interruptions or DMA conflicts in your computer, specially when you have an old peripheral device installed as for instance a sound board.

Usually when two or more peripheral devices are configured to share the same facility, they don't work appropriately. When two Plug and Play devices are installed using same facility (same interruption line or DMA channel) the operating system itself may automatically reconfigure the devices in order to solve the facilities conflict.

Old Plug and Play devices are not Plug and Play therefore there is no way to change their settings by means of the operational system (in those type of peripherals the setup is changed by means of jumpers). If a Plug and Play device consistently uses same interruption or DMA channel as a legacy non Plug and Play device, it may happen that the system is unable to manage this conflict permitting that peripheral devices conflict and therefore don't operate.

Therefore in the computer setup there is how to manually set which interruptions (IRQ) and DMA channels are being used by legacy non plug and play devices. In that way such facilities are set apart by the system and no Plug and Play device may use them.

If you have any legacy non plug and play device installed in the computer - as a sound board or fax modem - you must perform this procedure. Sound boards normally use IRQ5, DMA1, and DMA5 while fax modem uses IRQ3.

The set up is done by means of options such as "IRQ x Available To" and "DMA x Available To". There are two configuration possibilities: "PCI/PnP" in case the facility is being used by a Plug and Play PCI or PCI device, or "ISA/EISA" (or "Legacy ISA") when the facility is being used by a non Plug and Play device.

If you have a legacy sound board in your computer, you will have to set "IRQ5 Available To", DMA1 Available To", and DMA5 Available To" as "Legacy ISA", while other options should stay in "PCI/PnP".

In case you don't have legacy boards installed, you can just set the option "Resources Controlled By" in Auto to inform all peripherals in your computer are Plug and Play. In case there is at least an installed legacy non Plug and Play board, you must leave this option in Manual and execute the discussed setup.

The existing "PnP OS installed" option must be enabled if you are using Windows 9x.