Failure & Success

I’ve been away from home for a while but when I’m home I definitely like to spend my off time working on my UNIX collection. I’ve had a few scares and disappointments when it comes to vintage hardware, it just comes with the territory. This stuff doesn’t last forever, especially the mechanical parts.

My SPARCstation IPC came with a Seagate ST1480N SCSI HD. It holds a whopping 426MB and it appeared to be working perfectly when I finally got the machine running. I installed an OS on it at least twice and had it running for several days without issue. After leaving it off for a week I came back to it and powered it on only to be met with an angry clicking noise a few seconds after power-up. It clicks loud and spins down immediately and doesn’t spin back up. I have heard some issues with old hard drives having rubber/plastic bump stops that become sticky over time that may cause this problem so I may crack this thing open and see if I can do anything, but for now it’s dead in the water.

To get around this I put my SCSI2SD into the machine instead of the HDD. I picked up an el cheapo 4GB microSD card at Fry’s for $5 and sectioned it off into 3 SCSI IDs:

  • 2.1GB disk for SunOS 4.1.4 on SCSI ID 3
  • 1.3GB disk for whatever on SCSI ID 1
  • 535MB disk for SunOS 4.0.3c on SCSI ID 2

I removed the SCSI CD-ROM from one of my SPARCstation 20s and jerry-rigged it into one of my external SCSI enclosures and managed to install SunOS 4.1.4 onto the 2.1GB disk without a hitch.

One of the pieces of software I’ve wanted to check out for a while is Xerox GlobalView, which is basically the final resting place of the software originally developed for the Xerox Alto computer. They made several versions that ran on SunOS 4.x, so I installed version 1.0.5 on my IPC. This version claims to only run on SunOS 4.1.4. After I installed it I couldn’t get it to launch, and in a state of frustration I called it a night and shut down the machine.

In the morning I woke up and powered on the machine again but it refused to boot - no console, no power LED, no anything. Did I fry it?

I started removing hardware to isolate the problem. I removed the GX graphics card (which I swapped in the day before for the slow CG3 that came with it) and everything else connected to it. I plugged in the serial port to my Mac so I could see the PROM diagnostics. All I was getting was:

using nvramrc

and it just hung there indefinitely. Did I brick this machine inadvertently? Did I zap the RAM with static or something? I pulled half of the RAM, swapped RAM between banks, etc, and no change. Did all of the memory suddenly go bad?

It’s hard to know for sure, but I think installing GlobalView may have inserted some commands into the nvramrc which caused the problem. I know at minimum that the GlobalView installer recompiled a custom kernel, so I wouldn’t put it past it to insert a custom program into nvramrc. nvramrc is an optional set of Forth commands stored in the nvram which are run at boot, and it looks like whatever was in there was preventing the system from booting at all. Maybe GlobalView is not compatible with machines with an old PROM version like my IPC.

Eventually I found an article online that suggested an extreme workaround: pull the NVRAM chip from the mainboard and power on the machine, then carefully reinsert the chip while the machine is running and reset to defaults. This worked! Without the NVRAM chip it went into diagnostics mode, verified that all the hardware was working (except for the NVRAM of course), and dropped me to the normal PROM prompt. I carefully reinserted the NVRAM and ran set-defaults to program the default values into the PROM, then I followed the usual instructions to re-program the ethernet MAC and system type into the NVRAM. After a couple power cycles I confirmed that everything was operating properly again.

I reinstalled SunOS 4.1.4 completely to flush out whatever mistakes had been made and all seems to be working properly. Now that I’m back to where I started, on to the next challenge: installing SunOS 4.0.3c.