Redhat ES5 を yum で Update したら NIC が認識しなくなった。

# yum update して。再起動したら SSH 接続ができなくなった。orz

コンソールから確認したら NIC が認識されていない。。

Intel の e1000 だしドライバがないわけないんだけどなぁ。。

と、調査開始。新しいカーネルだと『eth0 does not seem to be present. delaying initialization.』と出てドライバを認識していない様子。

modprobe.conf には e1000 の記述。してあるし。/usr/src/kernel 以下にもドライバはあるんだけどなぁ。

e1000 の隣に e1000e ってのがあったのが気になったところ。

まあいいぁと、古いカーネルでは動くんだしとあきらめかけたんだけど

何が違うんだろうかと『kuduzu -p』コマンドの diff をとってみたら。あったったたった。


# diff -Nur old_kernel_kuduzu new_kernel_kuduzu
--- old_kernel_kuduzu   2009-02-02 11:08:19.000000000 +0900
+++ new_kernel_kuduzu   2009-02-02 10:44:47.000000000 +0900
・・・・・・・・・・・・
・・・・・・・・・・・・
@@ -490,15 +492,14 @@
 pcidom:    0
 pcibus:  4
 pcidev:  0
-pcifn:  0
+pcifn:  1
 -
-driver: e1000
+driver: e1000e
 desc: "Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)"
-network.hwaddr: 00:1f:d0:ae:0d:4a
 vendorId: 8086
 deviceId: 1096
 subVendorId: 1458
@@ -490,15 +492,14 @@
 pcidom:    0
 pcibus:  4
 pcidev:  0
-pcifn:  0
+pcifn:  1
 -
 class: NETWORK
 bus: PCI
 detached: 0
 device: eth1
-driver: e1000
+driver: e1000e
 desc: "Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)"
-network.hwaddr: 00:1f:d0:ae:0d:4b
 vendorId: 8086


新しいカーネルは e1000e というドライバを使うらしい。

modprobe.conf をe1000e に書き換えたら無事起動できましたとさ!!

やったね!!


旧カーネル:2.6.18-53.el5PAE
新カーネル:2.6.18-128.el5PAE