Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SK(4)                        Device Drivers Manual                       SK(4)

NAME
     sk, skc, msk, mskc - SysKonnect XMAC II and Marvell GMAC based Gigabit
     Ethernet

SYNOPSIS
     skc* at pci? dev ? function ?
     sk* at skc?
     mskc* at pci? dev ? function ?
     msk* at mskc?

DESCRIPTION
     The sk driver provides support for SysKonnect based Gigabit Ethernet
     adapters and Marvell based Gigabit Ethernet adapters, including the
     following:

              SK-9821 SK-NET GE-T single port, copper adapter
              SK-9822 SK-NET GE-T dual port, copper adapter
              SK-9841 SK-NET GE-LX single port, single mode fiber adapter
              SK-9842 SK-NET GE-LX dual port, single mode fiber adapter
              SK-9843 SK-NET GE-SX single port, multimode fiber adapter
              SK-9844 SK-NET GE-SX dual port, multimode fiber adapter
              SK-9521 V2.0 single port, copper adapter (32-bit)
              SK-9821 V2.0 single port, copper adapter
              SK-9843 V2.0 single port, copper adapter
              3Com 3c940 single port, copper adapter
              Belkin Gigabit Desktop Network PCI Card, single port, copper
               (32-bit)
              D-Link DGE-530T single port, copper adapter
              Linksys EG1032v2 single-port, copper adapter
              Linksys EG1064v2 single-port, copper adapter

     The msk driver provides support for the Marvell Yukon-2 based Gigabit
     Ethernet adapters, including the following:

              Marvell Yukon 88E8035, copper adapter
              Marvell Yukon 88E8036, copper adapter
              Marvell Yukon 88E8038, copper adapter
              Marvell Yukon 88E8050, copper adapter
              Marvell Yukon 88E8052, copper adapter
              Marvell Yukon 88E8053, copper adapter
              Marvell Yukon 88E8055, copper adapter
              SK-9E21 1000Base-T single port, copper adapter
              SK-9E22 1000Base-T dual port, copper adapter
              SK-9E81 1000Base-SX single port, multimode fiber adapter
              SK-9E82 1000Base-SX dual port, multimode fiber adapter
              SK-9E91 1000Base-LX single port, single mode fiber adapter
              SK-9E92 1000Base-LX dual port, single mode fiber adapter
              SK-9S21 1000Base-T single port, copper adapter
              SK-9S22 1000Base-T dual port, copper adapter
              SK-9S81 1000Base-SX single port, multimode fiber adapter
              SK-9S82 1000Base-SX dual port, multimode fiber adapter
              SK-9S91 1000Base-LX single port, single mode fiber adapter
              SK-9S92 1000Base-LX dual port, single mode fiber adapter
              SK-9E21D 1000Base-T single port, copper adapter

     The SysKonnect based adapters consist of two main components: the XaQti
     Corp. XMAC II Gigabit MAC (sk) and the SysKonnect GEnesis controller ASIC
     (skc).  The XMAC provides the Gigabit MAC and PHY support while the
     GEnesis provides an interface to the PCI bus, DMA support, packet
     buffering and arbitration.  The GEnesis can control up to two XMACs
     simultaneously, allowing dual-port NIC configurations.

     The Marvell based adapters are a single integrated circuit, but are still
     presented as a separate MAC (sk) and controller ASIC (skc).  At this
     time, there are no dual-port Marvell based NICs.

     The sk driver configures dual port SysKonnect adapters such that each
     XMAC is treated as a separate logical network interface.  Both ports can
     operate independently of each other and can be connected to separate
     networks.  The SysKonnect driver software currently only uses the second
     port on dual port adapters for failover purposes: if the link on the
     primary port fails, the SysKonnect driver will automatically switch
     traffic onto the second port.

     The XaQti XMAC II supports full and half duplex operation with
     autonegotiation.  The XMAC also supports unlimited frame sizes.  Support
     for jumbo frames is provided 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.  Using jumbo frames can
     greatly improve performance for certain tasks, such as file transfers and
     data streaming.

     Hardware TCP/IP checksum offloading for IPv4 is available but not
     supported by the driver.

     The following media types and options (as given to ifconfig(8)) are
     supported:

           media autoselect
                Enable autoselection of the media type and options.  The user
                can manually override the autoselected mode.  ifconfig.if(5)

           media 1000baseSX mediaopt full-duplex
                Set 1000Mbps (Gigabit Ethernet) operation on fiber and force
                full-duplex mode.

           media 1000baseSX mediaopt half-duplex
                Set 1000Mbps (Gigabit Ethernet) operation on fiber and force
                half-duplex mode.

           media 1000baseT mediaopt full-duplex
                Set 1000Mbps (Gigabit Ethernet) operation and force full-
                duplex mode.

     For more information on configuring this device, see ifconfig(8).  To
     view a list of media types and options supported by the card, try
     ifconfig -m <device>.  For example, ifconfig -m sk0.

DIAGNOSTICS
     sk%d: couldn't map memory  A fatal initialization error has occurred.

     sk%d: couldn't map ports  A fatal initialization error has occurred.

     sk%d: couldn't map interrupt  A fatal initialization error has occurred.

     sk%d: failed to enable memory mapping!  The driver failed to initialize
     PCI shared memory mapping.  This might happen if the card is not in a
     bus-master slot.

     sk%d: no memory for jumbo buffers!  The driver failed to allocate memory
     for jumbo frames during initialization.

     sk%d: watchdog timeout  The device has stopped responding to the network,
     or there is a problem with the network connection (cable).

SEE ALSO
     ifmedia(4), intro(4), netintro(4), pci(4), ifconfig.if(5), ifconfig(8)

     XaQti XMAC II datasheet, http://www.xaqti.com.

     SysKonnect GEnesis programming manual, http://www.syskonnect.com.

HISTORY
     The sk device driver first appeared in FreeBSD 3.0.  OpenBSD support was
     added in OpenBSD 2.6.  NetBSD support was added in NetBSD 2.0.

     The msk driver first appeared in OpenBSD 4.0, and was ported to
     NetBSD 4.0.

AUTHORS
     The sk driver was written by Bill Paul <wpaul@ctr.columbia.edu>.  Support
     for the Marvell Yukon-2 was added by Mark Kettenis
     <kettenis@openbsd.org>.

BUGS
     Support for checksum offload is unimplemented.  Particularly for Yukon-II
     hardware, there are multiple different receive and transmit offload
     silicon bugs which have to be worked around in software when using
     hardware offloading.  For this reason, support for hardware offloading is
     not very desirable for these controllers, and unlikely to be ever
     implemented.

     Performance with at least some Marvell-based adapters is poor, especially
     on loaded PCI buses or when the adapters are behind PCI-PCI bridges.  It
     is believed that this is because the Marvell parts have significantly
     less buffering than the original SysKonnect cards had.

NetBSD 10.99                    April 23, 2020                    NetBSD 10.99