[17405]  LinuxでNICが使えない
投稿者:YASAI さん   2001-08-14 02:02:44
はじめまして、YASAIと申します。
いろいろやってみたのですが、どうしてもNICが使えるようになりません。

使用Distributionは、Vine Linux 2.1.5 ( Kernel 2.2.18-0vl4.2) です。
使用NICは、3Com Etherlink 3c905C-TXです。

#dmesg
3c59x.c 15Sep00 Donald Becker and others http://www.scyld.com/network/vortex.html
eth0: 3Com 3c905C Tornado at 0xd000, 00:01:03:39:06:17, IRQ 11
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
MII transceiver found at address 1, status 24.
MII transceiver found at address 2, status 24.
Enabling bus-master transmits and whole-frame receives.

#ifconfig eth0
eth0 リンク方法:イーサーネット ハードウェアアドレス 00:01:03:39:06:17
BROADCAST MULTICAST MTU:1500 Metric:1
RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:100
割り込み:11 ベースアドレス:0xd000

netcfg で、eth0は、DHCPでアドレスをもらわないように設定しています。

一見、正しくNICを認識しているように見えますが
rootでログインして、ifconfig eth0 192.168.2.100 とIPを振り、他のマシン
(IP 192.168.2.1)に、PINGを飛ばしてみると、"Host unreachable" となって通信できませんでした。

そこでDriverがおかしいと思い、
# rmmod 3c59x ; insmod 3c90x
と3c90xというDriverをロードすると、PINGが通るようになりました。

そこで、/etc/conf.modules を以下のように書き換えました。
alias eth0 3c90x
これで、起動時に3c90xがロードされるはずなのですが、ロードされません。

手動で、毎回3c59xをアンロードして、3c90xをロードしてもいいのですが、
Root権限が必要だし、ちょっと面倒です。

うまい方法は、ないでしょうか。
  1. ゆみづき さん   2001-08-14 06:56:08
    起動時に、
    # rmmod 3c59x ; insmod 3c90x
    この処理をするようにすれば良いのでは??
    例えば、
    # echo 'rmmod 3c59x ; insmod 3c90x' >> /etc/rc.local
    のようにすれば、いいと思うのだけど・・・。
    ダメかな?