今井です。解決しました(まだ、完全にでは無いですが)。報告いたします。
まず、問題を単純化するために、NICをRTL8139のみにして、Yahoo!BBに接続を試
みました。尹 忠秀さんのご指摘のように、
#dhcpcd -DB
としてdhcpcdをオプションを付けて実行したところ、ちゃんとIPを取得して問題
なく接続できるようになりました。NETGEARのFA311単体でも試したところ、同じ
ように問題なく接続できました。次にNICを2枚にして以下のような構成で接続を
試みました。
eth0 RTL8139 = 8139too -> BBモデムへ
eth1 NETGEAR FA311 = natsemi -> ローカルIP 起動時に稼働
/etc/modules.confの内容は以下の通りです。
alias eth0 8139too
alias eth1 natsemi
ところが、この状態で起動すると、eth0のモジュールが読み込まれず、eth1の
natsemiがeth0として認識されてしまいます。
ifconfig -a の結果は以下の通りです。
eth0 リンク方法:イーサーネット ハードウェアアドレス
00:02:E3:23:84:D7
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
割り込み:5 ベースアドレス:0x7000
/proc/pciの内容は以下の通り。
Ethernet controller: National Semiconductor Corporation DP83815
(MacPhyter)
Ethernet Controller (rev 0).
IRQ 5.
Master Capable. Latency=32. Min Gnt=11.Max Lat=52.
I/O at 0xe400 [0xe4ff].
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 16).
IRQ 11.
Master Capable. Latency=32. Min Gnt=32.Max Lat=64.
I/O at 0xec00 [0xecff].
見てのとおり、IRQからnatsemiの方がeth0になってしまい、RTL8139は認識され
ていません。この状態で
#modprobe 8139too
として、rtl8139tooを認識させると、
eth1 リンク方法:イーサーネット ハードウェアアドレス
00:50:FC:4C:95:E2
inetアドレス:192.168.0.3 ブロードキャスト:192.168.0.255 マスク
:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:571 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:100
RX bytes:34892 (34.0 Kb) TX bytes:240 (240.0 b)
割り込み:11 ベースアドレス:0xec00
となり、eth1がrtl8139になってしまうため、この状態で
#dhcpcd -DB
をしても当然eth0のnatsemiにはBBモデムはつながってないのでIPを取得できる
はずもない、ということです。rtl8139のドライバの問題かと思い、rtl8139と
natsemiを入れ替えて、最初にeth0 = natsemi eth1 = 8139too
として試してみましたが全く同じようになりました。どうも、dhcpでIPを取得さ
せる方のモジュールがうまく起動時に読み込まれないようです。1枚しかNICをさ
していないときは問題なく起動時にモジュールを読み込むので2枚になるとどう
して上手くいかないのかよく分かりませんが、この辺り詳しい方がいらっしゃい
ましたら伺ってみたいです。とりあえず、つながるようになりました。多くのア
ドバイスを頂き、本当にありがとうございました。大変長文になってしまい申し
訳ありませんが報告です。