DragonFly On-Line Manual Pages
ED(4) DragonFly/i386 Kernel Interfaces Manual ED(4)
NAME
ed -- NE-2000 and WD-80x3 ethernet device driver
SYNOPSIS
device miibus
device ed
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.
It supports all 80x3 series ethernet cards manufactured by Western Digi-
tal and SMC, the SMC Ultra, the 3Com 3c503, the Novell NE1000/NE2000 and
compatible cards, the HP PC Lan+ and the Digital Equipment EtherWorks
DE305 card. PCI and PC Card devices are supported.
The ed driver uses a unique multi-buffering mechanism to achieve high
transmit performance.
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/dis-
able multi-buffering, and select the default interface type (AUI/BNC, and
for cards with twisted pair, AUI/10BaseT).
When using a 3c503 card, the AUI connection may be selected by specifying
the link2 option to ifconfig(8) (BNC is the default).
DIAGNOSTICS
ed%d: kernel configured irq %d doesn't match board configured irq %d.
The IRQ number that was specified in the kernel config file (and then
compiled into the kernel) differs from the IRQ that has been set on the
interface card.
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 doesn't conflict, or change the
iomem option in the kernel config file so 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 num-
ber that was specified in the kernel config 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
didn't occur. This condition could also be caused if the kernel is con-
figured 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.
ed%d: remote transmit DMA failed to complete. This indicates that a pro-
grammed I/O transfer to an NE1000 or NE2000 style card has failed to
properly complete.
SEE ALSO
arp(4), ifmedia(4), miibus(4), netintro(4), ng_ether(4), 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's 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.
16bit Compex cards identify themselves as being 8bit. While these cards
will work in 8bit mode, much higher performance can be achieved by speci-
fying flags 0x04 (force 16bit mode) in your kernel config file. In addi-
tion, you should also specify iosiz 16384 to take advantage of the extra
8K of shared memory that 16bit mode provides.
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.
DragonFly 4.1 October 28, 1995 DragonFly 4.1