- PR -

NICを2つ認識させるには?

投稿者投稿内容
diru
会議室デビュー日: 2003/04/29
投稿数: 9
投稿日時: 2003-06-15 19:24
はじめまして、ネットワーク絡みで困っております。
ちなみにLinux初心者です。

OS : Turbo Linux Server 6.5
MACHINE : COMPAQ Deskpro ENSF 6600

Windows Cliantと繋ぎ、WindowsマシンからのPINGは正常にできます。
(ping turbo はOK)
逆にTurbo Linux ServerからのPINGはパケットがloss 90%となってしまいます。
(ping windows は 90%loss)

turbo側のNICを疑い、新しくLANボードを設置することにしました。

既存NIC eth0 内蔵タイプ  ドライバ e100
新規NIC eth1 corega Ether PCI-TL ドライバ ne2k-pci

本を参考に以下の手順を行いました。
新規NICを設置後、
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth1

ifcfg-eth0 IPADDR=192.168.0.4
ifcfg-eth1 IPADDR=192.168.0.5に変更

/etc/modules.conf に 以下の行を追加しました。
alias eth1 ne2k-pci
options ne2k-pci io=0x220 irq=9 <--この行は本の記述そのままです。

/etc/hosts に以下の行を追加しました。
192.168.0.4 turbo <--元々記述してます。
192.168.0.5 turbo2

リブートしifconfigで確認しましたが、
eth1が認識されていません。
どうすれば認識できるようになるのでしょうか。
博識の方、教えて頂けませんか。長文失礼いたします。
take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2003-06-16 09:28
ハード弱いのであんまりいいアドバイスは出来ませんが
/etc/modules.confの追加した行を消してしまって

# /etc/init.d/kudzu restart

でどうでしょうか?
kudzuはハードウェアを認識してくれるプログラムです。

これでダメならばTurboのページに行って
該当するドライバを/etc/modules.confに書き込めばOKではないでしょうか?
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-06-16 11:59
lspciで、まずNICが正しく認識されてるか確認後、lsmodで、ne2k-pciがロードされているか確認してください。
恐らく、ne2k-pciはロードされていないはずなので、modprobe eth1でロードしたときに、エラーが出ないか確認してみてください。
その後、ifconfig -aで、eth1が認識されてるか確認して、eth1をupにすれば良いでしょう。

diru
会議室デビュー日: 2003/04/29
投稿数: 9
投稿日時: 2003-06-17 23:46
takeさんレスありがとうございます。

># /etc/init.d/kudzu restart

手動設定する前にこの方法は試しました。
Checking for new hardware...
の後プロンプトに戻り、/etc/modules.confは何も書き込まれませんでした。


t-wataさんレスありがとうございます
>lspciで、まずNICが正しく認識されてるか確認後、

01:02:0 Ethernet controller : Intel Corporation 〜
01:08:0 Ethernet controller : Applied Micro Circuits Corporation : UnKnown device 8029
と出ます。

>lsmodで、ne2k-pciがロードされているか確認してください。
>恐らく、ne2k-pciはロードされていないはずなので、
ロードはされていませんでした。

>modprobe eth1でロードしたときに、エラーが出ないか確認してみてください。

invalid parameter parm_io とエラーが出ます。


本の記述ではinsmod ドライバ名 とありましたが、これをしても
unresolved symbol ei_open
unresolved symbol ethdev_init
unresolved symbol ei_interrupt
unresolved symbol NS8390_init
unresolved symbol ei_close

とエラーでます。

他にどのような対応方法があるでしょうか?

Izumi, Y.
ベテラン
会議室デビュー日: 2002/03/19
投稿数: 77
お住まい・勤務地: 東京
投稿日時: 2003-06-18 04:49
invalid parameter parm_io というのは、
コード:
options ne2k-pci io=0x220 irq=9


という行の io=... という部分にエラーがあるという意味です(多分)。

この行全体を削除したらどうなりますか。


[ メッセージ編集済み 編集者: IZUMI Yusuke 編集日時 2003-06-18 04:50 ]
田中ねこた
会議室デビュー日: 2003/06/06
投稿数: 8
投稿日時: 2003-06-18 09:46
普通ですと、pciデバイスのモジュールはirqとioportの設定を明示的に指定しなくても
インターフェース名とドライバの関係をaliasで指定するだけでmodprobe時に安全に
irqとioportの値を自動認識すると思います。
今回の場合の、ne2k-pciのようなドライバならなおさら自動取得が可能だと思うのですが…

試しに、ne2k-pciのoptionsの行をコメントアウトしてmodprobeしてみては?

また、自分はTurboLinuxは良くわからないのですが、
REDHATでは/proc直下にpciというファイルが在り、それをmoreすると現在挿っている
pciカードを自動認識した一覧が見られるのですが、もしTurboにも/procにpciファイルがあるなら
そこから実irqとioportを参照しても良いかと思います。

(pciカードにirqとioportを指定する事は、pciカードというものが時と場合で
irqとioportが可変する仕組みの物である為、余りお勧めできません。)
diru
会議室デビュー日: 2003/04/29
投稿数: 9
投稿日時: 2003-06-23 02:22
IZUMI Yusukeさん
田中ねこたさん レスありがとうございます。
土日使って試行錯誤してみました。
>試しに、ne2k-pciのoptionsの行をコメントアウトしてmodprobeしてみては?
no useable card found no driver found と出ました。

>REDHATでは/proc直下にpciというファイルが在り、それをmoreすると現在挿っている
>pciカードを自動認識した一覧が見られるのですが
pciファイルはありました。自動認識はされていません。
ethnet controllerはINTELの内蔵タイプのものだけでした。

今回挿したNICは他マシンで使用していたものです。(同じくTURBO)
挿したときに壊れたのかなと思い、再び他マシンに挿してみましたが認識できました。
とすると、これはPCIバスのハードウェアが壊れているということでしょうか?
もちろん、きちんと挿しているつもりなんですが・・・。
他に見落としていることはあるでしょうか?
鍋太郎
常連さん
会議室デビュー日: 2003/01/21
投稿数: 20
お住まい・勤務地: いなか
投稿日時: 2003-06-23 09:37
私が以前遭遇した状況と似ているように思います。

数年前に購入したcoregaの10BASE-T PCIカード(型番失念NE2000互換)を、
kernel2.2.*で使用した際に、ne2k-pciドライバでは認識できず、
neドライバで認識しました。
2年ほどしてkernel2.4.*に乗せ変えた際に、今度はneドライバでは認識できずに、
ne2k-pciドライバに変更したら認識しました。

turbo Linux server 6.5のカーネルバージョンが判りませんが、
一度試されたらいかがでしょう?

なお、パラメータは自動認識でいけたと思います。

スキルアップ/キャリアアップ(JOB@IT)