GbE-PCI2|Ubuntuで新ドライバ、挫折。 [ギガビットLAN計画]
ギガビットNIC挿したはいいものの、クライアントからのアクセスベンチで100MbpsなオンボードNICより悪い結果が出てしまったGbE-PCI2。 恐れていた事が現実になってしまった。いろいろ検索してみると、それらしいブログもあった。
⇒bananan_w の日記
VIAのドライバ(Velocity)の版が1.14だと、遅い上にCPU負荷も高い、とある。 自鯖機の方も確かめてみたら(grep Velocity /var/log/messages) 確かに1.14だ。 orz
そこで、Velocityの最新ドライバ1.23をダウンロードしてトライしてみた。
VIAのサイトからUbuntu用のファイル(下記)を適当なディレクトリに置き、展開する
via_vt6120-22_gigabit_lan_driver_v1.23_appnote_ver0.82.tar.gz
以下のファイルが含まれている
(1) Readme.pdf
(2) velocityget.tgz
(3) velocityget-bin_01172007.tgz
(4) velocityget_1.23.patch
(2)がソースファイル、(3)はバイナリファイルでFedora4、Mandriva、Debianの3種類が用意されている。 残念ながらUbuntu用は無し。 コンパイルするしかない。
Readme.pdfには、Ubuntu6.06でのコンパイル方法が記載してある。
・ソースファイルを展開
指示通りコマンドを実行するも、なんと我が自鯖機には開発環境が入っていない事がわかった。
必要と思われる、モジュールをapt-get install してやっとスタートラインに立つ。 その後もいろいろエラーが多発したが、その都度ネットで調べたりして、なんとかエラーが取れる所まできた。 試行錯誤の結果が以下の通り。
・パッチを充てる。(Readme.pdfにある)
cat ../velocityget_1.23.patch | patch -p1
・ソース(velocity_main.c)一部変更
1480行目の「sk_buff->nh はメンバじゃない」というエラーをはく
sk_buffはネット関係の構造体らしいが、どこぞやの時点で変更されたらしい。
で、こちらを参考に変更。
◇変更前(velocity_main.c, 1480行目)のソースを
make実行
Warningは出てるが、エラーは無くなった。 で、再起動してみたが、ドライバは古い方の1.14を相変わらず読み込んでいるようだ。
それでは、と手動で入れてみた。
エラーは出なくなっただけで、コンパイル上手く逝ってないみたい。orz
やはり素人にはハードルが高い作業みたいだ。
疲れた。 取りあえず、ドライバは置いといてギガSWハブ付けようか・・・
◆参考サイト:
・bananan_w の日記
・VMware Communities WS6: kernel 2.6.22
◆関連ログ:「ギガビットLAN計画」ネタ
via_vt6120-22_gigabit_lan_driver_v1.23_appnote_ver0.82.tar.gz
以下のファイルが含まれている
(1) Readme.pdf
(2) velocityget.tgz
(3) velocityget-bin_01172007.tgz
(4) velocityget_1.23.patch
(2)がソースファイル、(3)はバイナリファイルでFedora4、Mandriva、Debianの3種類が用意されている。 残念ながらUbuntu用は無し。 コンパイルするしかない。
Readme.pdfには、Ubuntu6.06でのコンパイル方法が記載してある。
・ソースファイルを展開
$ tar xvfz velocityget.tgz
$ cd 1.23
$ make && make install
$ cd 1.23
$ make && make install
指示通りコマンドを実行するも、なんと我が自鯖機には開発環境が入っていない事がわかった。
必要と思われる、モジュールをapt-get install してやっとスタートラインに立つ。 その後もいろいろエラーが多発したが、その都度ネットで調べたりして、なんとかエラーが取れる所まできた。 試行錯誤の結果が以下の通り。
・パッチを充てる。(Readme.pdfにある)
cat ../velocityget_1.23.patch | patch -p1
・ソース(velocity_main.c)一部変更
1480行目の「sk_buff->nh はメンバじゃない」というエラーをはく
sk_buffはネット関係の構造体らしいが、どこぞやの時点で変更されたらしい。
で、こちらを参考に変更。
◇変更前(velocity_main.c, 1480行目)のソースを
struct iphdr* ip = skb->nh.iph;
◇下記のように修正struct iphdr* ip = skb->network_header;
make実行
$ sudo make SUBDIR=`pwd` && make install
Warningは出てるが、エラーは無くなった。 で、再起動してみたが、ドライバは古い方の1.14を相変わらず読み込んでいるようだ。
それでは、と手動で入れてみた。
$ cd /lib/modules/2.6.22-14-server/kernel/drivers/net/
$ sudo rmmod via-velocity (古いドライバ)
$ sudo insmod velocityget (新しいドライバ)
insmod: error inserting './velocityget.ko': -1 Invalid module format
$ sudo rmmod via-velocity (古いドライバ)
$ sudo insmod velocityget (新しいドライバ)
insmod: error inserting './velocityget.ko': -1 Invalid module format
エラーは出なくなっただけで、コンパイル上手く逝ってないみたい。orz
やはり素人にはハードルが高い作業みたいだ。
疲れた。 取りあえず、ドライバは置いといてギガSWハブ付けようか・・・
◆参考サイト:
・bananan_w の日記
・VMware Communities WS6: kernel 2.6.22
◆関連ログ:「ギガビットLAN計画」ネタ


![トロン:レガシー [Blu-ray]](http://ecx.images-amazon.com/images/I/51stKBdzK%2BL._SL160_.jpg)
![ミッション:インポッシブル/ゴースト・プロトコル ブルーレイ+DVDセット(デジタル・コピー付) [Blu-ray]](http://ecx.images-amazon.com/images/I/51foiQ98iuL._SL160_.jpg)


![ハリー・ポッターと死の秘宝 PART 2 [Blu-ray]](http://ecx.images-amazon.com/images/I/61TQHHRDBAL._SL160_.jpg)
COMMENTS
※本記事に関係ないと判断した COMMENTS はお断りしております。