xref: /freebsd/share/man/man4/le.4 (revision b95d2237af403049d48c23229aa8bace3594970e)
135591247SMarius Strobl.\"	$NetBSD: le.4,v 1.22 2004/10/04 19:12:52 rumble Exp $
235591247SMarius Strobl.\"
335591247SMarius Strobl.\"-
435591247SMarius Strobl.\" Copyright (c) 1992, 1993
535591247SMarius Strobl.\"	The Regents of the University of California.  All rights reserved.
635591247SMarius Strobl.\"
735591247SMarius Strobl.\" This software was developed by the Computer Systems Engineering group
835591247SMarius Strobl.\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
935591247SMarius Strobl.\" contributed to Berkeley.
1035591247SMarius Strobl.\"
1135591247SMarius Strobl.\" Redistribution and use in source and binary forms, with or without
1235591247SMarius Strobl.\" modification, are permitted provided that the following conditions
1335591247SMarius Strobl.\" are met:
1435591247SMarius Strobl.\" 1. Redistributions of source code must retain the above copyright
1535591247SMarius Strobl.\"    notice, this list of conditions and the following disclaimer.
1635591247SMarius Strobl.\" 2. Redistributions in binary form must reproduce the above copyright
1735591247SMarius Strobl.\"    notice, this list of conditions and the following disclaimer in the
1835591247SMarius Strobl.\"    documentation and/or other materials provided with the distribution.
1935591247SMarius Strobl.\" 3. Neither the name of the University nor the names of its contributors
2035591247SMarius Strobl.\"    may be used to endorse or promote products derived from this software
2135591247SMarius Strobl.\"    without specific prior written permission.
2235591247SMarius Strobl.\"
2335591247SMarius Strobl.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2435591247SMarius Strobl.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2535591247SMarius Strobl.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2635591247SMarius Strobl.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2735591247SMarius Strobl.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2835591247SMarius Strobl.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2935591247SMarius Strobl.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3035591247SMarius Strobl.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3135591247SMarius Strobl.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3235591247SMarius Strobl.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3335591247SMarius Strobl.\" SUCH DAMAGE.
3435591247SMarius Strobl.\"
3535591247SMarius Strobl.\"	from: Header: le.4,v 1.2 92/10/13 05:31:33 leres Exp
3635591247SMarius Strobl.\"	from: @(#)le.4	8.1 (Berkeley) 6/9/93
3735591247SMarius Strobl.\" $FreeBSD$
3835591247SMarius Strobl.\"
39*b95d2237SBrooks Davis.Dd June 21, 2023
4035591247SMarius Strobl.Dt LE 4
4135591247SMarius Strobl.Os
4235591247SMarius Strobl.Sh NAME
4335591247SMarius Strobl.Nm le
442518ad74SMarius Strobl.Nd "AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interface driver"
4535591247SMarius Strobl.Sh SYNOPSIS
4635591247SMarius StroblTo compile this driver into the kernel,
4735591247SMarius Stroblplace the following line in your
4835591247SMarius Stroblkernel configuration file:
4935591247SMarius Strobl.Bd -ragged -offset indent
5035591247SMarius Strobl.Cd "device le"
5135591247SMarius Strobl.Ed
5235591247SMarius Strobl.Pp
5335591247SMarius StroblAlternatively, to load the driver as a
5435591247SMarius Stroblmodule at boot time, place the following line in
5535591247SMarius Strobl.Xr loader.conf 5 :
5635591247SMarius Strobl.Bd -literal -offset indent
5735591247SMarius Stroblif_le_load="YES"
5835591247SMarius Strobl.Ed
590ab9d31cSMarius Strobl.Pp
602518ad74SMarius StroblFor ISA non-PnP adapters, the port address as well as the IRQ and the DRQ
610ab9d31cSMarius Stroblnumbers have to be specified in
620ab9d31cSMarius Strobl.Pa /boot/device.hints :
630ab9d31cSMarius Strobl.Cd hint.le.0.at="isa"
640ab9d31cSMarius Strobl.Cd hint.le.0.port="0x280"
650ab9d31cSMarius Strobl.Cd hint.le.0.irq="10"
660ab9d31cSMarius Strobl.Cd hint.le.0.drq="0"
67*b95d2237SBrooks Davis.Sh DEPRECATION NOTICE
68*b95d2237SBrooks DavisThe
69*b95d2237SBrooks Davis.Nm
70*b95d2237SBrooks Davisdriver may not be present in
71*b95d2237SBrooks Davis.Fx 15.0
72*b95d2237SBrooks Davisand later.
7335591247SMarius Strobl.Sh DESCRIPTION
7435591247SMarius StroblThe
7535591247SMarius Strobl.Nm
7635591247SMarius Strobldriver provides support for Ethernet adapters based on the
772518ad74SMarius Strobl.Tn AMD Am7990
782518ad74SMarius Strobland
792518ad74SMarius Strobl.Tn Am79C90
802518ad74SMarius Strobl.Pq CMOS, pin-compatible
8135591247SMarius StroblLocal Area Network Controller for Ethernet
8235591247SMarius Strobl.Pq Tn LANCE
830ab9d31cSMarius Stroblchips.
8435591247SMarius Strobl.Pp
8535591247SMarius StroblThe
8635591247SMarius Strobl.Nm
870ab9d31cSMarius Strobldriver also supports Ethernet adapters based on the
882518ad74SMarius Strobl.Tn AMD Am79C900
892518ad74SMarius StroblIntegrated Local Area Communications Controller
902518ad74SMarius Strobl.Pq Tn ILACC
912518ad74SMarius Stroblas well as the
922518ad74SMarius Strobl.Tn Am79C9xx PCnet
9335591247SMarius Stroblfamily of chips, which are single-chip implementations of a
9435591247SMarius Strobl.Tn LANCE
95e9646f64SMarius Stroblchip and a DMA engine.
9635591247SMarius StroblThe
9735591247SMarius Strobl.Nm
98e9646f64SMarius Strobldriver treats all of these
99e9646f64SMarius Strobl.Tn PCI
1000ab9d31cSMarius Stroblbus Ethernet chips as an
101e9646f64SMarius Strobl.Tn AMD Am79C970 PCnet-PCI
102e9646f64SMarius Strobland does not support the additional features like the MII bus and burst mode of
103e9646f64SMarius Strobl.Tn AMD Am79C971 PCnet-FAST
1040ab9d31cSMarius Strobland greater chips.
10535591247SMarius Strobl.Pp
1060ab9d31cSMarius StroblGenerally, the
1070ab9d31cSMarius Strobl.Nm
1080ab9d31cSMarius Strobldriver aims at supporting as many different chips on as many different
1090ab9d31cSMarius Stroblplatforms as possible,
1100ab9d31cSMarius Stroblpartially at the cost of the best performance with some of these.
1110ab9d31cSMarius Strobl.Pp
11235591247SMarius StroblThe
11335591247SMarius Strobl.Nm
11435591247SMarius Strobldriver supports reception and transmission of extended frames for
11535591247SMarius Strobl.Xr vlan 4 .
11635591247SMarius StroblSelective reception of multicast Ethernet frames is provided by a 64-bit mask;
11735591247SMarius Stroblmulticast destination addresses are hashed to a bit entry using the Ethernet
11835591247SMarius StroblCRC function.
11935591247SMarius Strobl.Sh HARDWARE
1201697447eSWarner Losh.Ss ISA
1210ab9d31cSMarius StroblThe
1220ab9d31cSMarius Strobl.Nm
1230ab9d31cSMarius Strobldriver supports
1240ab9d31cSMarius Strobl.Tn ISA
1250ab9d31cSMarius Stroblbus Ethernet adapters which are based on the following chips:
1260ab9d31cSMarius Strobl.Pp
1270ab9d31cSMarius Strobl.Bl -bullet -compact
1280ab9d31cSMarius Strobl.It
1290ab9d31cSMarius Strobl.Tn AMD Am7990 and Am79C90 LANCE
1300ab9d31cSMarius Strobl.It
1310ab9d31cSMarius Strobl.Tn AMD Am79C960 PCnet-ISA
1320ab9d31cSMarius Strobl.It
1330ab9d31cSMarius Strobl.Tn AMD Am79C961 PCnet-ISA+
1340ab9d31cSMarius Strobl.It
1350ab9d31cSMarius Strobl.Tn AMD Am79C961A PCnet-ISA II
1360ab9d31cSMarius Strobl.El
1370ab9d31cSMarius Strobl.Pp
1380ab9d31cSMarius StroblThis includes support for the following Ethernet adapters:
1390ab9d31cSMarius Strobl.Pp
1400ab9d31cSMarius StroblISA non-PnP:
1410ab9d31cSMarius Strobl.Pp
1420ab9d31cSMarius Strobl.Bl -bullet -compact
1430ab9d31cSMarius Strobl.It
1440ab9d31cSMarius Strobl.Tn BICC Isolan
14535591247SMarius Strobl.\" .It
14635591247SMarius Strobl.\" .Tn Digital DEPCA
1470ab9d31cSMarius Strobl.It
1480ab9d31cSMarius Strobl.Tn Novell NE2100
1490ab9d31cSMarius Strobl.El
1500ab9d31cSMarius Strobl.Pp
1510ab9d31cSMarius StroblISA PnP:
1520ab9d31cSMarius Strobl.Pp
1530ab9d31cSMarius Strobl.Bl -bullet -compact
1540ab9d31cSMarius Strobl.It
1550ab9d31cSMarius Strobl.Tn AMD AM1500T/AM2100
1560ab9d31cSMarius Strobl.It
1570ab9d31cSMarius Strobl.Tn AMD PCnet-32
1580ab9d31cSMarius Strobl.It
1590ab9d31cSMarius Strobl.Tn AMD PCnet-ISA
1600ab9d31cSMarius Strobl.It
161e71d18f4SMarius Strobl.Tn Allied Telesyn AT-1500
162e71d18f4SMarius Strobl.It
1630ab9d31cSMarius Strobl.Tn Boca LANCard Combo
1640ab9d31cSMarius Strobl.It
1650ab9d31cSMarius Strobl.Tn Cabletron E2100 Series DNI
1660ab9d31cSMarius Strobl.It
1670ab9d31cSMarius Strobl.Tn Cabletron E2200 Single Chip
1680ab9d31cSMarius Strobl.It
1690ab9d31cSMarius Strobl.Tn Melco Inc. LGY-IV
1700ab9d31cSMarius Strobl.It
1710ab9d31cSMarius Strobl.Tn Novell NE2100
1720ab9d31cSMarius Strobl.It
1730ab9d31cSMarius Strobl.Tn Racal InterLan EtherBlaster
1740ab9d31cSMarius Strobl.El
1750ab9d31cSMarius Strobl.Pp
1760ab9d31cSMarius StroblThe
1770ab9d31cSMarius Strobl.Nm
1780ab9d31cSMarius Strobldriver does not support the selection of media types and options via
1790ab9d31cSMarius Strobl.Xr ifconfig 8
1800ab9d31cSMarius Stroblwith
1810ab9d31cSMarius Strobl.Tn ISA
1820ab9d31cSMarius Stroblbus Ethernet adapters.
18335591247SMarius Strobl.Ss PCI
18435591247SMarius StroblThe
18535591247SMarius Strobl.Tn PCI
1860ab9d31cSMarius Stroblbus Ethernet chips supported by the
18735591247SMarius Strobl.Nm
18835591247SMarius Strobldriver are:
18935591247SMarius Strobl.Pp
19035591247SMarius Strobl.Bl -bullet -compact
19135591247SMarius Strobl.It
19235591247SMarius Strobl.Tn AMD Am53C974/Am79C970/Am79C974 PCnet-PCI
19335591247SMarius Strobl.It
19435591247SMarius Strobl.Tn AMD Am79C970A PCnet-PCI II
19535591247SMarius Strobl.It
19635591247SMarius Strobl.Tn AMD Am79C971 PCnet-FAST
19735591247SMarius Strobl.It
19835591247SMarius Strobl.Tn AMD Am79C972 PCnet-FAST+
19935591247SMarius Strobl.It
20035591247SMarius Strobl.Tn AMD Am79C973/Am79C975 PCnet-FAST III
20135591247SMarius Strobl.It
20235591247SMarius Strobl.Tn AMD Am79C976 PCnet-PRO
20335591247SMarius Strobl.It
20435591247SMarius Strobl.Tn AMD Am79C978 PCnet-Home
20535591247SMarius Strobl.El
20635591247SMarius Strobl.Pp
2072518ad74SMarius StroblThis includes support for the following Ethernet adapters:
2082518ad74SMarius Strobl.Pp
2092518ad74SMarius Strobl.Bl -bullet -compact
2102518ad74SMarius Strobl.It
2112518ad74SMarius Strobl.Tn AcerLAN NIC P20
2122518ad74SMarius Strobl.It
2132518ad74SMarius Strobl.Tn Allied Telesyn AT-2450 and AT-2700 series
2142518ad74SMarius Strobl.It
2152518ad74SMarius Strobl.Tn VMware emulated AMD Am79C970A PCnet-PCI II interface
2162518ad74SMarius Strobl.El
2172518ad74SMarius Strobl.Pp
21835591247SMarius StroblThe
21935591247SMarius Strobl.Nm
2202518ad74SMarius Strobldriver supports the selection of the following media types via
2212518ad74SMarius Strobl.Xr ifconfig 8
2222518ad74SMarius Stroblwith
2232518ad74SMarius Strobl.Tn PCI
2242518ad74SMarius Stroblbus Ethernet adapters:
225ae91966bSRuslan Ermilov.Bl -tag -width ".Cm 10base5/AUI"
226ae91966bSRuslan Ermilov.It Cm autoselect
22735591247SMarius StroblEnable autoselection of the media type.
228ae91966bSRuslan Ermilov.It Cm 10baseT/UTP
22935591247SMarius StroblSelect UTP media.
230ae91966bSRuslan Ermilov.It Cm 10base5/AUI
23135591247SMarius StroblSelect AUI/BNC media.
23235591247SMarius Strobl.El
23335591247SMarius Strobl.Pp
23435591247SMarius StroblThe following media option is supported with these media types:
235ae91966bSRuslan Ermilov.Bl -tag -width ".Cm full-duplex"
236ae91966bSRuslan Ermilov.It Cm full-duplex
23735591247SMarius StroblSelect full duplex operation.
23835591247SMarius Strobl.El
23935591247SMarius Strobl.Pp
24023af96adSMarius StroblNote that the
24135591247SMarius Strobl.Nm
24235591247SMarius Strobldriver does not support selecting 100Mbps (Fast Ethernet) media types.
24335591247SMarius Strobl.Sh DIAGNOSTICS
24435591247SMarius Strobl.Bl -diag
24535591247SMarius Strobl.It "le%d: overflow"
24635591247SMarius StroblMore packets came in from the Ethernet than there was space in the
24735591247SMarius Strobl.Tn LANCE
24835591247SMarius Stroblreceive buffers.
24935591247SMarius StroblPackets were missed.
25035591247SMarius Strobl.It "le%d: receive buffer error"
25135591247SMarius StroblThe
25235591247SMarius Strobl.Tn LANCE
25335591247SMarius Stroblran out of buffer space, packet dropped.
25435591247SMarius Strobl.It "le%d: lost carrier"
25535591247SMarius StroblThe Ethernet carrier disappeared during an attempt to transmit.
25635591247SMarius StroblThe
25735591247SMarius Strobl.Tn LANCE
25835591247SMarius Stroblwill finish transmitting the current packet,
25935591247SMarius Stroblbut will not automatically retry transmission if there is a collision.
26035591247SMarius Strobl.It "le%d: excessive collisions, tdr %d"
26135591247SMarius StroblThe Ethernet was extremely busy or jammed,
26235591247SMarius Strobloutbound packets were dropped after 16 attempts to retransmit.
26335591247SMarius Strobl.Pp
26435591247SMarius StroblTDR
26535591247SMarius Stroblis the abbreviation of
26635591247SMarius Strobl.Qq Time Domain Reflectometry .
26735591247SMarius StroblThe optionally reported TDR value is an internal counter of the interval
26835591247SMarius Stroblbetween the start of a transmission and the occurrence of a collision.
26935591247SMarius StroblThis value can be used to determine the distance from the Ethernet tap to
27035591247SMarius Stroblthe point on the Ethernet cable that is shorted or open (unterminated).
27135591247SMarius Strobl.It "le%d: dropping chained buffer"
27235591247SMarius StroblA packet did not fit into a single receive buffer and was dropped.
27335591247SMarius StroblSince the
27435591247SMarius Strobl.Nm
27535591247SMarius Strobldriver allocates buffers large enough to receive maximum sized Ethernet
27635591247SMarius Stroblpackets, this means some other station on the LAN transmitted a packet
27735591247SMarius Strobllarger than allowed by the Ethernet standard.
27835591247SMarius Strobl.It "le%d: transmit buffer error"
27935591247SMarius StroblThe
28035591247SMarius Strobl.Tn LANCE
28135591247SMarius Stroblran out of buffer space before finishing the transmission of a packet.
28235591247SMarius StroblIf this error occurs, the driver software has a bug.
28335591247SMarius Strobl.It "le%d: underflow"
28435591247SMarius StroblThe
28535591247SMarius Strobl.Tn LANCE
28635591247SMarius Stroblran out of buffer space before finishing the transmission of a packet.
28735591247SMarius StroblIf this error occurs, the driver software has a bug.
28835591247SMarius Strobl.It "le%d: controller failed to initialize"
28935591247SMarius StroblDriver failed to start the
29035591247SMarius Strobl.Tn LANCE .
29135591247SMarius StroblThis is potentially a hardware failure.
29235591247SMarius Strobl.It "le%d: memory error"
29335591247SMarius StroblRAM failed to respond within the timeout when the
29435591247SMarius Strobl.Tn LANCE
29535591247SMarius Stroblwanted to read or write it.
29635591247SMarius StroblThis is potentially a hardware failure.
29735591247SMarius Strobl.It "le%d: receiver disabled"
29835591247SMarius StroblThe receiver of the
29935591247SMarius Strobl.Tn LANCE
30035591247SMarius Stroblwas turned off due to an error.
30135591247SMarius Strobl.It "le%d: transmitter disabled"
30235591247SMarius StroblThe transmitter of the
30335591247SMarius Strobl.Tn LANCE
30435591247SMarius Stroblwas turned off due to an error.
30535591247SMarius Strobl.El
30635591247SMarius Strobl.Sh SEE ALSO
307a25ecdffSChristian Brueffer.Xr altq 4 ,
30835591247SMarius Strobl.Xr arp 4 ,
30935591247SMarius Strobl.Xr intro 4 ,
31035591247SMarius Strobl.Xr netintro 4 ,
31135591247SMarius Strobl.Xr vlan 4 ,
31235591247SMarius Strobl.Xr ifconfig 8
31335591247SMarius Strobl.Sh HISTORY
31435591247SMarius StroblThe
31535591247SMarius Strobl.Nm
31635591247SMarius Strobldriver was ported from
31735591247SMarius Strobl.Nx
31835591247SMarius Strobland first appeared in
31935591247SMarius Strobl.Fx 6.1 .
32035591247SMarius StroblThe
32135591247SMarius Strobl.Nx
32235591247SMarius Stroblversion in turn was derived from the
32335591247SMarius Strobl.Nm
32435591247SMarius Strobldriver which first appeared in
32535591247SMarius Strobl.Bx 4.4 .
32635591247SMarius Strobl.Sh AUTHORS
32735591247SMarius StroblThe
32835591247SMarius Strobl.Nm
32935591247SMarius Strobldriver was ported by
3306c899950SBaptiste Daroussin.An Marius Strobl Aq Mt marius@FreeBSD.org .
33135591247SMarius Strobl.\" .Sh BUGS
33235591247SMarius Strobl.\" The Am7990 Revision C chips have a bug which causes garbage to be inserted
33335591247SMarius Strobl.\" in front of the received packet occasionally.
33435591247SMarius Strobl.\" The work-around is to ignore packets with an invalid destination address
33535591247SMarius Strobl.\" (garbage will usually not match), by double-checking the destination
33635591247SMarius Strobl.\" address of every packet in the driver.
33735591247SMarius Strobl.\" This work-around can be enabled with the
33835591247SMarius Strobl.\" .Dv LANCE_REVC_BUG
33935591247SMarius Strobl.\" kernel option.
34035591247SMarius Strobl.\" .Pp
34135591247SMarius Strobl.\" When
34235591247SMarius Strobl.\" .Dv LANCE_REVC_BUG
34335591247SMarius Strobl.\" is enabled, the
34435591247SMarius Strobl.\" .Nm
34535591247SMarius Strobl.\" driver executes one or two calls to an inline Ethernet address comparison
34635591247SMarius Strobl.\" function for every received packet.
34735591247SMarius Strobl.\" On the
34835591247SMarius Strobl.\" .Tn MC68000
34935591247SMarius Strobl.\" it is exactly eight instructions of 16 bits each.
35035591247SMarius Strobl.\" There is one comparison for each unicast packet, and two comparisons for
35135591247SMarius Strobl.\" each broadcast packet.
35235591247SMarius Strobl.\" .Pp
35335591247SMarius Strobl.\" In summary, the cost of the LANCE_REVC_BUG option is:
35435591247SMarius Strobl.\" .Bl -enum -compact
35535591247SMarius Strobl.\" .It
35635591247SMarius Strobl.\" loss of multicast support, and
35735591247SMarius Strobl.\" .It
35835591247SMarius Strobl.\" eight extra
35935591247SMarius Strobl.\" .Tn CPU
36035591247SMarius Strobl.\" instructions per received packet, sometimes sixteen, depending on both the
36135591247SMarius Strobl.\" processor, and the type of packet.
36235591247SMarius Strobl.\" .El
36335591247SMarius Strobl.\" .Pp
36435591247SMarius Strobl.\" All sun3 systems are presumed to have this bad revision of the Am7990,
36535591247SMarius Strobl.\" until proven otherwise.
36635591247SMarius Strobl.\" Alas, the only way to prove what revision of the chip is in a particular
36735591247SMarius Strobl.\" system is inspection of the date code on the chip package,
36835591247SMarius Strobl.\" to compare against a list of what chip revisions were fabricated between
36935591247SMarius Strobl.\" which dates.
37035591247SMarius Strobl.\" .Pp
37135591247SMarius Strobl.\" Alas, the Am7990 chip is so old that
37235591247SMarius Strobl.\" .Tn AMD
37335591247SMarius Strobl.\" has
37435591247SMarius Strobl.\" .Qq de-archived
37535591247SMarius Strobl.\" the production information about it; pending a search elsewhere, we do not
37635591247SMarius Strobl.\" know how to identify the revision C chip from the date codes.
377