To compile this driver into the kernel,
place the following lines in your
kernel configuration file:
device miibusdevice stge
Alternatively, to load the driver as a
module at boot time, place the following line in
loader.conf5:
if_stge_load="YES"
DESCRIPTION
The
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
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
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.conf5.
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
driver supports the following media options:
full-duplex
Force full duplex operation.
half-duplex
Force half duplex operation.
The
driver also supports one special link option for 1000baseTX cards:
link0
With 1000baseTX cards, establishing a link between two ports requires
that one port is configured as master and the other one as slave.
With autonegotiation,
the master/slave settings will be chosen automatically.
However when manually selecting the link state, it is necessary to
force one side of the link to be a master and the other a slave.
The
driver configures the ports as slaves by default.
Setting the
link0
flag with
ifconfig(8)
will set a port as a master instead.
For more information on configuring this device, see
ifconfig(8).
HARDWARE
The
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.