October 4, 2018

Sun Ultra 10 systems and NVRAM problems

The symptom of trouble here are you power on your machine and booting fails, with messages like:
The IDPROM contents are invalid.
Power on Self Test Failed
Cause: NVRAM U13

On the motherboard in a strange socket with two "handles" is a "Timekeeper RAM" chip.
The part number for the Ultra 5/10 is an ST microsystems M48T59Y-70PC1, which is
a 64 kbit chip (8K by 8 bit).  These things are an 8K x 8 static ram chip with a
lithium battery piggybacked on top and encased in plastic and epoxy.
As you might expect, after 20 years these batteries have in most cases gone dead.

Fix things by hand so you can boot

This is not all that bad and only takes about 2 minutes of careful typing. Of course this will be unacceptable if these machines need to remotely administered. On the other hand, anyone using these old fossils for anything critical is a fool anyway, so any amount of coddling is reasonable and acceptable.

You need to get to the boot monitor "OK" prompt. You are probably there already if you have this problem, but if not, type L1-A to get there. Then type the following. See the notes below on the values for xx, yy, and zz.

set-defaults
1 0 mkp
80 1 mkp
8 2 mkp
0 3 mkp
20 4 mkp
xx 5 mkp
yy 6 mkp
zz 7 mkp
0 8 mkp
0 9 mkp
0 a mkp
0 b mkp
xx c mkp
yy d mkp
zz e mkp
0 f 0 do i idprom@ xor loop f mkp
Type "banner" and check the ethernet address and host ID.
Then type "reset" to boot the machine.

The values xx:yy:zz are the last 3 bytes of the MAC address for the machine. If you examine the NVRAM chip in the machine, it should have a yellow sticker with a barcode and 6 hex digits. In my case these are 9F:BC:C0, and these are the last 3 bytes Sun assigned to the MAC address for this particular machine. Note that the first 3 bytes of the MAC address are always 8:0:20 for Sun. You will notice those bytes in the sequence above.

The following is quite dated, but has valuable information nonetheless.

Date and time

You will also need to set this by hand as soon as the machine boots:
su
date 1004043018
The format is mmddHHMMYY, so the above is 04:30 on 10/4/2018

Dremel tool and such

Some people are fixing this problem by doing surgery on these chips. A bit of grinding and it is possible to attach a coin cell socket, as well as disconnecting the dead internal battery. Then you have a more civilized and maintainable system.

The following is the datasheet for a very similar part.

And the following is a video detailing a coin cell battery fix: The end of the chip opposite pin 1 has battery contacts buried under epoxy. Once you do this, holding the chip, pins down and looking at the ground end, the + battery connection is on the right side.