NAME

stgeSundance/Tamarack TC9021 Gigabit Ethernet adapter driver

SYNOPSIS

To compile this driver into the kernel, place the following lines in your kernel configuration file:
device miibus
device stge
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
if_stge_load="YES"

DESCRIPTION

The stge device driver provides support for various NICs based on the Sundance/Tamarack TC9021 Gigabit Ethernet controller chip.
The Sundance/Tamarack TC9021 is found on the D-Link DGE-550T and the Antares Microsystems Gigabit Ethernet board. It uses an external PHY or an external 10-bit interface.
All NICs supported by the stge driver have TCP/UDP/IP checksum offload for both receive and transmit, hardware VLAN tag stripping/insertion features, and receive interrupt moderation mechanism as well as a 64-bit multicast hash filter. The Sundance/Tamarack TC9021 supports TBI (ten bit interface) and GMII transceivers, which means it can be used with either copper or 1000baseX fiber applications.
The Sundance/Tamarack TC9021 also supports jumbo frames, which can be configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit jumbo frames.
The stge driver supports the following media types:
autoselect
Enable autoselection of the media type and options. The user can manually override the autoselected mode by adding media options to rc.conf(5).
10baseT/UTP
Set 10Mbps operation. The ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.
100baseTX
Set 100Mbps (Fast Ethernet) operation. The ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.
1000baseTX
Set 1000baseTX operation over twisted pair. The Sundance/Tamarack supports 1000Mbps in autoselect mode only.
The stge driver supports the following media options:
full-duplex
Force full duplex operation.
half-duplex
Force half duplex operation.
For more information on configuring this device, see ifconfig(8).

HARDWARE

The stge driver provides support for various NICs based on the Sundance/Tamarack TC9021 based Gigabit Ethernet controller chips, including:
  • Antares Microsystems Gigabit Ethernet
  • ASUS NX1101 Gigabit Ethernet
  • D-Link DL-4000 Gigabit Ethernet
  • IC Plus IP1000A Gigabit Ethernet
  • Sundance ST-2021 Gigabit Ethernet
  • Sundance ST-2023 Gigabit Ethernet
  • Sundance TC9021 Gigabit Ethernet
  • Tamarack TC9021 Gigabit Ethernet

SYSCTL VARIABLES

The following variables are available as both sysctl(8) variables and loader(8) tunables:
dev.stge.%d.rxint_nframe
Number of frames between RxDMAComplete interrupts. The accepted range is 1 to 255, default value is 8 frames. The interface has to be brought down and up again before a change takes effect.
dev.stge.%d.rxint_dmawait
Maximum amount of time to wait in 1us increments before issuing an Rx interrupt if the number of frames received is less than rxint_nframe. The accepted range is 0 to 4194, default value is 30 microseconds. The interface has to be brought down and up again before a change takes effect.

SEE ALSO

altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4), vlan(4), ifconfig(8)

HISTORY

The stge driver was ported from NetBSD and first appeared in FreeBSD 6.2. The NetBSD version was written by Jason R. Thorpe <[email protected]>.

AUTHORS

The stge driver was ported by Pyun YongHyeon <[email protected]>.