torutkのブログ

ソフトウェア・エンジニアのブログ

ともあれ、再インストールしたのにネットワークが認識しないのは何かがおかしい

で、CentOS 6.4を再度インストールしましたが、ネットワークはあいかわらず認識しません。今回購入したマザーボードASUS F2AM85-V)に搭載されているLANは、メーカーのWebサイトを調べると、Qualcomm Atherosという記述があります。普段あまり見慣れないLANコントローラで、型式の記述は見当たりません。世の中には、AR8151とか見かけます。

いろいろ探したところ、マザーボードのマニュアルにある図面上にAtheros 8161という記述がありました。AR8161というコントローラのようです。

ちなみに、ASUSの同じソケットFM2、チップセットA85Xを搭載した兄弟マザーボードであるF2A85-V PRO、F2A85-M、F2A85-M PROはいずれもLANがRTL8111となっています。どうして、F2A85-Vだけが、Atherosなんでしょうか、Linux対応の検討が少し甘かったです。

さて、このAtheros LANは、Linuxでは認識されないとあちこちで記述があります。

CentOSで、AR8151を認識させる方法について言及している情報がいくつかあり、CentOSの標準ではないドライバを集めたyumリポジトリであるELREPOから、Atheos用のドライバをインストールするというものです。今回は64bit版をインストールしているので、
http://elrepo.org/linux/elrepo/el6/x86_64/RPMS/
から、次のRPMをダウンロードし、USBフラッシュメモリでコピーしインストールしました。

  • kmod-atl1e-1.0.1.14-1.el6.elrepo.x86_64.rpm

そして、lsmodでドライバ(atl1e.ko)をインストールしましたが、LANコネクタのLEDは消灯したままです。/var/log/messagesを確認すると、無情にも

Jun 23 07:51:20 localhost kernel: Atheros(R) AR8121/AR8113/AR8114/AR8131/
AR8132/AR8152 PCI-E Ethernet Network Driver - version 1.0.1.14

とAR8161が記載されていないので、どうやらこのドライバでは駄目なようです。

ここで、元きたところに引き返すことにし、kmod-atl1eを削除します。

再度インターネットを彷徨っていると、alxなるドライバにAR8161が含まれるらしい(Atherosドライバの命名が変わった?)という情報を目にしました。

そこで、さきほどのELREPOを見ると、

  • kmod-alx-0.0-2.20121003.el6.elrepo.x86_64.rpm

があります。もう少し調べていると、ELREPOの掲示板にこれをCentOS 6.4に入れたけど駄目だったという記述があります。

この掲示板でのやり取りを追いかけてみると、kmod-alx-0.0-3.20130307.el6.elrepo.x86_64 で問題ないよとの記述がありました。これは、testing側に置かれているものです。

ここから、kmod-alx-0.0-3.20130307.el6.elrepo.x86_64.rpmをダウンロードし、USBフラッシュで持っていき、インストールしました。

再起動、でもifconfigではloしか表示されません。
インストールしただけでは駄目なのでしょうか? 
/lib/modules/2.6.32-358.el6.x86_64/modules.networking にalx.koを追記するという記述があったので追記して再起動してみたが、やはりifconfigはloのみ表示されます。

また、インターネットを彷徨ってみると、ASUSマザーボードP8H77-VでCentOS 6.4を動かす際にLANが認識しない問題と対策の記載を見つけました。このマザーボードはやはりQualcomm Atherosと記載されています。

CentOS 6.4では、kmod-alx-0.0-2.20121003 を入れて再起動するとカーネルパニックが起きたので、kmod-alx-0.0-3.20130307を入れ、それだけでは駄目なので空の/etc/sysconfig/networkファイルを置くと再起動でeth0が出てきたとあります。

おおよそ方向は合っていると思われるので、同じく空の/etc/sysconfig/networkを作って再起動しましたが、こちらはやはりloのみが表示される状況です。
ここで、/etc/sysconfig/network、/etc/sysconfig/network-scripts/ifcfg-eth0を作って設定を記述し、networkサービスを再起動したところ、無事ネットワークが動くようになりました。

さて、ここに記載していないことを含めていろいろいじり回してしまったので、もう一度OSをインストールするところから始めることにします。

Qualcomm Atheros AR8161 LANコントローラをCentOS 6.4で認識させる(最終アンサー)

CentOS 6.4(64bit版)を素で入れた後、次のURLからAR8161ドライバーをダウンロードします。

ダウンロードするファイルは、kmod-alx-0.0-3.20130307.el6.elrepo.x86_64.rpm です。

インストールしたら、次の設定ファイルを記述します。

  • /etc/sysconfig/network
  • /etc/sysconfig/network-scripts/ifcfg-eth0
注意

yum update等でカーネルを新しくすると、ドライバが認識されなくなるので、当面はカーネルはupdate時に除外するようにします。

しかし、これだけの手間をかけるくらいなら、Intel等のネットワークコントローラを買って付けてしまうのがいいでしょう。