Subject: Re: WD8013 died (SMC howto fix)
To: Andrew Wheadon <andrew@wipux2.wifo.uni-mannheim.de>
From: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
List: current-users
Date: 03/16/1996 17:38:30
> I found this in the news and since I hadn't found the
> actual solution in the mailing-lists/ (i checked port-i386
> and current-users and netbsd-help)...
> 
> ..and since this works... (I tried it after the bloddy
> mcd0 driver killed my smc8013ebc (300,dc00,10) card type 0x29)
> The mcd0 driver succeeded in overwriting my hard-ware-node-address.
> 
> I'm posting so it CAN be found in the mailing-lists as everyone
> is pointing out:

Since the solution to this simply involves frobbing a few I/O ports,
it can also be done using NetBSD, if you're willing to get your hands
dirty and write a little bit of C...

It'd be nice if:
	(1) somebody wrote up a little program to do this, probably by
		(a) taking (as an option) the ethernet address of the
		    card, or prompting for it,
		(b) taking (as an option) a name that indicates the
		    board type,
		(c) turning (b) into a number (there should be
		    enough information in dev/isa/if_edreg.h to do
		    this, i think),
		(d) prompting to confirm that it should be done
		    (prompt should be overridable by a -f flag 8-), and
		(e) using the appropriate inb and outb sequence to
		    DTRT.
	(2) that program had a nice manual page that explained what it
	    did,
	(3) that program was shipped as part of the NetBSD/i386
	    distribution, and
	(4) that program was mentioned in the install notes and FAQ,
	    to help people get around this problem.


People have this problem almost consistently after every release, it
seems.  Either the 'wrong' drivers get added back into the INSTALL and
GENERIC kernels, or a new driver is added which also triggers the
problem, or ...  8-)

It's come up several times now, and invariably causes a _LOT_ of
anguish.  It should be part of the standard set of troubleshooting
tools...


chris