1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
<table class="head">
<tr>
<td class="head-ltitle">SK(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">SK(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">sk</code>, <code class="Nm">skc</code>,
<code class="Nm">msk</code>, <code class="Nm">mskc</code> —
<span class="Nd">SysKonnect XMAC II and Marvell GMAC based Gigabit
Ethernet</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">skc* at pci? dev ? function ?</code>
<br/>
<code class="Cd">sk* at skc?</code>
<br/>
<code class="Cd">mskc* at pci? dev ? function ?</code>
<br/>
<code class="Cd">msk* at mskc?</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">sk</code> driver provides support for
SysKonnect based Gigabit Ethernet adapters and Marvell based Gigabit
Ethernet adapters, including the following:</p>
<p class="Pp"></p>
<ul class="Bl-bullet Bd-indent Bl-compact">
<li>SK-9821 SK-NET GE-T single port, copper adapter</li>
<li>SK-9822 SK-NET GE-T dual port, copper adapter</li>
<li>SK-9841 SK-NET GE-LX single port, single mode fiber adapter</li>
<li>SK-9842 SK-NET GE-LX dual port, single mode fiber adapter</li>
<li>SK-9843 SK-NET GE-SX single port, multimode fiber adapter</li>
<li>SK-9844 SK-NET GE-SX dual port, multimode fiber adapter</li>
<li>SK-9521 V2.0 single port, copper adapter (32-bit)</li>
<li>SK-9821 V2.0 single port, copper adapter</li>
<li>SK-9843 V2.0 single port, copper adapter</li>
<li>3Com 3c940 single port, copper adapter</li>
<li>Belkin Gigabit Desktop Network PCI Card, single port, copper (32-bit)</li>
<li>D-Link DGE-530T single port, copper adapter</li>
<li>Linksys EG1032v2 single-port, copper adapter</li>
<li>Linksys EG1064v2 single-port, copper adapter</li>
</ul>
<p class="Pp">The <code class="Nm">msk</code> driver provides support for the
Marvell Yukon-2 based Gigabit Ethernet adapters, including the
following:</p>
<p class="Pp"></p>
<ul class="Bl-bullet Bd-indent Bl-compact">
<li>Marvell Yukon 88E8035, copper adapter</li>
<li>Marvell Yukon 88E8036, copper adapter</li>
<li>Marvell Yukon 88E8038, copper adapter</li>
<li>Marvell Yukon 88E8050, copper adapter</li>
<li>Marvell Yukon 88E8052, copper adapter</li>
<li>Marvell Yukon 88E8053, copper adapter</li>
<li>Marvell Yukon 88E8055, copper adapter</li>
<li>SK-9E21 1000Base-T single port, copper adapter</li>
<li>SK-9E22 1000Base-T dual port, copper adapter</li>
<li>SK-9E81 1000Base-SX single port, multimode fiber adapter</li>
<li>SK-9E82 1000Base-SX dual port, multimode fiber adapter</li>
<li>SK-9E91 1000Base-LX single port, single mode fiber adapter</li>
<li>SK-9E92 1000Base-LX dual port, single mode fiber adapter</li>
<li>SK-9S21 1000Base-T single port, copper adapter</li>
<li>SK-9S22 1000Base-T dual port, copper adapter</li>
<li>SK-9S81 1000Base-SX single port, multimode fiber adapter</li>
<li>SK-9S82 1000Base-SX dual port, multimode fiber adapter</li>
<li>SK-9S91 1000Base-LX single port, single mode fiber adapter</li>
<li>SK-9S92 1000Base-LX dual port, single mode fiber adapter</li>
<li>SK-9E21D 1000Base-T single port, copper adapter</li>
</ul>
<p class="Pp">The SysKonnect based adapters consist of two main components: the
XaQti Corp. XMAC II Gigabit MAC (<code class="Nm">sk</code>) and the
SysKonnect GEnesis controller ASIC (<code class="Nm">skc</code>). 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.</p>
<p class="Pp">The Marvell based adapters are a single integrated circuit, but
are still presented as a separate MAC (<code class="Nm">sk</code>) and
controller ASIC (<code class="Nm">skc</code>). At this time, there are no
dual-port Marvell based NICs.</p>
<p class="Pp">The <code class="Nm">sk</code> 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.</p>
<p class="Pp">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 <a class="Xr">ifconfig(8)</a> 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.</p>
<p class="Pp">Hardware TCP/IP checksum offloading for IPv4 is available but not
supported by the driver.</p>
<p class="Pp">The following media types and options (as given to
<a class="Xr">ifconfig(8)</a>) are supported:</p>
<div class="Bd-indent">
<dl class="Bl-tag">
<dt id="media"><a class="permalink" href="#media"><code class="Cm">media</code></a>
<span class="No">autoselect</span></dt>
<dd>Enable autoselection of the media type and options. The user can manually
override the autoselected mode. <a class="Xr">ifconfig.if(5)</a></dd>
<dt id="media~2"><a class="permalink" href="#media~2"><code class="Cm">media</code></a>
<span class="No">1000baseSX</span> <code class="Cm">mediaopt</code>
<span class="No">full-duplex</span></dt>
<dd>Set 1000Mbps (Gigabit Ethernet) operation on fiber and force full-duplex
mode.</dd>
<dt id="media~3"><a class="permalink" href="#media~3"><code class="Cm">media</code></a>
<span class="No">1000baseSX</span> <code class="Cm">mediaopt</code>
<span class="No">half-duplex</span></dt>
<dd>Set 1000Mbps (Gigabit Ethernet) operation on fiber and force half-duplex
mode.</dd>
<dt id="media~4"><a class="permalink" href="#media~4"><code class="Cm">media</code></a>
<span class="No">1000baseT</span> <code class="Cm">mediaopt</code>
<span class="No">full-duplex</span></dt>
<dd>Set 1000Mbps (Gigabit Ethernet) operation and force full-duplex mode.</dd>
</dl>
</div>
<p class="Pp">For more information on configuring this device, see
<a class="Xr">ifconfig(8)</a>. To view a list of media types and options
supported by the card, try <code class="Ic">ifconfig</code>
<code class="Fl">-m</code>
<<a class="Mt" href="mailto:device">device</a>>. For example,
<code class="Ic">ifconfig</code> <code class="Fl">-m</code>
<var class="Ar">sk0</var>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DIAGNOSTICS"><a class="permalink" href="#DIAGNOSTICS">DIAGNOSTICS</a></h1>
<dl class="Bl-diag">
<dt>sk%d: couldn't map memory</dt>
<dd>A fatal initialization error has occurred.</dd>
<dt>sk%d: couldn't map ports</dt>
<dd>A fatal initialization error has occurred.</dd>
<dt>sk%d: couldn't map interrupt</dt>
<dd>A fatal initialization error has occurred.</dd>
<dt>sk%d: failed to enable memory mapping!</dt>
<dd>The driver failed to initialize PCI shared memory mapping. This might
happen if the card is not in a bus-master slot.</dd>
<dt>sk%d: no memory for jumbo buffers!</dt>
<dd>The driver failed to allocate memory for jumbo frames during
initialization.</dd>
<dt>sk%d: watchdog timeout</dt>
<dd>The device has stopped responding to the network, or there is a problem
with the network connection (cable).</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">ifmedia(4)</a>, <a class="Xr">intro(4)</a>,
<a class="Xr">netintro(4)</a>, <a class="Xr">pci(4)</a>,
<a class="Xr">ifconfig.if(5)</a>, <a class="Xr">ifconfig(8)</a></p>
<p class="Pp"><cite class="Rs"><span class="RsT">XaQti XMAC II datasheet</span>,
<a class="RsU" href="http://www.xaqti.com">http://www.xaqti.com</a>.</cite></p>
<p class="Pp"><cite class="Rs"><span class="RsT">SysKonnect GEnesis programming
manual</span>,
<a class="RsU" href="http://www.syskonnect.com">http://www.syskonnect.com</a>.</cite></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">sk</code> device driver first appeared in
<span class="Ux">FreeBSD 3.0</span>. <span class="Ux">OpenBSD</span> support
was added in <span class="Ux">OpenBSD 2.6</span>.
<span class="Ux">NetBSD</span> support was added in <span class="Ux">NetBSD
2.0</span>.</p>
<p class="Pp">The <code class="Nm">msk</code> driver first appeared in
<span class="Ux">OpenBSD 4.0</span>, and was ported to
<span class="Ux">NetBSD 4.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">sk</code> driver was written by
<span class="An">Bill Paul</span>
<<a class="Mt" href="mailto:wpaul@ctr.columbia.edu">wpaul@ctr.columbia.edu</a>>.
Support for the Marvell Yukon-2 was added by <span class="An">Mark
Kettenis</span>
<<a class="Mt" href="mailto:kettenis@openbsd.org">kettenis@openbsd.org</a>>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">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.</p>
<p class="Pp">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.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">April 23, 2020</td>
<td class="foot-os">NetBSD 10.1</td>
</tr>
</table>
|