[freebsd] FreeBSD9.3→10.3アップデートとAHCI周りのトラブル

手元の管理下にあるマシンは殆ど11以上にあげているんですが,業務で使っているProLiant DL120 G7だけは9.3のまま放置プレイでした。
しかし9.3もEOLになって久しく,PortsのUpdateもマトモに出来なくなってきたんで,10系の最新10.3に上げることに。
で,起動はしたもののコンソールに大量のTimeoutメッセージ。おおぃ,AHCIとかかなり危ないし。

hoge kernel: ahcich1: Timeout on slot 30 port 0
hoge kernel: ahcich1: is 40000001 cs 40000000 ss 00000000 rs 40000000 tfd 451 serr 00000000 cmd 000c7e17
hoge kernel: ahcich1: Timeout on slot 0 port 0
hoge kernel: ahcich1: is 00000000 cs 00000000 ss 80000000 rs 00000001 tfd 150 serr 00000000 cmd 000ce017
hoge kernel: ahcich1: Error while READ LOG EXT
hoge kernel: (ada1:ahcich1:0:0:0): READ_FPDMA_QUEUED. ACB: 60 02 61 4e 80 40 65 00 00 00 00 00
hoge kernel: (ada1:ahcich1:0:0:0): CAM status: ATA Status Error
hoge kernel: (ada1:ahcich1:0:0:0): ATA status: 00 ()
hoge kernel: (ada1:ahcich1:0:0:0): RES: 00 00 00 00 00 00 00 00 00 00 00
hoge kernel: (ada1:ahcich1:0:0:0): Retrying command

ぐぐってまずHitしたのは,AMD系チップセットでの例。10.1からで,msiに問題があるらしく,hint.ahci.0.msi=”0″でmsi不使用にすると直るとか。でもこのマシンIntel/C204だしmsi不使用では改善せず。
結局まじめにman ahciを読みながら,ぽちぽち試してhint.ahci.0.ccc=”1″でようやく解決。
同じチップセットの別マシンではそんな現象でていない。と,すると,原因はHP謹製Firmware入りの海門製HDD臭い。ProLiantユーザーなんてごろごろ居そうなもんなのに,こう言う所の動作検証が不足しているあたりFreeBSDというかOpenSource全般においそれと人に勧められない所。
HardwareとかFirmwareの低層の実装って,標準規格はあるけれど未だにOS側/Hardware側共に規格の解釈があやふやだったりしてトラブル起こしてる。Windowsをはじめとしたメジャーな商用OSの強みは,十分なテストもさることながら,動かなかったら規格上はOS側に問題があったとしても「Windowsで動かないHardwareの方が悪い」って言い切れる強さなんだと思う。

カテゴリー: 未分類 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です