realtek社のLANドライバ(PCIe版)のインストール
Posted: 09/06/02(火) 12:48
realtek社の製品は可能ならば何でもソフトウェア(ドライバ)でやってしまおうとする実装が多く
バスの割り込み率やロック時間が大きめのものが多いのですが安価でコストパフォーマンスが良いことから
オンボード機能に良く使われています。似た型番でも内部でPCI接続されるものとPCIe接続されるものが
ありPCIe接続のものがレイテンシが小さいため少し得であるといえます。(具体的なチップ型番はRTL8111B
/RTL8168B/RTL8111/RTL8168,RTL8111C/RTL8111CP/RTL8111D(L),RTL8168C/RTL8111DPが相当します)
自分が今使用しているマザーボードはRTL8111Cが載っているのですがPUPPYのデフォルトではPCI接続用の
ドライバ"r8169.ko"が組み込まれます。PCIeとPCIにはソフトウェア互換がありチップにも互換があるため
大体はうまく動きますがいつのまにか死んでいることがある(タスクバーのアイコンが無くなっている)為
PCIe接続用のドライバ"r8168.ko"をインストールしてみました。数日間様子を見ていますがうまく動いている
ようなので似たようなことをする人の参考になるように手順を書いておきます。
"http://www.realtek.com.tw/"から"トップページ > ダウンロードセンター > ネットワ-ク向けIC >
Network Interface Controllers > 10/100/1000M Gigabit Ethernet > PCI Express > Software"と移動し
"LINUX driver for kernel 2.6.x and 2.4.x (Support x86 and x64)"をダウンロードします。
"kernel-src-2.6.25.16-patched-puppy4.1.sfs"と"devx_420.sfs"が"/mnt/home"下に存在し読み込まれた状態
にしてからダウンロードしてきた"r8168-8.012.00.tar.bz2"をクリックして展開し、ディレクトリ内で"`"キーで
端末画面を出します、使わないウィンドウは最小化または閉じておき[ALT]+[TAB]で切り替えながらコマンドを
端末画面に貼っていきます。X端末系はマウスの右ボタンドラッグや2,3連右ボタンクリックでテキストを選択、
中ボタンで貼り付けることができます(デスクトップ機能のクリップボードを使用する^c^vとは別系統です)。
"lsmod | grep r8169"でr8169.koが組み込まれていることを確認します。
"make clean modules"でコンパイル&リンクします。
"rmmod r8169"で"r8169.ko"を組み込み解除します。
"make install"でインストールします。
"depmod -a"でモジュール依存関係をチェック&更新します。
"modprobe r8168"で可能なら"r8168.ko"組み込みます。
"lsmod | grep r8168"で"r8168.ko"が組み込まれていることを確認します。
メニューの"システム > BootManager"からSFSファイルをロードしない設定にしておき再起動します。
再び端末画面を出します。
"lsmod | grep r8168"で今回も"r8168.ko"が組み込まれていることを確認します。
"gcc -v"で"devx_420.sfs"が読み込まれていないことを確認します(エラーになれば良い)。
もし読み込まれていたら"kernel-src-2.6.25.16-patched-puppy4.1.sfs"と"devx_420.sfs"の拡張子を"sf0"等に
リネームするか"/mnt/home"外に移動して次回から読み込まれない様にします。
_________________
OS:puppy-4.2.0-JP(手動frugal)+grub4dos(v0.4.3),CPU:Celeron420,RAM:2GB,
HDD:SATA500GB,MB:G31M-S2L(G31+ICH7,Audio:ALC662,LAN:RTL8111C),VGA:Onboard
バスの割り込み率やロック時間が大きめのものが多いのですが安価でコストパフォーマンスが良いことから
オンボード機能に良く使われています。似た型番でも内部でPCI接続されるものとPCIe接続されるものが
ありPCIe接続のものがレイテンシが小さいため少し得であるといえます。(具体的なチップ型番はRTL8111B
/RTL8168B/RTL8111/RTL8168,RTL8111C/RTL8111CP/RTL8111D(L),RTL8168C/RTL8111DPが相当します)
自分が今使用しているマザーボードはRTL8111Cが載っているのですがPUPPYのデフォルトではPCI接続用の
ドライバ"r8169.ko"が組み込まれます。PCIeとPCIにはソフトウェア互換がありチップにも互換があるため
大体はうまく動きますがいつのまにか死んでいることがある(タスクバーのアイコンが無くなっている)為
PCIe接続用のドライバ"r8168.ko"をインストールしてみました。数日間様子を見ていますがうまく動いている
ようなので似たようなことをする人の参考になるように手順を書いておきます。
"http://www.realtek.com.tw/"から"トップページ > ダウンロードセンター > ネットワ-ク向けIC >
Network Interface Controllers > 10/100/1000M Gigabit Ethernet > PCI Express > Software"と移動し
"LINUX driver for kernel 2.6.x and 2.4.x (Support x86 and x64)"をダウンロードします。
"kernel-src-2.6.25.16-patched-puppy4.1.sfs"と"devx_420.sfs"が"/mnt/home"下に存在し読み込まれた状態
にしてからダウンロードしてきた"r8168-8.012.00.tar.bz2"をクリックして展開し、ディレクトリ内で"`"キーで
端末画面を出します、使わないウィンドウは最小化または閉じておき[ALT]+[TAB]で切り替えながらコマンドを
端末画面に貼っていきます。X端末系はマウスの右ボタンドラッグや2,3連右ボタンクリックでテキストを選択、
中ボタンで貼り付けることができます(デスクトップ機能のクリップボードを使用する^c^vとは別系統です)。
"lsmod | grep r8169"でr8169.koが組み込まれていることを確認します。
"make clean modules"でコンパイル&リンクします。
"rmmod r8169"で"r8169.ko"を組み込み解除します。
"make install"でインストールします。
"depmod -a"でモジュール依存関係をチェック&更新します。
"modprobe r8168"で可能なら"r8168.ko"組み込みます。
"lsmod | grep r8168"で"r8168.ko"が組み込まれていることを確認します。
メニューの"システム > BootManager"からSFSファイルをロードしない設定にしておき再起動します。
再び端末画面を出します。
"lsmod | grep r8168"で今回も"r8168.ko"が組み込まれていることを確認します。
"gcc -v"で"devx_420.sfs"が読み込まれていないことを確認します(エラーになれば良い)。
もし読み込まれていたら"kernel-src-2.6.25.16-patched-puppy4.1.sfs"と"devx_420.sfs"の拡張子を"sf0"等に
リネームするか"/mnt/home"外に移動して次回から読み込まれない様にします。
_________________
OS:puppy-4.2.0-JP(手動frugal)+grub4dos(v0.4.3),CPU:Celeron420,RAM:2GB,
HDD:SATA500GB,MB:G31M-S2L(G31+ICH7,Audio:ALC662,LAN:RTL8111C),VGA:Onboard