「ネットワークカード(LANアダプタ)が認識されない」Tipsでは,設定ツールを利用した方法を紹介している。しかし,この方法では認識されないことも多く,どのようにすればよいか迷ってしまうことがあるだろう。ここでは,さらに踏み込んでネットワークカードの認識方法について解説しよう。
まず最初に,カードに搭載されているコントローラチップ名を調べる必要がある。当然,チップがLinuxでサポートされていなければならないため,ノンサポートの場合に粘ってみても成果は望めない。調べるためには,「JFdocsのLinuxハードウェア互換性HOWTO:ネットワークアダプタ」を参考にするとよいだろう。
自分の持っているネットワークカード(チップ)が見つかったら,次の手順でドライバーモジュールの組み込み設定をしよう。
ISAカードの場合
# vi /etc/modules.conf ............ alias eth0 ne options ne io=0x300 irq=5 |
上記の例は,ISAカードでNE2000互換のドライバを指定している設定だ。「ne」と書かれている個所がドライバ名になる。NE2000以外のチップは,次の表を参考にして記述しよう。また,「io=」,「irq=」に記述するアドレスも環境によってことなる場合がある。ネットワークカードにBIOSユーティリティが用意されていれば,I/OアドレスやIRQを調べるのは容易だ。また,ネットワークカード自体の設定で,PnP(Plug&Play)をオフにしておくこともポイントとなる。設定ツールが用意されていない場合には,同マシン上でWindowsが動作すれば,コントロールパネル上で確認する手段もある。
|
PCIカードの場合には,前述したmodules.confで「options」行を指定する必要はない。I/Oアドレス,IRQは自動取得されるためだ。編集を終えたら,続いて次のように指定しよう。
# depmod -a # modprobe [ドライバ名] # lilo # sync;sync;shutdown -r now |
再起動後には,次のようにして確認しよう。dmesgコマンドでイーサネットが認識されているかが分かる。続いてライブラリ更新を行い,ifconfigで「eth0」(またはeth1など)が表示されればOKだ。
# dmesg | grep eth # lsmod # ifconfig eth0 Link encap:EthernetHWaddr 00:04:xx:xx:xx:xx inet addr:192.168.0.200Bcast:192.168.0.255Mask:255.255.255.0 UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1 RX packets:6441736 errors:0 dropped:0 overruns:0 frame:0 TX packets:6050781 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 lo Link encap:Local Loopback inet addr:127.0.0.1Mask:255.0.0.0 UP LOOPBACK RUNNINGMTU:3924Metric:1 RX packets:1711965 errors:0 dropped:0 overruns:0 frame:0 TX packets:1711965 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 |
Copyright © ITmedia, Inc. All Rights Reserved.