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 May 23, 2011 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 128For more information on configuring this device, see 129.Xr ifconfig 8 . 130.Sh HARDWARE 131The 132.Nm 133driver provides support for various NICs based on the Marvell/SysKonnect 134Yukon II based Gigabit Ethernet controller chips, including: 135.Pp 136.Bl -bullet -compact 137.It 138D-Link 550SX Gigabit Ethernet 139.It 140D-Link 560SX Gigabit Ethernet 141.It 142D-Link 560T Gigabit Ethernet 143.It 144Marvell Yukon 88E8021CU Gigabit Ethernet 145.It 146Marvell Yukon 88E8021 SX/LX Gigabit Ethernet 147.It 148Marvell Yukon 88E8022CU Gigabit Ethernet 149.It 150Marvell Yukon 88E8022 SX/LX Gigabit Ethernet 151.It 152Marvell Yukon 88E8061CU Gigabit Ethernet 153.It 154Marvell Yukon 88E8061 SX/LX Gigabit Ethernet 155.It 156Marvell Yukon 88E8062CU Gigabit Ethernet 157.It 158Marvell Yukon 88E8062 SX/LX Gigabit Ethernet 159.It 160Marvell Yukon 88E8035 Fast Ethernet 161.It 162Marvell Yukon 88E8036 Fast Ethernet 163.It 164Marvell Yukon 88E8038 Fast Ethernet 165.It 166Marvell Yukon 88E8039 Fast Ethernet 167.It 168Marvell Yukon 88E8040 Fast Ethernet 169.It 170Marvell Yukon 88E8040T Fast Ethernet 171.It 172Marvell Yukon 88E8042 Fast Ethernet 173.It 174Marvell Yukon 88E8048 Fast Ethernet 175.It 176Marvell Yukon 88E8050 Gigabit Ethernet 177.It 178Marvell Yukon 88E8052 Gigabit Ethernet 179.It 180Marvell Yukon 88E8053 Gigabit Ethernet 181.It 182Marvell Yukon 88E8055 Gigabit Ethernet 183.It 184Marvell Yukon 88E8056 Gigabit Ethernet 185.It 186Marvell Yukon 88E8057 Gigabit Ethernet 187.It 188Marvell Yukon 88E8058 Gigabit Ethernet 189.It 190Marvell Yukon 88E8059 Gigabit Ethernet 191.It 192Marvell Yukon 88E8070 Gigabit Ethernet 193.It 194Marvell Yukon 88E8071 Gigabit Ethernet 195.It 196Marvell Yukon 88E8072 Gigabit Ethernet 197.It 198Marvell Yukon 88E8075 Gigabit Ethernet 199.It 200SysKonnect SK-9Sxx Gigabit Ethernet 201.It 202SysKonnect SK-9Exx Gigabit Ethernet 203.El 204.Sh LOADER TUNABLES 205Tunables can be set at the 206.Xr loader 8 207prompt before booting the kernel or stored in 208.Xr loader.conf 5 . 209.Bl -tag -width indent 210.It Va hw.msk.msi_disable 211This tunable disables MSI support on the Ethernet hardware. 212The default value is 0. 213.El 214.Sh SYSCTL VARIABLES 215The following variables are available as both 216.Xr sysctl 8 217variables and 218.Xr loader 8 219tunables: 220.Bl -tag -width indent 221.It Va dev.mskc.%d.int_holdoff 222Maximum number of time to delay interrupts. 223The valid range is 0 to 34359738 for 125MHz clock in units of 1us, 224the default is 100 (100us). 225The interface need to be brought down and up again before a change 226takes effect. 227.It Va dev.mskc.%d.process_limit 228Maximum amount of Rx events to be processed in the event loop before 229rescheduling a taskqueue. 230The accepted range is 30 to 256, the default value is 128 events. 231The interface does not need to be brought down and up again before 232a change takes effect. 233.El 234.Sh SEE ALSO 235.Xr altq 4 , 236.Xr arp 4 , 237.Xr miibus 4 , 238.Xr netintro 4 , 239.Xr ng_ether 4 , 240.Xr vlan 4 , 241.Xr ifconfig 8 242.Sh HISTORY 243The 244.Nm 245driver was written by 246.An Pyun YongHyeon Aq Mt yongari@FreeBSD.org 247and it is based on 248.Xr sk 4 249and Marvell's 250.Fx 251driver. 252It first appeared in 253.Fx 7.0 254and 255.Fx 6.3 . 256