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.Dd May 23, 2011 26.Dt MSK 4 27.Os 28.Sh NAME 29.Nm msk 30.Nd Marvell/SysKonnect Yukon II Gigabit Ethernet adapter driver 31.Sh SYNOPSIS 32To compile this driver into the kernel, 33place the following lines in your 34kernel configuration file: 35.Bd -ragged -offset indent 36.Cd "device miibus" 37.Cd "device msk" 38.Ed 39.Pp 40Alternatively, to load the driver as a 41module at boot time, place the following line in 42.Xr loader.conf 5 : 43.Bd -literal -offset indent 44if_msk_load="YES" 45.Ed 46.Sh DESCRIPTION 47The 48.Nm 49device driver provides support for various NICs based on the 50Marvell/SysKonnect Yukon II Gigabit Ethernet controller chip. 51.Pp 52All NICs supported by the 53.Nm 54driver have TCP/UDP/IP checksum offload for transmit, TCP 55segmentation offload (TSO), hardware VLAN tag stripping/insertion 56features and an interrupt moderation mechanism as well as a 64-bit 57multicast hash filter. 58The Yukon II supports TBI (ten bit interface) and GMII 59transceivers, which means it can be used with either copper or 601000baseX fiber applications. 61.Pp 62The Yukon II also supports Jumbo Frames (up to 9022 bytes), which can be 63configured via the interface MTU setting. 64Selecting an MTU larger than 1500 bytes with the 65.Xr ifconfig 8 66utility configures the adapter to receive and transmit Jumbo Frames. 67.Pp 68The 69.Nm 70driver supports the following media types: 71.Bl -tag -width ".Cm 10baseT/UTP" 72.It Cm autoselect 73Enable autoselection of the media type and options. 74The user can manually override 75the autoselected mode by adding media options to 76.Xr rc.conf 5 . 77.It Cm 10baseT/UTP 78Set 10Mbps operation. 79The 80.Xr ifconfig 8 81.Cm mediaopt 82option can also be used to select either 83.Cm full-duplex 84or 85.Cm half-duplex 86modes. 87.It Cm 100baseTX 88Set 100Mbps (Fast Ethernet) operation. 89The 90.Xr ifconfig 8 91.Cm mediaopt 92option can also be used to select either 93.Cm full-duplex 94or 95.Cm half-duplex 96modes. 97.It Cm 1000baseTX 98Set 1000baseTX operation over twisted pair. 99The 100.Xr ifconfig 8 101.Cm mediaopt 102option can also be used to select either 103.Cm full-duplex 104or 105.Cm half-duplex 106modes. 107.It Cm 1000baseSX 108Set 1000Mbps (Gigabit Ethernet) operation. 109Both 110.Cm full-duplex 111and 112.Cm half-duplex 113modes are supported. 114.El 115.Pp 116The 117.Nm 118driver supports the following media options: 119.Bl -tag -width ".Cm full-duplex" 120.It Cm full-duplex 121Force full duplex operation. 122.It Cm half-duplex 123Force half duplex operation. 124.El 125.Pp 126For more information on configuring this device, see 127.Xr ifconfig 8 . 128.Sh HARDWARE 129The 130.Nm 131driver provides support for various NICs based on the Marvell/SysKonnect 132Yukon II based Gigabit Ethernet controller chips, including: 133.Pp 134.Bl -bullet -compact 135.It 136D-Link 550SX Gigabit Ethernet 137.It 138D-Link 560SX Gigabit Ethernet 139.It 140D-Link 560T Gigabit Ethernet 141.It 142Marvell Yukon 88E8021CU Gigabit Ethernet 143.It 144Marvell Yukon 88E8021 SX/LX Gigabit Ethernet 145.It 146Marvell Yukon 88E8022CU Gigabit Ethernet 147.It 148Marvell Yukon 88E8022 SX/LX Gigabit Ethernet 149.It 150Marvell Yukon 88E8061CU Gigabit Ethernet 151.It 152Marvell Yukon 88E8061 SX/LX Gigabit Ethernet 153.It 154Marvell Yukon 88E8062CU Gigabit Ethernet 155.It 156Marvell Yukon 88E8062 SX/LX Gigabit Ethernet 157.It 158Marvell Yukon 88E8035 Fast Ethernet 159.It 160Marvell Yukon 88E8036 Fast Ethernet 161.It 162Marvell Yukon 88E8038 Fast Ethernet 163.It 164Marvell Yukon 88E8039 Fast Ethernet 165.It 166Marvell Yukon 88E8040 Fast Ethernet 167.It 168Marvell Yukon 88E8040T Fast Ethernet 169.It 170Marvell Yukon 88E8042 Fast Ethernet 171.It 172Marvell Yukon 88E8048 Fast Ethernet 173.It 174Marvell Yukon 88E8050 Gigabit Ethernet 175.It 176Marvell Yukon 88E8052 Gigabit Ethernet 177.It 178Marvell Yukon 88E8053 Gigabit Ethernet 179.It 180Marvell Yukon 88E8055 Gigabit Ethernet 181.It 182Marvell Yukon 88E8056 Gigabit Ethernet 183.It 184Marvell Yukon 88E8057 Gigabit Ethernet 185.It 186Marvell Yukon 88E8058 Gigabit Ethernet 187.It 188Marvell Yukon 88E8059 Gigabit Ethernet 189.It 190Marvell Yukon 88E8070 Gigabit Ethernet 191.It 192Marvell Yukon 88E8071 Gigabit Ethernet 193.It 194Marvell Yukon 88E8072 Gigabit Ethernet 195.It 196Marvell Yukon 88E8075 Gigabit Ethernet 197.It 198SysKonnect SK-9Sxx Gigabit Ethernet 199.It 200SysKonnect SK-9Exx Gigabit Ethernet 201.El 202.Sh LOADER TUNABLES 203Tunables can be set at the 204.Xr loader 8 205prompt before booting the kernel or stored in 206.Xr loader.conf 5 . 207.Bl -tag -width indent 208.It Va hw.msk.msi_disable 209This tunable disables MSI support on the Ethernet hardware. 210The default value is 0. 211.El 212.Sh SYSCTL VARIABLES 213The following variables are available as both 214.Xr sysctl 8 215variables and 216.Xr loader 8 217tunables: 218.Bl -tag -width indent 219.It Va dev.mskc.%d.int_holdoff 220Maximum number of time to delay interrupts. 221The valid range is 0 to 34359738 for 125MHz clock in units of 1us, 222the default is 100 (100us). 223The interface need to be brought down and up again before a change 224takes effect. 225.It Va dev.mskc.%d.process_limit 226Maximum amount of Rx events to be processed in the event loop before 227rescheduling a taskqueue. 228The accepted range is 30 to 256, the default value is 128 events. 229The interface does not need to be brought down and up again before 230a change takes effect. 231.El 232.Sh SEE ALSO 233.Xr altq 4 , 234.Xr arp 4 , 235.Xr miibus 4 , 236.Xr netintro 4 , 237.Xr ng_ether 4 , 238.Xr vlan 4 , 239.Xr ifconfig 8 240.Sh HISTORY 241The 242.Nm 243driver was written by 244.An Pyun YongHyeon Aq Mt yongari@FreeBSD.org 245and it is based on 246.Xr sk 4 247and Marvell's 248.Fx 249driver. 250It first appeared in 251.Fx 7.0 252and 253.Fx 6.3 . 254