.\" .\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2025 The FreeBSD Foundation .\" .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. .\" .Dd June 13, 2025 .Dt LINUXKPI_WLAN 4 .Os .Sh NAME .Nm linuxkpi_wlan .Nd LinuxKPI 802.11 support .Sh DESCRIPTION The .Nm kernel module provides an 802.11 compat layer to translate between Linux 802.11 drivers and the native net8011 wireless stack. It currently supports .Em mac80211 based drivers. Parts of the .Em cfg80211 exist but there is no code for net80211 to drive it. .Pp .Nm currently supports the following .Em wlanmode operating modes: .Bl -tag -width monitor -compact .It Cm sta client station in an infrastructure bss (IBSS). .El .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. .Pp Crypto support for hardware acceleration needs to be enabled using the .Va compat.linuxkpi.80211.hw_crypto tunable. The following cipher suites are supported: .Bl -tag -width CCMP -compact .It Cm tkip Support for .Xr wlan_tkip 4 has to be manually enabled using the .Va compat.linuxkpi.80211.tkip tunable. .It Cm ccmp Support for .Xr wlan_ccmp 4 is available. .It Cm gcmp Support for .Xr wlan_gcmp 4 is available. .El Further cipher suites will be implemented as soon as .Xr net80211 4 grows support. While it would be possible to implement .Xr wlan_wep 4 support, it was decided not to do so given .Em Wired Equivalent Privacy (WEP) has been deprecated since 2004. .Pp The list of supported drivers includes .Xr iwlwifi 4 , .Xr rtw88 4 , and .Xr rtw89 4 . .Sh SYSCTL VARIABLES AND LOADER TUNABLES The .Nm module supports the following .Xr loader 8 tunable and read-only .Xr sysctl 8 variables: .Bl -tag -width "compat.linuxkpi.80211.hw_crypto" .It Va compat.linuxkpi.80211.hw_crypto Turn on hardware crypto offload support. Default .Ql 0 . .It Va compat.linuxkpi.80211.tkip Turn on support for .Xr wlan_tkip 4 offloading. Default .Ql 0 . .El .Pp The .Nm module supports the following .Xr sysctl 8 variables: .Bl -tag -width "compat.linuxkpi.80211.IF.dump_stas" .It Va compat.linuxkpi.80211.debug If the kernel is compiled with .Dv IEEE80211_DEBUG or .Dv LINUXKPI_DEBUG_80211 is manually enabled, the sysctl is a bitmask to turn on individual debug messages. See .Pa sys/compat/linuxkpi/common/src/linux_80211.h for details. .It Va compat.linuxkpi.80211.IF.dump_stas Print statistics for a given, associated .Xr wlan 4 interface; typically IF would be .Em wlan0 . .El .Sh SEE ALSO .Xr iwlwifi 4 , .Xr linuxkpi 4 , .Xr rtw88 4 , .Xr rtw89 4 , .Xr wlan 4 .Sh HISTORY The .Nm module first appeared in .Fx 13.1 . Support for IEEE 802.11n and 802.11ac in .Nm first appeared in .Fx 14.3 . .Sh AUTHORS LinuxKPI 802.11 support was developed by .An Bjoern A. Zeeb under sponsorship from the FreeBSD Foundation.