SK(4)                   NetBSD Kernel Interfaces Manual                  SK(4)

NAME
     sk, skc -- 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 skc?

DESCRIPTION
     The sk driver provides support for SysKonnect based gigabit ethernet
     adapters and Marvell based gigabit ethernet adapters, including the fol-
     lowing:

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

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

           o   Marvell Yukon 88E8035, copper adapter
           o   Marvell Yukon 88E8036, copper adapter
           o   Marvell Yukon 88E8038, copper adapter
           o   Marvell Yukon 88E8050, copper adapter
           o   Marvell Yukon 88E8052, copper adapter
           o   Marvell Yukon 88E8053, copper adapter
           o   Marvell Yukon 88E8055, copper adapter
           o   SK-9E21 1000Base-T single port, copper adapter
           o   SK-9E22 1000Base-T dual port, copper adapter
           o   SK-9E81 1000Base-SX single port, multimode fiber adapter
           o   SK-9E82 1000Base-SX dual port, multimode fiber adapter
           o   SK-9E91 1000Base-LX single port, single mode fiber adapter
           o   SK-9E92 1000Base-LX dual port, single mode fiber adapter
           o   SK-9S21 1000Base-T single port, copper adapter
           o   SK-9S22 1000Base-T dual port, copper adapter
           o   SK-9S81 1000Base-SX single port, multimode fiber adapter
           o   SK-9S82 1000Base-SX dual port, multimode fiber adapter
           o   SK-9S91 1000Base-LX single port, single mode fiber adapter
           o   SK-9S92 1000Base-LX dual port, single mode fiber adapter
           o   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 GEne-
     sis 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 net-
     works.  The SysKonnect driver software currently only uses the second
     port on dual port adapters for failover purposes: if the link on the pri-
     mary port fails, the SysKonnect driver will automatically switch traffic
     onto the second port.

     The XaQti XMAC II supports full and half duplex operation with autonego-
     tiation.  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 supported.

     The following media types and options (as given to ifconfig(8)) are sup-
     ported:

           media autoselect
                Enable autoselection of the media type and options.  The user
                can manually override the autoselected mode.

           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(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
     This driver is experimental.

     Support for checksum offload is unimplemented.

     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 5.0_STABLE              September 9, 2006             NetBSD 5.0_STABLE
