bcm5700ドライバでまたはまる
HP DL380 G4にRedHat7.3(古いなぁ)を入れてあるシステムがあるんですが
NICがbroadcomのbcm57xxでそれがたまたまkernel panicを起こしてping通らないや
ってことで、syslogを見るとbcm57xxドライバでpanicした感じだったので、
ドライバが問題あるんだろうと思い、ドライバをアップしてみたら
?
認識されない?なんで?
ハァー。
またかよ?ッて感じでドツボにはまっておりまする。
とりあえず、オリジナルのドライバをCDROMからさらってきて
動くか確認します。bcm57xxはもう勘弁して。
OSまるごと変更したいけど、時間かかるし...
ドライバ上げるのは控えれば良いんじゃないか!って思うかもしれませんが、
同じ機器構成(HP DL380G4)で、同じRedHat7.3カーネルバージョンも同じなサーバでは
最新のbcm57xxドライバでもちゃんと認識されております。
だから、ものすごく納得いかないんですよね。
補足ですが、
broadcomのドライバはいくつか種類があって、tg3というのと、bcm57xxというのがあります。
メーカー側が提供・推奨しているのはtg3のほうなのですが、tg3ドライバは
どうも最近のカーネルのソースのバージョンに依存しているために、
RedHat7.3のような古いカーネルではコンパイルに失敗してしまうのでインストール不可です。
ですので、RedHat7.3では、HPのDL380 G4などのドライバページにあるbcm57xxドライバ(RPM)をダウンロードして
インストールをしています。
一応復旧しました。
復旧のさせ方がイレギュラーです。
↑で書いたとおり、同じカーネルでbcm5700が認識されて動いている方のサーバから
ドライバモジュール本体「bcm5700.o」をコピーしてきてみたところ、あっさり動作しました。
どうも、認識できない方のサーバでドライバをビルドするとmake自体はOKなんですが
depmod -aeとかやると大量にエラー出てました。
それが原因なのですが、なぜdepmodでエラーになるのかがわかってません。
カーネルのバージョンが違ってるってオチかな...。むう。