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.
![[Adapter Installation]](../../../graphics/bk_hw.gif)
![[Driver Installation]](../../../graphics/bk_sw.gif)
![[Software Utilities]](../../../graphics/bk_cfg.gif)