前のページ 次のページ 目次

11. ネットワーク

11.1 Betaリリース〜現在までの状況

原文は北川さんのWed, 19 May 1999 20:30:26 JST, bugs ML 1940

北川拓郎@京大マイコンクラブ(KMC)です。

Linux/98 でのネットワークボードに関する README を流します。

これは、

  2.2.5 Rev.001 で Documentation/networking/PC9800.txt
  2.1.57 Rev.018 で drivers/net/README.PC98

という名前で入っているファイルの最新版です。
Linux/98 用ネットワークデバイスドライバについて

PCIバスに接続するもの

   PCIバスに関しては基本的に98もIBM PCも同じなので、
   すべて使えるはずです。
  <動作確認のあるもの>
     PC-9821RvII26 オンボードイーサ
     PC-9821Ra333 オンボードイーサ : 共に EtherExpressPro/100

   ただし、PCI接続のNE2000コンパチボード(PCI NE2000 support/ne2k-pci.c)
   については(動作確認してませんが多分)コンパイルできなくなってると思います。
   (これも動作確認してませんが多分)後述の
Cバスイーサの新ドライバ
   で対応しているので、そちらを使ってみてください。

Cバスに接続するもの

動作確認のとれているボードについては HCL
( http://www.kuis.kyoto-u.ac.jp/~kmc/proj/linux98/hcl/) を参照して
ください。

<カーネルコンフィグ>


<ether= パラメータについて>

カーネル起動時に ether= オプションを与えることで、カーネルにイーサ
ネットボードの設定を教えることができます。ether= オプションの書式は

ether=IRQ,[I/O,[TYPE,]]DEVICE
となります。

IRQ:

ボードが使用するIRQです。
ボードの設定(と、場合によってはINT->IRQ変換表) を見て指定してください。 IRQが不明の場合、0を指定すると自動的に検出を試みますが、 必ず正しいIRQをとれるとは限りません。

INT->IRQ変換表(の一部です)

       INT  ->  IRQ
        0        3
        1        5
        2        6
        41      10
        5       12

I/O:

ボードが使用するI/Oポート番号です。
ボードの設定を見て指定してください。 0を指定するか、省略すると自動的に検出しようとします。 ただし、自動的に検出できるのはカーネルコンフィグで明示的に指定 したボードだけです。 (偶然同じポートを使うボードであれば検出できるかもしれませんが) また、DEVICEにeth0以外を指定する場合、I/Oアドレスの省略はできませんので 0 を明示的に指定する必要があります。

TYPE:

ボードの型をあらわす番号です。
以下の表を見て、自分に合った値を設定してください。 省略すると 0 が指定されたものとみなされます。

DEVICE:

デバイス名です。通常は eth0 になります。
複数のボードを挿している場合は eth1, eth2, ... のように同じデバイスにならないように適当に振り分けてください。
(編追記 ether=0,0,eth0 ether=0,0,eth1 1,2枚それぞれについて指定できます)


<ether= の3番目の値と対応するボードの対応>

0. デフォルト(何になるかはカーネルコンフィグの設定によります)

  1. I-O DATA LA-98
  2. Melco LGY-98, Macnica NE2098
  3. Melco EGY-98
  4. ICM IF-27xx-ET
  5. Contec C-NET98E/L

  <ether= の指定例>
      ether=3,0xd0,3,eth0  : EGY-98 を使う場合の完全な指定方法です
      ether=0,0xd0,3,eth0  : IRQ だけ自動的に検出しようとします
      ether=0,0,4,eth0     : ICMのボード(及び同タイプのボード)
                             を自動検出しようとします
      ether=0,0xd0,eth0    : I/Oアドレス 0xd0 にある何がしかのイーサネット
                             ボードの自動検出を試みます
      ether=0,0,eth1       : 2枚目のイーサネットボードの自動検出を試みます

PC-9801-108 用ドライバ

<カーネルコンフィグ>

  1. 'Other ISA Cards' を有効にして、
  2. 'PC-9801-107/108 support' を Y か M にします

<ether= パラメータについて>

   I/OポートとIRQは自動的に取得されるので、
   (2枚目以降のボードとして使用しない限り)指定する必要はありません。

   注) Rev.018より古いバージョンのドライバでは、
         ・モジュールにしかできず、カーネルに組み込むことはできません
         ・デバイス名が eth? ではなく nec108 になります
           ので、注意してください。
           デバイス名を eth? にするパッチは bugs MLで公
           開されました。
        

Cバスイーサの新ドライバ

2.2.X ベースのカーネルでは、Cバスイーサネット用のドライバが新しく なりました。 この新ドライバは、2.1.57 ベースのβ17以降にも取り込まれています。

<新ドライバの特徴>

<新ドライバのカーネルコンフィグのしかた(2.1.57)>

