1.\" $NetBSD: sk.4,v 1.25 2020/04/23 15:55:14 jdolecek Exp $ 2.\" 3.\" Copyright (c) 2003, The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 16.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 19.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25.\" POSSIBILITY OF SUCH DAMAGE. 26.\" 27.\" $OpenBSD: sk.4,v 1.41 2006/08/16 22:01:56 kettenis Exp $ 28.\" 29.\" Copyright (c) 1997, 1998, 1999 30.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 31.\" 32.\" Redistribution and use in source and binary forms, with or without 33.\" modification, are permitted provided that the following conditions 34.\" are met: 35.\" 1. Redistributions of source code must retain the above copyright 36.\" notice, this list of conditions and the following disclaimer. 37.\" 2. Redistributions in binary form must reproduce the above copyright 38.\" notice, this list of conditions and the following disclaimer in the 39.\" documentation and/or other materials provided with the distribution. 40.\" 3. All advertising materials mentioning features or use of this software 41.\" must display the following acknowledgement: 42.\" This product includes software developed by Bill Paul. 43.\" 4. Neither the name of the author nor the names of any co-contributors 44.\" may be used to endorse or promote products derived from this software 45.\" without specific prior written permission. 46.\" 47.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 48.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 49.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 50.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 51.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 52.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 53.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 54.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 55.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 56.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 57.\" THE POSSIBILITY OF SUCH DAMAGE. 58.\" 59.\" $FreeBSD: src/share/man/man4/man4.i386/sk.4,v 1.3 1999/08/28 00:20:29 peter Exp $ 60.\" 61.Dd April 23, 2020 62.Dt SK 4 63.Os 64.Sh NAME 65.Nm sk , 66.Nm skc , 67.Nm msk , 68.Nm mskc 69.Nd SysKonnect XMAC II and Marvell GMAC based Gigabit Ethernet 70.Sh SYNOPSIS 71.Cd "skc* at pci? dev ? function ?" 72.Cd "sk* at skc?" 73.Cd "mskc* at pci? dev ? function ?" 74.Cd "msk* at mskc?" 75.Sh DESCRIPTION 76The 77.Nm sk 78driver provides support for SysKonnect based Gigabit Ethernet adapters 79and Marvell based Gigabit Ethernet adapters, including the following: 80.Pp 81.Bl -bullet -offset indent -compact 82.It 83SK-9821 SK-NET GE-T single port, copper adapter 84.It 85SK-9822 SK-NET GE-T dual port, copper adapter 86.It 87SK-9841 SK-NET GE-LX single port, single mode fiber adapter 88.It 89SK-9842 SK-NET GE-LX dual port, single mode fiber adapter 90.It 91SK-9843 SK-NET GE-SX single port, multimode fiber adapter 92.It 93SK-9844 SK-NET GE-SX dual port, multimode fiber adapter 94.It 95SK-9521 V2.0 single port, copper adapter (32-bit) 96.It 97SK-9821 V2.0 single port, copper adapter 98.It 99SK-9843 V2.0 single port, copper adapter 100.It 1013Com 3c940 single port, copper adapter 102.It 103Belkin Gigabit Desktop Network PCI Card, single port, copper (32-bit) 104.It 105D-Link DGE-530T single port, copper adapter 106.It 107Linksys EG1032v2 single-port, copper adapter 108.It 109Linksys EG1064v2 single-port, copper adapter 110.El 111.Pp 112The 113.Nm msk 114driver provides support for the Marvell Yukon-2 based Gigabit Ethernet 115adapters, including the following: 116.Pp 117.Bl -bullet -offset indent -compact 118.It 119Marvell Yukon 88E8035, copper adapter 120.It 121Marvell Yukon 88E8036, copper adapter 122.It 123Marvell Yukon 88E8038, copper adapter 124.It 125Marvell Yukon 88E8050, copper adapter 126.It 127Marvell Yukon 88E8052, copper adapter 128.It 129Marvell Yukon 88E8053, copper adapter 130.It 131Marvell Yukon 88E8055, copper adapter 132.It 133SK-9E21 1000Base-T single port, copper adapter 134.It 135SK-9E22 1000Base-T dual port, copper adapter 136.It 137SK-9E81 1000Base-SX single port, multimode fiber adapter 138.It 139SK-9E82 1000Base-SX dual port, multimode fiber adapter 140.It 141SK-9E91 1000Base-LX single port, single mode fiber adapter 142.It 143SK-9E92 1000Base-LX dual port, single mode fiber adapter 144.It 145SK-9S21 1000Base-T single port, copper adapter 146.It 147SK-9S22 1000Base-T dual port, copper adapter 148.It 149SK-9S81 1000Base-SX single port, multimode fiber adapter 150.It 151SK-9S82 1000Base-SX dual port, multimode fiber adapter 152.It 153SK-9S91 1000Base-LX single port, single mode fiber adapter 154.It 155SK-9S92 1000Base-LX dual port, single mode fiber adapter 156.It 157SK-9E21D 1000Base-T single port, copper adapter 158.El 159.Pp 160The SysKonnect based adapters consist of two main components: the 161XaQti Corp. XMAC II Gigabit MAC 162.Pq Nm sk 163and the SysKonnect GEnesis controller ASIC 164.Pq Nm skc . 165The XMAC provides the Gigabit MAC and PHY support 166while the GEnesis provides an interface to the PCI bus, DMA support, 167packet buffering and arbitration. 168The GEnesis can control up to two XMACs simultaneously, 169allowing dual-port NIC configurations. 170.Pp 171The Marvell based adapters are a single integrated circuit, but are 172still presented as a separate MAC 173.Pq Nm sk 174and controller ASIC 175.Pq Nm skc . 176At this time, there are no dual-port Marvell based NICs. 177.Pp 178The 179.Nm 180driver configures dual port SysKonnect adapters such that each XMAC 181is treated as a separate logical network interface. 182Both ports can operate independently of each other and can be connected 183to separate networks. 184The SysKonnect driver software currently only uses the second port on 185dual port adapters for failover purposes: if the link 186on the primary port fails, the SysKonnect driver will automatically 187switch traffic onto the second port. 188.Pp 189The XaQti XMAC II supports full and half duplex operation with 190autonegotiation. 191The XMAC also supports unlimited frame sizes. 192Support for jumbo frames is provided via the interface MTU setting. 193Selecting an MTU larger than 1500 bytes with the 194.Xr ifconfig 8 195utility configures the adapter to receive and transmit jumbo frames. 196Using jumbo frames can greatly improve performance for certain tasks, 197such as file transfers and data streaming. 198.Pp 199Hardware TCP/IP checksum offloading for IPv4 is available but not 200supported by the driver. 201.Pp 202The following media types and options (as given to 203.Xr ifconfig 8 ) 204are supported: 205.Bl -tag -width xxx -offset indent 206.It Cm media No autoselect 207Enable autoselection of the media type and options. 208The user can manually override 209the autoselected mode. 210.\" by adding media options to the appropriate 211.Xr ifconfig.if 5 212.\" file. 213.It Cm media No 1000baseSX Cm mediaopt No full-duplex 214Set 1000Mbps (Gigabit Ethernet) operation on fiber and force full-duplex mode. 215.It Cm media No 1000baseSX Cm mediaopt No half-duplex 216Set 1000Mbps (Gigabit Ethernet) operation on fiber and force half-duplex mode. 217.It Cm media No 1000baseT Cm mediaopt No full-duplex 218Set 1000Mbps (Gigabit Ethernet) operation and force full-duplex mode. 219.El 220.Pp 221For more information on configuring this device, see 222.Xr ifconfig 8 . 223To view a list of media types and options supported by the card, try 224.Ic ifconfig Fl m Aq Mt device . 225For example, 226.Ic ifconfig Fl m Ar sk0 . 227.Sh DIAGNOSTICS 228.Bl -diag 229.It "sk%d: couldn't map memory" 230A fatal initialization error has occurred. 231.It "sk%d: couldn't map ports" 232A fatal initialization error has occurred. 233.It "sk%d: couldn't map interrupt" 234A fatal initialization error has occurred. 235.It "sk%d: failed to enable memory mapping!" 236The driver failed to initialize PCI shared memory mapping. 237This might happen if the card is not in a bus-master slot. 238.It "sk%d: no memory for jumbo buffers!" 239The driver failed to allocate memory for jumbo frames during 240initialization. 241.It "sk%d: watchdog timeout" 242The device has stopped responding to the network, or there is a problem with 243the network connection (cable). 244.El 245.Sh SEE ALSO 246.Xr ifmedia 4 , 247.Xr intro 4 , 248.Xr netintro 4 , 249.Xr pci 4 , 250.Xr ifconfig.if 5 , 251.Xr ifconfig 8 252.Rs 253.%T XaQti XMAC II datasheet 254.%U http://www.xaqti.com 255.Re 256.Rs 257.%T SysKonnect GEnesis programming manual 258.%U http://www.syskonnect.com 259.Re 260.Sh HISTORY 261The 262.Nm 263device driver first appeared in 264.Fx 3.0 . 265.Ox 266support was added in 267.Ox 2.6 . 268.Nx 269support was added in 270.Nx 2.0 . 271.Pp 272The 273.Nm msk 274driver first appeared in 275.Ox 4.0 , 276and was ported to 277.Nx 4.0 . 278.Sh AUTHORS 279.An -nosplit 280The 281.Nm 282driver was written by 283.An Bill Paul Aq Mt wpaul@ctr.columbia.edu . 284Support for the Marvell Yukon-2 was added by 285.An Mark Kettenis Aq Mt kettenis@openbsd.org . 286.Sh BUGS 287Support for checksum offload is unimplemented. 288Particularly for Yukon-II hardware, there are multiple different 289receive and transmit offload silicon bugs which have to be worked 290around in software when using hardware offloading. 291For this reason, support for hardware offloading 292is not very desirable for these controllers, and unlikely to be 293ever implemented. 294.Pp 295Performance with at least some Marvell-based adapters is poor, 296especially on loaded PCI buses or when the adapters are behind 297PCI-PCI bridges. 298It is believed that this is because the Marvell parts have 299significantly less buffering than the original SysKonnect cards 300had. 301