Sun SPARCstation IPC (4/40)
This little guy came to me in “not working, for parts” condition. It came loaded with a Seagate ST1480N 426MB SCSI-2 hard drive, Sony 1.44MB floppy drive, a Sun cgthree framebuffer SBus card, and 32MB of RAM (8x4MB). This machine was introduced in July 1990, but it’s not entirely clear when my machine was actually manufactured. Many of the ICs are shared with the older SPARCstation 1+, so many of the datecodes are 1989 or 1990, but some are early 1991. It has PROM version 1.6 which seems very old.
Since the machine wouldn’t power on at all, checking the power supply was the obvious first step. After cracking the machine open, I could already see signs of significant capacitor carnage. The design of this machine mounts the power supply upside-down in the chassis, and some capacitor electrolyte had dripped onto the mainboard. Not very much, and fortunately it looked like it hadn’t been there for long (possibly from being jostled around in shipping), so fortunately that cleaned up easily.
Once inside the power supply, there were definite problems in the output section. All of the big, high-capacitance low-ESR output filter caps were oozing, so everything in the area was brown and sticky. I removed all of the electrolytics (which of course smelled awful; burning capacitor electrolyte smells like dirty rotting fish) and cleaned up the board with flux remover and 99.9% alcohol.
In picking replacement parts, I couldn’t find any drop-in equivalent for the large input filter cap (390μF, 400V), so I kept that one intact (it did not have any signs of trauma). Most capacitors of that size use a newer snap-in style mount but the old one in this power supply used a kind of tab mount. Doesn’t look like anyone makes them like that anymore, so hopefully this one holds up long term.
Fortunately, after cleaning up the board and installing new Nichicon capacitors, the machine fired right up. Typical with machines of this age, the NVRAM/TOD chip on the board was dead, so I replaced it with an ST M48T02 and reprogrammed it using instructions from the Sun NVRAM FAQ. I found the machine’s original MAC address by looking at
/var/adm/messages on the disk (I pulled an image of it to see what was on the disk while I was waiting for PSU parts to come in).
Unlike my other SPARCstations this machine uses mini-DIN8 serial ports and the audio in/out ports use a special dongle that plugs into another mini-DIN8 port. Fortunately, WeirdStuff has a bunch of these old cables. Also, this machine only has an AUI-15 port for Ethernet so I had to find a transciever to plug it into my switch.
The disk had SunOS 4.1.4 installed on it, but after an unsuccessful attempt to install 4.0.3c (supposedly the oldest supported version), I reinstalled 4.1.4 clean. I’ll need to do some more research to see what I’m doing wrong with 4.0.3c.
SunOS phoenix 4.1.4 2 sun4c
- 25MHz LSI L64801 SPARC CPU (SPARC V7)
- 25MHz Weitek 3172A SPARC FPU
- Onboard mono bwtwo framebuffer
- Sun GX (cg6) SBus Framebuffer
- 32MB RAM (8x 4MB)
- PROM v1.6 - dated 26 Jun 1990
426MB Seagate ST1480N 3.5” SCSI-2 Disk (labeled as a SUN0424)Dead :(
- SCSI2SD v5 w/4GB microSD
- Sony 1.44MB Floppy
- CentreCom 210TS 10BASE-T Ethernet Transciever
SunOS Release 4.1.4 (GENERIC) #2: Fri Oct 14 11:08:06 PDT 1994 Copyright (c) 1983-1993, Sun Microsystems, Inc. mem = 32768K (0x2000000) avail mem = 30531584 Ethernet address = 8:0:20:a:7d:8f cpu = Sun 4/40 zs0 at obio 0xf1000000 pri 12 zs1 at obio 0xf0000000 pri 12 fd0 at obio 0xf7200000 pri 11 audio0 at obio 0xf7201000 pri 13 sbus0 at SBus slot 0 0x0 dma0 at SBus slot 0 0x400000 esp0 at SBus slot 0 0x800000 pri 3 sd0 at esp0 target 3 lun 0 sd0: <SUN0424 cyl 1151 alt 2 hd 9 sec 80> le0 at SBus slot 0 0xc00000 pri 5 cgthree0 at SBus slot 2 0x0 pri 7 bwtwo0 at SBus slot 3 0x0 pri 7 root on sd0a fstype 4.2 swap on sd0b fstype spec size 65520K dump on sd0b fstype spec size 65508K
OpenSSL 0.9.8zh 3 Dec 2015 built on: Thu Jul 6 16:43:26 PDT 2017 options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -O3 -mv8 -Dssize_t=int available timing options: TIMES TIMEB HZ=60 [sysconf value] timing function used: times The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md5 47.77k 143.10k 498.93k 934.77k 1380.14k sha1 56.70k 174.17k 404.28k 608.60k 729.09k sha256 47.46k 118.33k 223.70k 289.79k 313.28k