Last updated: Tue, 03/21/2000, 18:39pm MET.

Ethernet address ff:ff:ff:ff:ff:ff......

and other oddities occur when the internal lithium battery in the NVRAM chip gives up. The manufacturer (Dallas Semiconductor, http://www.dalsemi.com/) says that the chip lasts 8-10 years, so every computer equipped with such a dallas chip is one with built-in expiry date.

Due to the fact that many applications for sgi workstations require a valid license (which is bound to a host id which in turn is the ethernet address) losing the nvram chip is quite ugly.

Many settings are initialised to a standard value by the PROM when the NVRAM is inconsistent, but the ethernet address is not. You can't even set it via "setenv eaddr 00:01:02:03:04:05". The prom monitor won't let you do it.

There are some "service people" offering to "reprogram" a new Dallas chip with your hostid for you, and they are asking 400 or 500 dollars for it.

My advice: Make some holidays for the money and spend $26.57 for a new chip.

In an indy, a

Dallas DS1386-8k-150

is used. It is a watchdog timer with 8k of RAM and a response time of 150ns (a watchdog timer is a timer which can be preset to activate certain things when a programmed time has arrived, e.g. power on the machine).

Here is how to change your dallas chip:

  1. Find out your original ethernet address. Normally there is a sticker on the back of your indy. If you don't have licensed software needing the host id, you can use every ethernet address you want which does not not already exist in your network, as long as it begins with 08:00:69 (thanks to David Williams for this correction), otherwise your indy won't like it.
  2. Get a new dallas chip. In case your local electronic dealer (Radio Shack, ...) does not have the appropriate type, you can order one from Dallas Semiconductor directly. Simply write to credit.card@dalsemi.com and ask them for delivery of a DALLAS DS1386-8k-150 chip.
  3. After you have your chip (it should look like this:)
    [ Download picture ]
    you must locate the defective one on your motherboard. TURN OFF your indy, open it and look above the harddisk slot (don't forget to wear some kind of antistatic strip to prevent electrical discharge):
    [ Download picture ]
    You see the power supply connector for your scsi drives and to the right, there is the dallas chip! It looks like this:
    [ Download picture ]
  4. Take very carefully the dallas chip from the motherboard. It is quite difficult as it sits very firmly in the socket.
  5. Put the new chip in, be careful about the right orientation! There is a triangle at the upper right and a (nearly unvisible) circle at the lower left. See the picture!
  6. Turn on your indy. If the red LED does not become green, the dallas chip is not seated well.
  7. Enter the prom command monitor.
  8. Look at your wanted ethernet address. It has 6 values in hexadecimal notation or 48 bit. I'll write it like this: 08:00:69.DD.EE.FF.
    Enter now the following at the command prompt:
    fill -w -v 0x08 0xbfbe04e8
    fill -w -v 0x00 0xbfbe04ec
    fill -w -v 0x69 0xbfbe04f0
    fill -w -v 0xDD 0xbfbe04f4
    fill -w -v 0xEE 0xbfbe04f8
    fill -w -v 0xFF 0xbfbe04fc
    
    Replace AA,BB,... with the appropriate digits of your ethernet address.
    Example: If you want an address of 08:00:69:ab:28:ef, you would type:
    fill -w -v 0x08 0xbfbe04e8
    fill -w -v 0x00 0xbfbe04ec
    fill -w -v 0x69 0xbfbe04f0
    fill -w -v 0xab 0xbfbe04f4
    fill -w -v 0x28 0xbfbe04f8
    fill -w -v 0xef 0xbfbe04fc
    
    Alternatively you may type
    setenv -f eaddr 08:00:69:ab:28:ef
    
    (as an example). Thanks to David Williams (davidw@mce.com) for this trick.
  9. Type init, the indy will reinitialize.
  10. Go again into the command monitor.
  11. Type printenv and look at the eaddr-line. If it contains your wanted ethernet address you are lucky and may continue. If not, make sure you entered the right addresses. You may use the following to control the result:
    dump -w -x 0xbfbe04e8
    
    Your entered values should appear.
  12. If you saw your right address, enter all other wanted PROM variables via standard setenv-instructions.
  13. Exit the command monitor.
  14. Turn off your machine, wait 1 minute and turn it back on.
  15. Enter again the command monitor, type printenv.
  16. If your programmed address is still there you are lucky and may close your indy. The operation was successful.
Important:
ALL YOU DO IS AT YOUR OWN RISK. I won't pay any damages resulting in making errors in this operation e.g. by damaging your mainboard. If you don't feel certain enough, don't do it!
Pascal Gienger