*BSD News Article 1948


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!network.ucsd.edu!nosc!jadpc!Ralf Friedl (PA Peter) <friedl@informatik.uni-kl.de>
From: friedl@informatik.uni-kl.de (PA Peter)
Newsgroups: comp.unix.bsd
Subject: Device driver for NE1000/NE2000
Message-ID: <9207152126.aa00382@superieur.informatik.uni-kl.de>
Date: 15 Jul 92 19:53:32 GMT
Sender: 386bsd-gate@jadpc.cts.com
Reply-To: Ralf Friedl (PA Peter) <friedl@informatik.uni-kl.de>
Organization: J. Deitch & Associates
Lines: 212
Originator: 386bsd-gate@jadpc.cts.com
Precedence: bulk


Below is a diff for the original net2 NE2000 driver, so that the driver can
be used with both NE1000 and NE2000 or compatible interface cards. The type of
the card is determined during the boot in the autoconfiguration phase, so it is
not necessary to specify it at compile time.

The driver may also work with more that one card at the same time, but I didn't
try it.

The driver includes a file "machine/asm.h". This is used for inline versions of
the in../out.. function. If you don't have something like that, just remove the
line, and the functions in locore.s will be used.

Enjoy

----
Ralf Friedl
friedl@informatik.uni-kl.de


begin 644 if_ne.dif.Z
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
J+:DE0KAVV^I:5<ML>^V@?;5VY=!.1E91;-'ML:6TW);=8MHDNVF!K0( 
 
end

----
Ralf Friedl
friedl@informatik.uni-kl.de