EN JA
ED(4)
ED(4) FreeBSD Kernel Interfaces Manual ED(4)

名称

edNE-2000 と WD-80x3 イーサネットドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device miibus
device ed

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

if_ed_load="YES"

解説

ed ドライバは、National Semiconductor DS8390 と他の会社によって製造された同様の NIC (訳注: ネットワークインタフェースカード) に基づく 8 と 16 ビットのイーサネットカードのサポートを行ないます。また、 ed ドライバは、PHY への MII を通してインタフェースする多くの PC Card チップもサポートします。 Axiom's AX88790, AX88190 と AX88190A; DLink's DL10019 と DL10022;および Tamarack's TC5299J チップのすべては、内部または外部の MII/PHY の組み合わせをサポートします。 Realtek の PCI と ISA RTL80x9 ベースのカードもサポートされます。これらのチップセットに関して、自動ネゴシエーデョンと状態報告がサポートされています。

標準のポートと IRQ 仕様に加えて、 ed ドライバは、8/16 ビットのモードを強制できる、マルチバッファリングを有効/無効にできる、デフォルトインタフェースタイプを選択できる (AUI/BNC、ツイストペアのカードのための AUI/10BaseT) 多くの flags もサポートします。

flags は、ビットフィールドであり、次のようにまとめられます:

0x01
トランシーバを無効にします。それをサポートするそれらのカードでは、このフラグは、トランシーバを無効にし、AUI がデフォルトで使用されるように接続します。
0x02
強制的に 8 ビットモードにします。カードがどのようにそれ自体を識別するかにかかわらずこのフラグは、強制的にカードを 8 ビットモードにします。これは、8 ビットのインタフェースしか持っていないにもかかわらず、それら自体を 16 ビットと誤識別するいくつかのクーロンのために必要です。このフラグは、強制的な 16 ビットモードより優先します。
0x04
強制的に 16 ビットモードにします。カードがどのようにそれ自体を識別するかにかかわらずこのフラグは、強制的にカードを 16 ビットモードにします。これは、16 ビットのISA インタフェースを持っているにもかかわらず、それら自体を 8 ビットと誤識別するいくつかのクーロンのために必要です。
0x08
マルチバッファリング転送を無効にします。このフラグは、マルチ転送バッファの使用を無効にします。そしてそれは、もう一方の端のマシンが (重大なパケットの機能不全による損失によって証明されるように) 操作できるより速くパケットが送信されるところでたまには必要となるかもしれません。いくつかの (非 FreeBSD :-)) マシンは、ひどいイーサネット性能を持っており、簡単な 1100K+ データ転送速度を処理することができません。このフラグの使用は、また受信のバッファリングの価値があるもうひとつのパケットを提供し、そして、8 ビットのカードでは、これは、受信の機能不全による損失を減少させるのに役立つかもしれません。

3c503 カードを使用するとき、AUI ifconfig(8) (BNC は、デフォルトです) に link2 オプションを指定することによって AUI 接続を選択してもかまいません。

ハードウェア

