Linux Tips

ギガビットイーサネットカードを使うには(RealTek 8169編)

北浦訓行
2003/5/29

 カニのマークが刻印されているRealTekのイーサネットコントローラは、100BASE-TXでは非常にポピュラーだったが、ギガビットイーサネット(GbE)カードではいまのところ多くない。RealTek 8169を搭載したGbEカードは、日本レクトンからLJ1000R-32という32ビットPCI用のカードが発売されている。

 RealTek 8169用のドライバは、RealTek社のWebサイト(http://www.realtek.com.tw/downloads/downloads.aspx)からダウンロードできる。このページにアクセスして、Key wordsに「8169」と入力して検索する。すると、8169用のドライバ一覧が表示されるので、[Linux Kernel 2.4.x(Red Hat 7.3)]用のファイルをダウンロードする。ファイル名はlinux24x-8169\(100\).zipだ。適当なディレクトリにダウンロードして、以下のコマンドで展開する。

$ unzip linux24x-8169\(100\).zip

 すると、8169/Red Hat 7.2というディレクトリにファイルが展開されるので、そのディレクトリに移動する。

$ cd 8169/Red\ Hat\ 7.2
$ ls
Makefile  r8169.c  readme.txt

 このドライバ用に用意されているMakefileはRed Hat Linux 7.x用なので、Red Hat 8.0では、カーネルのソースファイルが置かれているディレクトリの指定を変更しなければならない。テキストエディタでMakefileを開いて、以下の行を変更する。

NEW_INCLUDE_PATH=-I /usr/src/linux-2.4.18-3/include/
                ↓
NEW_INCLUDE_PATH=-I /usr/src/linux-2.4/include/

 変更したら保存してテキストエディタを終了し、makeコマンドを実行する。

$ make

 makeが終了すると、同じディレクトリにr8169.oというファイルが作成される。これが、RealTek 8169用のドライバになるので、rootでログインして所定のディレクトリにコピーする。

$ su
Password:
# cp r8169.o /lib/modules/2.4.18-14/kernel/drivers/net
注:カーネルをバージョンアップしている場合、上記ディレクトリの「2.4.18-14」が別の名前に変わる。例えば、Red Hat Networkを利用してkernel 2.4.18-27にバージョンアップしている場合は、/lib/modules/2.4.18-27.8.0/kernel/drivers/netになる。

 以上で、ドライバのインストールは終了だ。次に、システムにこのドライバを読み込ませて、使用可能な状態にする。

# insmod r8169

 筆者の環境では、警告メッセージが表示されたが、モジュールの読み込みは成功した。読み込まれたかどうかは、lsmodコマンドで確認できる。

# lsmod
Module            Size  Used by     Tainted: P
r8169             8360   1
(省略)

 また、dmesgコマンドでも確認できる。

# dmesg
(省略)
eth0: Identified chip type is 'RTL-8169'.
eth0: RealTek RTL8169 Gigabit Ethernet at 0xde92d000, 00:50:fc:xx:xx:xx, IRQ 11
eth0: Auto-negotiation Enabled.
eth0: 1000Mbps Full-duplex operation.

 この時点でifconfigコマンドを実行してみると、すでにeth0が動作していることが分かる。

# ifconfig
eth0    Link encap:Ethernet  HWaddr 00:50:FC:xx:xx:xx
        inet addr:192.168.0.7  Bcast:192.168.0.255  Mask:255.255.255.0
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:90 errors:0 dropped:0 overruns:0 frame:0
        TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:100
        RX bytes:5786 (5.6 Kb)  TX bytes:0 (0.0 b)
        Interrupt:11 Base address:0xd000

 後は、再起動してもこのドライバが読み込まれるように、/etc/modules.confに以下の行を追加すればいい。

alias eth0 r8169

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間