LE(4) BSD Kernel Interfaces Manual LE(4)
le -- AMD 7990, 79C90, 79C960, 79C970 LANCE Ethernet interface driver
nele0 at isa? port 0x320 irq 9 drq 7 # NE2100
le* at nele?
bicc0 at isa? port 0x320 irq 10 drq 7 # BICC Isolan
le* at bicc?
depca0 at isa? port 0x300 iomem 0xc8000 iosiz 0x8000 irq 5 # DEC DEPCA
le* at depca?
le* at isapnp? # ISA Plug-and-Play adapters
depca* at eisa? slot ? # DEC DE422
le* at depca?
le* at mca? slot ? # SKNET Personal/MC2+
PCI boards and mainboard adapters
le* at pci? dev? function ?
TURBOchannel PMAD-A or onboard (alpha, pmax)
le* at tc? slot ? offset ?
le* at ioasic? offset ?
le* at zbus0
le0 at vme0 irq 4 # BVME410
le0 at vme0 irq 5 # Riebl/PAM
le* at dio? scode ?
le0 at pcc? ipl 3 # MVME147
le0 at hb0 addr 0xe0f00000 ipl 4
le0 at hb0 addr 0xbff80000 level 1
le* at ioasic? offset ?
le* at ibus0 addr ?
sparc and sparc64
le* at sbus? slot ? offset ?
le* at ledma0 slot ? offset ?
le* at lebuffer? slot ? offset ?
le0 at obio0 addr 0x120000 ipl 3
le0 at vsbus0 csr 0x200e0000
The le interface provides access to a Ethernet network via the AMD Am7990 and Am79C90 (CMOS,
pin-compatible) LANCE (Local Area Network Controller - Ethernet) chip set.
The le driver also supports PCnet-PCI cards based on the AMD 79c970 chipset, which is a sin-
gle-chip implementation of a LANCE chip and PCI bus interface.
Each of the host's network addresses is specified at boot time with an SIOCSIFADDR ioctl(2).
The le interface employs the Address Resolution Protocol (ARP) described in arp(4) to dynam-
ically map between Internet and Ethernet addresses on the local network.
Selective reception of multicast Ethernet frames is provided by a 64-bit mask; multicast
destination addresses are hashed to a bit entry using the Ethernet CRC function.
The use of "trailer" encapsulation to minimize copying data on input and output is supported
by the interface but offers no advantage on systems with large page sizes. The use of
trailers is automatically negotiated with ARP. This negotiation may be disabled, on a per-
interface basis, with ifconfig(8).
The le interface supports the following Zorro II expansion cards:
A2065 Commodore's Ethernet card, manufacturer 514, product 112
AMERISTAR Ameristar's Ethernet card, manufacturer 1053, product 1
ARIADNE Village Tronic's Ethernet card, manufacturer 2167, product 201
The A2065 and Ameristar Ethernet cards support only manual media selection.
The Ariadne card supports a software media selection for its two different connectors:
10Base2/BNC also known as thinwire-Ethernet
10BaseT/UTP also known as twisted pair
The Ariadne card uses an autoselect between UTP and BNC, so it uses UTP when an active UTP
line is connected or otherwise BNC. See ifmedia(4) for media selection options for
The ISA-bus Ethernet cards supported by the le interface are:
The EISA-bus Ethernet cards supported by the le interface are:
The MCA-bus Ethernet cards supported by the le interface are:
SKNET Personal MC2
All LANCE interfaces on DECstations are supported, as are interfaces on Alpha AXP machines
with a TURBOchannel bus.
No support is provided for switching between media ports. The DECstation 3100 provides both
AUI and BNC (thinwire or 10BASE2) connectors. Port selection is via a manual switch and is
not software configurable.
The DECstation model 5000/200 PMAD-AA baseboard device provides only a BNC connector.
The ioasic baseboard devices and the PMAD-AA TURBOchannel option card provide only an AUI
The Sbus Ethernet cards supported by the le interface include:
SCSI and Buffered Ethernet (sun part 501-1860)
Fast SCSI and Buffered Ethernet (sun part 501-2015)
Antares SBus 10Base-T Ethernet
Buffered Ethernet (antares part 20-050-1007)
Interfaces attached to an ledma0 on SPARC systems typically have two types of connectors:
AUI/DIX Standard 15 pin connector
10BaseT UTP, also known as twisted pair
The appropriate connector can be selected by supplying a media parameter to ifconfig(8).
The supported arguments for media are:
10base5/AUI to select the AUI connector, or
10baseT/UTP to select the UTP connector.
If a media parameter is not specified, a default connector is selected for use by examining
all media types for carrier. The first connector on which a carrier is detected will be
selected. Additionally, if carrier is dropped on a port, the driver will switch between the
possible ports until one with carrier is found.
le%d: overflow More packets came in from the Ethernet than there was space in the receive
buffers. Packets were missed.
le%d: receive buffer error Ran out of buffer space, packet dropped.
le%d: lost carrier The Ethernet carrier disappeared during an attempt to transmit. It will
finish transmitting the current packet, but will not automatically retry transmission if
there is a collision.
le%d: excessive collisions, tdr %d Ethernet extremely busy or jammed, outbound packets
dropped after 16 attempts to retransmit.
TDR is "Time Domain Reflectometry". The LANCE TDR value is an internal counter of the
interval between the start of a transmission and the occurrence of a collision. This value
can be used to determine the distance from the Ethernet tap to the point on the Ethernet
cable that is shorted or open (unterminated).
le%d: dropping chained buffer Packet didn't fit into a single receive buffer, packet
dropped. Since the le driver allocates buffers large enough to receive the maximum size
Ethernet packet, this means some other station on the LAN transmitted a packet larger than
allowed by the Ethernet standard.
le%d: transmit buffer error LANCE ran out of buffer before finishing the transmission of a
packet. If this error occurs, the driver software has a bug.
le%d: underflow LANCE ran out of buffer before finishing the transmission of a packet. If
this error occurs, the driver software has a bug.
le%d: controller failed to initialize Driver failed to start the AM7990 LANCE. This is
potentially a hardware failure.
le%d: memory error RAM failed to respond within the timeout when the LANCE wanted to read
or write it. This is potentially a hardware failure.
le%d: receiver disabled The LANCE receiver was turned off due to an error.
le%d: transmitter disabled The LANCE transmitter was turned off due to an error.
arp(4), ifmedia(4), inet(4), intro(4), mca(4), ifconfig(8)
Am79C90 - CMOS Local Area Network Controller for Ethernet, 17881, May 1994, Advanced Micro
The pmax le driver is derived from a le driver that first appeared in 4.4BSD. Support for
multiple bus attachments first appeared in NetBSD 1.2.
The Amiga le interface first appeared in NetBSD 1.0
The Ariadne Ethernet card first appeared with the Amiga ae interface in NetBSD 1.1 and was
converted to the Amiga le interface in NetBSD 1.3
The Am7990 Revision C chips have a bug which causes garbage to be inserted in front of the
received packet occasionally. The work-around is to ignore packets with an invalid destina-
tion address (garbage will usually not match), by double-checking the destination address of
every packet in the driver. This work-around is enabled with the LANCE_REVC_BUG kernel
When LANCE_REVC_BUG is enabled, the le driver executes one or two calls to an inline Ether-
net address comparison function for every received packet. On the mc68000 it is exactly
eight instructions of 16 bits each. There is one comparison for each unicast packet, and
two comparisons for each broadcast packet.
In summary, the cost of the LANCE_REVC_BUG option is:
1. loss of multicast support, and
2. eight extra CPU instructions per received packet, sometimes sixteen, depending on both
the processor, and the type of packet.
All sun3 systems are presumed to have this bad revision of the Am7990, until proven other-
wise. Alas, the only way to prove what revision of the chip is in a particular system is
inspection of the date code on the chip package, to compare against a list of what chip
revisions were fabricated between which dates.
Alas, the Am7990 chip is so old that AMD has "de-archived" the production information about
it; pending a search elsewhere, we don't know how to identify the revision C chip from the
On all pmax front-ends, performance is impaired by hardware which forces a software copy of
packets to and from DMA buffers. The ioasic machines and the DECstation 3100 must copy
packets to and from non-contiguous DMA buffers. The DECstation 5000/200 and the PMAD-AA
must copy to and from an onboard SRAM DMA buffer. The CPU overhead is noticeable, but all
machines can sustain full 10 Mb/s media speed.
BSD April 27, 2001 BSD