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>