### Technical Briefing

Issue TB95/04
May, 1995

# Plug 'n' Play

The objective of the Plug 'n' Play specification is to minimize user involvement in the installation and configuration of new PC hardware and software. This will help to eliminate the risk of system failure or malfunction due to incorrect PC system configuration.

## Plug 'n' Play Concepts

Key objectives in a full Plug 'n' Play system are:

- Automatic recognition and configuration of add-in adapters and peripherals e.g. adapter cards, monitors, printers, tape drives
- Automatic selection and configuration of device drivers and software for add-in adapters and peripherals
- Automatic dynamic re-configuration of the system when the system configuration changes, e.g. hot-swapping of PCMCIA cards or hot docking of notebook computers

## System Elements

The main system element required for a Plug 'n' Play system is the operating system. This is responsible for matching up driver software and hardware, and ultimately for ensuring that all the system resources (interrupts, DMA channels, memory space, I/O space) are allocated in a non-conflicting manner.

## Plug 'n' Play Operating System

The main focus for Plug 'n' Play is Microsoft's latest client operating system, Windows 95. It is designed with full Plug 'n' Play capability built-in. The operating system co-operates with a Plug 'n' Play BIOS to ensure that all system hardware components are fully configured, and that appropriate driver software is loaded when needed. If no Plug 'n' Play BIOS is present, then the operating system will take over most of the tasks of the Plug 'n' Play BIOS. However the operating system may have difficulty with some Plug 'n' Play BIOS functions, for example identification and configuration of motherboard devices. Without a Plug 'n' Play BIOS, setting up these devices may require some user intervention.

IBM are likely to follow suit and add Plug 'n' Play functionality to OS/2 during a subsequent release, although this has yet to be officially confirmed. Equally, Microsoft intend to extend the PnP functionality of Windows 95 to its Windows NT operating system.

## Plug 'n' Play Configuration Manager

Although Plug 'n' Play support is ideally built into the operating system, some limited Plug 'n' Play capability can be added to many existing systems through a Configuration Manager implemented as a driver. The Configuration Manager adds some Plug 'n' Play functionality to an otherwise non-Plug 'n' Play operating system.

Intel have written a Configuration Manager as a TSR driver which can be used on DOS/Windows systems. The driver is called DWCFGMG.SYS. This Manager provides Plug 'n' Play support limited to configuring Plug 'n' Play ISA adapters. Configuration data is stored in a file called ESCD.RF. Information on motherboard devices can be added to the resource database with an Intel Configuration Assist Utility (CASSIST.EXE).

Integration with legacy cards can be added to the Configuration Manager by using Intel's ISA Configuration Utility (ICU). Versions of the ICU which run under DOS (ICU.EXE) or Windows (WINICU.EXE) are now widely available.

These utilities allow resource requirements for older "legacy" cards to be added to the Configuration Manager's resource database. To do this the user must supply information on the card in the form of a .CFG file. There are few widely available Plug 'n' Play configuration utilities for EISA cards and systems. Additional configuration managers/utilities are expected to become available as Plug 'n' Play becomes further accepted.

## Plug 'n' Play BIOS

The BIOS carries out a range of functions to enable Plug 'n' Play operation. To conform to Microsoft's PC 95 specification, the BIOS must:

