Skip to main content
shopping_basket Basket 0

Restoring a Sun SPARCstation IPX Part 1: PSU and NVRAM

Andrew Back

Repairing a dead power supply and replacing the NVRAM in a vintage UNIX workstation.

If you worked in computing in the early 90s, studied computer science around then, or just had a keen interest in computers, the chances are that Sun Microsystems was a familiar name and their workstations were highly coveted. At this time PCs were fast becoming the standard desktop computer and pretty much all looked the same, while if you worked in a creative industry you might have been lucky enough to use a Mac — but even then, the differences were not so profound.

Detail from a Sun SPARCstation 5 ad, circa 1994.

However, there was a breed of computer that really stood out from the rest and not only looked far more exotic, but had a clear lead in terms of performance and capabilities — the UNIX workstation. While most people were running Windows 3.x and being frustrated at the limited resources, lack of true multitasking and all too frequent instability, UNIX workstations provided a far more advanced, feature rich and robust environment. This included proper multitasking and typically greater RAM, more powerful CPU and advanced graphics, plus higher performance disks etc. Of course, this all came at a cost and a UNIX workstation could easily have a price tag 10x that of a typical PC.

There were numerous competing UNIX vendors and many had their own niche in which they excelled. Such as Silicon Graphics, who as the name suggests, specialised in powerful graphics workstations, which proved popular in applications such as 3D visualisation, and film and TV.

Sun Microsystems hardware found many different uses, but was notably popular in the nascent Internet industry, with “headless” (no VDU etc.) versions of their workstations and also larger server chassis configurations often being put to use as DNS, FTP, e-mail and web servers.

As the first UNIX computer that I ever used, I have a particular fondness for the Sun SPARCstation IPX, which is a compact “lunchbox” form factor machine that packed a lot of power — at that time — into a small space and featuring an attractive industrial design.

Hardware specs

  • 40MHz 32-bit SPARC CPU + FPU (Sun 4/50)
  • Up to 64MB RAM as standard
  • Sun Turbo GX colour framebuffer
  • 3.5” floppy drive
  • SCSI drive
  • 10M Ethernet (uses an external transceiver)
  • Audio input and output
  • Serial port
  • 2x SBus expansion slots

SPARC is a RISC instruction set architecture (ISA) that was developed by Sun and Fujitsu, first released in 1987 and which continues to be developed today by Fujitsu. Earlier Sun computers were based on the Motorola 68K processor and the first SPARC workstation was introduced in 1989.

The processor clock speed may seem incredibly low to us now and at the time there would have been Intel CPUs clocked at similar speeds. However, the SPARC CPU was designed with UNIX in mind and the IPX featured an MMU with 8x hardware contexts, which benefited multitasking.

The price upon introduction in 1991 was around $15,000 for a SPARCstation IPX complete with 19” CRT monitor, keyboard and mouse. Hence use tended to be limited to specialist applications and the one that I used around this time was employed in mobile data network conformance testing.

The SPARCstation IPX that is the subject of this blog post has a HDD installed which is a few hundred megabytes and it has 32MB of RAM fitted. I’ve owned it for some years and it did previously work, but at some point the power supply developed a fault.

Failed electrolytic capacitors

Out-of-spec and out-and-out failed electrolytic capacitors are a common issue with ageing electronics and it appears that, out of all the Sun SPARCstation models, this is particularly an issue with the IPX and IPC power supplies. Which suggests that those originally fitted may have been of a poor quality or from a bad batch, else something in the design of the PSU has caused them to fail.

The SPARCstation IPC and IPX share the same power supply and this web page gives a description of replacing the electrolytics in a PSU from an IPC. Interestingly, the author notes elsewhere that they had two IPCs with dead PSUs, whereas one fitted in an IPX worked fine. However, the IPC is a slightly earlier model and it could simply be that these were older, else perhaps pure chance. In any case, I have two IPXs and both of which with suffered from dead power supplies.

All the electrolytic capacitors were replaced, apart from the physically large line-side filter capacitor with the rubber cap on top. The RS parts used are:

  • Nichicon 470μF Electrolytic Capacitor 25V (715-2669)
  • Panasonic 3300μF Electrolytic Capacitor 10V (526-1171)
  • Wurth Elektronik 47μF Electrolytic Capacitor 50V (839-8850)
  • Wurth Elektronik 1μF Electrolytic Capacitor 50V (839-9351)
  • Panasonic 220μF Electrolytic Capacitor 16V (449-0974)
  • Nichicon 100μF Electrolytic Capacitor 25V (520-0867)
  • Nichicon 1000μF Electrolytic Capacitor 25V (715-2678)

