【Sun SPARCstation IPXの復旧 – パート 1:電源装置とNVRAM(2020)】

2026/03/10 0:23

【Sun SPARCstation IPXの復旧 – パート 1:電源装置とNVRAM(2020)】

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

要約

著者は、失敗していた電源ユニットを修復し、持続的な NVRAM エラーに対処することで 1991 年製 Sun SPARCstation IPX を復元しました。最初の試みでは、機器の PSU 上の漏れた電解コンデンサを交換しましたが、これではマシンは再起動しませんでした。2 回目の交換として別の IPX から健康な PSU を使用すると、オリジナルの SPARCstation が正常に電源投入されました。

NVRAM バッテリー(M48T02)を交換する前に、著者は OBP の Forth コマンド(

mkp
シーケンス)でシステムの MAC アドレスとホスト ID を再プログラムしました。新しい M48T02 バッテリーを取り付けた後も「NVRAM needs replacing」というメッセージが残り、M48T12 に切替えても改善されませんでした。現在、マシンは正確な時刻を保持しますが自動起動は行われず、内部ディスクから Solaris 7 をブートすることは可能です(最後に成功したブートは 2000 年頃)。

今後の計画として、著者は筐体を清掃し、NVRAM エラーをクリアする方法を調査し、互換性向上のために 1991‑94 年代の古い Solaris リリース(例:Solaris 2.6)をインストールすることも検討しています。成功すれば、復元された IPX は機能テストプラットフォームや Sun ハードウェア愛好家向けのレトロコンピューティング展示として活用できるでしょう。

本文

古典的なUNIXワークステーションの電源を修理し、NVRAM を交換する

1990 年代初頭にコンピューティング業界で働いていた、あるいは当時コンピュータサイエンスを学んでいた人なら、Sun Microsystems の名前とそのワークステーションが非常に高く評価されていたことをご存知でしょう。PC がデスクトップの標準機として急速に普及し、ほぼすべて同じようになってきた頃、クリエイティブ業界で働いていれば Mac を使える幸運もあったものの、それでも差はそれほど大きくありませんでした。

1994 年ごろの Sun SPARCstation 5 の広告から抜粋。

しかし、本当に際立つタイプのコンピュータが存在しました。それは外観はもっとエキゾチックで、性能と機能面でも明らかなリードを持っていた UNIX ワークステーションです。Windows 3.x を使い、限られたリソースや真のマルチタスクの欠如、不安定さに苛立つ人が多かった一方で、UNIX ワークステーションはより高度で機能豊富、かつ堅牢な環境を提供しました。適切なマルチタスク、通常はより大きい RAM、強力な CPU、高度なグラフィックス、さらに高速ディスクなどが特徴です。当然ながらその分コストも高く、UNIX ワークステーションは典型的な PC の 10 倍以上の価格になることもしばしばでした。

数多くの競合 UNIX ベンダーがおり、それぞれに得意分野がありました。例えば、3‑D 可視化や映画・テレビで人気の強力なグラフィックスワークステーションを専門とする Silicon Graphics などです。Sun Microsystems のハードウェアはさまざまな用途に使われましたが、特にインターネット産業初期には「ヘッドレス」(VDU 等無し)バージョンのワークステーションや大型サーバーキャビネット構成が DNS・FTP・メール・Web サーバとしてよく採用されていました。

私が最初に使った UNIX コンピュータは Sun SPARCstation IPX で、コンパクトな「ランチボックス」型ファクターのマシンで、小さなスペースに多くの性能を詰め込んだ魅力的なデザインでした。


ハードウェア仕様

  • 40 MHz 32‑bit SPARC CPU + FPU (Sun 4/50)
  • 標準最大 64 MB RAM
  • Sun Turbo GX カラーフレームバッファ
  • 3.5″ フロッピーディスクドライブ
  • SCSI ドライブ
  • 10 M Ethernet(外部トランシーバ使用)
  • オーディオ入力・出力
  • シリアルポート
  • 2× SBus 拡張スロット

SPARC は、Sun と Fujitsu によって開発された RISC 命令セットアーキテクチャ(ISA)で、1987 年に初めてリリースされ、現在も Fujitsu が継続的に開発しています。以前の Sun コンピュータは Motorola 68K プロセッサをベースとしていましたが、最初の SPARC ワークステーションは 1989 年に登場しました。

プロセッサクロック速度は現在の観点からは驚くほど低く感じられますが、その当時 Intel の CPU と同程度の周波数でした。SPARC CPU は UNIX を念頭に設計され、IPX には 8×ハードウェアコンテキストを持つ MMU が搭載されており、マルチタスクに有利です。

1991 年の導入時価格は約 $15,000(19″ CRT モニター、キーボード、マウス付き)で、専門的な用途に限定されることが多く、私が使用した際はモバイルデータネットワークの適合性テストに使われていました。

今回紹介する SPARCstation IPX には数百 MB の HDD が装着され、32 MB の RAM が搭載されています。何年か前から所有しており、以前は動作していたものの、ある時点で電源ユニットに障害が発生しました。


故障したエレクトリックコンデンサ

時間経過とともに電子機器で頻繁に見られる問題として、定格外・欠陥のエレクトリックコンデンサがあります。Sun SPARCstation のモデル全体ではなく、特に IPX と IPC の電源ユニットで顕著です。これは元々装着されたコンデンサが低品質または不良バッチだった可能性、あるいは PSU デザイン自体に問題があったと考えられます。