2.1.57 ベースのカーネルでは、通常は旧来のドライバしか選択できないように なっています。 2.1.57 β17以降において新ドライバを使用するには、カーネルコンフィグ (make menuconfig等) で以下の手順をふんでください。

  1. 'Code maturity level options' メニューで
    'Prompt for development and/or incomplete code/drivers' を Y にして
  2. 'Network device support' メニューで
    'NEC PC-9800 C-Bus Ethernet Board' (旧来のドライバです) を N にする
  3. 'NEW NEC PC-9800 C-bus ethernet driver (EXPERIMENTAL)' という項目が
    あらわれるのでこれを Y か M にする
  4. その下に 'Most NE2000-based Ethernet support'
    という項目があらわれるのでこれを Y か M にする
  5. その下にボードの型番がいくつか出てくるので、必要なものを選択する
    (メニューに出ている型番と、実際にそれで使えるボードの対応については後述します。旧ドライバと異なり、複数指定も可能です)

モジュール化せず、カーネルに組込む場合は旧来のものとどちらか一方のみ
選択できます。両方選択した場合はコンパイルできません。
片方は組込みで片方がモジュール、あるいは両方をモジュールにすると
コンパイルは通るかもしれませんが、動作は保証できません。 モジュール化した場合、8390.o/ne.oが新ドライバの、 8390_pc9800.o/ne_pc9800.o が旧ドライバのモジュールになります。

メールからの引用 ここまで

Rev.18が収録されたCDはまだ書店では入手できません。 (1999.8.末日現在) 2.2.Xベースのコンフィグについては HOWTO から外れるため 省略します。 詳しくはパッケージ内の READMEをみてください。

(β16以前)インストール時点でサポートされるボード

雑誌あるいはインストールキットに付録のCDから インストールする場合,“再構築せずに”使えるCバスイーサネットボードは
どのカーネルイメージを選択したかで決まります。

Plamo Linux/98 beta おすすめパッケージ

デフォルトカーネルの SCSI あるいは IDE:

1 I-O DATA LA-98
2 Melco LGY-98, Macnica NE2098
3 Melco EGY-98
が使えます。

デフォルトカーネルの NOTE:

どのボードも使えません。PCMCIAカードが使えます。

1.25MBフロッピーを用意し起動用に scsi55.img を選択,bootdskで読みこみ の場合:

ネットワーク機能なし。再構築が必要。(CD1.4.1ではbootdsk -1.25を選択 しても読み込みは出来なくなっています)

scsinet.imgを選択,bootdskで読みこみの場合:

1 I-O DATA LA-98
2 Melco LGY-98, Macnica NE2098
3 Melco EGY-98
が使えます。

scsinet2.imgを選択,bootdskで読みこみの場合:

4 ICM IF-27xxET 専用

scsinet3.imgを選択,bootdskで読みこみの場合:

5 Contec CNET(98)E/L 専用

上記のうち,CDのバージョンによっては選択できないもの もあります。
どうしてもインストール時にネットワーク機能が必要だ,との 声に応えて山下さん,梶原さんによる私家版のカーネルイメージもMLでは公開されています。イーサネットボードの 型番に合わせて scsinet2がscsinet4.imgに,scsinet3がscsinet5.imgという名前で 入手できます。

(Rev.18)新ドライバの第3パラメータhwtype

旧ドライバでサポートされていたボードの型をあらわす 番号は以下のように変わりました。ほかにも bugs ML で動作 の確認があったものを挙げてみました。

  1. ELECOM Laneed LD-BDN3W
  2. Melco EGY-98
  3. Melco LGY-98, Macnica NE2098
  4. ICM IF-27xx-ET, Laneed LD-98PT
  5. NEC PC-9801-108
  6. I-O DATA LA-98
  7. Contec C-NET98E/L

(Rev.18,β17)新ドライバの第4パラメータ

ELECOM Laneed LD-BDN3W,LD-98PT では
,eth0 の所を ,0xbad,eth0
のようにパラメータを追加します。(バッドクローン指定)


                            (no reset ack)
起動中に上記の文字が出ていたならこのオプションを試してみると良いかもしれません。

Contec C-NET98E-11 もこのパラメータを必要とする場合があるようです。 (bugs ML 2226)

11.2 質問と回答編

NFS mount しようとすると警告が出るのですが?(Slackware 3.4など)

[回答]
98で Linux を立ち上げるときに、 NFS のマウントを実行する部分で
変なメッセージが出て時間がかかっていましたが、 /bin/mount を
再コンパイルしたらあっさり直ってしまいました。

調べてみたところ、2.0系と2.1系でNFSのバージョンが違うことが分かりました
(NFS_MOUNT_VERSION at <linux/nfs_mount.h>)。

そーゆーわけで、 2.0系と2.1系では mount を共用できないという
貴重な教訓を得ました。

[投稿者] 高井さん

IP forwarding

[Item] ether, ip_forward

[投稿者] こじまさん
[日付] Wed, 15 Jul 1998 00:35:02 JST
[質問]
ちょっと確認なんですが、Linux/98 で IP forwarding ってできます?

この前、自宅の Epson 98 Note AT で PCMCIA のモデムカードとイーサネット カードを挿して PPP の GW にしようとしたんだけど、ipfwadm であれこれ設 定しても 2 つのインターフェイス間でパケットが通りませんでした。

もしかしたらカーネルの設定を間違えてたり、必要なツー