There were originally both 25V and 50V rated 47uF capacitors fitted, but for the sake of convenience, only 50V rated parts were ordered and these were fitted in place of both.

As can be seen above, the original capacitors had leaked electrolyte and this is never a good sign.

This had led to what looks like corrosion on the underside of underside of the board.

Once the caps had been replaced, the power supply was reassembled and fitted back into chassis.

Following which, power could be applied and it was the moment of truth.

Unfortunately, the SPARCstation didn’t spring back into life and there was just a slight kick of the PSU fan upon powering on. At this point the PSU was removed, soldering was re-checked for shorts etc. and nothing looked obviously out of place. Apart from the aforementioned corrosion.

Given that replacing the caps didn’t take too long and there was a 2nd dead IPX, the decision was made to proceed to re-cap its power supply. This was in a much better state, without electrolyte on the top of the PCB and with no corrosion on the underside.

Unfortunately, when removing the old caps a section of pad/trace lifted, but nothing too serious and this was easily dealt with when fitting the new capacitor.

Once re-capped and reassembled, this was fitted into the first SPARCstation, power was applied and thankfully it then sprung into life.

The priority was to get one system working and at some point I’ll return to the first PSU and attempt to track down the fault, which should be easier with a second working power supply, since measurements can be made at various points on the PCB with both and then compared.

Now on to resolve the next issue.

Replacing the NVRAM

Similar to how a PC has BIOS for initialising the hardware and loading an O/S, Sun machines have OpenBoot PROM (OBP) firmware. Which like BIOS can also be used to make configuration changes — such as setting which device to boot from by default — and these are persisted in non-volatile RAM (NVRAM).

However, whereas PCs typically have a rechargeable battery or removable coin cell that is used to retain configuration settings and maintain the time-of-day while powered down, Sun hardware instead uses a TIMEKEEPER device which integrates SRAM, RTC and a battery. Hence when the battery fails, the entire device must be replaced.

Above we can see the error displayed on power-up, as the OBP determines that the NVRAM chip battery is dead. Unfortunately, this is also used to store the Ethernet MAC address and its Sun hostid, a unique ID that is used for things such as locking licensed software to a specific machine.

The venerable Sun NVRAM/hostid FAQ can be consulted to find details of the replacement part, which is specified for the IPX as being M48T02 (310-9655) . Once this is fitted we then need to program the MAC address and hostid. However, if we didn’t have a record of these we will have to make them up and just need to ensure sure that the MAC address doesn’t clash with that of another device on our network. The above linked FAQ has details of the hostid format, which has a prefix specific to the machine model, while the MAC address prefix is that assigned to Sun Microsystems.

Prior to reprogramming the IDPROM, we first need to reset to NVRAM defaults and disable the diag option, by entering at the OBP “ok” prompt:

setenv diag-switch? false

The OBP monitor is actually a Forth interpreter and the mkp command can be used to reprogram the IDPROM section of the NVRAM. Handily, the FAQ has an example based on SPARCstation IPX hardware and for this a hostid of 57c0ffee is used, with a MAC address of 08:00:20:c0:ff:ee.

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

The first command sets byte 0, which holds the format/version number, to 01. Bytes 2-7 hold the MAC address. Bytes c-e store the hostid. Byte f is used to hold a checksum and this is computed and programmed using the final command shown above. For detailed information, see the FAQ.

At this point we can enter reset at the prompt.

Now we find that we have a MAC address and hostid configured, but sadly there is still an error warning that NVRAM needs replacing, despite configuration changes persisting when powered down. It seems that this is not uncommon and there are various discussions online regarding this, with one thread suggesting that the issue may be resolved by fitting an M48T12 part instead.

The downside to this error persisting is that the machine will not automatically boot, so in an effort to resolve this an M48T12 part (829-4073) was ordered and the IDPROM programming repeated. Unfortunately, this gave the same results and so more research is required, but at least the SPARCstation will keep time and it won’t be necessary to program the MAC address and hostid every time it’s powered on; not automatically booting is a minor annoyance to put up with.

First boot

To boot from the internal disk we simply enter at the OBP prompt:

boot disk

Following which Solaris 7 (SunOS 5.7) was loaded.