ed ドライバは、次のイーサネット NIC をサポートします:

  • 3Com 3c503 Etherlink II ( options ED_3C503)
  • AR-P500 Ethernet
  • Accton EN1644 (old model), EN1646 (old model), EN2203 (old model) (110pin) (flags 0xd00000)
  • Accton EN2212/EN2216/UE2216
  • Allied Telesis CentreCOM LA100-PCM_V2
  • Allied Telesis LA-98 (flags 0x000000) (PC-98)
  • Allied Telesis SIC-98, SIC-98NOTE (110pin), SIU-98 (flags 0x600000) (PC-98)
  • Allied Telesis SIU-98-D (flags 0x610000) (PC-98)
  • AmbiCom 10BaseT card (8002, 8002T, 8010 と 8610)
  • Bay Networks NETGEAR FA410TXC Fast Ethernet
  • Belkin F5D5020 PC Card Fast Ethernet
  • Billionton LM5LT-10B Ethernet/Modem PC Card
  • Billionton LNT-10TB, LNT-10TN Ethernet PC Card
  • Bromax iPort 10/100 Ethernet PC Card
  • Bromax iPort 10 Ethernet PC Card
  • Buffalo LPC2-CLT, LPC3-CLT, LPC3-CLX, LPC4-TX, LPC-CTX PC Card
  • Buffalo LPC-CF-CLT CF Card
  • CNet BC40 adapter
  • Compex Net-A adapter
  • Compex RL2000
  • Contec C-NET(98), RT-1007(98), C-NET(9N) (110pin) (flags 0xa00000) (PC-98)
  • Contec C-NET(98)E-A, C-NET(98)L-A, C-NET(98)P (flags 0x300000) (PC-98)
  • Corega Ether98-T (flags 0x000000) (PC-98)
  • Corega Ether PCC-T/EtherII PCC-T/FEther PCC-TXF/PCC-TXD PCC-T/Fether II TXD
  • Corega LAPCCTXD (TC5299J)
  • CyQ've ELA-010
  • DEC EtherWorks DE305
  • Danpex EN-6200P2
  • D-Link DE-298, DE-298P (flags 0x500000) (PC-98)
  • D-Link DE-660, DE-660+
  • D-Link IC-CARD/IC-CARD+ Ethernet
  • ELECOM LD-98P (flags 0x500000) (PC-98)
  • ELECOM LD-BDN, LD-NW801G (flags 0x200000) (PC-98)
  • ELECOM Laneed LD-CDL/TX, LD-CDF, LD-CDS, LD-10/100CD, LD-CDWA (DP83902A)
  • Hawking PN652TX PC Card (AX88790)
  • HP PC Lan+ 27247B と 27252A ( options ED_HPP)
  • IBM Creditcard Ethernet I/II
  • ICM AD-ET2-T, DT-ET-25, DT-ET-T5, IF-2766ET, IF-2771ET, NB-ET-T (110pin) (flags 0x500000) (PC-98)
  • I-O DATA LA/T-98, LA/T-98SB, LA2/T-98, ET/T-98 (flags 0x900000) (PC-98)
  • I-O DATA ET2/T-PCI
  • I-O DATA PCLATE
  • Kansai KLA-98C/T (flags 0x900000) (PC-98)
  • Kingston KNE-PC2, CIO10T, KNE-PCM/x Ethernet
  • KTI ET32P2 PCI
  • Linksys EC2T/PCMPC100/PCM100, PCMLM56
  • Linksys EtherFast 10/100 PC Card, Combo PCMCIA Ethernet Card (PCMPC100 V2)
  • Logitec LAN-98T (flags 0xb00000) (PC-98)
  • MACNICA Ethernet ME1 for JEIDA
  • MACNICA ME98 (flags 0x900000) (PC-98)
  • MACNICA NE2098 (flags 0x400000) (PC-98)
  • MELCO EGY-98 (flags 0x300000) (PC-98)
  • MELCO LGH-98, LGY-98, LGY-98-N (110pin), IND-SP, IND-SS (flags 0x400000) (PC-98)
  • MELCO LGY-PCI-TR
  • MELCO LPC-T/LPC2-T/LPC2-CLT/LPC2-TX/LPC3-TX/LPC3-CLX
  • NDC Ethernet Instant-Link
  • NEC PC-9801-77, PC-9801-78 (flags 0x910000) (PC-98)
  • NEC PC-9801-107, PC-9801-108 (flags 0x800000) (PC-98)
  • National Semiconductor InfoMover NE4100
  • NetGear FA-410TX
  • NetVin NV5000SC
  • Network Everywhere Ethernet 10BaseT PC Card
  • Networld 98X3 (flags 0xd00000) (PC-98)
  • Networld EC-98X, EP-98X (flags 0xd10000) (PC-98)
  • New Media LANSurfer 10+56 Ethernet/Modem
  • New Media LANSurfer
  • Novell NE1000/NE2000/NE2100
  • PLANEX ENW-8300-T
  • PLANEX EN-2298-C (flags 0x200000) (PC-98)
  • PLANEX EN-2298P-T, EN-2298-T (flags 0x500000) (PC-98)
  • PLANEX FNW-3600-T
  • Psion 10/100 LANGLOBAL Combine iT
  • RealTek 8019
  • RealTek 8029
  • Relia Combo-L/M-56k PC Card
  • SMC Elite 16 WD8013
  • SMC Elite Ultra
  • SMC EtherEZ98 (flags 0x000000) (PC-98)
  • SMC WD8003E/WD8003EBT/WD8003S/WD8003SBT/WD8003W/WD8013EBT/WD8013W とクーロン
  • SMC EZCard PC Card, 8040-TX, 8041-TX (AX88x90), 8041-TX V.2 (TC5299J)
  • Socket LP-E, ES-1000 Ethernet/Serial, LP-E CF, LP-FE CF
  • Surecom EtherPerfect EP-427
  • Surecom NE-34
  • TDK 3000/3400/5670 Fast Ethernet/Modem
  • TDK LAK-CD031, Grey Cell GCS2000 Ethernet Card
  • TDK DFL5610WS Ethernet/Modem PC Card
  • Telecom Device SuperSocket RE450T
  • Toshiba LANCT00A PC Card
  • VIA VT86C926
  • Winbond W89C940
  • Winbond W89C940F

C-Bus, ISA, PCI と PC Card デバイスがサポートされています。

ed ドライバは、次のイーサネット NIC をサポートしません:

  • Mitsubishi LAN Adapter B8895 PHY がこのエラーメッセージを生成するチップに必要であるので、これは PC Card アタッチメントでコーディングエラーを示します。

