Gentoo Linuxに玄人志向のGbE-PCI(VT6122)をインストールした時のメモ

家庭内LANをGigabit Ethernetにした時に、Gentoo Linuxサーバに玄人志向のGbE-PCIをインストールした時でメモです。

GbE-PCIは、
VIA製VT6122を搭載した、玄人志向のギガビットのNICです。1000円で購入でき、性能も比較的高評価です。Gentoo
Linuxにもインストール可能ですが、私の場合は結構苦労したので、インストール方法を紹介します。なお、カーネルは2.6.16時の記録です。

まず、ドライバをダウンロードします。
VIA Velocity Family Gigabit Ethernet Driver

解凍したら、解凍したディレクトリに移動して、

# make
# make install

で、コンパイルに成功したらラッキー。しかし、私はコンパイルでエラー発生。その場合は、以下の内容を"patch.txt"として保存します。た
だし、改行コードなどは「velocity_main.c」ファイルと同じくしなければなりません。私は、Fedora
Core5上のFireFoxでコピーした後、gEditでペーストし、保存しました。

--- velocity_main.orig.c        2005-07-22 10:57:16.000000000 +0200
+++ velocity_main.c     2006-05-17 22:14:14.000000000 +0200
@@ -1957,7 +1957,11 @@
#endif
             if(pci_dev_driver(pcid) == &velocity_driver) {
                 if (pci_get_drvdata(pcid))
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+                    velocity_suspend(pcid, PMSG_SUSPEND);
+#else
                     velocity_suspend(pcid, 3);
+#endif
             }
         }
     }
@@ -2001,7 +2005,11 @@
         velocity_save_pci_context(pInfo, &pInfo->pci_context);
         velocity_shutdown(&pInfo->hw);
         pci_disable_device(pcid);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+  power_status = pci_set_power_state(pcid, pci_choose_state(pcid, state));
+#else
         power_status = pci_set_power_state(pcid, state);
+#endif
     }
#else
     pci_disable_device(pcid);

保存後、

# patch < patch.txt

として、「velocity_main.c」にパッチを当てます。

# make
# make install

で、モジュールのコンパイルとインストールが終了。コンパイルできなければ文字コード、改行コードなどを改めてみてください。

ディレクトリ /etc/modules.autoload.d にあるkernel-2.6のファイルに、

velocityget

の一行を書き込みます。これで、起動時にvelocitygetのモジュールが読み込まれます。

# cd /etc/init.d
# cp net.eth0 net.eth1
# rc-update add net.eth1 default

で、再起動時にeth0とeth1が起動するようにし、

# vi /etc/conf.d/net

で、ネットワークの設定を行います.

# /etc/conf.d/net:
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7
# 2002/11/18 19:39:22 azarah Exp $

# Global config file for net.* rc-scripts

# eth0とeth1のネットワークの設定
#
iface_eth0="192.168.0.10 broadcast 192.168.0.255 netmask 255.255.255.0"
iface_eth1="192.168.0.20 broadcast 192.168.0.255 netmask 255.255.255.0"

#ゲートウェイをどうするか。インタフェース/デフォルトゲートウェイ
gateway="eth1/192.168.0.1"

再起動してみて、

# /sbin/ifconfig
eth1      Link encap:Ethernet  HWaddr 00:02:2A:DD:05:45
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:85241 errors:0 dropped:0 overruns:0 frame:0
          TX packets:119855 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:26372969 (25.1 Mb)  TX bytes:45627488 (43.5 Mb)
          Interrupt:9 Base address:0x1800

とし、「HWaddr
00:02:2A:DD・・・」となっているほうが今回インストールしているVT6122のNICとなります。従来ついているNICと逆転するかもしれま
せん(従来ついているのがeth0からeth1になったりする)。場合によっては/etc/conf.d/netを所望の設定になるようにさらに設定しな
おします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です