*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> if_ed (4)              



NAME    [Toc]    [Back]

     ed -- ethernet device driver

SYNOPSIS    [Toc]    [Back]

     device miibus
     device ed

DESCRIPTION    [Toc]    [Back]

     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 Digital
 and SMC, the SMC Ultra, the 3Com 3c503, the Novell NE1000/NE2000 and
     compatible cards, the HP PC Lan+, the RealTek 8029, and the Digital
     Equipment EtherWorks DE305 card.  ISA, PCI and PC Card devices are supported.

     The ed driver uses a unique multi-buffering mechanism to achieve high
     transmit performance.  When using 16bit ISA cards, as high as 97% of the
     theoretical maximum performance of the IEEE 802.3 CSMA ethernet is possible.

     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.

     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 can't 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).

DIAGNOSTICS    [Toc]    [Back]

     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 number
 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.  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

CAVEATS    [Toc]    [Back]

     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 specifying
 flags 0x04 (force 16bit mode) in your kernel config file.  In addition,
 you should also specify iosiz 16384 to take advantage of the extra
     8K of shared memory that 16bit mode provides.

BUGS    [Toc]    [Back]

     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 transfered from the card to
     main memory.

SEE ALSO    [Toc]    [Back]

     arp(4), miibus(4), netintro(4), ng_ether(4), ifconfig(8)

HISTORY    [Toc]    [Back]

     The ed device driver first appeared in FreeBSD 1.0.

AUTHORS    [Toc]    [Back]

     The ed device driver and this manual page were written by David Greenman.

FreeBSD 5.2.1			October 7, 2001 		 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
el FreeBSD Ethernet driver for 3Com Etherlink 3C501 device driver
le FreeBSD DEC EtherWORKS II/III Ethernet device driver
if_de FreeBSD DEC DC21x4x Ethernet device driver
gem FreeBSD ERI/GEM/GMAC Ethernet device driver
de FreeBSD DEC DC21x4x Ethernet device driver
if_gem FreeBSD ERI/GEM/GMAC Ethernet device driver
lc OpenBSD DEC EtherWORKS III Ethernet interfaces device driver
pcn FreeBSD AMD PCnet/PCI fast ethernet device driver
bfe FreeBSD Broadcom BCM4401 Ethernet Device Driver
cdce OpenBSD USB Communication Device Class Ethernet driver
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service