Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jan 1996 13:49:57 -0500 (EST)
From:      Sujal Patel <smpatel@wam.umd.edu>
To:        Luigi Rizzo <luigi@labinfo.iet.unipi.it>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: FreeDetect & Plug n Play
Message-ID:  <Pine.BSF.3.91.960103132606.2728C-100000@sl-000.sl.cybercomm.net>
In-Reply-To: <199601031448.PAA22549@labinfo.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 3 Jan 1996, Luigi Rizzo wrote:

> Basically (details may be incorrect), ISA PnP devices all listen
> for writes on a couple of ports (one is the printer status, so that
> nobody should write there). There the CPU issues commands that are
> understood by PnP devices. Using some binary-search technique one
> can disable all but one device, identify it, set its I/O address
> and other stuff, and then continue with the next devices.

The basic idea to configure a PnP device is to address each device one at 
a time.  Here is a basic breakdown of how you would address a *single*
PnP device.

1:  Send a long sequence of predefined "stuff" to LPT2's Status Port to 
	tell all PnP cards to go into `isolation mode'.
2:  Find a port that is unused between 0x203-0x3ff
3:  Run a the `isolation protocol' which iteratively isolates each card 
	and assigns it a unique number (CSN).  This basically relies on a
	unique serial number which is in every PnP device.  This is outlined
	in all it's gory detail on Intel's web site, if anyone's interested.
4:  Wake up each card (addressing it by it's unique CSN), look at it's 
	configuration data, and configure it's resources.


Sujal





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.960103132606.2728C-100000>