1.\" Copyright (c) 2001 Wind River Systems 2.\" Copyright (c) 1997, 1998, 1999, 2000, 2001 3.\" Bill Paul <wpaul@bsdi.com>. All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 3. All advertising materials mentioning features or use of this software 14.\" must display the following acknowledgement: 15.\" This product includes software developed by Bill Paul. 16.\" 4. Neither the name of the author nor the names of any co-contributors 17.\" may be used to endorse or promote products derived from this software 18.\" without specific prior written permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 24.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30.\" THE POSSIBILITY OF SUCH DAMAGE. 31.\" 32.\" $FreeBSD$ 33.\" 34.Dd May 21, 2009 35.Dt NGE 4 36.Os 37.Sh NAME 38.Nm nge 39.Nd "National Semiconductor PCI Gigabit Ethernet adapter driver" 40.Sh SYNOPSIS 41To compile this driver into the kernel, 42place the following lines in your 43kernel configuration file: 44.Bd -ragged -offset indent 45.Cd "device miibus" 46.Cd "device nge" 47.Ed 48.Pp 49Alternatively, to load the driver as a 50module at boot time, place the following line in 51.Xr loader.conf 5 : 52.Bd -literal -offset indent 53if_nge_load="YES" 54.Ed 55.Sh DESCRIPTION 56The 57.Nm 58driver provides support for various NICs based on the National Semiconductor 59DP83820 and DP83821 Gigabit Ethernet controller chips. 60.Pp 61The DP83820 supports TBI (ten bit interface) and GMII 62transceivers, which means it can be used with either copper or 1000baseX 63fiber applications. 64The DP83820 supports TCP/IP checksum offload and 65VLAN tagging/insertion as well as a 2048-bit multicast hash filter 66and up to 4 pattern match buffers. 67.Pp 68Most cards also use the DP83861 10/100/1000 copper gigabit transceiver 69chip, which supports autonegotiation of 10, 100 and 1000Mbps modes in 70full or half duplex. 71.Pp 72The DP83820 and DP83821 also support jumbo frames, which can be 73configured via the interface MTU setting. 74Selecting an MTU larger than 1500 bytes with the 75.Xr ifconfig 8 76utility configures the adapter to receive and transmit jumbo frames. 77Using jumbo frames can greatly improve performance for certain tasks, 78such as file transfers and data streaming. 79.Pp 80The 81.Nm 82driver supports the following media types: 83.Bl -tag -width 10baseTXUTP 84.It Cm autoselect 85Enable autoselection of the media type and options. 86The user can manually override 87the autoselected mode by adding media options to 88.Xr rc.conf 5 . 89.It Cm 10baseT/UTP 90Set 10Mbps operation. 91The 92.Xr ifconfig 8 93.Ic mediaopt 94option can also be used to select either 95.Cm full-duplex 96or 97.Cm half-duplex 98modes. 99.It Cm 100baseTX 100Set 100Mbps (Fast Ethernet) operation. 101The 102.Xr ifconfig 8 103.Ic mediaopt 104option can also be used to select either 105.Cm full-duplex 106or 107.Cm half-duplex 108modes. 109.It Cm 1000baseTX 110Set 1000baseTX operation over twisted pair. 111.Cm full-duplex 112and 113.Cm half-duplex 114modes are supported. 115.It Cm 1000baseSX 116Set 1000Mbps (Gigabit Ethernet) operation. 117Both 118.Cm full-duplex 119and 120.Cm half-duplex 121modes are supported. 122.El 123.Pp 124The 125.Nm 126driver supports the following media options: 127.Bl -tag -width full-duplex 128.It Cm full-duplex 129Force full duplex operation. 130.It Cm half-duplex 131Force half duplex operation. 132.El 133.Pp 134The 135.Nm 136driver also supports one special link option for 1000baseTX cards: 137.Bl -tag -width link0 138.It Cm link0 139With 1000baseTX cards, establishing a link between two ports requires 140that one port be configured as a master and the other a slave. 141With autonegotiation, 142the master/slave settings will be chosen automatically. 143However when manually selecting the link state, it is necessary to 144force one side of the link to be a master and the other a slave. 145The 146.Nm 147driver configures the ports as slaves by default. 148Setting the 149.Cm link0 150flag with 151.Xr ifconfig 8 152will set a port as a master instead. 153.El 154.Pp 155For more information on configuring this device, see 156.Xr ifconfig 8 . 157.Sh HARDWARE 158The 159.Nm 160driver supports National Semiconductor DP83820 and DP83821 based 161Gigabit Ethernet adapters including: 162.Pp 163.Bl -bullet -compact 164.It 165Addtron AEG320T 166.It 167Ark PC SOHO-GA2500T (32-bit PCI) and SOHO-GA2000T (64-bit PCI) 168.It 169Asante FriendlyNet GigaNIX 1000TA and 1000TPC 170.It 171D-Link DGE-500T 172.It 173Linksys EG1032, revision 1 174.It 175Netgear GA621 176.It 177Netgear GA622T 178.It 179SMC EZ Card 1000 (SMC9462TX) 180.It 181Surecom Technology EP-320G-TX 182.It 183Trendware TEG-PCITX (32-bit PCI) and TEG-PCITX2 (64-bit PCI) 184.El 185.Sh SYSCTL VARIABLES 186The following variables are available as both 187.Xr sysctl 8 188variables and 189.Xr loader 8 190tunables: 191.Bl -tag -width "xxxxxx" 192.It Va dev.nge.%d.int_holdoff 193Maximum amount of time to delay interrupt processing in units of 194100us. 195The accepted range is 0 to 255, the default is 1(100us). 196Value 0 completely disables the interrupt moderation. 197The interface has to be brought down and up again before a change 198takes effect. 199.El 200.Sh DIAGNOSTICS 201.Bl -diag 202.It "nge%d: couldn't map memory" 203A fatal initialization error has occurred. 204.It "nge%d: couldn't map ports" 205A fatal initialization error has occurred. 206.It "nge%d: couldn't map interrupt" 207A fatal initialization error has occurred. 208.It "nge%d: no memory for softc struct!" 209The driver failed to allocate memory for per-device instance information 210during initialization. 211.It "nge%d: failed to enable memory mapping!" 212The driver failed to initialize PCI shared memory mapping. 213This might 214happen if the card is not in a bus-master slot. 215.It "nge%d: no memory for jumbo buffers!" 216The driver failed to allocate memory for jumbo frames during 217initialization. 218.It "nge%d: watchdog timeout" 219The device has stopped responding to the network, or there is a problem with 220the network connection (cable). 221.El 222.Sh SEE ALSO 223.Xr altq 4 , 224.Xr arp 4 , 225.Xr miibus 4 , 226.Xr netintro 4 , 227.Xr ng_ether 4 , 228.Xr polling 4 , 229.Xr vlan 4 , 230.Xr ifconfig 8 231.Rs 232.%T National Semiconductor DP83820 datasheet 233.%O http://www.national.com 234.Re 235.Rs 236.%T National Semiconductor DP83861 datasheet 237.%O http://www.national.com 238.Re 239.Sh HISTORY 240The 241.Nm 242device driver first appeared in 243.Fx 4.4 . 244.Sh AUTHORS 245The 246.Nm 247driver was written by 248.An Bill Paul Aq wpaul@bsdi.com . 249