D945GCLF2: BIOSアップデート

インテル® デスクトップ・ボード D945GCLF2 ボードで FreeBSD を動かすと、ACPI Error は無限に発生する現象ですが、既にD945GCLF2 Atom330は正式稼働させているため、BIOSを上げるのは次回HDDが壊れた時にでも行おうかと考えていました。

サーバーへは、普段リモートアクセスして複数ウィンドウを立ち上げっぱなしで使っているため、ログファイルにACPI Errorが載ることは無視できます。しかし、直接サーバーコンソールのキーボードを使おうとしたところ、タイプしても応答が無い!Alt+F2で仮想ターミナルを切り替えられない。Ctrl+Alt+Delも効かない。
OSが正常に機能している時はこれでも大きなトラブルにはなりませんが、ネットワークが切断されてコンソールを使わなくてはならないシーンが発生すると、コンソールキーボードが応答しないのは大問題。電源を落とすしか回復手段がなくなりますからね。ローカルキーボードが使えないと、画面に表示されている情報を見ることもできません。

すぐに、BIOSを上げるべきなのかも。

まずは、OSを再起動してBIOSのバージョンとインテルのBIOSリリースノートを確認してみると、

LF94510J.86A.0099.2008.0731.0303

Intel D945GCLF2 BIOS 0099

最新バージョンは、2010年版ということでしたので、ボードを購入した2009年版くらいが入っているかと思ったら、2008.07.31 のもので通し番号は 0099 と相当古い。購入時期からして最新版の1個前だと思い込んでいましたが、13バージョンあるBIOSの中で最古バージョンより4つ目。BIOSファームウェアは、システムに不都合がなければ上げるべきではないというのが一般論ですが、これだけ不具合が出ていて、最新バージョンから離れていると、BIOSを上げるべきでしょう。

BIOSアップデートは多少時間が掛かりました。

まず、ファームウェア単体 LF0278P.BIO を以下のURLからダウンロード。
https://downloadcenter.intel.com/ja/download/18947/BIOS-LF94510J-86A-?product=42491

これをFATにフォーマットしたUSBメモリにコピーして、D945GCLF2 に差し込んでBIOSから直接ファームウェアアップデートに持ち込もうとしたものの、BIOSアップデートモードを起動できず。ドキュメントで調べてみると、2009年版のBIOSからサポートとのこと。

USBメモリをFATのDOSブータブルディスクにフォーマットできれば、ファームウェアアップデート可能なのですが、DOS Bootable ディスクにフォーマットできるOSがない!

残る手段は、Bootable CD-Rを作成すること。こいつは面倒くさい。ですが、これしか方法がないので、LF0278P.ISO をダウンロードして、ISOファイルからCD-RWに焼き付け。(by MacOS)

これでようやく、D945GCLF2 をUSB DVDドライブから起動できるようになりました。

DVDから起動すると、Enter, Enter で次の画面に進みました。ちなみに ISOファイルの中身は、Linux OS。

Intel D945GCLF2 BIOS更新中このあと、BIOSアップデートが終了したというメッセージが出て、再起動。(この時、CD-Rを抜き取らないと、もう一度 BIOSアップデートを行う羽目になりました。)

そして無事にBIOSが 2010版に上がりました。

Intel D945GCLF2 BIOS 0278 2010.0414

LF94510J.86A.0278 2010.0414

そして無事にOSが起動。BIOS更新後にOSが起動しなくなることや、振る舞いが替わることが希にありますが、幸い OS起動には影響ありませんでした。
「ACPI Exception: AE_AML_INFINITE_LOOP, while evaluating GPE method [_L00] (20160527/evgpe-622)」のエラーメッセージは消えてなくなりました。推測通り、OSの問題ではなくマザーボードBIOSの不具合でした。

ACPI Error が出なくなった他に、サーバーの負荷が少し低下しました。

/etc/syslog.conf を元に戻して、作業完了。

2019/03/17 追記

完全に止まったかと思っていたkernelメッセージですが、時々表示されていることに気付きました。

Mar 17 05:26:41 www kernel: ACPI Error: Method parse/execution failed  _SB.PCI0.LPC.SMBR, AE_AML_LOOP_TIMEOUT(20171214/psparse-677)
Mar 17 05:26:41 www kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.LPC.INIT, AE_AML_LOOP_TIMEOUT(20171214/psparse-677)
Mar 17 05:26:41 www kernel: ACPI Error: Method parse/execution failed \_GPE._L00,E_AML_LOOP_TIMEOUT (20171214/psparse-677)
Mar 17 05:26:41 www kernel: ACPI Error: AE_AML_LOOP_TIMEOUT, while evaluating GPE ethod [_L00] (20171214/evgpe-794)

頻度は高くないようなので、これ以上対策する必要はないと思っていますが、停止させられないというのは、ちょっと不愉快。

コメントを残す