Fixing the Dallas NVRAM on an IO4 board with a CR2032 cell

From Nekochan
Revision as of 15:27, 31 August 2013 by Smj (Talk | contribs) (Adding some external links)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
I04-1.jpg
I04-2.jpg
I04-3.jpg
I04-4.jpg
I04-5.jpg
I04-6.gif

The IO4 board found in Onyx and Challenge systems contains a Dallas DS1397 battery backed NVRAM and realtime clock. After 10 years this battery runs out and the system will lose it's configuration data (boot device, ...). Additionally, IRIX will emit a continuous stream of warning messages that the clock isn't working which is pretty annoying. So I decided to fix it. The Dallas DS1397 isn't manufactured anymore. You may be able to buy one but who knows what the state of it's internal battery is. This device is available as chip (DS1395/DS1395S) or stand alone module with embedded lithium battery and crystal (DS1397). A quick look at the datasheet makes it obvious that the battery contacts must be hiding behind the 'NC' contacts pin 18 and 22.

My initial plan was to desolder the DS1397 from the IO4 first, and then open the package. Unfortunately the IO4 is a very thick, heavy multilayer PCB and even with a profesional desoldering station I wasn't able to remove it from the PCB. So I had to open the package while the DS1397 was still installed on the IO4 board. Fortunately this was much easier than I expected, but you have to temporarily remove the support bar from the IO4 because it isn't possible to access the right side of the Dallas chip otherwise.

I used an SMD version of the socket because it's flat underside is easily glued in the empty space next to the Dallas chip. Be careful that the pads of the CR2032 socket do not touch any of the nearby via's in the PCB. Connect the socket to the exposed Vbat and Bgnd pins, and finish it off with some hot glue.

The empty or invalid configuration data in the NVRAM will make an Onyx default to a console on the serial port rather than the graphics output. A 'resetenv' from the PROM prompt will restore default NVRAM values. You may have to change a few values if your system disk is on SCSI channel 1, and (for an Onyx) set the console variable to 'g'. The first time you boot into IRIX it will complain about a preposterous time in the year 2072, but once the time is set everything is good as new!

Further Reading

Forum threads:

External References