Интерактивная система просмотра системных руководств (man-ов)
if_ed (4)
>> if_ed (4) ( FreeBSD man: Специальные файлы /dev/* )
BSD mandoc
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 miibusdevice ed
Alternatively, to load the driver as a
module at boot time, place the following line in
loader.conf5:
if_ed_load="YES"
DESCRIPTION
The
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
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.
For these chipsets, autonegotiation and status reporting are supported.
The
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
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- Fx :-)) 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).
C-Bus, ISA, PCI and PC Card devices are supported.
DIAGNOSTICS
"ed%d: failed to clear shared memory at %x - check configuration."
When the card was probed at system boot time, the
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.hints5
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.hints5
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.
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
Qq Li 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.
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.
The
device driver and this manual page were written by
An David Greenman .
BUGS
The
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
PC Card attachment supports the D-Link DMF650TX LAN/Modem card's Ethernet
port only at this time.