After a short while it was then possible to log in as root. From the logs it appears as though the machine was last booted in the year 2000 — or at least it thought that was the year! It was also possible to search the logs to see what the Ethernet address was when it was previously booted, which is useful as we could then go back to the OBP monitor and reprogram the IDPROM with this address. Of course, it is always possible that this wasn’t the original MAC address and it had been set to some random value when the original one had previously been lost.

Next steps

Now that we have a working machine, it would be nice to see if we can clean the enclosure up and remove some of the marks and if possible, the yellowing of the plastic. Further research is also required to see if the NVRAM error can be cleared. Finally, Solaris 7 was released in late 1998 and is perhaps a little modern for a SPARCstation IPX, hence it would seem appropriate to load a Solaris 1.x release from around 1991-1994, closer to when the system was introduced.

Part 2 is available now

  — Andrew Back


Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.

Related Content


October 4, 2021 07:07

Did you get that second PSU working? Just recapped one and it still clicks repeatedly as it did before recapping. I'm thinking of checking for broken traces since the old caps had leaked.

0 Votes

October 6, 2021 07:14

@jpbot18 I still haven't got round to it I'm afraid, but I would be interested to hear how you get on.

November 19, 2020 08:53

Also the KiCAD schematic in case you want to make changes.

0 Votes

November 23, 2020 08:23

@ms70 that's very kind of you, many thanks for sharing these!

November 19, 2020 08:53

I'm sure there are errors, but maybe it will still help someone.

0 Votes

November 19, 2020 09:01

  • Moderated

@ms70 Interesting and thanks for sharing! Sure, would like to see the schematic. I think you should be able to attach it in a comment on this post.

0 Votes

November 12, 2020 08:50

Greetings Andrew,

I found your blog here since I was doing very similar work on an IPC. It has been very helpful. I also have to say that your NVRAM battery hack is much nicer than mine!

The main issue I had to deal with was the power supply. I also replaced all the caps (except the big line cap), and then started experiencing the same problem. It would click, kick the fan slightly, then turn off. But I think I fixed it.

