16d78bb878
Spotted by: marius Discussed with: ru
405 lines
12 KiB
Groff
405 lines
12 KiB
Groff
.\"
|
|
.\" Copyright (c) 1994, David Greenman
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by David Greenman.
|
|
.\" 4. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd October 5, 2005
|
|
.Dt ED 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm ed
|
|
.Nd "NE-2000 and WD-80x3 Ethernet driver"
|
|
.Sh SYNOPSIS
|
|
To compile this driver into the kernel,
|
|
place the following lines in your
|
|
kernel configuration file:
|
|
.Bd -ragged -offset indent
|
|
.Cd "device miibus"
|
|
.Cd "device ed"
|
|
.Ed
|
|
.Pp
|
|
Alternatively, to load the driver as a
|
|
module at boot time, place the following line in
|
|
.Xr loader.conf 5 :
|
|
.Bd -literal -offset indent
|
|
if_ed_load="YES"
|
|
.Ed
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
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
|
|
.Nm
|
|
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.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
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.
|
|
.Pp
|
|
In addition to the standard port and IRQ specifications, the
|
|
.Nm
|
|
driver also supports a number of
|
|
.Cd 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).
|
|
.Pp
|
|
The
|
|
.Cd flags
|
|
are a bit field, and are summarized as follows:
|
|
.Bl -tag -width indent
|
|
.It Li 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.
|
|
.It Li 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.
|
|
.It Li 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.
|
|
.It Li 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
|
|
.No ( non- Ns 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.
|
|
.El
|
|
.Pp
|
|
When using a 3c503 card, the AUI connection may be selected by specifying the
|
|
.Cm link2
|
|
option to
|
|
.Xr ifconfig 8
|
|
(BNC is the default).
|
|
.Sh HARDWARE
|
|
The
|
|
.Nm
|
|
driver supports the following Ethernet NICs:
|
|
.Pp
|
|
.Bl -bullet -compact
|
|
.It
|
|
3Com 3c503 Etherlink II
|
|
.Pq Cd "options ED_3C503"
|
|
.It
|
|
AR-P500 Ethernet
|
|
.It
|
|
Accton EN1644 (old model), EN1646 (old model), EN2203 (old model) (110pin)
|
|
(flags 0xd00000)
|
|
.It
|
|
Accton EN2212/EN2216/UE2216
|
|
.It
|
|
Allied Telesis CentreCOM LA100-PCM_V2
|
|
.It
|
|
Allied Telesis LA-98 (flags 0x000000) (PC-98)
|
|
.It
|
|
Allied Telesis SIC-98, SIC-98NOTE (110pin), SIU-98 (flags 0x600000) (PC-98)
|
|
.It
|
|
Allied Telesis SIU-98-D (flags 0x610000) (PC-98)
|
|
.It
|
|
AmbiCom 10BaseT card
|
|
.It
|
|
Bay Networks NETGEAR FA410TXC Fast Ethernet
|
|
.It
|
|
Belkin F5D5020 PC Card Fast Ethernet
|
|
.It
|
|
Billionton LM5LT-10B Ethernet/Modem PC Card
|
|
.It
|
|
Bromax iPort 10/100 Ethernet PC Card
|
|
.It
|
|
Bromax iPort 10 Ethernet PC Card
|
|
.It
|
|
Buffalo LPC2-CLT, LPC3-CLT, LPC3-CLX, LPC4-TX PC Card
|
|
.It
|
|
CNet BC40 adapter
|
|
.It
|
|
Compex Net-A adapter
|
|
.It
|
|
Contec C-NET(98), RT-1007(98), C-NET(9N) (110pin) (flags 0xa00000) (PC-98)
|
|
.It
|
|
Contec C-NET(98)E-A, C-NET(98)L-A, C-NET(98)P (flags 0x300000) (PC-98)
|
|
.It
|
|
Corega Ether98-T (flags 0x000000) (PC-98)
|
|
.It
|
|
Corega Ether PCC-T/EtherII PCC-T/FEther PCC-TXF/PCC-TXD
|
|
.It
|
|
Corega LAPCCTXD (TC5299J)
|
|
.It
|
|
CyQ've ELA-010
|
|
.It
|
|
DEC EtherWorks DE305
|
|
.It
|
|
Danpex EN-6200P2
|
|
.It
|
|
D-Link DE-298, DE-298P (flags 0x500000) (PC-98)
|
|
.It
|
|
D-Link DE-650/660
|
|
.It
|
|
D-Link IC-CARD/IC-CARD+ Ethernet
|
|
.It
|
|
ELECOM LD-98P (flags 0x500000) (PC-98)
|
|
.It
|
|
ELECOM LD-BDN, LD-NW801G (flags 0x200000) (PC-98)
|
|
.It
|
|
ELECOM Laneed LD-CDL/TX, LD-CDF, LD-CDS, LD-10/100CD, LD-CDWA (DP83902A)
|
|
.It
|
|
Hawking PN652TX PC Card (AX88790)
|
|
.It
|
|
HP PC Lan+ 27247B and 27252A
|
|
.Pq Cd "options ED_HPP"
|
|
.It
|
|
IBM Creditcard Ethernet I/II
|
|
.It
|
|
ICM AD-ET2-T, DT-ET-25, DT-ET-T5, IF-2766ET, IF-2771ET, NB-ET-T (110pin)
|
|
(flags 0x500000) (PC-98)
|
|
.It
|
|
I-O DATA LA/T-98, LA/T-98SB, LA2/T-98, ET/T-98 (flags 0x900000) (PC-98)
|
|
.It
|
|
I-O DATA ET2/T-PCI
|
|
.It
|
|
I-O DATA PCLATE
|
|
.It
|
|
Kansai KLA-98C/T (flags 0x900000) (PC-98)
|
|
.It
|
|
Kingston KNE-PC2, CIO10T, KNE-PCM/x Ethernet
|
|
.It
|
|
Linksys EC2T/PCMPC100/PCM100, PCMLM56
|
|
.It
|
|
Linksys EtherFast 10/100 PC Card, Combo PCMCIA Ethernet Card (PCMPC100 V2)
|
|
.It
|
|
Logitec LAN-98T (flags 0xb00000) (PC-98)
|
|
.It
|
|
MACNICA Ethernet ME1 for JEIDA
|
|
.It
|
|
MACNICA ME98 (flags 0x900000) (PC-98)
|
|
.It
|
|
MACNICA NE2098 (flags 0x400000) (PC-98)
|
|
.It
|
|
MELCO EGY-98 (flags 0x300000) (PC-98)
|
|
.It
|
|
MELCO LGH-98, LGY-98, LGY-98-N (110pin), IND-SP, IND-SS (flags 0x400000) (PC-98)
|
|
.It
|
|
MELCO LGY-PCI-TR
|
|
.It
|
|
MELCO LPC-T/LPC2-T/LPC2-CLT/LPC2-TX/LPC3-TX/LPC3-CLX
|
|
.It
|
|
NDC Ethernet Instant-Link
|
|
.It
|
|
NEC PC-9801-77, PC-9801-78 (flags 0x910000) (PC-98)
|
|
.It
|
|
NEC PC-9801-107, PC-9801-108 (flags 0x800000) (PC-98)
|
|
.It
|
|
National Semiconductor InfoMover NE4100
|
|
.It
|
|
NetGear FA-410TX
|
|
.It
|
|
NetVin 5000
|
|
.It
|
|
Network Everywhere Ethernet 10BaseT PC Card
|
|
.It
|
|
Networld 98X3 (flags 0xd00000) (PC-98)
|
|
.It
|
|
Networld EC-98X, EP-98X (flags 0xd10000) (PC-98)
|
|
.It
|
|
New Media LANSurfer 10+56 Ethernet/Modem
|
|
.It
|
|
New Media LANSurfer
|
|
.It
|
|
Novell NE1000/NE2000/NE2100
|
|
.It
|
|
PLANEX ENW-8300-T
|
|
.It
|
|
PLANEX EN-2298-C (flags 0x200000) (PC-98)
|
|
.It
|
|
PLANEX EN-2298P-T, EN-2298-T (flags 0x500000) (PC-98)
|
|
.It
|
|
PLANEX FNW-3600-T
|
|
.It
|
|
Psion 10/100 LANGLOBAL Combine iT
|
|
.It
|
|
RealTek 8029
|
|
.It
|
|
Relia Combo-L/M-56k PC Card
|
|
.It
|
|
SMC Elite 16 WD8013
|
|
.It
|
|
SMC Elite Ultra
|
|
.It
|
|
SMC EtherEZ98 (flags 0x000000) (PC-98)
|
|
.It
|
|
SMC WD8003E/WD8003EBT/WD8003S/WD8003SBT/WD8003W/WD8013EBT/WD8013W and clones
|
|
.It
|
|
SMC EZCard PC Card, 8040-TX, 8041-TX, 8041-TX V.2
|
|
.It
|
|
Socket LP-E, ES-1000 Ethernet/Serial, LP-E CF, LP-FE CF
|
|
.It
|
|
Surecom EtherPerfect EP-427
|
|
.It
|
|
Surecom NE-34
|
|
.It
|
|
TDK 3000/3400/5670 Fast Etherenet/Modem
|
|
.It
|
|
TDK LAK-CD031, Grey Cell GCS2000 Ethernet Card
|
|
.It
|
|
TDK DFL5610WS Ethernet/Modem PC Card
|
|
.It
|
|
Telecom Device SuperSocket RE450T
|
|
.It
|
|
VIA VT86C926
|
|
.It
|
|
Winbond W89C940
|
|
.El
|
|
.Pp
|
|
C-Bus, ISA, PCI and PC Card devices are supported.
|
|
.Sh DIAGNOSTICS
|
|
.Bl -diag
|
|
.It "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.
|
|
.It "ed%d: failed to clear shared memory at %x - check configuration."
|
|
When the card was probed at system boot time, the
|
|
.Nm
|
|
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
|
|
.Cd iomem
|
|
option in the kernel config file so that the card's shared memory is mapped at a
|
|
non-conflicting address.
|
|
.It "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.
|
|
.It "ed%d: Cannot find start of RAM."
|
|
.It "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.
|
|
.It "ed: packets buffered, but transmitter idle."
|
|
Indicates a logic problem in the driver.
|
|
Should never happen.
|
|
.It "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.
|
|
.It "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.
|
|
.It "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.
|
|
.El
|
|
.Sh 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.
|
|
.Pp
|
|
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.
|
|
.Pp
|
|
16bit Compex cards identify themselves as being 8bit.
|
|
While these cards will
|
|
work in 8bit mode, much higher performance can be achieved by specifying
|
|
.Cd "flags 0x04"
|
|
(force 16bit mode) in your kernel config file.
|
|
In addition, you should also specify
|
|
.Cd "iosiz 16384"
|
|
to take advantage of the extra 8K of shared memory that 16bit mode provides.
|
|
.Sh SEE ALSO
|
|
.Xr arp 4 ,
|
|
.Xr miibus 4 ,
|
|
.Xr netintro 4 ,
|
|
.Xr ng_ether 4 ,
|
|
.Xr ifconfig 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
device driver first appeared in
|
|
.Fx 1.0 .
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
device driver and this manual page were written by
|
|
.An David Greenman .
|
|
.Sh BUGS
|
|
The
|
|
.Nm
|
|
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.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
PC Card attachment supports the D-Link DMF650TX Lan/Modem card's ethernet
|
|
port only at this time.
|