xref: /freebsd/share/man/man4/nge.4 (revision 0f454b93f8502e85e8d2b26a383e40b5dc50cd27)
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