診断

ed%d: failed to clear shared memory at %x - check configuration.
カードがシステムブート時にプローブされたとき、 ed ドライバは、カードの共有メモリをクリアできないことがわかりました。最も一般的には、BIOS の拡張 ROM がイーサネットカードの共有メモリと同じアドレス空間に設定されることが原因です。違反しているカードを見つけて競合していないアドレスになるように BIOS ROM を変更するか、またはカードの共有メモリが競合していないアドレスにマップされるように、 device.hints(5) の設定を変更します。
ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503.
device.hints(5) ファイルで指定された IRQ 番号が、 3Com 3c503 カードには、有効ではありません。 3c503 は、IRQ 2 から 5 までのみ割り当てることができます。
ed%d: Cannot find start of RAM.
ed%d: Cannot find any RAM, start : %d, x = %d.
Gateway カードのプローブでカードのパケットメモリを設定するのに失敗しました。これは、カードが Gateway として不適切に認識されたか、またはカードに欠陥があることをたぶん示しています。
ed: packets buffered, but transmitter idle.
ドライバで論理的な問題を示しています。絶対に起きてはならないことです。
ed%d: device timeout
予期された転送割り込みが発生しなかったことを示しています。通常、ISA バスの他のカードとの割り込み衝突によって起こります。また、カードが実際に使用されているものと異なった IRQ チャネルのためにカーネルが設定されているなら、この状態が起きるかもしれません。もしそうなれば、利用者は、 DOS ユーティリティを使用することでカードを再構成するか、またはカード上に適切にジャンパを設定しなければならないでしょう。
ed%d: NIC memory corrupt - invalid packet length %d.
パケットが IEEE 802.3 規格によって許された最大サイズより大きいかまたは最小サイズより小さいパケットの長さで受信されたことを示しています。通常、ISA バス上の他のカードとの衝突によって起こされましたが、またある場合には、不完全なケーブル布線を示すかもしれません。
ed%d: remote transmit DMA failed to complete.
これは、NE1000 か NE2000 型のカードへのプログラムされた I/O 転送が適切に完了できなかったことを示します。通常、ISA バス速度があまりに速く設定されることによって起こります。
ed%d: Invalid irq configuration (%ld) must be %s for %s
デバイスには、サポートされるか、または予想されるものと異なった IRQ があることを示しています。
ed%d: Cannot locate my ports!
デバイスが、ドライバが知っているのと異なった I/O ポートを使用しています。
ed%d: Cannot extract MAC address
MAC アドレスを取得する試みが、失敗しました。
ed%d: Missing mii!
MII バスのためのプローブが、失敗しました。

歴史

ed デバイスドライバは、 FreeBSD 1.0 ではじめて登場しました。

作者

ed デバイスドライバとこのマニュアルページは、 David Greenman によって書かれました。

警告

初期のリビジョンの DS8390 チップには、問題があります。受信リングバッファオーバフローするときは、いつも動かなくなります。彼らが時折パケットリングヘッダ内の長さフィールドのバイト順を切り換えます (いくつかの異なる原因は、off-by-one バイト整列に関連しています) - “ NIC memory corrupt - invalid packet length” (NIC メモリは、崩壊 -- 無効のパケット長) というメッセージを出力します。これらの問題が起こるときは、いつもカードは、リセットされますが、そうでなければ、これらの状態から回復することに問題は、ありません。

3Com と Novell のカードへの NIC メモリアクセスは、 WD/SMC のカードよりはるかにで遅いです。 8 ビットボードでは、1MB/秒未満で 16 ビットカードでは、 2MB/秒未満です。リングバッファが超過することは、大量なネットワークトラフィックの間にパケットの落下を招く可能性があります。

Mitsubishi B8895 PC Card は、DP83902 を使用していますが、ASIC 部分は、文書化されていません。 NE2000 も WD83x0 ドライバも、このカードで動作していません。

バグ

ed ドライバは、どんな不正なパケットも受信されるときはいつでも、カードをリセットすることに関して少し積極的過ぎます。結果として、それは、受信しているがカードから主メモリに転送していないいくつかの有効なパケットを捨ててしまうかもしれません。

ed ドライバは、今日の基準からすると遅いです。

PC Card アタッチメントは、現時点のみ D-Link DMF650TX LAN/Modem カードのイーサネットポートをサポートします。

ed によってサポートさられたいくつかのデバイスは、 dhclient(8) を開始するために devd(8) によって使用されたリンク状態変更イベントを発生させません。開始しない dhclient(8) に関する問題があり、デバイスが常にネットワークにアタッチされるなら、 /etc/rc.confifconfig_ed0 エントリで“ DHCP”を“ SYNCDHCP”に変更することによって動作する可能性があります。

February 25, 2012 FreeBSD