Image Map Image Map
Results 1 to 4 of 4

Thread: How-To: workaround when your Sun Ultra-5/10 NVRAM no longer works

  1. #1
    Join Date
    Apr 2016
    Location
    San Diego, California, USA
    Posts
    18

    Default How-To: workaround when your Sun Ultra-5/10 NVRAM no longer works

    New member here... mainly just joined to sell off my old Sun and other ancient computer equipment. But, as I was digging through old files, I found stuff that I thought might be useful to the folks here so I'm posting it in hopes this becomes an archive for such info.

    As the old Sun systems get older, eventually the NVRAM dies. Of course, you could just replace the chip, solder on a connection to replaceable batteries, etc., but in the interim, here's a procedure you can follow that will set the datetime and hostid:

    1. power on system
    2. when you see “The IDPROM contents are invalid”, hit Stop-A
    3. enter the following commands at “ok” prompt:

    ok set-defaults
    ok 1 0 mkp
    ok 80 1 mkp
    ok 8 2 mkp
    ok 0 3 mkp
    ok 20 4 mkp
    ok c0 5 mkp
    ok ff 6 mkp
    ok ee 7 mkp
    ok 0 8 mkp
    ok 0 9 mkp
    ok 0 a mkp
    ok 0 b mkp
    ok c0 c mkp
    ok ff d mkp
    ok ee e mkp
    ok 0 f 0 do i idprom@ xor loop f mkp


    4. now, enter ‘banner’ and you should see:

    Ethernet address: 8:0:20:c0:ff:ee, Host ID: 80c0ffee.

    The commands in step #3 above manually program the Ethernet and Host ID to the values you see in the line above. Normally, these things are saved in the NVRAM chip when the battery is working. Bare in mind, the address 8:0:20:c0:ff:ee is a mock up address which should work fine as long as you don’t use the same mock up address on another machine on the same network. You can change the value of the last 3 bytes to anything you wish as long as it doesn’t conflict with another Sun machine’s address.

    5. now restart with:

    ok reset

    6. after the Solaris operating system boots up, login as ‘root’ and set the time with:

    root# date 0502212911

    This sets the date/time to May 2nd, 21:29 hours, 2011. The format is:

    mmddHHMMYY

    mm=2 digit month, dd=2 digit day of month, HH=hours, MM=minutes, YY=last 2 digits of year

  2. #2
    Join Date
    Jan 2012
    Location
    Lane Cove, NSW Australia
    Posts
    18

    Default

    You can also bore into the IC and break out the wires to the battery. I've done this on a number of my old SPARC's with a dremmel, solder some wires on and feed it a 3.3v or 5v battery (depending on which is applicable).

    "nvsave" or "nvstore" (depending on obp version) will try to write back your settings.

    one problem .. your setting the host ID to 80 hex. That's a U1. Whilst that may 'work' for many things, your potentially using the wrong kernel and some buses are enumerated based upon this value.

    nice guide though.

    Also: http://lib.ru/TXT/faqsunnvram.txt

    Gives a little more depth on it.

  3. #3
    Join Date
    Aug 2020
    Location
    Melbourne, VIC, Australia
    Posts
    1

    Default

    Hi, I've got a Sun Blade 100 on gumtree and it was working fine, except for the NVRAM not storing data. I found some resources on google where people did what you've. mentioned above. I've soldered a battery on the contacts of the NVRAM, put it back to the machine and reprogrammed it. Everyrthing was fine except that it was defaulting the boot to Net and I don't have a unix keyboard to abort the operation.

    Then thought on disconnecting the battery from the NVRAM to clean it up and then re-program it and define the boot-device to disk, however, my. machine doesn't boot anymore. I don't get a beep, nothing on screen... I tried to make my own serial connection to the serial port using a FTDI cable, but didn't get anything. Do you have a clue on what may be going on or any directions on how I can troubleshoot it?

    I'm afraid of going to eBay and spending 100+ dollars on a new NVRAM and it could be something else.

  4. #4

    Default

    You don't need a keyboard if you have a machine you can connect to the serial port and have a terminal emulator.

    The issue is that by default the PROM will run in diagnostic mode, which is why it's trying to net boot.

    You'll need to connect your PC/terminal to the serial port via a NULL modem cable, use 9600N1 (I believe for this age of machine) and don't connect a keyboard. Power on the machine and when it starts to try to net boot use the terminal program's "Send BREAK", or disconnect the serial cable and reconnect it at a pinch. The system will now drop into the OpenPROM command line.

    At this point type: setenv diag-switch? false

    You can power-off (using the "power-off" command), disconnect the serial cable, connect the keyboard and Bob's your aunty!

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •