xref: /freebsd/share/man/man4/le.4 (revision 7899f917b1c0ea178f1d2be0cfb452086d079d23)
1.\"	$NetBSD: le.4,v 1.22 2004/10/04 19:12:52 rumble Exp $
2.\"
3.\"-
4.\" Copyright (c) 1992, 1993
5.\"	The Regents of the University of California.  All rights reserved.
6.\"
7.\" This software was developed by the Computer Systems Engineering group
8.\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
9.\" contributed to Berkeley.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\" 3. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"	from: Header: le.4,v 1.2 92/10/13 05:31:33 leres Exp
36.\"
37.Dd June 21, 2023
38.Dt LE 4
39.Os
40.Sh NAME
41.Nm le
42.Nd "AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Ethernet interface driver"
43.Sh SYNOPSIS
44To compile this driver into the kernel,
45place the following line in your
46kernel configuration file:
47.Bd -ragged -offset indent
48.Cd "device le"
49.Ed
50.Pp
51Alternatively, to load the driver as a
52module at boot time, place the following line in
53.Xr loader.conf 5 :
54.Bd -literal -offset indent
55if_le_load="YES"
56.Ed
57.Pp
58For ISA non-PnP adapters, the port address as well as the IRQ and the DRQ
59numbers have to be specified in
60.Pa /boot/device.hints :
61.Cd hint.le.0.at="isa"
62.Cd hint.le.0.port="0x280"
63.Cd hint.le.0.irq="10"
64.Cd hint.le.0.drq="0"
65.Sh DEPRECATION NOTICE
66The
67.Nm
68driver may not be present in
69.Fx 15.0
70and later.
71.Sh DESCRIPTION
72The
73.Nm
74driver provides support for Ethernet adapters based on the
75.Tn AMD Am7990
76and
77.Tn Am79C90
78.Pq CMOS, pin-compatible
79Local Area Network Controller for Ethernet
80.Pq Tn LANCE
81chips.
82.Pp
83The
84.Nm
85driver also supports Ethernet adapters based on the
86.Tn AMD Am79C900
87Integrated Local Area Communications Controller
88.Pq Tn ILACC
89as well as the
90.Tn Am79C9xx PCnet
91family of chips, which are single-chip implementations of a
92.Tn LANCE
93chip and a DMA engine.
94The
95.Nm
96driver treats all of these
97.Tn PCI
98bus Ethernet chips as an
99.Tn AMD Am79C970 PCnet-PCI
100and does not support the additional features like the MII bus and burst mode of
101.Tn AMD Am79C971 PCnet-FAST
102and greater chips.
103.Pp
104Generally, the
105.Nm
106driver aims at supporting as many different chips on as many different
107platforms as possible,
108partially at the cost of the best performance with some of these.
109.Pp
110The
111.Nm
112driver supports reception and transmission of extended frames for
113.Xr vlan 4 .
114Selective reception of multicast Ethernet frames is provided by a 64-bit mask;
115multicast destination addresses are hashed to a bit entry using the Ethernet
116CRC function.
117.Sh HARDWARE
118.Ss ISA
119The
120.Nm
121driver supports
122.Tn ISA
123bus Ethernet adapters which are based on the following chips:
124.Pp
125.Bl -bullet -compact
126.It
127.Tn AMD Am7990 and Am79C90 LANCE
128.It
129.Tn AMD Am79C960 PCnet-ISA
130.It
131.Tn AMD Am79C961 PCnet-ISA+
132.It
133.Tn AMD Am79C961A PCnet-ISA II
134.El
135.Pp
136This includes support for the following Ethernet adapters:
137.Pp
138ISA non-PnP:
139.Pp
140.Bl -bullet -compact
141.It
142.Tn BICC Isolan
143.\" .It
144.\" .Tn Digital DEPCA
145.It
146.Tn Novell NE2100
147.El
148.Pp
149ISA PnP:
150.Pp
151.Bl -bullet -compact
152.It
153.Tn AMD AM1500T/AM2100
154.It
155.Tn AMD PCnet-32
156.It
157.Tn AMD PCnet-ISA
158.It
159.Tn Allied Telesyn AT-1500
160.It
161.Tn Boca LANCard Combo
162.It
163.Tn Cabletron E2100 Series DNI
164.It
165.Tn Cabletron E2200 Single Chip
166.It
167.Tn Melco Inc. LGY-IV
168.It
169.Tn Novell NE2100
170.It
171.Tn Racal InterLan EtherBlaster
172.El
173.Pp
174The
175.Nm
176driver does not support the selection of media types and options via
177.Xr ifconfig 8
178with
179.Tn ISA
180bus Ethernet adapters.
181.Ss PCI
182The
183.Tn PCI
184bus Ethernet chips supported by the
185.Nm
186driver are:
187.Pp
188.Bl -bullet -compact
189.It
190.Tn AMD Am53C974/Am79C970/Am79C974 PCnet-PCI
191.It
192.Tn AMD Am79C970A PCnet-PCI II
193.It
194.Tn AMD Am79C971 PCnet-FAST
195.It
196.Tn AMD Am79C972 PCnet-FAST+
197.It
198.Tn AMD Am79C973/Am79C975 PCnet-FAST III
199.It
200.Tn AMD Am79C976 PCnet-PRO
201.It
202.Tn AMD Am79C978 PCnet-Home
203.El
204.Pp
205This includes support for the following Ethernet adapters:
206.Pp
207.Bl -bullet -compact
208.It
209.Tn AcerLAN NIC P20
210.It
211.Tn Allied Telesyn AT-2450 and AT-2700 series
212.It
213.Tn VMware emulated AMD Am79C970A PCnet-PCI II interface
214.El
215.Pp
216The
217.Nm
218driver supports the selection of the following media types via
219.Xr ifconfig 8
220with
221.Tn PCI
222bus Ethernet adapters:
223.Bl -tag -width ".Cm 10base5/AUI"
224.It Cm autoselect
225Enable autoselection of the media type.
226.It Cm 10baseT/UTP
227Select UTP media.
228.It Cm 10base5/AUI
229Select AUI/BNC media.
230.El
231.Pp
232The following media option is supported with these media types:
233.Bl -tag -width ".Cm full-duplex"
234.It Cm full-duplex
235Select full duplex operation.
236.El
237.Pp
238Note that the
239.Nm
240driver does not support selecting 100Mbps (Fast Ethernet) media types.
241.Sh DIAGNOSTICS
242.Bl -diag
243.It "le%d: overflow"
244More packets came in from the Ethernet than there was space in the
245.Tn LANCE
246receive buffers.
247Packets were missed.
248.It "le%d: receive buffer error"
249The
250.Tn LANCE
251ran out of buffer space, packet dropped.
252.It "le%d: lost carrier"
253The Ethernet carrier disappeared during an attempt to transmit.
254The
255.Tn LANCE
256will finish transmitting the current packet,
257but will not automatically retry transmission if there is a collision.
258.It "le%d: excessive collisions, tdr %d"
259The Ethernet was extremely busy or jammed,
260outbound packets were dropped after 16 attempts to retransmit.
261.Pp
262TDR
263is the abbreviation of
264.Qq Time Domain Reflectometry .
265The optionally reported TDR value is an internal counter of the interval
266between the start of a transmission and the occurrence of a collision.
267This value can be used to determine the distance from the Ethernet tap to
268the point on the Ethernet cable that is shorted or open (unterminated).
269.It "le%d: dropping chained buffer"
270A packet did not fit into a single receive buffer and was dropped.
271Since the
272.Nm
273driver allocates buffers large enough to receive maximum sized Ethernet
274packets, this means some other station on the LAN transmitted a packet
275larger than allowed by the Ethernet standard.
276.It "le%d: transmit buffer error"
277The
278.Tn LANCE
279ran out of buffer space before finishing the transmission of a packet.
280If this error occurs, the driver software has a bug.
281.It "le%d: underflow"
282The
283.Tn LANCE
284ran out of buffer space before finishing the transmission of a packet.
285If this error occurs, the driver software has a bug.
286.It "le%d: controller failed to initialize"
287Driver failed to start the
288.Tn LANCE .
289This is potentially a hardware failure.
290.It "le%d: memory error"
291RAM failed to respond within the timeout when the
292.Tn LANCE
293wanted to read or write it.
294This is potentially a hardware failure.
295.It "le%d: receiver disabled"
296The receiver of the
297.Tn LANCE
298was turned off due to an error.
299.It "le%d: transmitter disabled"
300The transmitter of the
301.Tn LANCE
302was turned off due to an error.
303.El
304.Sh SEE ALSO
305.Xr altq 4 ,
306.Xr arp 4 ,
307.Xr intro 4 ,
308.Xr netintro 4 ,
309.Xr vlan 4 ,
310.Xr ifconfig 8
311.Sh HISTORY
312The
313.Nm
314driver was ported from
315.Nx
316and first appeared in
317.Fx 6.1 .
318The
319.Nx
320version in turn was derived from the
321.Nm
322driver which first appeared in
323.Bx 4.4 .
324.Sh AUTHORS
325The
326.Nm
327driver was ported by
328.An Marius Strobl Aq Mt marius@FreeBSD.org .
329.\" .Sh BUGS
330.\" The Am7990 Revision C chips have a bug which causes garbage to be inserted
331.\" in front of the received packet occasionally.
332.\" The work-around is to ignore packets with an invalid destination address
333.\" (garbage will usually not match), by double-checking the destination
334.\" address of every packet in the driver.
335.\" This work-around can be enabled with the
336.\" .Dv LANCE_REVC_BUG
337.\" kernel option.
338.\" .Pp
339.\" When
340.\" .Dv LANCE_REVC_BUG
341.\" is enabled, the
342.\" .Nm
343.\" driver executes one or two calls to an inline Ethernet address comparison
344.\" function for every received packet.
345.\" On the
346.\" .Tn MC68000
347.\" it is exactly eight instructions of 16 bits each.
348.\" There is one comparison for each unicast packet, and two comparisons for
349.\" each broadcast packet.
350.\" .Pp
351.\" In summary, the cost of the LANCE_REVC_BUG option is:
352.\" .Bl -enum -compact
353.\" .It
354.\" loss of multicast support, and
355.\" .It
356.\" eight extra
357.\" .Tn CPU
358.\" instructions per received packet, sometimes sixteen, depending on both the
359.\" processor, and the type of packet.
360.\" .El
361.\" .Pp
362.\" All sun3 systems are presumed to have this bad revision of the Am7990,
363.\" until proven otherwise.
364.\" Alas, the only way to prove what revision of the chip is in a particular
365.\" system is inspection of the date code on the chip package,
366.\" to compare against a list of what chip revisions were fabricated between
367.\" which dates.
368.\" .Pp
369.\" Alas, the Am7990 chip is so old that
370.\" .Tn AMD
371.\" has
372.\" .Qq de-archived
373.\" the production information about it; pending a search elsewhere, we do not
374.\" know how to identify the revision C chip from the date codes.
375