--- src/share/man/man4/man4.i386/lnc.4 2006/02/17 19:37:10 1.3 +++ src/share/man/man4/man4.i386/lnc.4 2006/07/07 14:16:29 1.4 @@ -1,7 +1,12 @@ +.\" $NetBSD: le.4,v 1.22 2004/10/04 19:12:52 rumble Exp $ .\" -.\" Copyright (c) 1997 David E. O'Brien +.\"- +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. .\" -.\" All rights reserved. +.\" This software was developed by the Computer Systems Engineering group +.\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and +.\" contributed to Berkeley. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -11,121 +16,298 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. .\" -.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/man4.i386/lnc.4,v 1.12.2.6 2001/08/17 13:08:45 ru Exp $ +.\" from: Header: le.4,v 1.2 92/10/13 05:31:33 leres Exp +.\" from: @(#)le.4 8.1 (Berkeley) 6/9/93 +.\" $FreeBSD: /repoman/r/ncvs/src/share/man/man4/le.4,v 1.2 2006/02/02 14:57:00 marius Exp $ .\" $DragonFly$ .\" -.Dd January 19, 1997 +.Dd July 07, 2006 .Dt LNC 4 i386 .Os .Sh NAME .Nm lnc -.Nd AMD Lance/PCnet Ethernet device driver +.Nd AMD Am7900 LANCE and Am79C9xx PCnet Ethernet interface driver .Sh SYNOPSIS -.Cd "device lnc0 at isa? port 0x280 irq 10 drq 0" +.Cd "device lnc" .Sh DESCRIPTION The .Nm driver provides support for the AMD family of Lance/PCnet Ethernet NICs including the Am7990 and Am79C960. -The Ethernet cards supported by the +.Pp +The +.Nm +driver also supports PCnet adapters based on the +.Tn AMD 79C9xx +family of chips, which are single-chip implementations of a +.Tn LANCE +chip and a DMA engine. +This includes a superset of the +.Tn PCI +bus Ethernet chip sets supported by the +.Xr pcn 4 +driver. +The +.Nm +driver treats all of these +.Tn PCI +bus Ethernet chip sets as an +.Tn AMD Am79C970 PCnet-PCI +and does not support the additional features like the MII bus and burst mode of +.Tn AMD Am79C971 PCnet-FAST +and greater chip sets. +Thus the +.Xr pcn 4 +driver should be preferred for the latter. +.Pp +The .Nm -interface are: +driver supports reception and transmission of extended frames for +.Xr 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. +.Sh HARDWARE +.\" .Ss ISA +.\" The +.\" .Tn ISA +.\" bus Ethernet cards supported by the +.\" .Nm +.\" driver are: +.\" .Pp +.\" .Bl -bullet -compact +.\" .It +.\" .Tn BICC Isolan +.\" .It +.\" .Tn Novell NE2100 +.\" .It +.\" .Tn Digital DEPCA +.\" .El +.\" .Ss EISA +.\" The +.\" .Tn EISA +.\" bus Ethernet cards supported by the +.\" .Nm +.\" driver are: +.\" .Pp +.\" .Bl -bullet -compact +.\" .It +.\" .Tn DEC DE422 +.\" .El +.\" .Ss MCA +.\" The +.\" .Tn MCA +.\" bus Ethernet cards supported by the +.\" .Nm +.\" driver are: +.\" .Pp +.\" .Bl -bullet -compact +.\" .It +.\" .Tn SKNET Personal MC2 +.\" .It +.\" .Tn SKNET MC2+ +.\" .El +.Ss PCI +The +.Tn PCI +bus Ethernet chip sets supported by the +.Nm +driver are: .Pp -.Bl -item -offset indent -compact +.Bl -bullet -compact .It -Novell NE2100 +.Tn AMD Am53C974/Am79C970/Am79C974 PCnet-PCI .It -Novell NE32-VL +.Tn AMD Am79C970A PCnet-PCI II .It -Isolan BICC +.Tn AMD Am79C971 PCnet-FAST .It -Digital DEPCA +.Tn AMD Am79C972 PCnet-FAST+ .It -Hewlett Packard Vectra 486/66XM +.Tn AMD Am79C973/Am79C975 PCnet-FAST III .It -Hewlett Packard Vectra XU +.Tn AMD Am79C976 PCnet-PRO .It -Diamond HomeFree +.Tn AMD Am79C978 PCnet-Home +.El +.Pp +The +.Nm +driver supports the following media types with these chip sets: +.Pp +.Bl -tag -width xxxxxxxxxxxxxxxxxxxx +.It autoselect +Enable autoselection of the media type. +.It 10baseT/UTP +Select UTP media. +.It 10base5/AUI +Select AUI/BNC media. .El +.Pp +The following media option is supported with these media types: +.Pp +.Bl -tag -width xxxxxxxxxxxxxxxxxxxx +.It full-duplex +Select full duplex operation. +.El +.Pp +Note that unlike the +.Xr pcn 4 +driver, the +.Nm +driver does not support selecting 100Mbps (Fast Ethernet) media types. +.Pp +For further information on configuring media types and options, see +.Xr ifconfig 8 . .Sh DIAGNOSTICS .Bl -diag -.It "lnc%d: Framing error" -A framing error occurred. This means a CRC error also occurred. -This caused the driver to drop the packet that contained the framing error. -.It "lnc%d: Receive CRC error -The received Ethernet frame failed the CRC checksum. -This caused the driver to drop the packet that failed the checksum. -.It "lnc%d: Packet dropped, no mbufs" -The driver ran out of mbuf's. This may suggest a resource problem. -.It "lnc%d: Couldn't allocate memory for NIC" -This is a fatal error. The driver will not attach to the card under this -circumstance. -.It "lnc%d: Memory allocated above 16Mb limit" -ISA and ESIA cards require bounce buffers for DMA transfers above 16mb. -The Am7990 and Am79C960 only have 24 address lines and so can only access -the lower 16Mb of physical memory. The -.Nm -driver assumes the memory it allocates is within the lower 16Mb range. -This is not a very valid assumption but there's nothing that can be done -about it yet. -For shared memory NICs this isn't relevant. -.It "lnc%d: Device timeout -- Resetting" -The device has stopped responding to the network, or there is a problem with -the network connection (cable). Make sure the network connection in use -is the same one the card is configured for. -.It "lnc%d: Transmit late collision -- Net error?" -.It "lnc%d: Loss of carrier during transmit -- Net error?" -.It "lnc%d: Transmit of packet failed after 16 attempts -- TDR = %d" -.It "lnc%d: Heartbeat error -- SQE test failed" -.It "lnc%d: Babble error - more than 1519 bytes transmitted" -.It "lnc%d: Missed packet -- no receive buffer" -.It "lnc%d: Memory error -- Resetting" -.It "lnc%d: Couldn't get mbuf for transmit packet -- Resetting" -.It "lnc%d: Receive buffer error" -.It "lnc%d: Receive overflow error" -.It "lnc%d: Receive interrupt with buffer still owned by controller -- Resetting" -.It "lnc%d: Receive interrupt but not start of packet -- Resetting" -.It "lnc%d: Start of packet found before end of previous in receive ring -- Resetting" -.It "lnc%d: End of received packet not found -- Resetting" -.It "lnc%d: Transmit interrupt with buffer still owned by controller -- Resetting" -.It "lnc%d: Transmit interrupt but not start of packet -- Resetting" -.It "lnc%d: Start of packet found before end of previous in transmit ring -- Resetting" -.It "lnc%d: End of transmitted packet not found -- Resetting" -.It "lnc%d: Transmit buffer error -- Resetting" -.It "lnc%d: Transmit underflow error -- Resetting" +.It "lnc%d: overflow" +More packets came in from the Ethernet than there was space in the +.Tn LANCE +receive buffers. +Packets were missed. +.It "lnc%d: receive buffer error" +The +.Tn LANCE +ran out of buffer space, packet dropped. +.It "lnc%d: lost carrier" +The Ethernet carrier disappeared during an attempt to transmit. +The +.Tn LANCE +will finish transmitting the current packet, +but will not automatically retry transmission if there is a collision. +.It "lnc%d: excessive collisions, tdr %d" +The Ethernet was extremely busy or jammed, +outbound packets were dropped after 16 attempts to retransmit. +.Pp +TDR +is the abbreviation of +.Qq 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). +.It "lnc%d: dropping chained buffer" +A packet did not fit into a single receive buffer and was dropped. +Since the +.Nm +driver 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. +.It "lnc%d: transmit buffer error" +The +.Tn LANCE +ran out of buffer space before finishing the transmission of a packet. +If this error occurs, the driver software has a bug. +.It "lnc%d: underflow" +The +.Tn LANCE +ran out of buffer space before finishing the transmission of a packet. +If this error occurs, the driver software has a bug. +.It "lnc%d: controller failed to initialize" +Driver failed to start the +.Tn LANCE . +This is potentially a hardware failure. +.It "lnc%d: memory error" +RAM failed to respond within the timeout when the +.Tn LANCE +wanted to read or write it. +This is potentially a hardware failure. +.It "lnc%d: receiver disabled" +The receiver of the +.Tn LANCE +was turned off due to an error. +.It "lnc%d: transmitter disabled" +The transmitter of the +.Tn LANCE +was turned off due to an error. .El .Sh SEE ALSO .Xr arp 4 , +.Xr intro 4 , .Xr netintro 4 , -.Xr ng_ether 4 , +.Xr pcn 4 , +.Xr vlan 4 , .Xr ifconfig 8 .Sh HISTORY The .Nm -device driver first appeared in -.Fx 2.2 . +driver first appeared in +.Fx 2.2 , +it was replaced in +.Dx 1.5 +with the +.Xr le 4 +driver from +.Fx 6.1 +which was in turn ported from +.Nx . +The +.Nx +driver was derived from the +.Xr le 4 driver in +.Bx 4.4 . .Sh AUTHORS .An -nosplit The .Nm -device driver was written by -.An Paul Richards . -Support for the AMD PCHome phone-line based network added by -.An Robert Watson . -This manual page was written by -.An David E. O'Brien . -.Sh BUGS -This driver has the potential of being the most verbose of any of the -Ethernet device drivers. +driver was ported to +.Fx +by +.An "Marius Strobl" Aq marius@FreeBSD.org +and later ported to +.Dx +by +.An "Bill Marquette" Aq bill.marquette@gmail.com . +.\" .Sh BUGS +.\" 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 destination address +.\" (garbage will usually not match), by double-checking the destination +.\" address of every packet in the driver. +.\" This work-around can be enabled with the +.\" .Dv LANCE_REVC_BUG +.\" kernel option. +.\" .Pp +.\" When +.\" .Dv LANCE_REVC_BUG +.\" is enabled, the +.\" .Nm +.\" driver executes one or two calls to an inline Ethernet address comparison +.\" function for every received packet. +.\" There is one comparison for each unicast packet, and two comparisons for +.\" each broadcast packet. +.\" .Pp +.\" In summary, the cost of the LANCE_REVC_BUG option is: +.\" .Bl -enum -compact +.\" .It +.\" loss of multicast support, and +.\" .It +.\" eight extra +.\" .Tn CPU +.\" instructions per received packet, sometimes sixteen, depending on both the +.\" processor, and the type of packet. +.\" .El +.\" .Pp +.\" Alas, the Am7990 chip is so old that +.\" .Tn AMD +.\" has +.\" .Qq de-archived +.\" the production information about it; pending a search elsewhere, we do not +.\" know how to identify the revision C chip from the date codes.