*BSD News Article 75157


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!nntp.coast.net!news-res.gsl.net!news.gsl.net!news.mathworks.com!newsfeed.internetmci.com!in3.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: PnP network cards?
Date: Wed, 31 Jul 1996 17:10:16 -0700
Organization: Me
Lines: 71
Message-ID: <31FFF5E8.68A562F1@lambert.org>
References: <4t0q6i$ahv@moon.igcom.net> <4t9q29$ge5@symiserver2.symantec.com>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)

tedm@cpinc.com wrote:
] 
] In <4t0q6i$ahv@moon.igcom.net>, dinosaur@terra.igcom.net (One Kosher
Pickle) writes:
] >I have a NE2000 compatible network card.  Sounds good so far,
] >but it's Plug and Play (ugh).  It has absolutely NO dip switches.
] >I don't even know what exact IRQ it is because of this.  I get
] >timeout messages when
] 
] If it is true PnP your screwed. ;-)  I'm assuming that it is a
] NE2000 _ISA_ clone.
] 
] The ISA bus was never designed for Plug and Pray.  What goes on
] with Plug and Pray ISA cards (Like the popular SoundBlapper
] AWE32 PnP) is that they tie all the IRQ's to the card, then
] the operating system is supposed to sort out which IRQ goes to
] what and tell the card through some magic incantation what IRQ
] it is supposed to use, the card then disables all the other
] IRQ's.

Actually, a "real PnP card" starts out disabled.

The PnP BIOS then uses an abbreviated bsearch to enable the cards
one at a time, and inb their possible configurations.

Then the PnP BIOS tries to assign non-conflicting resources to
each card.  For each card it can do this for, it reenables the
card (for instance, if you had 3 wierdonet cards, and they could
only use IRQ 2 or IRQ 5, only 2 of them would be enabled).


When you use a PnP card in a non-PnP BIOS machine, the card stays
disabled because it can't tell about conflicts with onboard
hardware (serial ports, PCNet ethernet, IDE controllers, PS/2
mouse on IRQ 12, etc.).

In general, most PnP cards have a non-PnP switch setting and you
can force their setup using a configuration disk to adjust the
soft switches.

So PnP works, it just doesn't work without PnP BIOS.


Then you need your OS to be "PnP aware" so it can go out an ask
the cards where they landed, and save the information for use
by the OS's drivers.


There is beta PnP support for FreeBSD itself, written by
Sujal Patel.  You should get on the -hackers list if you want
to work with any beta code.

Note that if your motherboard doesn't have a PnP BIOS, you
are pretty much screwed when it comes to using PnP cards.  There
tends to be hadware slot switching support required of the
motherboard or the full disable and card search phases.  The
FreeBSD probe order is set up so that each possible bus is
polled from least configurable to most configurable, but if
you don't have a PnP BIOS and motherboard, there's no way to
identify conflicts with on-board controllers on the motherboard
itself.

Search for "Plug-n-play" on Yahoo and read the spec on the
Microsoft and Intel sites for more information.


                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.