Hatena::ブログ(Diary)

システムエンジニア奮闘記 〜ダメダメSEの備忘録〜

オススメ商品

2008/10/14

Inetl Atom系のマザーボードでネットワーク(NIC)が認識できない件

「D945GCLF」や「D945GCLF2」辺りの話。


CentOSを入れたがNICを認識しない。

「5.1」でも「5.2」でもNG。


マザーボードオンボードLAN)の初期不良ではないことを確認。


# lspci -v | lv | grep Ethernet

-----

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.

RTL8111/8168B PCI Express Gigabit Ethernet controller

-----

ハードウェアは認識している。


NICドライバを取得。


Realtek ダウンロードセンター

http://www.realtek.com/downloads/

-----

Description:LINUX driver for kernel 2.6.x and 2.4.x (Support x86 and x64)

Version:8.008.00

Filename:r8168-8.008.00.tar.bz2

-----

適当なUSBメモリに保存。


Linuxマシンにコピー。


Linuxマシンはネットワークに繋がらないのでUSBメモリを使った。

USBメモリをマシンに挿すとメッセージが表示。

「sdx1」のようなデバイス名が割り振られる。

若しくは「dmesg」コマンドで割り振られたデバイス名の確認。

表示されない場合は認識されていない恐れがある。


# mkdir /mnt/usb-memory

# mount -t vfat /dev/sdx1 /mnt/usb-memory

# ls /mnt/usb-memory

-----

r8168-8.008.00.tar.bz2

-----

マウント成功。


# cp /mnt/usb-memory/r8168-8.008.00.tar.bz2 /usr/local/src/

# ls /usr/local/src/

-----

r8168-8.008.00.tar.bz2

-----

コピー成功。


# cd /usr/local/src/


▼誤認識ドライバモジュール)の削除。


この辺の手順は展開したディレクトリの「readme(英語)」に書いてある。(後記述。)

結局はRealtek(蟹)のドライバNICが「r8168」なのに「r8169」と判断しているのが原因っぽい。


# lsmod | grep r8169


上記で表示されたら以下を実行。


# rmmod r8169


上記で削除できなければ以下の手順で対応。


vi /etc/modprobe.conf

-----

alias eth0 r8169

-----

この行を削除して(若しくは「r8168」に書き換えて)再起動


ドライバインストール


# tar vjxf r8168-8.aaa.bb.tar.bz2

# cd r8168-8.008.00

# make clean modules

-----

make -C src/ clean

make[1]: Entering directory `/usr/local/src/r8168-8.008.00/src'

rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers rset

make[1]: Leaving directory `/usr/local/src/r8168-8.008.00/src'

make -C src/ modules

make[1]: Entering directory `/usr/local/src/r8168-8.008.00/src'

make -C /lib/modules/2.6.18-92.el5/build SUBDIRS=/usr/local/src/r8168-8.008.00/src modules

make: Entering an unknown directory

make: *** /lib/modules/2.6.18-92.el5/build: No such file or directory. Stop.

make: Leaving an unknown directory

make[1]: *** [modules] Error 2

make[1]: Leaving directory `/usr/local/src/r8168-8.008.00/src'

make: *** [modules] Error 2

-----

エラーが発生。


-----

make: *** /lib/modules/2.6.18-92.el5/build: No such file or directory. Stop.

-----

コレが原因と思われる。


# ls -al /lib/modules/2.6.18-92.el5/build

-----

lrwxrwxrwx 1 root root 43 Jan 1 00:00 /lib/modules/2.6.18-92.el5/build -> ../../../usr/src/kernels/2.6.18-92.el5-i686

-----

# ls /usr/src/kernels/

-----

ls: /usr/src/kernels/: No such file or directory

-----

「開発ツール」や「開発ライブラリ」がインストールされていないっぽい。


▼三択。


1. 「yum」でインストール

ネットワークに繋がってないし面倒なので却下。

-----

# yum install kernel-devel

-----

実際はこの辺のコマンドと思われる。


2. CDからRPMを展開。

必要ファイルの詳細が分からないので却下。

-----

kernel-devel-2.6.18-92.el5.i686.rpm

-----

実際はこの辺のファイルと思われる。


3. 再インストール

-----

「開発」→「開発ツール」と「開発ライブラリ」をインストール

-----

コレを採用。


ドライバインストール。再挑戦。


# make clean modules

# make install

# depmod -a

# insmod ./src/r8168.ko

# lsmod | grep r8168

# ifconfig -a

-----

eth0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:xx

   ・

   ・

   ・

-----

成功。


〜雑記〜

最初は「D945GCLF」で試して上記の事態に陥って

オンボードLANの異常(初期不良)かと思って

暫く放っておいたので保障期間は終了していたので

折角なので「D945GCLF2」を新たに購入して

それでも同じ事態に陥ったので

流石に何かあると思って調べた結果。


〜参考〜

デュアルコアAtom330を使ってみる(D945GCLF2) (さくらインターネット創業日記)

http://tanaka.sakura.ad.jp/archives/001032.html

Intelのatom330マザーD945GCLF2でCentOS5.2(x86_64)が動いた:ぴろにっき:So-net blog

http://piro791.blog.so-net.ne.jp/2008-10-01

なんとなしの日記 [覚書]ASUS P5B のNICが認識しない件について

http://babyp.blog55.fc2.com/blog-entry-274.html

www.centos.org - Forums - CentOS 5 - Networking Support - realtek nic install problem

http://www.centos.org/modules/newbb/viewtopic.php?topic_id=12236

CentOS5 64ビットにVMware-serverインストール失敗 ― lights on zope

http://lightson.dip.jp/blog/seko/1444