1.\" Copyright (c) 2006 Pyun YongHyeon 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd December 5, 2007 28.Dt MSK 4 29.Os 30.Sh NAME 31.Nm msk 32.Nd Marvell/SysKonnect Yukon II Gigabit Ethernet adapter driver 33.Sh SYNOPSIS 34To compile this driver into the kernel, 35place the following lines in your 36kernel configuration file: 37.Bd -ragged -offset indent 38.Cd "device miibus" 39.Cd "device msk" 40.Ed 41.Pp 42Alternatively, to load the driver as a 43module at boot time, place the following line in 44.Xr loader.conf 5 : 45.Bd -literal -offset indent 46if_msk_load="YES" 47.Ed 48.Sh DESCRIPTION 49The 50.Nm 51device driver provides support for various NICs based on the 52Marvell/SysKonnect Yukon II Gigabit Ethernet controller chip. 53.Pp 54All NICs supported by the 55.Nm 56driver have TCP/UDP/IP checksum offload for transmit, TCP 57segmentation offload (TSO), hardware VLAN tag stripping/insertion 58features and an interrupt moderation mechanism as well as a 64-bit 59multicast hash filter. 60The Yukon II supports TBI (ten bit interface) and GMII 61transceivers, which means it can be used with either copper or 621000baseX fiber applications. 63.Pp 64The Yukon II also supports Jumbo Frames (up to 9022 bytes), which can be 65configured via the interface MTU setting. 66Selecting an MTU larger than 1500 bytes with the 67.Xr ifconfig 8 68utility configures the adapter to receive and transmit Jumbo Frames. 69.Pp 70The 71.Nm 72driver supports the following media types: 73.Bl -tag -width ".Cm 10baseT/UTP" 74.It Cm autoselect 75Enable autoselection of the media type and options. 76The user can manually override 77the autoselected mode by adding media options to 78.Xr rc.conf 5 . 79.It Cm 10baseT/UTP 80Set 10Mbps operation. 81The 82.Xr ifconfig 8 83.Cm mediaopt 84option can also be used to select either 85.Cm full-duplex 86or 87.Cm half-duplex 88modes. 89.It Cm 100baseTX 90Set 100Mbps (Fast Ethernet) operation. 91The 92.Xr ifconfig 8 93.Cm mediaopt 94option can also be used to select either 95.Cm full-duplex 96or 97.Cm half-duplex 98modes. 99.It Cm 1000baseTX 100Set 1000baseTX operation over twisted pair. 101The 102.Xr ifconfig 8 103.Cm mediaopt 104option can also be used to select either 105.Cm full-duplex 106or 107.Cm half-duplex 108modes. 109.It Cm 1000baseSX 110Set 1000Mbps (Gigabit Ethernet) operation. 111Both 112.Cm full-duplex 113and 114.Cm half-duplex 115modes are supported. 116.El 117.Pp 118The 119.Nm 120driver supports the following media options: 121.Bl -tag -width ".Cm full-duplex" 122.It Cm full-duplex 123Force full duplex operation. 124.It Cm half-duplex 125Force half duplex operation. 126.El 127.Pp 128The 129.Nm 130driver also supports one special link option for 1000baseTX cards: 131.Bl -tag -width ".Cm link0" 132.It Cm link0 133With 1000baseTX cards, establishing a link between two ports requires 134that one port is configured as master and the other one as slave. 135With autonegotiation, 136the master/slave settings will be chosen automatically. 137However when manually selecting the link state, it is necessary to 138force one side of the link to be a master and the other a slave. 139The 140.Nm 141driver configures the ports as slaves by default. 142Setting the 143.Cm link0 144flag with 145.Xr ifconfig 8 146will set a port as a master instead. 147.El 148.Pp 149For more information on configuring this device, see 150.Xr ifconfig 8 . 151.Sh HARDWARE 152The 153.Nm 154driver provides support for various NICs based on the Marvell/SysKonnect 155Yukon II based Gigabit Ethernet controller chips, including: 156.Pp 157.Bl -bullet -compact 158.It 159D-Link 550SX Gigabit Ethernet 160.It 161D-Link 560T Gigabit Ethernet 162.It 163Marvell Yukon 88E8021CU Gigabit Ethernet 164.It 165Marvell Yukon 88E8021 SX/LX Gigabit Ethernet 166.It 167Marvell Yukon 88E8022CU Gigabit Ethernet 168.It 169Marvell Yukon 88E8022 SX/LX Gigabit Ethernet 170.It 171Marvell Yukon 88E8061CU Gigabit Ethernet 172.It 173Marvell Yukon 88E8061 SX/LX Gigabit Ethernet 174.It 175Marvell Yukon 88E8062CU Gigabit Ethernet 176.It 177Marvell Yukon 88E8062 SX/LX Gigabit Ethernet 178.It 179Marvell Yukon 88E8035 Gigabit Ethernet 180.It 181Marvell Yukon 88E8036 Gigabit Ethernet 182.It 183Marvell Yukon 88E8038 Gigabit Ethernet 184.It 185Marvell Yukon 88E8039 Gigabit Ethernet 186.It 187Marvell Yukon 88E8050 Gigabit Ethernet 188.It 189Marvell Yukon 88E8052 Gigabit Ethernet 190.It 191Marvell Yukon 88E8053 Gigabit Ethernet 192.It 193Marvell Yukon 88E8055 Gigabit Ethernet 194.It 195Marvell Yukon 88E8056 Gigabit Ethernet 196.It 197Marvell Yukon 88E8058 Gigabit Ethernet 198.It 199SysKonnect SK-9Sxx Gigabit Ethernet 200.It 201SysKonnect SK-9Exx Gigabit Ethernet 202.El 203.Sh LOADER TUNABLES 204Tunables can be set at the 205.Xr loader 8 206prompt before booting the kernel or stored in 207.Xr loader.conf 5 . 208.Bl -tag -width indent 209.It Va hw.msk.msi_disable 210This tunable disables MSI support on the Ethernet hardware. 211The default value is 0. 212.El 213.Sh SYSCTL VARIABLES 214The following variables are available as both 215.Xr sysctl 8 216variables and 217.Xr loader 8 218tunables: 219.Bl -tag -width indent 220.It Va dev.mskc.%d.process_limit 221Maximum amount of Rx events to be processed in the event loop before 222rescheduling a taskqueue. 223The accepted range is 30 to 256, the default value is 128 events. 224The interface does not need to be brought down and up again before 225a change takes effect. 226.El 227.Sh SEE ALSO 228.Xr altq 4 , 229.Xr arp 4 , 230.Xr miibus 4 , 231.Xr netintro 4 , 232.Xr ng_ether 4 , 233.Xr vlan 4 , 234.Xr ifconfig 8 235.Sh HISTORY 236The 237.Nm 238driver was written by 239.An Pyun YongHyeon 240.Aq yongari@FreeBSD.org 241and it is based on 242.Xr sk 4 243and Marvell's 244.Fx 245driver. 246It first appeared in 247.Fx 7.0 248and 249.Fx 6.3 . 250