1.\" $NetBSD: stge.4,v 1.7 2003/02/14 15:20:20 grant Exp $ 2.\" 3.\" Copyright (c) 2001 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Jason R. Thorpe. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 3. All advertising materials mentioning features or use of this software 18.\" must display the following acknowledgement: 19.\" This product includes software developed by the NetBSD 20.\" Foundation, Inc. and its contributors. 21.\" 4. Neither the name of The NetBSD Foundation nor the names of its 22.\" contributors may be used to endorse or promote products derived 23.\" from this software without specific prior written permission. 24.\" 25.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 26.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 27.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 28.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 29.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35.\" POSSIBILITY OF SUCH DAMAGE. 36.\" 37.\" $FreeBSD$ 38.\" 39.Dd July 25, 2006 40.Dt STGE 4 41.Os 42.Sh NAME 43.Nm stge 44.Nd Sundance/Tamarack TC9021 Gigabit Ethernet adapter driver 45.Sh SYNOPSIS 46To compile this driver into the kernel, 47place the following lines in your 48kernel configuration file: 49.Bd -ragged -offset indent 50.Cd "device miibus" 51.Cd "device stge" 52.Ed 53.Pp 54Alternatively, to load the driver as a 55module at boot time, place the following line in 56.Xr loader.conf 5 : 57.Bd -literal -offset indent 58if_stge_load="YES" 59.Ed 60.Sh DESCRIPTION 61The 62.Nm 63device driver provides support for various NICs based on the 64Sundance/Tamarack TC9021 Gigabit Ethernet controller chip. 65.Pp 66The Sundance/Tamarack TC9021 is found on the D-Link DGE-550T 67and the Antares Microsystems Gigabit Ethernet board. 68It uses an external PHY or an external 10-bit interface. 69.Pp 70All NICs supported by the 71.Nm 72driver have TCP/UDP/IP checksum offload for both receive and 73transmit, hardware VLAN tag stripping/insertion features, and 74receive interrupt moderation mechanism as well as a 64-bit 75multicast hash filter. 76The Sundance/Tamarack TC9021 supports TBI (ten bit interface) 77and GMII transceivers, which means it can be used with either 78copper or 1000baseX fiber applications. 79.Pp 80The Sundance/Tamarack TC9021 also supports jumbo frames, which can be 81configured via the interface MTU setting. 82Selecting an MTU larger than 1500 bytes with the 83.Xr ifconfig 8 84utility configures the adapter to receive and transmit jumbo frames. 85.Pp 86The 87.Nm 88driver supports the following media types: 89.Bl -tag -width ".Cm 10baseT/UTP" 90.It Cm autoselect 91Enable autoselection of the media type and options. 92The user can manually override 93the autoselected mode by adding media options to 94.Xr rc.conf 5 . 95.It Cm 10baseT/UTP 96Set 10Mbps operation. 97The 98.Xr ifconfig 8 99.Cm mediaopt 100option can also be used to select either 101.Cm full-duplex 102or 103.Cm half-duplex 104modes. 105.It Cm 100baseTX 106Set 100Mbps (Fast Ethernet) operation. 107The 108.Xr ifconfig 8 109.Cm mediaopt 110option can also be used to select either 111.Cm full-duplex 112or 113.Cm half-duplex 114modes. 115.It Cm 1000baseTX 116Set 1000baseTX operation over twisted pair. 117The Sundance/Tamarack supports 1000Mbps in 118.Cm autoselect 119mode only. 120.\" .It Cm 1000baseSX 121.\" Set 1000Mbps (Gigabit Ethernet) operation. 122.\" Both 123.\" .Cm full-duplex 124.\" and 125.\" .Cm half-duplex 126.\" modes are supported. 127.El 128.Pp 129The 130.Nm 131driver supports the following media options: 132.Bl -tag -width ".Cm full-duplex" 133.It Cm full-duplex 134Force full duplex operation. 135.It Cm half-duplex 136Force half duplex operation. 137.El 138.Pp 139The 140.Nm 141driver also supports one special link option for 1000baseTX cards: 142.Bl -tag -width ".Cm link0" 143.It Cm link0 144With 1000baseTX cards, establishing a link between two ports requires 145that one port is configured as master and the other one as slave. 146With autonegotiation, 147the master/slave settings will be chosen automatically. 148However when manually selecting the link state, it is necessary to 149force one side of the link to be a master and the other a slave. 150The 151.Nm 152driver configures the ports as slaves by default. 153Setting the 154.Cm link0 155flag with 156.Xr ifconfig 8 157will set a port as a master instead. 158.El 159.Pp 160For more information on configuring this device, see 161.Xr ifconfig 8 . 162.Sh HARDWARE 163The 164.Nm 165driver provides support for various NICs based on the Sundance/Tamarack 166TC9021 based Gigabit Ethernet controller chips, including: 167.Pp 168.Bl -bullet -compact 169.It 170Antares Microsystems Gigabit Ethernet 171.It 172ASUS NX1101 Gigabit Ethernet 173.It 174D-Link DL-4000 Gigabit Ethernet 175.It 176IC Plus IP1000A Gigabit Ethernet 177.It 178Sundance ST-2021 Gigabit Ethernet 179.It 180Sundance ST-2023 Gigabit Ethernet 181.It 182Sundance TC9021 Gigabit Ethernet 183.It 184Tamarack TC9021 Gigabit Ethernet 185.El 186.Sh SYSCTL VARIABLES 187The following variables are available as both 188.Xr sysctl 8 189variables and 190.Xr loader 8 191tunables: 192.Bl -tag -width indent 193.It Va dev.stge.%d.rxint_nframe 194Number of frames between RxDMAComplete interrupts. 195The accepted range is 1 to 255, default value is 8 frames. 196The interface has to be brought down and up again before a change takes effect. 197.It Va dev.stge.%d.rxint_dmawait 198Maximum amount of time to wait in 1us increments before issuing 199an Rx interrupt if the number of frames received is less than 200.Va rxint_nframe . 201The accepted range is 0 to 4194, default value is 30 microseconds. 202The interface has to be brought down and up again before a change takes effect. 203.El 204.Sh SEE ALSO 205.Xr altq 4 , 206.Xr arp 4 , 207.Xr miibus 4 , 208.Xr netintro 4 , 209.Xr ng_ether 4 , 210.Xr polling 4 , 211.Xr vlan 4 , 212.Xr ifconfig 8 213.Sh HISTORY 214The 215.Nm 216driver was ported from 217.Nx 218and first appeared in 219.Fx 6.2 . 220The 221.Nx 222version was written by 223.An Jason R. Thorpe 224.Aq thorpej@NetBSD.org . 225.Sh AUTHORS 226The 227.Nm 228driver was ported by 229.An Pyun YongHyeon 230.Aq yongari@FreeBSD.org . 231