Subject: Re: wt driver conflict with ????
To: Ruschmeyer, John <jruschme@att.com>
From: Tim Rightnour <root@garbled.net>
List: port-i386
Date: 06/23/1998 17:20:50
On 23-Jun-98 Ruschmeyer, John spoke unto us all:
# Out of curiousity, how would you recover from such a corruption? 
# 
# I have an 8013EPC which appears to be dead, even when set to a hard-coded
# setting. I wonder, though, if it might have been similarly trashed.
# 
# (I admit it, I'm insane enough to run a box with both a 'wt' and an 'mcd'.
# :-)

Well.. I'll go looking for it when I get back for work, (about to leave). You
have to dig through ancient archives of current-users to find the little magic
incantation.  I'll bet you just about anything that if you have an 8013, and if
you *ever* booted a 1.1 or 1.2 kernel in it.. It's toast.  To fix you need
debug a hex calculator, and that wierd incantation.. ;)

This is from Will Ferry from current-users.0452::

(Hopefully you know the card's 6 byte hardware address)

Assuming your card is still at base 300 (don't jumper it anywhere else yet),
0x308 - 0x30d contain the hardware address.  0x30e is a board type
identifier.  0x30f is a checksum for the other information.  If the SMC
utilities don't see the correct checksum byte, they seem to
automatically assume it's not an SMC ethernet card at the port.

Using DOS "debug", check the values between 308 and 30f.  For example,
to view the byte at 308, use the command "i 308".  To write the byte 0F
to 308, use the command "o 308 0F".

Verify that the contents of 308 - 30d ARE your hardware address.  I
don't know what the correct board type for your card is.  For the two I
fixed, they were EtherCard PLUS Elite16T, and the identifier was 0x28. 
Hopefully you have another (non-corrupt) card, or somebody else could
tell you what the correct identifier is, as at least for my friend and I
it was one of the bytes that had been changed by the probe.

Once you're sure all these bytes are correct, you get to calculate the
value for the 8th byte... =)  The sum of all 8 bytes (mod 256) should be
0xFF.  So add the first 7 bytes, and calculate what the 8th one should
be to get a sum (mod 256) of 0xFF.

Now you're ready to commit these settings to the NVRAM.  To do this,
read the byte at 0x301.  Add 0x80 to it, and write that value to 0x301. 
Now write the original value back in.  Now the settings are saved.  The
SMC utilities should see the card, hopefully they will still show it's
the correct type of card...  =)

    BTW, be sure to move your card to somewhere other than 0x300...  =)

---
Tim Rightnour    -  root@garbled.net
http://www.zynetwc.com/~garbled/garbled.html