嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

修复Sun SPARCstation IPX第1部分:PSU和NVRAM

Main46_fd0612eb5acffebe0f6c15845d700c4d3596e609.jpg

在老式UNIX工作站中修复无电的电源并更换NVRAM。

如果您在90年代初期从事计算机工作,大概在那时学习计算机科学或者只是对计算机有浓厚的兴趣,那么很有可能熟悉Sun Microsystems这个名字,而他们的工作站也是大家梦寐以求的。当时,个人计算机正迅速成为标准台式计算机,并且几乎所有外观都相同。而如果您从事创意行业工作,您可能已经幸运地使用了Mac,但即使如此,差异也不是那么深刻。

 

SS5_cdaf1a2bf4ef89a276b27488ccbf0660c70f64bc.jpg

1994年左右,Sun SPARCstation 5广告的详细信息。

但是,有一台真正脱颖而出的计算机,它不仅看起来更加奇特,而且在性能和功能方面也拥有明显的领先优势 - UNIX工作站。当大多数人运行Windows 3.x时,他们对有限的资源、缺乏真正的多任务处理以及过于频繁的不稳定性感到沮丧,而UNIX工作站则提供了更为高级、功能丰富且健壮的运行环境。这包括适当的多任务处理和通常更大的RAM、更强大的CPU和高级图形以及更高性能的磁盘等。当然,这一切都是以成本为代价的,UNIX工作站的价格很容易达到普通PC的10倍。

有许多竞争的UNIX供应商,在各自的细分领域有着自己的优势。顾名思义,例如Silicon Graphics专业提供功能强大的图形工作站,事实证明,该工作站在3D可视化以及电影和电视等应用中很受欢迎。

Sun Microsystems硬件发现了许多不同的用途,但在新兴的互联网行业尤其流行,工作站的版本为“无头”(无VDU等),并且较大的服务器机架配置经常用作DNS、FTP、电子邮件和Web服务器。

我特别喜欢我使用过的第一台UNIX计算机Sun SPARCstation IPX,这是一台紧凑的“午餐盒”形状电脑,当时它在一个狭小的空间内装进了很多功能,并且其工业设计非常吸引人眼球。

硬件规格

IPX_1682643f14c88e93c34ed2e8d149d501f77c184e.jpg

  • 40MHz 32位SPARC CPU + FPU(Sun 4/50)
  • 标配最大64MB RAM
  • Sun Turbo GX彩色帧缓冲区
  • 5英寸软盘驱动器
  • SCSI驱动器
  • 10M以太网(使用外部收发器)
  • 音频输入和输出
  • 串行端口
  • 2个SBus扩展插槽

SPARC是由Sun和Fujitsu联合开发的RISC指令集架构(ISA),于1987年首次发布,现在一直由Fujitsu开发。早期的Sun计算机基于Motorola 68K处理器,并且在1989年推出了第一台SPARC工作站。

现在,处理器时钟速度似乎对我们来说是难以置信的低,那时英特尔CPU的时钟速度也差不多。但是,SPARC CPU在设计时考虑了UNIX,而IPX则具有8倍硬件上下文的MMU,这使多任务处理受益匪浅。

带有19英寸CRT显示器、键盘和鼠标的SPARCstation IPX于1991年推出,价格约为15,000美元。因此,使用倾向于仅限于专业应用,而我那时使用的那个台曾用于移动数据网络合格测试。

本博客文章主题中的SPARCstation IPX安装了几百兆的硬盘和32MB的RAM。我拥有它已经有几年了,它之前确实可以工作,但是在某个时候电源出现了故障。

 

 

失效电解电容器

PSU_PCBA_db2bf679ccd887580265db0a3cafa10941e104bf.jpg

在老化的电子设备中,不符合规格和彻底失效的电解电容器是一个常见问题,在所有Sun SPARCstation型号中,IPX和IPC电源尤其是问题。这表明最初安装的那些质量可能很差或涉及的批次很差,否则PSU的设计会导致它们失效。

SPARCstation IPC和IPX采用相同的电源,并且 此网页给出了从IPC更换PSU中的电解质的说明。有趣的是,作者在其他地方指出,他们有两台IPC的PSU失效,而一台安装在IPX中的IPC却可以正常工作。但是,IPC是一个较早的型号,可能只是这些型号较旧,否则可能是纯粹的机会。无论如何,我有两台IPX,都没有电源。

除了物理尺寸较大的线路侧滤波电容器(顶部带有橡胶盖)之外,所有的电解电容器都已更换。使用的RS部件是:

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

最初同时装有25V和50V额定47uF电容器,但是为了方便起见,只订购了50V额定部件,并且将这两个部件都安装了。

Leakage_0008d67e4fad3eebd30889511d56f1ced87e791c.jpg

从上面可以看出,原始电容器的电解液泄漏了,这绝不是好兆头。

Corrosion_7f20dc7673d58bf4d4f6a06da8b6bfb2e6be553f.jpg

这导致了板子底面的腐蚀模样。

Caps_ef51cd3c27219b6a775df3bcacede6bfd54ad152.jpg

更换盖子后便重新组装电源,然后将其装回机架中。

PSU_Test_dbd0a6940127672d309bd8b96666aa2632dd156e.jpg

随后可以通电,这是关键时刻。

