LE(4)
π LE(4) β the AMD LANCE / PCnet Ethernet driver, explained bestie-style π
okay so this page is about le, the driver for AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interfaces. it's giving vintage networking realness and honestly? iconic. let's get into it π
β¨ NAME β¨
le β the AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interface driver π
π¦ SYNOPSIS π¦
so to compile this driver into the kernel, you literally just drop this line in your kernel configuration file:
device le
or, bestie, if you'd rather load it as a module at boot time, put this line in loader.conf(5):
if_le_load="YES"
and for ISA non-PnP adapters, the port address plus the IRQ and the DRQ numbers all have to be specified in /boot/device.hints β yes all of them, no skipping π:
hint.le.0.at="isa"
hint.le.0.port="0x280"
hint.le.0.irq="10"
hint.le.0.drq="0"
π DEPRECATION NOTICE π
bestie. listen. the le driver may not be present in FreeBSD 16.0 and later. so likeβ¦ enjoy it while it's here π
πΈ DESCRIPTION πΈ
the le driver provides support for Ethernet adapters based on the AMD Am7990 and Am79C90 (CMOS, pin-compatible) Local Area Network Controller for Ethernet (LANCE) chips. periodt.
it also supports Ethernet adapters based on the AMD Am79C900 Integrated Local Area Communications Controller (ILACC) plus the Am79C9xx PCnet family of chips β those are single-chip implementations of a LANCE chip and a DMA engine, which is honestly kind of a slay.
key detail tho: the le driver treats all of these PCI bus Ethernet chips as an AMD Am79C970 PCnet-PCI, and it does not support the additional features like the MII bus and burst mode of AMD Am79C971 PCnet-FAST and greater chips. so no, it's not giving maximum features, and that's on purpose π«Ά
generally, the le driver aims at supporting as many different chips on as many different platforms as possible β partially at the cost of the best performance with some of these. tradeoffs, we love them β¨
the le driver supports reception and transmission of extended frames for vlan(4). 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. iykyk π
π HARDWARE π
π§ ISA
the le driver supports ISA bus Ethernet adapters which are based on the following chips:
- AMD Am7990 and Am79C90 LANCE
- AMD Am79C960 PCnet-ISA
- AMD Am79C961 PCnet-ISA+
- AMD Am79C961A PCnet-ISA II
this includes support for the following Ethernet adapters:
ISA non-PnP:
- BICC Isolan
- Novell NE2100
ISA PnP:
- AMD AM1500T/AM2100
- AMD PCnet-32
- AMD PCnet-ISA
- Allied Telesyn AT-1500
- Boca LANCard Combo
- Cabletron E2100 Series DNI
- Cabletron E2200 Single Chip
- Melco Inc. LGY-IV
- Novell NE2100
- Racal InterLan EtherBlaster
heads up: theledriver does not support the selection of media types and options viaifconfig(8)with ISA bus Ethernet adapters. so don't come for it about that π
β PCI
the PCI bus Ethernet chips supported by the le driver are:
- AMD Am53C974/Am79C970/Am79C974 PCnet-PCI
- AMD Am79C970A PCnet-PCI II
- AMD Am79C971 PCnet-FAST
- AMD Am79C972 PCnet-FAST+
- AMD Am79C973/Am79C975 PCnet-FAST III
- AMD Am79C976 PCnet-PRO
- AMD Am79C978 PCnet-Home
this includes support for the following Ethernet adapters:
- AcerLAN NIC P20
- Allied Telesyn AT-2450 and AT-2700 series
- VMware emulated AMD Am79C970A PCnet-PCI II interface
the le driver supports the selection of the following media types via ifconfig(8) with PCI bus Ethernet adapters:
autoselectβ Enable autoselection of the media type. main character behaviour honestly10baseT/UTPβ Select UTP media.10base5/AUIβ Select AUI/BNC media.
the following media option is supported with these media types:
full-duplexβ Select full duplex operation.
note that the le driver does not support selecting 100Mbps (Fast Ethernet) media types. nope. not today. π
π₯ DIAGNOSTICS π₯
le%d: overflowβ More packets came in from the Ethernet than there was space in the LANCE receive buffers. Packets were missed. πle%d: receive buffer errorβ The LANCE ran out of buffer space, packet dropped.le%d: lost carrierβ The Ethernet carrier disappeared during an attempt to transmit. The LANCE will finish transmitting the current packet, but will not automatically retry transmission if there is a collision.le%d: excessive collisions, tdr %dβ The Ethernet was extremely busy or jammed, outbound packets were dropped after 16 attempts to retransmit.
TDR is the abbreviation of "Time Domain Reflectometry". the optionally reported 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). science slay π§
le%d: dropping chained bufferβ A packet did not fit into a single receive buffer and was dropped. since theledriver allocates buffers large enough to receive maximum sized Ethernet packets, this means some other station on the LAN transmitted a packet larger than allowed by the Ethernet standard. rude, honestly.le%d: transmit buffer errorβ The LANCE ran out of buffer space before finishing the transmission of a packet. if this error occurs, the driver software has a bug. π¬le%d: underflowβ The LANCE ran out of buffer space 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 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 receiver of the LANCE was turned off due to an error.le%d: transmitter disabledβ The transmitter of the LANCE was turned off due to an error.
π«Ά SEE ALSO π«Ά
altq(4), arp(4), intro(4), netintro(4), vlan(4), ifconfig(8)
π HISTORY π
the le driver was ported from NetBSD and first appeared in FreeBSD 6.1. the NetBSD version in turn was derived from the le driver which first appeared in 4.4BSD. legacy icon behaviour, fr fr π
π AUTHORS π
the le driver was ported by Marius Strobl <marius@FreeBSD.org>. thank you king π«‘
and that's the whole page bestie, no cap π this one's from the Debian rendering, dated October 24, 2025 β go forth and appreciate your vintage Ethernet chips, they ate πΈβ¨
π¦ where this page comes from
- freebsd 15.1: base 15.1
- Copyright (c) 1992, 1993 The Regents of the University of California. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms