GbE蟹とLinux(;´Д`)哀れ
ウチにはGbE蟹を3枚積んだWindows蟹箱があるんですが、ある依頼でLinux用 r8169なモジュール作り発生。
ところが、Linux-2.4.32においても未だ標準配布分のソースでは r8169.cは version 1.2なんですよね。2.6系だと 2.2LKまで来てますが(realtek配布分は 2.3だった 2005/12/11現在)。2.2LKなソースはもちろん 2.4系ではコンパイルとおりません。努力しても通りません(;´Д`)
で、1.2だとスンゴクはまるわけです。PHYがー とか MAC addr拾え(たり、拾えなかったり: FF:FF:FF:FF:FF:FF とか 00:FF:FF:FF:FF:FF になったりする…)とか(;´Д`)刺さったりとか、一見認識してるんだけど 1分くらいでもうアウトとか…いろいろ天変地異的。
で、1.6を見つけるまで色々手を尽くしてたんですが、結局googleさんにお伺いして 2.4系用version 1.6なソース発掘
wget "http://download.opendrivers.com/drv/network/realtek/linux2.4.x-8169s(160)0915.zip"
とりあえず上記の奴に含まれるr8169.c を drivers/net/r8169.c に上書きして modules作り直して解決ヽ(´ー`)ノしかし今時 kernel自前でコンパイルとか流行りませんよね。その労力をLAN板代に振り向けたら?とかいわれましたが、今回は事情があるのです。
# ウチは未使用及び未投入のGbE板が20枚くらい、FastEther板が90枚くらいありますし
トラックバック時刻: 2007年03月22日 19:33
VineLinuxのkernelとかみたら 2.4.31で r8169.cは 2.2なのね(;´Д`) こっち使う方が色々マシっぽい。 JumboFrame対応も入ってるし、負荷対策も入ってるし…
それでも 普通の用途には1.6でも良さそうだけど、新しくて尚且つしばらく放置されてる奴がいいに決まってるし。ねえ(;´Д`)