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.\" from: @(#)le.4 8.1 (Berkeley) 6/9/93 37.\" $FreeBSD$ 38.\" 39.Dd September 4, 2006 40.Dt LE 4 41.Os 42.Sh NAME 43.Nm le 44.Nd "AMD Am7900 LANCE and Am79C9xx PCnet Ethernet interface driver" 45.Sh SYNOPSIS 46To compile this driver into the kernel, 47place the following line in your 48kernel configuration file: 49.Bd -ragged -offset indent 50.Cd "device le" 51.Ed 52.Pp 53Alternatively, to load the driver as a 54module at boot time, place the following line in 55.Xr loader.conf 5 : 56.Bd -literal -offset indent 57if_le_load="YES" 58.Ed 59.Pp 60For C-Bus non-PnP cards, the port address and the IRQ number have to be 61specified in 62.Pa /boot/device.hints : 63.Cd hint.le.0.at="isa" 64.Cd hint.le.0.port="0x03d0" 65.Cd hint.le.0.irq="6" 66.Pp 67For ISA non-PnP cards, the port address as well as the IRQ and the DRQ 68numbers have to be specified in 69.Pa /boot/device.hints : 70.Cd hint.le.0.at="isa" 71.Cd hint.le.0.port="0x280" 72.Cd hint.le.0.irq="10" 73.Cd hint.le.0.drq="0" 74.Sh DESCRIPTION 75The 76.Nm 77driver provides support for Ethernet adapters based on the 78.Tn AMD 79Am7990 and Am79C90 (CMOS, pin-compatible) 80Local Area Network Controller for Ethernet 81.Pq Tn LANCE 82chips. 83.Pp 84The 85.Nm 86driver also supports Ethernet adapters based on the 87.Tn AMD 79C9xx 88family of chips, which are single-chip implementations of a 89.Tn LANCE 90chip and a DMA engine. 91This includes a superset of the 92.Tn PCI 93bus Ethernet chips supported by the 94.Xr pcn 4 95driver. 96The 97.Nm 98driver treats all of these 99.Tn PCI 100bus Ethernet chips as an 101.Tn AMD Am79C970 PCnet-PCI 102and does not support the additional features like the MII bus and burst mode of 103.Tn AMD Am79C971 PCnet-FAST 104and greater chips. 105Thus the 106.Xr pcn 4 107driver should be preferred for the latter. 108.Pp 109Generally, the 110.Nm 111driver aims at supporting as many different chips on as many different 112platforms as possible, 113partially at the cost of the best performance with some of these. 114.Pp 115The 116.Nm 117driver supports reception and transmission of extended frames for 118.Xr vlan 4 . 119Selective reception of multicast Ethernet frames is provided by a 64-bit mask; 120multicast destination addresses are hashed to a bit entry using the Ethernet 121CRC function. 122.Sh HARDWARE 123.Ss C-Bus and ISA 124The 125.Nm 126driver supports 127.Tn C-Bus 128and 129.Tn ISA 130bus Ethernet adapters which are based on the following chips: 131.Pp 132.Bl -bullet -compact 133.It 134.Tn AMD Am7990 and Am79C90 LANCE 135.It 136.Tn AMD Am79C960 PCnet-ISA 137.It 138.Tn AMD Am79C961 PCnet-ISA+ 139.It 140.Tn AMD Am79C961A PCnet-ISA II 141.El 142.Pp 143This includes support for the following Ethernet adapters: 144.Pp 145C-Bus non-PnP: 146.Pp 147.Bl -bullet -compact 148.It 149.Tn Contec C-NET(98)S 150.El 151.Pp 152ISA non-PnP: 153.Pp 154.Bl -bullet -compact 155.It 156.Tn BICC Isolan 157.\" .It 158.\" .Tn Digital DEPCA 159.It 160.Tn Novell NE2100 161.El 162.Pp 163ISA PnP: 164.Pp 165.Bl -bullet -compact 166.It 167.Tn AMD AM1500T/AM2100 168.It 169.Tn AMD PCnet-32 170.It 171.Tn AMD PCnet-ISA 172.It 173.Tn Boca LANCard Combo 174.It 175.Tn Cabletron E2100 Series DNI 176.It 177.Tn Cabletron E2200 Single Chip 178.It 179.Tn Melco Inc. LGY-IV 180.It 181.Tn Novell NE2100 182.It 183.Tn Racal InterLan EtherBlaster 184.El 185.Pp 186The 187.Nm 188driver does not support the selection of media types and options via 189.Xr ifconfig 8 190with 191.Tn C-Bus 192and 193.Tn ISA 194bus Ethernet adapters. 195.\" .Ss EISA 196.\" The 197.\" .Tn EISA 198.\" bus Ethernet cards supported by the 199.\" .Nm 200.\" driver are: 201.\" .Pp 202.\" .Bl -bullet -compact 203.\" .It 204.\" .Tn DEC DE422 205.\" .El 206.\" .Ss MCA 207.\" The 208.\" .Tn MCA 209.\" bus Ethernet cards supported by the 210.\" .Nm 211.\" driver are: 212.\" .Pp 213.\" .Bl -bullet -compact 214.\" .It 215.\" .Tn SKNET Personal MC2 216.\" .It 217.\" .Tn SKNET MC2+ 218.\" .El 219.Ss PCI 220The 221.Tn PCI 222bus Ethernet chips supported by the 223.Nm 224driver are: 225.Pp 226.Bl -bullet -compact 227.It 228.Tn AMD Am53C974/Am79C970/Am79C974 PCnet-PCI 229.It 230.Tn AMD Am79C970A PCnet-PCI II 231.It 232.Tn AMD Am79C971 PCnet-FAST 233.It 234.Tn AMD Am79C972 PCnet-FAST+ 235.It 236.Tn AMD Am79C973/Am79C975 PCnet-FAST III 237.It 238.Tn AMD Am79C976 PCnet-PRO 239.It 240.Tn AMD Am79C978 PCnet-Home 241.El 242.Pp 243The 244.Nm 245driver supports the following media types with these chips: 246.Bl -tag -width ".Cm 10base5/AUI" 247.It Cm autoselect 248Enable autoselection of the media type. 249.It Cm 10baseT/UTP 250Select UTP media. 251.It Cm 10base5/AUI 252Select AUI/BNC media. 253.El 254.Pp 255The following media option is supported with these media types: 256.Bl -tag -width ".Cm full-duplex" 257.It Cm full-duplex 258Select full duplex operation. 259.El 260.Pp 261Note that unlike the 262.Xr pcn 4 263driver, the 264.Nm 265driver does not support selecting 100Mbps (Fast Ethernet) media types. 266.Ss sparc64 267The 268.Nm 269driver supports the on-board 270.Tn LANCE 271interfaces found in 272.Tn Sun Ultra 1 273machines. 274The following media types are available with these: 275.Bl -tag -width ".Cm 10base5/AUI" 276.It Cm autoselect 277Enable autoselection of the media type. 278.It Cm 10baseT/UTP 279Select UTP media. 280.It Cm 10base5/AUI 281Select AUI media. 282.El 283.Pp 284When using autoselection, a default media type is selected for use by 285examining all ports for carrier. 286The first media type with which a carrier is detected will be selected. 287Additionally, if carrier is dropped on a port, the driver will switch 288between the possible ports until one with carrier is found. 289.\" .Pp 290.\" The 291.\" .Nm 292.\" driver also supports 293.\" .Tn SBus 294.\" Ethernet cards. 295.\" These include: 296.\" .Bl -bullet -compact 297.\" .It 298.\" SBE/S 299.\" .Tn SCSI 300.\" and Buffered Ethernet 301.\" (Sun P/N 501-1860) 302.\" .It 303.\" FSBE/S 304.\" Fast 305.\" .Tn SCSI 306.\" and Buffered Ethernet 307.\" (Sun P/N 501-2015) 308.\" .El 309.Pp 310For further information on configuring media types and options, see 311.Xr ifconfig 8 . 312.Sh DIAGNOSTICS 313.Bl -diag 314.It "le%d: overflow" 315More packets came in from the Ethernet than there was space in the 316.Tn LANCE 317receive buffers. 318Packets were missed. 319.It "le%d: receive buffer error" 320The 321.Tn LANCE 322ran out of buffer space, packet dropped. 323.It "le%d: lost carrier" 324The Ethernet carrier disappeared during an attempt to transmit. 325The 326.Tn LANCE 327will finish transmitting the current packet, 328but will not automatically retry transmission if there is a collision. 329.It "le%d: excessive collisions, tdr %d" 330The Ethernet was extremely busy or jammed, 331outbound packets were dropped after 16 attempts to retransmit. 332.Pp 333TDR 334is the abbreviation of 335.Qq Time Domain Reflectometry . 336The optionally reported TDR value is an internal counter of the interval 337between the start of a transmission and the occurrence of a collision. 338This value can be used to determine the distance from the Ethernet tap to 339the point on the Ethernet cable that is shorted or open (unterminated). 340.It "le%d: dropping chained buffer" 341A packet did not fit into a single receive buffer and was dropped. 342Since the 343.Nm 344driver allocates buffers large enough to receive maximum sized Ethernet 345packets, this means some other station on the LAN transmitted a packet 346larger than allowed by the Ethernet standard. 347.It "le%d: transmit buffer error" 348The 349.Tn LANCE 350ran out of buffer space before finishing the transmission of a packet. 351If this error occurs, the driver software has a bug. 352.It "le%d: underflow" 353The 354.Tn LANCE 355ran out of buffer space before finishing the transmission of a packet. 356If this error occurs, the driver software has a bug. 357.It "le%d: controller failed to initialize" 358Driver failed to start the 359.Tn LANCE . 360This is potentially a hardware failure. 361.It "le%d: memory error" 362RAM failed to respond within the timeout when the 363.Tn LANCE 364wanted to read or write it. 365This is potentially a hardware failure. 366.It "le%d: receiver disabled" 367The receiver of the 368.Tn LANCE 369was turned off due to an error. 370.It "le%d: transmitter disabled" 371The transmitter of the 372.Tn LANCE 373was turned off due to an error. 374.El 375.Sh SEE ALSO 376.Xr arp 4 , 377.Xr intro 4 , 378.Xr netintro 4 , 379.Xr pcn 4 , 380.Xr vlan 4 , 381.Xr ifconfig 8 382.Sh HISTORY 383The 384.Nm 385driver was ported from 386.Nx 387and first appeared in 388.Fx 6.1 . 389The 390.Nx 391version in turn was derived from the 392.Nm 393driver which first appeared in 394.Bx 4.4 . 395.Sh AUTHORS 396The 397.Nm 398driver was ported by 399.An "Marius Strobl" Aq marius@FreeBSD.org . 400.\" .Sh BUGS 401.\" The Am7990 Revision C chips have a bug which causes garbage to be inserted 402.\" in front of the received packet occasionally. 403.\" The work-around is to ignore packets with an invalid destination address 404.\" (garbage will usually not match), by double-checking the destination 405.\" address of every packet in the driver. 406.\" This work-around can be enabled with the 407.\" .Dv LANCE_REVC_BUG 408.\" kernel option. 409.\" .Pp 410.\" When 411.\" .Dv LANCE_REVC_BUG 412.\" is enabled, the 413.\" .Nm 414.\" driver executes one or two calls to an inline Ethernet address comparison 415.\" function for every received packet. 416.\" On the 417.\" .Tn MC68000 418.\" it is exactly eight instructions of 16 bits each. 419.\" There is one comparison for each unicast packet, and two comparisons for 420.\" each broadcast packet. 421.\" .Pp 422.\" In summary, the cost of the LANCE_REVC_BUG option is: 423.\" .Bl -enum -compact 424.\" .It 425.\" loss of multicast support, and 426.\" .It 427.\" eight extra 428.\" .Tn CPU 429.\" instructions per received packet, sometimes sixteen, depending on both the 430.\" processor, and the type of packet. 431.\" .El 432.\" .Pp 433.\" All sun3 systems are presumed to have this bad revision of the Am7990, 434.\" until proven otherwise. 435.\" Alas, the only way to prove what revision of the chip is in a particular 436.\" system is inspection of the date code on the chip package, 437.\" to compare against a list of what chip revisions were fabricated between 438.\" which dates. 439.\" .Pp 440.\" Alas, the Am7990 chip is so old that 441.\" .Tn AMD 442.\" has 443.\" .Qq de-archived 444.\" the production information about it; pending a search elsewhere, we do not 445.\" know how to identify the revision C chip from the date codes. 446