xref: /freebsd/share/man/man4/nge.4 (revision 315ee00f)
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.Dd November 23, 2010
33.Dt NGE 4
34.Os
35.Sh NAME
36.Nm nge
37.Nd "National Semiconductor PCI Gigabit Ethernet adapter driver"
38.Sh SYNOPSIS
39To compile this driver into the kernel,
40place the following lines in your
41kernel configuration file:
42.Bd -ragged -offset indent
43.Cd "device miibus"
44.Cd "device nge"
45.Ed
46.Pp
47Alternatively, to load the driver as a
48module at boot time, place the following line in
49.Xr loader.conf 5 :
50.Bd -literal -offset indent
51if_nge_load="YES"
52.Ed
53.Sh DESCRIPTION
54The
55.Nm
56driver provides support for various NICs based on the National Semiconductor
57DP83820 and DP83821 Gigabit Ethernet controller chips.
58.Pp
59The DP83820 supports TBI (ten bit interface) and GMII
60transceivers, which means it can be used with either copper or 1000baseX
61fiber applications.
62The DP83820 supports TCP/IP checksum offload and
63VLAN tagging/insertion as well as a 2048-bit multicast hash filter
64and up to 4 pattern match buffers.
65.Pp
66Most cards also use the DP83861 10/100/1000 copper gigabit transceiver
67chip, which supports autonegotiation of 10, 100 and 1000Mbps modes in
68full or half duplex.
69.Pp
70The DP83820 and DP83821 also support jumbo frames, which can be
71configured via the interface MTU setting.
72Selecting an MTU larger than 1500 bytes with the
73.Xr ifconfig 8
74utility configures the adapter to receive and transmit jumbo frames.
75Using jumbo frames can greatly improve performance for certain tasks,
76such as file transfers and data streaming.
77.Pp
78The
79.Nm
80driver supports the following media types:
81.Bl -tag -width 10baseTXUTP
82.It Cm autoselect
83Enable autoselection of the media type and options.
84The user can manually override
85the autoselected mode by adding media options to
86.Xr rc.conf 5 .
87.It Cm 10baseT/UTP
88Set 10Mbps operation.
89The
90.Xr ifconfig 8
91.Ic mediaopt
92option can also be used to select either
93.Cm full-duplex
94or
95.Cm half-duplex
96modes.
97.It Cm 100baseTX
98Set 100Mbps (Fast Ethernet) operation.
99The
100.Xr ifconfig 8
101.Ic mediaopt
102option can also be used to select either
103.Cm full-duplex
104or
105.Cm half-duplex
106modes.
107.It Cm 1000baseTX
108Set 1000baseTX operation over twisted pair.
109.Cm full-duplex
110and
111.Cm half-duplex
112modes are supported.
113.It Cm 1000baseSX
114Set 1000Mbps (Gigabit Ethernet) operation.
115Both
116.Cm full-duplex
117and
118.Cm half-duplex
119modes are supported.
120.El
121.Pp
122The
123.Nm
124driver supports the following media options:
125.Bl -tag -width full-duplex
126.It Cm full-duplex
127Force full duplex operation.
128.It Cm half-duplex
129Force half duplex operation.
130.El
131.Pp
132For more information on configuring this device, see
133.Xr ifconfig 8 .
134.Sh HARDWARE
135The
136.Nm
137driver supports National Semiconductor DP83820 and DP83821 based
138Gigabit Ethernet adapters including:
139.Pp
140.Bl -bullet -compact
141.It
142Addtron AEG320T
143.It
144Ark PC SOHO-GA2500T (32-bit PCI) and SOHO-GA2000T (64-bit PCI)
145.It
146Asante FriendlyNet GigaNIX 1000TA and 1000TPC
147.It
148D-Link DGE-500T
149.It
150Linksys EG1032, revision 1
151.It
152Netgear GA621
153.It
154Netgear GA622T
155.It
156SMC EZ Card 1000 (SMC9462TX)
157.It
158Surecom Technology EP-320G-TX
159.It
160Trendware TEG-PCITX (32-bit PCI) and TEG-PCITX2 (64-bit PCI)
161.El
162.Sh SYSCTL VARIABLES
163The following variables are available as both
164.Xr sysctl 8
165variables and
166.Xr loader 8
167tunables:
168.Bl -tag -width "xxxxxx"
169.It Va dev.nge.%d.int_holdoff
170Maximum amount of time to delay interrupt processing in units of
171100us.
172The accepted range is 0 to 255, the default is 1(100us).
173Value 0 completely disables the interrupt moderation.
174The interface has to be brought down and up again before a change
175takes effect.
176.El
177.Sh DIAGNOSTICS
178.Bl -diag
179.It "nge%d: couldn't map memory"
180A fatal initialization error has occurred.
181.It "nge%d: couldn't map ports"
182A fatal initialization error has occurred.
183.It "nge%d: couldn't map interrupt"
184A fatal initialization error has occurred.
185.It "nge%d: no memory for softc struct!"
186The driver failed to allocate memory for per-device instance information
187during initialization.
188.It "nge%d: failed to enable memory mapping!"
189The driver failed to initialize PCI shared memory mapping.
190This might
191happen if the card is not in a bus-master slot.
192.It "nge%d: no memory for jumbo buffers!"
193The driver failed to allocate memory for jumbo frames during
194initialization.
195.It "nge%d: watchdog timeout"
196The device has stopped responding to the network, or there is a problem with
197the network connection (cable).
198.El
199.Sh SEE ALSO
200.Xr altq 4 ,
201.Xr arp 4 ,
202.Xr miibus 4 ,
203.Xr netintro 4 ,
204.Xr ng_ether 4 ,
205.Xr polling 4 ,
206.Xr vlan 4 ,
207.Xr ifconfig 8
208.Rs
209.%T National Semiconductor DP83820 datasheet
210.Re
211.Rs
212.%T National Semiconductor DP83861 datasheet
213.Re
214.Sh HISTORY
215The
216.Nm
217device driver first appeared in
218.Fx 4.4 .
219.Sh AUTHORS
220The
221.Nm
222driver was written by
223.An Bill Paul Aq Mt wpaul@bsdi.com .
224