IPC と IPX は同じ電源ユニットを共有しており、以下のウェブページでは IPC の PSU でエレクトリックコンデンサを交換する手順が説明されています。著者は別の投稿で「2 台の IPC が故障した PSUs を持っていたが、1 台の IPX に装着されたものは正常だった」と述べています。IPC はわずかに前モデルなので、単なる年齢差、あるいは偶然による可能性があります。ただし、私には 2 台の IPX があり、どちらも電源障害を経験しています。

エレクトリックコンデンサは、物理的に大きなライン側フィルタキャパシタ(上部にゴムカバー付き)は除き、すべて交換しました。使用した RS パーツは以下の通りです:

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

元々は 25 V と 50 V の両方の 47 µF コンデンサが装着されていましたが、便宜上 50 V 装備を注文し、どちらもそのパーツで交換しました。

表から分かるように、元のコンデンサは電解液漏れしており、これは良くない兆候です。結果として基板裏面に腐食が見られました。

キャパシタの交換後、PSU を再組み立てし、筐体へ戻しました。その直後に電源を投入した際、期待したように SPARCstation が復活せず、電源ファンだけが軽く回る程度でした。そこで PSU を取り外し、短絡チェックやはんだ付けの再確認を行いましたが、腐食以外に明らかな異常は見当たりませんでした。

コンデンサ交換にあまり時間を要せず、別の IPX も故障していたため、もう一度電源ユニットを再キャップすることにしました。こちらの PSU は PCB 上部に電解液がなく、裏面にも腐食はありませんでした。

古いキャパシタを取り外す際に、一部のパッド/トレースが剥がれましたが、深刻ではなく、新しいコンデンサ装着時に簡単に対処できました。再キャップ・再組み立て後、最初の SPARCstation に戻し電源を投入すると、幸いにも機械は動作しました。

まず一台を稼働させることが優先であり、将来的には最初の PSU を検査して原因を追求したいと考えています。二台目の動作する PSU があれば、PCB 上の各点で測定し比較できるため、原因特定は容易になるでしょう。


NVRAM の交換

PC では BIOS がハードウェア初期化や OS ロードを行い、設定変更(起動デバイスなど)を非揮発性メモリに保存します。Sun 製品も同様に OpenBoot PROM(OBP)ファームウェアがあり、BIOS 同様に設定変更を行い、NVRAM に保持します。

PC が一般的に再充電式バッテリーまたは取り外し可能なコインセルで構成されていますが、Sun 製品では TIMEKEEPER デバイス(SRAM + RTC + バッテリ)を使用しています。したがってバッテリーが失効するとデバイス全体を交換する必要があります。

起動時に表示されるエラーは、OBP が NVRAM チップのバッテリー切れと判断したことを示します。このバッテリは Ethernet MAC アドレスや Sun の hostid(特定マシンへのライセンスロックに使用)も保存しています。

IPX 用として推奨される交換部品は M48T02 (310-9655) です。これを装着後、MAC アドレスと hostid をプログラムする必要がありますが、記録がない場合は新たに作成し、ネットワーク上の他デバイスと衝突しないようにします。FAQ に hostid のフォーマット(機種固有プレフィックス)や MAC アドレスのプレフィックス(Sun Microsystems が割り当てたもの)が記載されています。

IDPROM を再プログラムする前に、まず NVRAM デフォルトへリセットし、diag オプションを無効化します。OBP の “ok” プロンプトで以下を入力:

set-defaults
setenv diag-switch? false

OBP モニタは実際には Forth インタプリタです。

mkp
コマンドを使って IDPROM を再設定できます。FAQ には SPARCstation IPX 用の例があり、hostid 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 が hostid、バイト f はチェックサムで、最後の行で計算して書き込みます。詳細は FAQ 参照。

ここまで来たら

reset
を入力します。

MAC アドレスと hostid が設定されているものの、NVRAM の再交換が必要というエラーが残ります。この問題は一般的であり、オンラインでは M48T12 (829-4073) 部品を装着すれば解決するという議論もあります。自動起動しないときに時間を保持できるだけであれば、M48T12 で再プログラムしてみましたが同じ結果でした。さらなる調査が必要です。ただし、SPARCstation が時刻を維持できるようになり、毎回 MAC アドレスと hostid を設定する手間は省けます。自動起動しないのはわずかな不便さにすぎません。


最初のブート

内部ディスクから起動したい場合、OBP プロンプトで次を入力します:

boot disk

すると Solaris 7(SunOS 5.7)がロードされます。しばらくして root でログインできました。ログを見ると最後にブートされたのは 2000 年頃だと判明しました(あるいはその年と認識していた)。また、以前起動時の Ethernet アドレスも確認できるため、OBP モニタへ戻り IDPROM を再プログラムする際に利用できます。ただし、そのアドレスが元々のものだったかどうかは不明です。


次のステップ

機械を稼働させたので、筐体を掃除してマークやプラスチックの黄ばみをできる限り取り除きたいです。さらに NVRAM エラーがクリアできるか調査します。最後に、Solaris 7 は 1998 年末にリリースされ、SPARCstation IPX には少し古すぎます。1991‑1994 年代の Solaris 1.x リリースをロードする方が適切でしょう。

Part 2 は現在公開されています — Andrew Back

同じ日のほかのニュース

一覧に戻る →