- Configure any plug-in adapter cards necessary for system boot
- Report to the operating system resource the requirements of adapters it has configured
- Report to the operating system all motherboard system resource requirements (e.g. IRQ, I/O etc)
- Report to the operating system any dynamic re-configuration of the system (e.g. changing of PCMCIA adapters or docking/undocking.

The BIOS may also configure all plug-in adapters.

To carry out these functions the BIOS stores all its configuration data (called Extended System Configuration Data, ESCD) in non-volatile storage on the motherboard.

## Adapter Cards

For an adapter card to be truly Plug 'n' Play, it must satisfy three criteria:

- Its resources must be capable of being assigned by the operating system
- It must be able to identify itself and report its system resource requirements to the operating system
- It must have a Plug 'n' Play device driver

Where cards don't meet these criteria, they can still be integrated in a Plug 'n' Play system, but some of the configuration tasks will have to be completed by the user.

### Legacy Adapters

By legacy cards, people typically mean existing ISA-bus cards. These don't meet any of the Plug 'n' Play requirements above. Firstly, the user has to tell the system that the card is present. In order to report resource requirements to the system, the user has to supply the information in a file. In the case of Windows 95, this is a .INF file, whilst for Intel's Configuration Utility it is a .CFG file.

### Plug 'n' Play ISA Adapters

Adapters conforming to the Microsoft / Intel Plug 'n' Play ISA specification have additional hardware compared with legacy ISA cards that allow them to be fully managed by the operating system. Each card has its own unique number which can be read by the software. The card also keeps a table of all its resource requirements and has a standard set of configuration registers. The system BIOS or operating system can read the resource requirements and fully configure the card.

### PCI Adapters

The PCI specification was written with Plug and Play capability in mind and all PCI cards conforming to the PCI 2.0 specification (or later) are truly Plug 'n' Play compliant.

### PCMCIA Adapters

PCMCIA cards that conform to release 2.0 or later of the PCMCIA specification, and operate with Card and Socket Services, should automatically support Plug 'n' Play operation. The configuration manager can learn the cards' resource requirements through Card Services. Card Services reads the card information from the CIS (card information structure) built into the card. Assignment of resources to the card is handled by the PCMCIA controller, which is managed through Card and Socket Services.

### EISA Adapters

Strictly speaking, EISA cards are not truly Plug 'n' Play as card resource requirements are not kept on the card. However, there is a well defined process for configuring EISA cards and reporting the data to the operating system. This is handled by the EISA configuration utility and the EISA or Plug 'n'Play BIOS. When installing new hardware, the user still needs to run the EISA configuration utility, and supply the card information in a .CFG file. Once the utility has been run, then all the configuration data is stored in non-volatile storage on the board. This data can then be accessed by the operating system via the BIOS and the EISA cards are easily integrated into the Plug 'n' Play system.

### Micro Channel Adapters

Micro Channel cards can be handled by Plug 'n' Play systems in a similar fashion to EISA cards. Because resource requirements can not be read directly from the adapter, it is still necessary for a user to run a Micro Channel configuration utility when installing new hardware. Once this has been done, the operating system can access the configuration data through a Plug 'n' Play BIOS.

## Other Peripheral Components

Although much of the focus of Plug 'n' Play has been on the configuration of plug-in adapters, the concepts apply equally to a range of other peripheral components, such as: SCSI adapters and peripherals, printers, monitors and other parallel or serial port peripherals.

## Madge Networks Position

Madge Networks committed to bring a Plug 'n' Play (PnP) compatible Token Ring adapter to market as early as 1994, in response to the requirements of its customer base. PnP has become become a significant and high-profile technology for users looking to simplify the installation of PC add-in cards, including Token Ring adapters.

As a culmination of its work with industry associations and standards groups, at the end of 1994, Madge Networks introduced PnP-enabled Smart 16/4 Ringnode adapter cards for PCI and PCMCIA bus PCs. To complement these newer bus technologies, in mid-1995 Madge Networks introduced an ISA PnP adapter card to bring the benefits of Plug and Play to ISA bus PCs.

Madge Networks is an active member of the Plug 'n Play Association and continues to closely track the implementation of PnP technology by PC hardware, software and peripheral manufacturers. The availability and installed based of PnP compatible operating systems is key to the adoption of Plug 'n' Play and customers are evaluating PnP adapters now, in order to assess the impact it will have upon their organizations.

Madge Networks' longstanding partnership with Microsoft enabled it to be involved in the Windows 95 pre-release, which was the industry's first PnP-ready desktop operating system. Compatible 32-bit NDIS3 and Miniport drivers were made available to Madge Networks' customers as early as 12 months prior to the formal release of Windows 95 in August 1995. Madge Networks drivers are now shipping on the standard Windows 95 CD-ROM.