□ethtool
参考:
http://sf.net/projects/gkernel
http://support.intel.co.jp/jp/support/network/adapter/1000/linux_readme.htm#add_config
http://h50146.www5.hp.com/products/software/oe/linux/mainstream/support/doc/option/nic/nego_module.html
Kernel-2.6系からは、LAN関係の設定をするときに ethtool という
コマンドを使って設定をすることになる。(全二重/半二重の設定
とかオートネゴシエーションとか)
Intelのページによると
最新の ethtool についての情報は、 http://sf.net/projects/gkernel から
入手できます。ethtool をインストール後、必ず ethtool-copy.h をカーネル
ソース・ツリーの <linux_kernel_src>/include/linux にコピーし、 ethtool.h
にリネームする必要があります。
(必要ならば、事前に ethtool.h のバックアップを取ってください。)
また、最新 ethtool の機能をしようするためには、ドライバーを再コンパイル
する必要があります。
tar xvzf package/ethtool-6.tar.gz
cd ethtool-6/
./configure –prefix=/
make
make check
make install
その後、本当はカーネルのヘッダファイルとかも修正しないといけないけど
しない方がいい。
cd /usr/src/linux-2.6.28/
mv ./include/linux/ethtool.h ./include/linux/ethtool.h.org
cd /usr/src/ethtool-6/
cp ./ethtool-copy.h /usr/src/linux-2.6.28/include/linux/ethtool.h
こうやってコピーしてカーネルのコンパイルしなおしをしようとすると
肝心の使いたい e1000 のところでエラーとなるので注意。
インテルから最新ドライバーを取ってきてもだめでした。
実際の設定の変更は
ethtool -s eth0 autoneg off speed 100 duplex full
こんな感じ。
たまに設定変更に失敗するので注意が必要かも。(HUBとの相性か?)