In my case, the system would turn on just fine ~10% of the time. It seemed to be random. I was convinced at first that it was a problem with the funky magnetic thermal switch (an interesting piece of kit, actually, though the design looks a little touchy), but that checked out. Nothing was showing up on the thermal camera, either, and everything I could test in-circuit seemed fine. So I made a rough schematic of the power supply to track down the issue. (It has some voltage readings on it as well. I'm happy to share it.)

I'm pretty sure the fault ended up simply being the 5V adjustment. It was adjusted slightly high (around 5.2 volts when it was working). You might just try turning yours down a bit (CCW). When it's too high, it triggers a fault. Since adjusting that to about 5.02, mine has turned on reliably. You might have similar luck.

0 Votes

August 13, 2020 11:09

Normally a SMPS only has the transformer and the feedback optocouplers between the mains side and the low voltage side. The SparcIPX power supply is very unusual in that it also uses two safety capacitors to bridge the gap. This gives improved noise performance from memory. However if both fail then bad things will happen. The idea is that with two of them it will take two to fail for bad things to happen which is much less likely. However these capacitors are now ~30 years old and much more likely to fail than when they where new and they will fail silently. You won't see this very often if at all on a modern PSU. I would recommend replacing them. They are marked C111 and C112 on the silk screen.

0 Votes

August 17, 2020 07:09

@jabuzzard Many thanks, that's an interesting insight and a really useful tip. I'm not with the machine just now, but think I can see those in one of the above photos. Are they just ceramic caps? Or maybe tantalum? Would seem odd if the former was prone to failing. In any case, will look to replace them and do this as the same time as swapping out the fan, which works OK, but I think a small investment in a fresh new, more modern and less noisy one will be well worth it.

August 25, 2020 08:45

@Andrew Back They are X1/Y1 suppression capacitors. Something like RS Stock No. 133-5623 would be a suitable replacement (if I am correct in thinking they are 2.2nF. I am guessing a bit as my board has been totally depopulated - long story). These sorts of capacitors are supposed to be very reliable, but they *do* fail from time to time. Earlier this year I have a X2/Y2 suppression capacitor (which should be even less prone to failure) fail on my in spectacular magic smoke fashion on an old strimmer. Also a couple of years ago a suppression capacitor failed on my mothers sowing machine. It just silently failed in a shorted condition, which proceeded to blow a fuse but not good. In both cases the equipment was of a similar age to any SPARCstation IPX. Like I said won't see it on any modern design and I am sure my 2nd edition of Horowitz and Hill describes it as a "bad idea".

August 25, 2020 08:41

@jabuzzard Thanks, so they look to be Y2 class. I've now replaced them and you can read about the most recent work on the IPX here: I also have an old Tektronix (late 80s?) scope where an X class went bad. *Lots* of smoke... At the time I found a pretty funny YouTube video, where someone demonstrated a solution for this exact problem and scope model, where they basically just pointed a large noisy fan at the scope to blow the smoke away. Can't seem to find it now and suspect it was taken down for some reason.

August 4, 2020 07:10

You will be interested to know that a large portion of the photomasks, used to make integrated circuits, manufactured today are built with equipment still using Sun Sparc 2s, 20s and Ultrasparcs. It's a testament to the quality of Sun computers. In fact, a lot of the equipment in mask shops and wafer fabs still run DOS or Win NT. The replacements, if there are any, are too expensive for the mature market.

0 Votes

August 4, 2020 16:37

@deaddog Interesting indeed, thanks. I guess this is much the same as how PDP-11 computers often ended up in process control and remained there for many years, quietly and reliably doing their job. I'm also told that Transputers got used a lot in MRI machines and systems based on these were maintained way beyond when people stopped using them in new designs. All these architectures seem to find one or more particular niches and committed advocates who appreciate what they bring to that area.

July 13, 2020 08:01

You can set your sparcstation to boot disk via command at OBP:
setenv boot-device disk

0 Votes

July 14, 2020 07:36

@Topkek456 Yes, indeed. Planning to take a look at OBP a little more in the next post in the series. It's pretty cool and the OpenBoot reference manual is a nice read.

July 2, 2020 14:42

@Boss and Andrew, here is a short pdf that helps predict reasonable life expectations for electrolytic caps:

From that source,
Aluminum electrolytic capacitors slowly degrade over time and once the capacitor has degraded beyond a specified amount, the capacitor is considered to have failed. Most capacitors are considered a failure when the capacitance has changed by 20 to 25% of its initial value. Aluminum electrolytic Capacitors load life’s ratings are generally expressed between 1000 and 10000 hours at their rated voltage, maximum temperature rating and with maximum ripple current applied to the capacitor. This means that the capacitance of the capacitor will not change by more than the amount indicated under the load life rating when the capacitor is operated at the stated conditions. Although the life expectancies appear be a short amount of time the following can increase them. When the capacitor is operated at temperatures other than the maximum rated temperature for the capacitor the expected life of the capacitor will increase. The rate of increase in operating life is for the life to double for every 10°C decrease in temperature (Arrhenius’s law).

The paper points out the life is also affected by applied voltage vs rated voltage, and by temperature rise due to ripple current, and provides formulas.

0 Votes

July 6, 2020 08:35

@BradLevy, thank you, That gives me some confidence and explains why some of my older equipment still functions! Think operating temperature has been in my favour as well as s good safety margin in the voltage rating. I like the point about "Excessive reverse voltage"... a colleague inserted a small electrolytic the wrong way round and the end of the capacitors' life was instant!!! A very loud bang and the can and contents spread over a large area. This was only at 5 or 15 volts, nothing high voltage. I guess if you want long service life and space is not a constraint you need to design out electrolytics. I read an interesting article that PV industry does not use electrolytics and use 'film' types for long life. I wonder what the satellites use or indeed the military by choice? I recall back in the 80's tantalum was the choice, but did not investigate the reasons. Anyway a very good paper Brad and an interesting article Andrew.

July 2, 2020 14:42

@BradLevy Thanks, Brad! I've read bits of advice on e.g. temperature related effects, but that looks like it could be pretty comprehensive and will take a look, appreciated.

July 2, 2020 09:47

Good job!
I always find electrolytic's and 'life' a concern and a mystery! Even one of your replacements states "Panasonic FC Series Type A electrolytic capacitors offer a high endurance, low impedance solution. These aluminium capacitors feature endurance between 1000 and 5000 hours." so although this is at worst case temperature, but an expected life of 40 to 200 days in continuous use?
I could not see a spec that showed endurance against temperature, but hopefully much better!

0 Votes

July 2, 2020 14:43

@Boss I'm relieved to hear that I'm not the only one who finds electrolytic lifetime ratings a little mysterious, but expect it must mean worst combination of operating conditions (temperature + ripple current etc.) and degradation by some degree — hence not "dead" at this point and rather instead just not performing so well (still a way to go until ruptured and with electrolyte leaking, although hopefully this would never happen...)

DesignSpark Electrical Logolinkedin