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