SunワークステーションのNVRAMが電池切れになったので
私の研究室では蛍光X線分析装置(島津製XRF-1700)の制御にSunのワークステーションSPARC station 5を使用している。OSはSun OS 5.5.1である。導入したのは1998年だから、まだパソコンでは装置制御、データ処理に力不足だった時期である。今の大学生にワークステーションと言っても伝わらないので、WSのことをあえてPCと呼んでいたりする。
150万円ほど出せばWindows XPのPCに制御機器周りを更新することもできるらしいが、そんなことはせず、いまだにUNIXベースのSunのWork Stationを使用している。
本日、そのWSが普段通り立ち上がらなくなった。WS本体を起動すると、色々なメッセージが表示された後、OKで停止してしまい。ログインの画面まで行かないのである。
画面上に流れているメッセージを読むと、エラーメッセージらしきものがあった。
The IDPROM contents are invalid.
Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c0000 File and args:
Internal loopback test -- Did not receive expected loopback packet.Can't open boot device.
一行目のメッセージでWebを検索すると、EVRAMの電池切れが原因と判明した。EVRAMはボタン型電池が内蔵された電子部品であるが、電池も含めて樹脂で封止されているので、電池を交換するのは簡単ではない。
Webで検索した限り、対応は厄介そうであったが、実際やってみるとそうでもなかった。
・大いに参考にしたサイト SunのNVRAMが干上がったら
・大胆にもNVRAMを分解して電池交換している人 SPARCstation の NVRAM の電池交換
以下の1→2で対応することにした。
1.とりあえず、電池切れのNVRAMを装着した状態で起動し、OK表示の状態から、電池切れのために失った16バイトの情報を入力してやり、普段通りにOSを起動して使えるようにする。
2.1.のようなことを起動の都度、毎回、行うのは面倒なので、新品のNVRAMに交換して元に戻す。
本体を開けてみると、EVRAMの型番はM48T08-150PC1。アールエスコンポーネンツのWeb注文で、当日発送1個2,375円、送料460円だった。
取り急ぎ、上の1.を行った。
幸いなことに、このSPARCstationは、スタンドアロンタイプでネットワークには接続していなかった。ネットワークの設定分、楽である。
起動後、途中で止まった状態でのOKプロンプトから、set-defaults と入力し、以下の手順で16バイト分の情報を入力していった。 (参考 SunのNVRAMが干上がったら)
1バイト分ずつ
値 位置 mkp
とOKプロンプトの後ろに入力し、enterしていく。位置とは16バイト中何番目かを16進数で記したもの。順に以下のように入力した。後ろは説明なので入力しなくてよい。
01 00 mkp ここは常に01
80 01 mkp host idの1バイト目。機種で違い、SPARCstation 5では80
02 02 mkp ethernet addressの1バイト目
03 03 mkp ethernet addressの2バイト目
04 04 mkp ethernet addressの3バイト目
05 05 mkp ethernet addressの4バイト目
06 06 mkp ethernet addressの5バイト目
07 07 mkp ethernet addressの6バイト目
00 08 mkp 製造日の1バイト目
07 09 mkp 製造日の2バイト目
00 0a mkp 製造日の3バイト目
01 0b mkp 製造日の4バイト目
03 0c mkp host idの2バイト目
03 0d mkp host idの3バイト目
03 0e mkp host idの4バイト目
0a 0f mkp チェックサム。00~0eのxorの値。この代わりに下の1行でよい。
スタンドアロンタイプだったので、製造日だけでなく、ethernet address、host idの2~4バイト目は適当に数値を入れておけばよかった。上の数値は1~2バイト目以外、適当である。最後の行、チェックサムのxorを計算するのは面倒なので、代わりに
0 f 0 do i idprom@ xor loop f mkp
と入力するとよい。
その後、OKプロンプトにbootと入力すると、OSが無事にたちあがった。
この後、ワークステーションの電源は落とさずに使用する。いったん落とすと、上のことを起動時にもう一度やる必要がある。
NVRAMは日付、時刻も記憶しているので、dateコマンドを使用して、日付、時刻を直す必要がある。
date 0630183011
2011年6月30日18時30分に合わせた。
但し、dateコマンドはスーパーユーザー(login idがroot)でloginしないと変更できない。
後は、NVRAMの新品が届き次第、交換する予定である。NVRAMは挿す向きに注意!逆さまは絶対NG。
| 固定リンク
この記事へのコメントは終了しました。
コメント
お尋ねします。
sunblade150を使っていますが、同じ症状になりましたので、NVRAMを交換しました。参考にされたページを見てやってみましたが、mkp や mkplが使えません。「mkp?」がでましので、c!などを使ってNVRAMのアドレスに直接書き込もうと思います。でも、アドレスが解りません。何か参考になるアドレスは無いでしょうか?よろしくお願いいあします。
投稿: sun初心者 | 2014年5月15日 (木) 19時55分