NICの調整・設定


インストールの過程でNICを認識してくれませんでした。
ですので、NICの認識方法を探しました。
Plamoサイトによると・・・・・・・・・

plamo/98 の場合, 普通にインストールしてもカーネルソースがインストールされません. 通常の使用に問題はありませんが,カーネルの再構築をする場合には, カーネルソースが必要になります.
/usr/src/README-linux98 にカーネルソースインストールの手順が書いてありますが, 若干手順が違います. plamo-ML [plamo:20742] を参考にしてみてください.
scsi98.tgz について.
インストールされるカーネルの場合, モジュールあるいは組み込みで有効になっている Ethernet card の種類が少ないので, どうしてもソースをインストールして再構築する必要があるようです. そこでインストールされるカーネルを修正して, もう少し通常使われているであろう card 類も有効にした scsi98.tgz を作ってみました.
詳しくは, plamo-ML [plamo:20878] を参考にしてください.

・・・とのことです。できればカーネル再構築はしたくなかったので、更に探しましたがなかなか見つかりません。
そんな時、何気なくPlamo サイトの「FAQ」をみたらちょうどありました。
しかも、インストールしたPCと同じPCIのものです。

以下に自分なりにまとめてみました。


●具体的な方法

記事はこれです。→ネットワークカードのドライバにどれを選んだらいいのかわかりません.なにかいい方法はありませんか?

@モジュール名を出力する次のスクリプトをviで作成しました。ファイル名は「netcard.sh」です。

#!/bin/sh
     vers=`uname -r`
     v_id="0x0000"`/sbin/lspci -n | grep 0200 | gawk '{print $4}' | cut -f 1 -d ':' | head -1`
     p_id="0x0000"`/sbin/lspci -n | grep 0200 | gawk '{print $4}' | cut -f 2 -d ':' | head -1`
     mod=`grep $v_id /lib/modules/$vers/modules.pcimap | grep $p_id | head -1 | gawk '{print $1}'`
     echo $mod
注.「`」は"逆シングルクォーテーション"です。キーボードの「@」にあるキーです。(PC-98x1ではひらがなの「へ」です)
作成したら、実行権を与えます。
# chmod +x netcard.sh [Enter]

APCに装着されているNICの情報を取得します。次のコマンドを実行して"Ethernet"のが含まれている行です。

# /sbin/lspci [Enter]
そうするとPCIに関するモジュールの情報が表示されました。
その中の"Ethernet"に関する情報は次のように表示されました。
00:od:00   Ethernet  Controller : Intel  Corp.82557/8/9  [Ethernet Pro 100] (Lev01)

B作成したスクリプトを実行しモジュール名を取得しました。

# netcard.sh [Enter]
e100
#
モジュール名は「e100」のようです。

C検出されたモジュール(e100)をロードしてみました。

# /sbin/modprobe e100 [Enter]
なんかロードされたようなメッセージを表示しました。

Dロードされたか確認してみました。

# /sbin/lsmod [Enter]
ちゃんとe100がロードされていました。

Eここでネットワークの設定を確認しました。

# /sbin/ifconfig -a [Enter]
次のようなのを返してきました。IPアドレスやネットマスク、ブロードキャスト・アドレスの表示が無いのはネットワークの設定が済んでいないためです。
localhostのは除いています。
eth0  Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
        RX packets:6367 errors:0 dropped:0 overruns:0 frame:0
        TX packets:6295 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:100
        RX bytes:1602112 (1.5 Mb) TX bytes:1064269 (1.0 Mb)
        Interrupt:3 Base address:0xd400
どうやらOKのようです。

Fネットワークの設定をしました。

ifconfでもいいですが、せっかくなのでnetconfigを使いました。
# /sbin/netconfig [Enter]
次のように設定しました。

ホストネーム    : Xc13-1
ドメイン       : takaq.jp
接続方法      : 固定IPで接続
IPアドレス     : 192.168.2.6
ゲートウェイ    : 192.168.2.1
ネットマスク    : 255.255.255.0
ネームサーバー : 192.168.2.1
そして、ifconfigで確認です。
eth0  Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
        inet addr:192.168.2.6 Bcast:192.168.2.255 Mask:255.255.255.0
        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
        RX packets:6367 errors:0 dropped:0 overruns:0 frame:0
        TX packets:6295 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:100
        RX bytes:1602112 (1.5 Mb) TX bytes:1064269 (1.0 Mb)
        Interrupt:3 Base address:0xd400
おお、いいぞぅー
pingで確認すると、ターゲットから応答が返ってきました。

G起動時のモジュール読み込み設定

ここの方法は2とおりあるようです。
一つは、/etc/rc.d/rc.modulesを利用して起動時にロードする方法、もう一つは/etc/modules.confを使って常にモジュールをロードする方法です。
私は、後者を利用することにしました。

先の過程で modprobe しているので一度 rmmod でモジュールを外し,/etc/modules.conf に次のように書き込み,depmod -a を実行して,/etc/modules.conf の設定を有効にしました。(echo のところは vi で書いてもいいでしょう)

      # /sbin/rmmod e100
      # echo 'alias eth0 e100' >> /etc/modules.conf
      # /sbin/depmod -a

そして、再々度ifconfigで確認しました。

H起動後の確認

最後は、起動後に有効になるか確認です。
ブート途中でのエラーは解消され、モジュールが組み込まれた旨のメッセージを表示しました。
そして、再々々度ifconfigで確認しました。pingも確認しました。
これでネットワークが使えるので作業が楽になります。
もう一つの方法も紹介しときます。

Gのところです。

# echo '/sbin/modprobe 8139cp' >> /etc/rc.d/rc.modules
# /sbin/depmod -a

先の過程で modprobe していますから,一度 rmmod でモジュールを外し, /etc/rc.d/rc.modules の設定を有効にします。

# /sbin/rmmod 8139cp
# /etc/rc.d/rc.modules restart


こっちの方がわかりやすいかな?


【苦労談トップへ】

サイトトップへ