---
name: "linuxkpi_wlan"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/linuxkpi_wlan"
---

# linuxkpi\_wlan(4)

LinuxKPI 802.11 support

## NAME

**linuxkpi\_wlan** – LinuxKPI 802.11 support

## DESCRIPTION

The **linuxkpi\_wlan** kernel module provides an 802.11 compat layer to translate between Linux 802.11 drivers and the native net8011 wireless stack. It currently supports *mac80211* based drivers. Parts of the *cfg80211* exist but there is no code for net80211 to drive it.

**linuxkpi\_wlan** currently supports the following *wlanmode* operating modes:

- **sta**

  client station in an infrastructure bss (IBSS).

Compat code for 802.11n (HT) and 802.11ac (VHT) is implemented but support may vary for different drivers due to different KPI usage.

Crypto support for hardware acceleration needs to be enabled using the *compat.linuxkpi.80211.hw\_crypto* tunable. The following cipher suites are supported:

- **tkip**

  Support for [wlan\_tkip(4)](/wlan_tkip/4.md) has to be manually enabled using the *compat.linuxkpi.80211.tkip* tunable.

- **ccmp**

  Support for [wlan\_ccmp(4)](/wlan_ccmp/4.md) is available.

- **gcmp**

  Support for [wlan\_gcmp(4)](/wlan_gcmp/4.md) is available.

Further cipher suites will be implemented as soon as [net80211(4)](/net80211/4.md) grows support. While it would be possible to implement [wlan\_wep(4)](/wlan_wep/4.md) support, it was decided not to do so given *Wired* *Equivalent* *Privacy* *(WEP)* has been deprecated since 2004.

The list of supported drivers includes [iwlwifi(4)](/iwlwifi/4.md), [rtw88(4)](/rtw88/4.md), and [rtw89(4)](/rtw89/4.md).

## SYSCTL VARIABLES AND LOADER TUNABLES

The **linuxkpi\_wlan** module supports the following [loader(8)](/loader/8.md) tunable and read-only [sysctl(8)](/sysctl/8.md) variables:

- *compat.linuxkpi.80211.hw\_crypto*

  Turn on hardware crypto offload support. Default ‘0’.

- *compat.linuxkpi.80211.tkip*

  Turn on support for [wlan\_tkip(4)](/wlan_tkip/4.md) offloading. Default ‘0’.

The **linuxkpi\_wlan** module supports the following [sysctl(8)](/sysctl/8.md) variables:

- *compat.linuxkpi.80211.debug*

  If the kernel is compiled with IEEE80211\_DEBUG or LINUXKPI\_DEBUG\_80211 is manually enabled, the sysctl is a bitmask to turn on individual debug messages. See *sys/compat/linuxkpi/common/src/linux\_80211.h* for details.

- *compat.linuxkpi.80211.suspend\_type*

  For the time being this variable allows suspend/resume to be enabled/disabled. The default is 1 which enables normal suspend/resume. To disable any suspend/resume set it to 0. Other values may enable specific features in the future.

- *compat.linuxkpi.80211.IF.dump\_stas*

  Print statistics for a given, associated [wlan(4)](/wlan/4.md) interface; typically IF would be *wlan0*.

- *compat.linuxkpi.80211.IF.dump\_stas\_queues*

  Like *compat.linuxkpi.80211.IF.dump\_stas* but also print queue statistics. This sysctl is ‘hidden’ and normally only needed for debugging purposes.

## SEE ALSO

[iwlwifi(4)](/iwlwifi/4.md), [linuxkpi(4)](/linuxkpi/4.md), [rtw88(4)](/rtw88/4.md), [rtw89(4)](/rtw89/4.md), [wlan(4)](/wlan/4.md)

## HISTORY

The **linuxkpi\_wlan** module first appeared in FreeBSD 13.1. Support for IEEE 802.11n and 802.11ac in **linuxkpi\_wlan** first appeared in FreeBSD 14.3.

## AUTHORS

LinuxKPI 802.11 support was developed by Bjoern A. Zeeb under sponsorship from the FreeBSD Foundation.
