気まぐれSE日記

地方でエンジニアしてます

bcm5700ドライバでまたはまる

HP DL380 G4にRedHat7.3(古いなぁ)を入れてあるシステムがあるんですが

NICbroadcomの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でエラーになるのかがわかってません。


カーネルのバージョンが違ってるってオチかな...。むう。