=== This file contains Japanese -*- text; coding: euc-jp -*-.

Linux/98 用ネットワークデバイスドライバについて

1. PCIバスに接続するもの

   PCIバスに関しては基本的に98もIBM PCも同じなので、
   すべて使えるはずです。

   <動作確認のあるもの>
     PC-9821RvII26、 PC-9821Ra333 内蔵イーサネットアダプタ
	「EtherExpressPro/100 support」でそのまま動作します。

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

2. Cバスに接続するもの

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

   <カーネルのコンパイル時のコンフィギュレーション>
   NE2000系のドライバを使う場合、まず 'Network device support' メニュー
   で 'NEC PC-9800 C-Bus Ethernet Board' を有効にします。
   その下に5つボードの型番の選択が現れますが、そのうち
     'I-O DATA LA-98 support'
     'Melco LGY-98 / Macnica NE2098 support'
     'Melco EGY-98 support'
   の3つは、起動時に ether= を指定しなかった場合(後述)の挙動が変わるだけです。
   しかし、
     'ICM IF-2766-ET support'
     'Contec CNET-98E/L support'
   は、指定するとこれらのボード「専用」にドライバがチューニングされるため
   他のボードは動作しなくなります。
   通常は上の5つのオプションの中から「どれか1つだけ」を、
   自分の使用するボードにあわせて選択してください。
   複数指定すると(多分)まともに動かなくなります。

   <ether= パラメータについて>
   カーネル起動時に ether= オプションを与えることで、カーネルにイーサ
   ネットボードの設定を教えることができます。ether= オプションの書式は
      ether=IRQ,[I/O,[TYPE,]]DEVICE
   となります。
      IRQ: ボードが使用するIRQです。
           ボードの設定(と、場合によってはINT->IRQ変換表)
           を見て指定してください。
           IRQが不明の場合、0を指定すると自動的に検出を試みますが、
           必ず正しいIRQをとれるとは限りません。
      I/O: ボードが使用するI/Oポート番号です。
           ボードの設定を見て指定してください。
           0を指定するか、省略すると自動的に検出しようとします。
           ただし、自動的に検出できるのはカーネルコンフィギュレーションで
	   明示的に指定したボードだけです。
           (偶然同じポートを使うボードであれば検出できるかもしれませんが)
           また、DEVICEにeth0以外を指定する場合、I/Oアドレスの省略はできま
           せんので 0 を明示的に指定する必要があります。
      TYPE: ボードの型をあらわす番号です。
            以下の表を見て、自分に合った値を設定してください。
            省略すると 0 が指定されたものとみなされます。
      DEVICE: デバイス名です。通常は eth0 になります。
              複数のカードを挿している場合は eth1, eth2, ...
              のように同じデバイスにならないように適当に振り分けてください。

   <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枚目のイーサネットボードの自動検出を試みます

3. PC-9801-108 用ドライバ

   <コンパイル時のコンフィギュレーション>
   i.  'Other ISA Cards' を有効にして、
   ii. 'PC-9801-107/108 support' を Y か M にします

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

   注) 現在のカーネルではCバスイーサネットアダプタの新ドライバでも
       対応しています (いるはずです ^_^;)。次章を参照してください。

4. Cバスイーサネットアダプタの新ドライバ

   2.2.X ベース以降のカーネルでは、Cバスイーサネット用のドライバが新しく
   なりました。

   <新ドライバの特徴>
     ・1つのドライバで C-NET(98)E/L や ICM のボードと他のボードの
       すべてに対応可能
     ・PC-9801-108 に対応
     ・ボードの自動検出を改善
     ・ソースが美しくなった :-)

   <新ドライバのコンフィギュレーション>
   i. 'Network device support' メニューで
      'NEC PC-9800 C-bus ethernet driver' を有効にする
   ii. その下に 'Most NE2000-based Ethernet support'
       という項目があらわれるのでこれを Y か M にする
   iii. その下にボードの型番がいくつか出てくるので、必要なものを選択する
        (メニューに出ている型番と、実際にそれで使えるボードの対応については
        後述します。旧ドライバと異なり、複数指定も可能です)

   <ether= パラメータについて>
   新ドライバでも、旧来のドライバと同様、ether= オプションの3番目の引数で
   型番を指定できますが、指定する番号は旧ドライバと異なります。
   また、カーネルのコンパイル時に選択されなかったボードについては、
   番号を指定しても意味がありませんので注意してください。

   <hwtype オプションについて>
   モジュール化した場合、モジュールに与えるオプションとして hwtype
   が追加されています。hwtype オプションに与える値は、カーネルの
   ether= オプションの3番目の値と同じものです。
   与えなかった場合は自動検出を試みますが、将来のバージョンでは
   指定しないと動作を中断するようになるかもしれません。

   <ボードの自動検出について>
   新ドライバは、旧ドライバより積極的にボードの自動検出を試みます。
   ether= を指定しなかった場合、対応しているすべてのボードについて
   検出を試みます。が、かなりの確率でシステムがハングアップすると
   思いますので、できるだけ ether= でパラメータを指定してください。
   その場合、IRQ,I/O,ボード型のうち不明な部分だけ 0 と指定(あるいは省略)
   しておくと、そこだけ自動的に値を設定しようとします。
   (新ドライバでは、ボード型も自動検出を試みることができます。使いものに
    なるかは保証しませんが)

   <ether= の3番目に与える番号と対応するボードの型番>
   番号 型番(最初のものがカーネルコンフィギュレーションメニューに出ています)
            (最後に ◎ がついているものは、動作確認のとれているもの、
             それ以外は多分対応しているが動作確認はとれていないものです)
   3    Melco EGY-98 ◎
        Contec C-NET(98)E*A/L*A
        Contec C-NET(98)P (P2は非対応です)
   4    Melco LGY-98
        Melco IND-SP,SS
        Macnica NE2098 ◎
   5    ICM IF-27xxET ◎
        PLANET SMART COM 98 EN-2298-T,EN-2298P-T
        D-Link DE-298PT,DE-298PCAT
        ELECOM Laneed LD-98P
   8    NEC PC-9801-108 ◎
   9    I-O DATA LA-98

   (以下は、現在はまだ完全に対応できていないと思いますが、
    多分対応可能と思われるものです。以下に該当するボードをお持ちの方が
    いらっしゃいましたら是非テストにご協力ください)
    
   1    Allied Telesis CentreCom LA-98
   2    ELECOM Laneed LD-BND[123]A
        Macnica ME98
        PLANET SMART COM 98 EN-2298-C
   (7   オリジナル(AT用)のNE2000
        - PCIバスやPCMCIA用にリザーブしてありますが、
          通常ユーザが指定することはありません)

   (構造上は NetBSD/pc98 の ne ドライバで動くものなら多分動く/動かせる
    はずです。 ether= に与える番号は NetBSD/pc98 で与えるフラグ(16進)の
    上1ケタと同じなので参考にしてください)
