summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/linuxkpi_wlan.4 3.html
blob: 7650ae289000efa32cbb8f9726ee543d110d7e4a (plain)
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
<table class="head">
  <tr>
    <td class="head-ltitle">LINUXKPI_WLAN(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">LINUXKPI_WLAN(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">linuxkpi_wlan</code> &#x2014;
    <span class="Nd">LinuxKPI 802.11 support</span></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">linuxkpi_wlan</code> kernel module provides
    an 802.11 compat layer to translate between Linux 802.11 drivers and the
    native net8011 wireless stack. It currently supports
    <a class="permalink" href="#mac80211"><i class="Em" id="mac80211">mac80211</i></a>
    based drivers. Parts of the
    <a class="permalink" href="#cfg80211"><i class="Em" id="cfg80211">cfg80211</i></a>
    exist but there is no code for net80211 to drive it.</p>
<p class="Pp" id="wlanmode"><code class="Nm">linuxkpi_wlan</code> currently
    supports the following
    <a class="permalink" href="#wlanmode"><i class="Em">wlanmode</i></a>
    operating modes:</p>
<dl class="Bl-tag Bl-compact">
  <dt id="sta"><a class="permalink" href="#sta"><code class="Cm">sta</code></a></dt>
  <dd>client station in an infrastructure bss (IBSS).</dd>
</dl>
<p class="Pp">Compat code for 802.11n (HT) and 802.11ac (VHT) is implemented but
    support may vary for different drivers due to different KPI usage.</p>
<p class="Pp">Crypto support for hardware acceleration needs to be enabled using
    the <var class="Va">compat.linuxkpi.80211.hw_crypto</var> tunable. The
    following cipher suites are supported:</p>
<dl class="Bl-tag Bl-compact">
  <dt id="tkip"><a class="permalink" href="#tkip"><code class="Cm">tkip</code></a></dt>
  <dd>Support for <a class="Xr">wlan_tkip(4)</a> has to be manually enabled
      using the <var class="Va">compat.linuxkpi.80211.tkip</var> tunable.</dd>
  <dt id="ccmp"><a class="permalink" href="#ccmp"><code class="Cm">ccmp</code></a></dt>
  <dd>Support for <a class="Xr">wlan_ccmp(4)</a> is available.</dd>
  <dt id="gcmp"><a class="permalink" href="#gcmp"><code class="Cm">gcmp</code></a></dt>
  <dd>Support for <a class="Xr">wlan_gcmp(4)</a> is available.</dd>
</dl>
Further cipher suites will be implemented as soon as
  <a class="Xr">net80211(4)</a> grows support. While it would be possible to
  implement <a class="Xr">wlan_wep(4)</a> support, it was decided not to do so
  given <a class="permalink" href="#Wired"><i class="Em" id="Wired">Wired
  Equivalent Privacy (WEP)</i></a> has been deprecated since 2004.
<p class="Pp">The list of supported drivers includes
    <a class="Xr">iwlwifi(4)</a>, <a class="Xr">rtw88(4)</a>, and
    <a class="Xr">rtw89(4)</a>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYSCTL_VARIABLES_AND_LOADER_TUNABLES"><a class="permalink" href="#SYSCTL_VARIABLES_AND_LOADER_TUNABLES">SYSCTL
  VARIABLES AND LOADER TUNABLES</a></h1>
<p class="Pp">The <code class="Nm">linuxkpi_wlan</code> module supports the
    following <a class="Xr">loader(8)</a> tunable and read-only
    <a class="Xr">sysctl(8)</a> variables:</p>
<dl class="Bl-tag">
  <dt id="compat.linuxkpi.80211.hw_crypto"><var class="Va">compat.linuxkpi.80211.hw_crypto</var></dt>
  <dd>Turn on hardware crypto offload support. Default
      &#x2018;<code class="Li">0</code>&#x2019;.</dd>
  <dt id="compat.linuxkpi.80211.tkip"><var class="Va">compat.linuxkpi.80211.tkip</var></dt>
  <dd>Turn on support for <a class="Xr">wlan_tkip(4)</a> offloading. Default
      &#x2018;<code class="Li">0</code>&#x2019;.</dd>
</dl>
<p class="Pp">The <code class="Nm">linuxkpi_wlan</code> module supports the
    following <a class="Xr">sysctl(8)</a> variables:</p>
<dl class="Bl-tag">
  <dt id="compat.linuxkpi.80211.debug"><var class="Va">compat.linuxkpi.80211.debug</var></dt>
  <dd>If the kernel is compiled with <code class="Dv">IEEE80211_DEBUG</code> or
      <code class="Dv">LINUXKPI_DEBUG_80211</code> is manually enabled, the
      sysctl is a bitmask to turn on individual debug messages. See
      <span class="Pa">sys/compat/linuxkpi/common/src/linux_80211.h</span> for
      details.</dd>
  <dt id="compat.linuxkpi.80211.IF.dump_stas"><var class="Va">compat.linuxkpi.80211.IF.dump_stas</var></dt>
  <dd>Print statistics for a given, associated <a class="Xr">wlan(4)</a>
      interface; typically IF would be
      <a class="permalink" href="#wlan0"><i class="Em" id="wlan0">wlan0</i></a>.</dd>
  <dt id="compat.linuxkpi.80211.IF.dump_stas_queues"><var class="Va">compat.linuxkpi.80211.IF.dump_stas_queues</var></dt>
  <dd>Like <var class="Va">compat.linuxkpi.80211.IF.dump_stas</var> but also
      print queue statistics. This sysctl is &#x2018;hidden&#x2019; and normally
      only needed for debugging purposes.</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">iwlwifi(4)</a>, <a class="Xr">linuxkpi(4)</a>,
    <a class="Xr">rtw88(4)</a>, <a class="Xr">rtw89(4)</a>,
    <a class="Xr">wlan(4)</a></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">linuxkpi_wlan</code> module first appeared in
    <span class="Ux">FreeBSD 13.1</span>. Support for IEEE 802.11n and 802.11ac
    in <code class="Nm">linuxkpi_wlan</code> first appeared in
    <span class="Ux">FreeBSD 14.3</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">LinuxKPI 802.11 support was developed by <span class="An">Bjoern
    A. Zeeb</span> under sponsorship from the FreeBSD Foundation.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">December 28, 2025</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>