不幸的是,SPARCstation并没有重新恢复生命,只是在开机时PSU风扇微微动了几下。在这一点上,PSU已取下,重新检查了焊接是否有短路等现象,没有发现明显的异常。除了上述腐蚀。

鉴于更换盖子的时间不算太长,并且有一台第二次失效的IPX,因此决定继续对电源进行重新换盖。这个状态要好得多,PCB的顶部没有电解液,而底面也没有腐蚀。

 

Cleaner_ad75c65e0512cececa72f59e1e04d4495219c5da.jpg

不幸的是,当拆下旧的盖子时,一部分焊盘/布线被抬起,但是不是太严重,安装新电容器时很容易解决。

PadLift_a6b8b136fca4b534e0a78053f587a47d040db5f2.jpg

重新换盖、重新组装后,将它安装到了第一台SPARCstation中,通上电,很幸运,可以用了。

首要任务是使一个系统正常工作,所以我将回到第一个PSU并尝试查找故障,使用第二个工作电源应该更容易,因为两者可以在PCB的不同位置进行测量,然后进行比较。

现在开始解决下一个问题。

更换NVRAM

PowerUp_1_ff859df426c1a52e5f02d2bd2e9fb656426c6cd7.jpg

与PC通过BIOS初始化硬件和加载操作系统的方式类似,Sun计算机采用OpenBoot PROM(OBP)固件。像BIOS,也可以用来进行配置更改(例如,设置默认从哪个设备启动),并将这些更改保存在非易失性RAM(NVRAM)中。

但是,虽然PC通常有充电电池或可取出的纽扣电池用于在断电时保留配置设置并维持系统时间,但Sun硬件使用的是TIMEKEEPER器件,集成了SRAM、RTC和电池。因此,当电池出现故障时,必须更换整个器件。

在上面,我们可以看到加电时显示的错误,因为OBP判断NVRAM芯片电池失效了。不幸的是,它还用于存储以太网MAC地址及其Sun主机ID - 一个唯一的ID,用于将许可软件锁定到特定计算机等操作。

可以参阅Sun NVRAM/主机ID常见问题解答以查找替换部件的详细信息,IPX指定为M48T02(310-9655)。安装完成后,我们需要对MAC地址和主机ID进行编程。但是,如果我们没有这些记录,我们将不得不进行弥补,只需要确保MAC地址与网络上另一台设备的MAC地址不冲突即可。上面链接的常见问题解答包含主机ID格式的详细信息,该主机ID格式具有特定于机器型号的前缀,而MAC地址前缀是分配给Sun Microsystems的前缀。

在对IDPROM进行重新编程之前,我们首先需要通过在OBP“ok”提示下输入以下内容来重置为NVRAM默认值并禁用diag选项:

 

set-defaults
setenv diag-switch? false

OBP监视器实际上是Forth解释器,并且mkp命令可用于对NVRAM的IDPROM部分进行重新编程。同时,常见问题解答中有一个基于SPARCstation IPX硬件的示例,为此使用了一个主机ID“57c0ffee”,其MAC地址为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

 

第一条命令将保存格式/版本号的字节0设为01。字节2-7保存MAC地址。字节c-e存储主机ID。字节f用于保存校验和,并使用上面显示的最终命令对校验和进行计算和编程。有关详细信息,请参阅常见问题解答。

此时,我们可以在提示符下输入reset。

 

PowerUp_2_f40a7489be9499b840647ab4aca5343db66ecf6c.jpg

现在,我们发现已配置了MAC地址和主机ID,但遗憾的是,尽管断电后配置更改持续有效,但仍然存在错误警告,提示NVRAM需要更换。似乎这并不少见,网上有关于此问题的各种讨论,其中有一个主题帖建议通过安装M48T12部件来解决此问题。

NVRAM_a07ca2fd5accae0c79bfb80b2e65a7ee20a40e76.jpg

持续存在此错误的缺点是计算机不会自动启动,为解决此问题,我订购了M48T12部件(829-4073),并重复了IDPROM编程。不幸的是,这给出了相同的结果,因此需要进行更多的研究,但是至少SPARCstation会保持时间,并且不必在每次开机时对MAC地址和主机ID进行编程;不自动启动是一个小麻烦。

第一次启动

SunOS_be271c44e42acef2d2d7f825f2388dd3abb8be9a.jpg

要从内部磁盘启动,我们只需在OBP提示符下输入:

boot disk

输入该命令后加载Solaris 7(SunOS 5.7)。

EthAddress_fec16d08f3b5e4375b10f0f38835f780b360c9c7.jpg

稍等一会就可用root登录了。从日志来看,这台电脑上一次启动似乎是在2000年—或者至少它以为是这一年!还可以搜索日志来查看先前启动时的以太网地址,这很有用,因为我们可以返回到OBP监视器并使用该地址对IDPROM进行重新编程。当然,总是有可能不是原始的MAC地址,并且当先前丢失了原始MAC地址时,它已被设置为某个随机值。

后续步骤

现在可以正常使用了,我想看看是否可以清理外壳并去除一些痕迹,如果可能的话,再解决塑料变黄的问题。要了解是否可以清除NVRAM错误,还需要进一步研究。Solaris 7最终于1998年末发布,它对于SPARCstation IPX来说可能有点现代感,因此从1991-1994年左右(接近系统引入的时间)开始加载Solaris 1.x似乎是合适的。

现已提供第2部分

  — 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.
DesignSpark Electrical Logolinkedin