NAME¶
ed
—
NE-2000 and WD-80x3 Ethernet driver
SYNOPSIS¶
To compile this driver into the kernel, place the following lines in your kernel
configuration file:
device miibus
device ed
Alternatively, to load the driver as a module at boot time, place the following
line in
loader.conf(5):
DESCRIPTION¶
The
ed
driver provides support for 8 and
16bit Ethernet cards that are based on the National Semiconductor DS8390 and
similar NICs manufactured by other companies. The
ed
driver also supports many PC Card chips
which interface via MII to a PHY. Axiom's AX88790, AX88190 and AX88190A;
DLink's DL10019 and DL10022; and Tamarack's TC5299J chips all support internal
or external MII/PHY combinations. Realtek's PCI and ISA RTL80x9-based cards
are also supported. For these chipsets, autonegotiation and status reporting
are supported.
In addition to the standard port and IRQ specifications, the
ed
driver also supports a number of
flags
which can force 8/16bit mode,
enable/disable multi-buffering, and select the default interface type
(AUI/BNC, and for cards with twisted pair, AUI/10BaseT).
The
flags
are a bit field, and are summarized
as follows:
0x01
- Disable transceiver. On those cards which support it, this flag causes the
transceiver to be disabled and the AUI connection to be used by
default.
0x02
- Force 8bit mode. This flag forces the card to 8bit mode regardless of how
the card identifies itself. This may be needed for some clones which
incorrectly identify themselves as 16bit, even though they only have an
8bit interface. This flag takes precedence over force 16bit mode.
0x04
- Force 16bit mode. This flag forces the card to 16bit mode regardless of
how the card identifies itself. This may be needed for some clones which
incorrectly identify themselves as 8bit, even though they have a 16bit ISA
interface.
0x08
- Disable transmitter multi-buffering. This flag disables the use of
multiple transmit buffers and may be necessary in rare cases where packets
are sent out faster than a machine on the other end can handle (as
evidenced by severe packet lossage). Some
(non-FreeBSD :-)) machines
have terrible Ethernet performance and simply cannot cope with 1100K+ data
rates. Use of this flag also provides one more packet worth of receiver
buffering, and on 8bit cards, this may help reduce receiver lossage.
When using a 3c503 card, the AUI connection may be selected by specifying the
link2
option to
ifconfig(8) (BNC is the default).
HARDWARE¶
The
ed
driver supports the following Ethernet
NICs:
- 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 and 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 and 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 and
clones
- 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 and PC Card devices are supported.
The
ed
driver does not support the following
Ethernet NICs:
- Mitsubishi LAN Adapter B8895
DIAGNOSTICS¶
- ed%d: failed to clear shared memory at %x - check configuration.
- When the card was probed at system boot time, the
ed
driver found that it could not clear
the card's shared memory. This is most commonly caused by a BIOS extension
ROM being configured in the same address space as the Ethernet card's
shared memory. Either find the offending card and change its BIOS ROM to
be at an address that does not conflict, or change the settings in
device.hints(5) that the card's shared memory
is mapped at a non-conflicting address.
- ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503.
- The IRQ number that was specified in the
device.hints(5) file is not valid for the
3Com 3c503 card. The 3c503 can only be assigned to IRQs 2 through 5.
- ed%d: Cannot find start of RAM.
- ed%d: Cannot find any RAM, start : %d, x = %d.
- The probe of a Gateway card was unsuccessful in configuring the card's
packet memory. This likely indicates that the card was improperly
recognized as a Gateway or that the card is defective.
- ed: packets buffered, but transmitter idle.
- Indicates a logic problem in the driver. Should never happen.
- ed%d: device timeout
- Indicates that an expected transmitter interrupt did not occur. Usually
caused by an interrupt conflict with another card on the ISA bus. This
condition could also be caused if the kernel is configured for a different
IRQ channel than the one the card is actually using. If that is the case,
you will have to either reconfigure the card using a DOS utility or set
the jumpers on the card appropriately.
- ed%d: NIC memory corrupt - invalid packet length %d.
- Indicates that a packet was received with a packet length that was either
larger than the maximum size or smaller than the minimum size allowed by
the IEEE 802.3 standard. Usually caused by a conflict with another card on
the ISA bus, but in some cases may also indicate faulty cabling.
- ed%d: remote transmit DMA failed to complete.
- This indicates that a programmed I/O transfer to an NE1000 or NE2000 style
card has failed to properly complete. Usually caused by the ISA bus speed
being set too fast.
- ed%d: Invalid irq configuration (%ld) must be %s for %s
- Indicates the device has a different IRQ than supported or expected.
- ed%d: Cannot locate my ports!
- The device is using a different I/O port than the driver knows about.
- ed%d: Cannot extract MAC address
- Attempts to get the MAC address failed.
- ed%d: Missing mii!
- Probing for an MII bus has failed. This indicates a coding error in the PC
Card attachment, because a PHY is required for the chips that generate
this error message.
SEE ALSO¶
altq(4),
arp(4),
miibus(4),
netintro(4),
ng_ether(4),
device.hints(5),
ifconfig(8)
HISTORY¶
The
ed
device driver first appeared in
FreeBSD 1.0.
AUTHORS¶
The
ed
device driver and this manual page
were written by
David Greenman.
CAVEATS¶
Early revision DS8390 chips have problems. They lock up whenever the receive
ring-buffer overflows. They occasionally switch the byte order of the length
field in the packet ring header (several different causes of this related to
an off-by-one byte alignment) - resulting in “
NIC
memory corrupt - invalid packet length
” messages. The card is
reset whenever these problems occur, but otherwise there is no problem with
recovering from these conditions.
The NIC memory access to 3Com and Novell cards is much slower than it is on
WD/SMC cards; it is less than 1MB/second on 8bit boards and less than
2MB/second on the 16bit cards. This can lead to ring-buffer overruns resulting
in dropped packets during heavy network traffic.
The Mitsubishi B8895 PC Card uses a DP83902, but its ASIC part is undocumented.
Neither the NE2000 nor the WD83x0 drivers work with this card.
BUGS¶
The
ed
driver is a bit too aggressive about
resetting the card whenever any bad packets are received. As a result, it may
throw out some good packets which have been received but not yet transferred
from the card to main memory.
The
ed
driver is slow by today's standards.
PC Card attachment supports the D-Link DMF650TX LAN/Modem card's Ethernet port
only at this time.
Some devices supported by
ed
do not generate
the link state change events used by
devd(8) to
start
dhclient(8). If you have problems with
dhclient(8) not starting and the device is always
attached to the network it may be possible to work around this by changing
“
DHCP
” to
“
SYNCDHCP
” in the
ifconfig_ed0 entry in
/etc/rc.conf.