このブログを検索

2012/07/03

LinuxでNICが認識しない

DELL Optiplex 990にFedora14をインストールしたら、ローカルループバックアドレスしか割り当てられておらず、ネットワークに接続できなかった.

デバイスの確認
lspci | grep Ethernet
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
デバイスは認識しているようだ.続いて読み込まれているモジュールの確認
lsmod
表示を見ても何を見ればいいのかわからなかった.
検索したところIntelがe1000/e1000eというドライバを配布しているとのこと.

lsmod の出力には表示されていなかったので、以下のコマンドでモジュールを追加.
modprobe e1000e
lsmod
ifconfig eth0 up
ifconfig
ロードモジュール一覧には追加されているが、ネットワークがアクティブになっていない.
ドライバが古いのだろうと思い、最新版をダウンロード.

デバイス確認時に表示されていた「Intel Corporation 82579LM Gigabit Network Connection」で検索したら以下のドライバが引っかかったのでダウンロード. 

Network Adapter Driver for PCI-E Gigabit Network Connections under Linux*

READMEファイルにそってインストールする.
tar zxf e1000e-x.x.x.tar.gz
cd e1000e-x.x.x/src/
make install
一度読み込んでしまったe1000eを削除
modprobe -r e1000e
削除の確認
lsmod
e1000eが削除さえれているのを確認し、モジュールの追加
modprobe e1000e
インターフェースの有効化
ifconfig eth0 up
再起動後も自動でロードされていたので大丈夫だろう.

eth0を編集しようとしたらconfigファイルがなかったので、ifcfg-eth0を作成して終了.
固定IPの場合下記ファイルへの記述も忘れずに.
/etc/sysconfig/network
/etc/resolv.conf
自動で生成されない理由は不明だった.(くやしい)

管理ツール「Network Manager」からeth0作成してもいけるようだが、 ifcfg-eth0ファイル内がNetwork Managerライクに編集されるようだ.

--追記(12/07/03)
yum で update したら e1000eが上書きされてしまっていたので、再度インストール.

■ モジュールに関するコマンド(とりあえず)
  • lsmod:ロードされているモジュールの一覧
  • insmod:モジュールのロード
  • rmmod:モジュールのアンロード
  • modinfo:モジュール情報の表示
  • modprobe:依存関係をチェックしながらモジュールのロード
  • modprobe -r:依存関係をチェックしながらモジュールのアンロード
■ ドライバについて
  • bnx2:Broadcom
  • tg3:Broadcom
  • e1000:Intel
上記のドライバが主流のよう.

参考:
e1000とe1000eの違い
PCI-Express対応 NIC用ドライバが e1000eで、PCI-X対応 NIC用ドライバが e1000になります.
1000とe1000eはそんなに違うか?~完結編~
ドライバによってcpuの負荷率に違いが出るものなのだなと.勉強になりました.

0 件のコメント:

コメントを投稿