LINUXKPI_WLAN(4)

πŸ“¦
version 15.1 Β· 3 versions
, in freebsd 15.1

πŸ’… LINUXKPI_WLAN β€” LinuxKPI 802.11 support, bestie edition

okay so real talk: this page is from the Kernel Interfaces Manual (section 4, kernel interfaces, iykyk), and it's all about linuxkpi_wlan. Buckle up, it's actually kind of iconic.


✨ NAME ✨

linuxkpi_wlan β€” LinuxKPI 802.11 support πŸ¦‹


🌸 DESCRIPTION 🌸

The linuxkpi_wlan kernel module is literally the matchmaker πŸ’– between two worlds: it provides an 802.11 compat layer that translates between Linux 802.11 drivers and the native net8011 wireless stack. Right now it supports mac80211 based drivers. Parts of cfg80211 exist, but ngl there's no code for net80211 to drive it yet β€” so don't get your hopes up there. πŸ™ˆ

Here's the current wlanmode operating modes tea β˜• β€” linuxkpi_wlan supports:

  • sta β€” client station in an infrastructure bss (IBSS). yes bestie, that's the one.

Compat code for 802.11n (HT) and 802.11ac (VHT) is implemented, but heads up: support may vary for different drivers because of different KPI usage. no cap, it's a per-driver situation. 😭

Crypto support for hardware acceleration needs to be enabled using the compat.linuxkpi.80211.hw_crypto tunable. The cipher suites that are supported:

  • tkip β€” support for wlan_tkip(4) has to be manually enabled using the compat.linuxkpi.80211.tkip tunable.
  • ccmp β€” support for wlan_ccmp(4) is available. ✨
  • gcmp β€” support for wlan_gcmp(4) is available. ✨

Further cipher suites will be implemented as soon as net80211(4) grows support. And yes, while it would be possible to implement wlan_wep(4) support, it was decided not to do so, given that Wired Equivalent Privacy (WEP) has been deprecated since 2004. πŸ’€ like... 2004. let it rest.

The list of supported drivers includes iwlwifi(4), rtw88(4), and rtw89(4). lineup goes hard. πŸ‘‘


πŸŽ€ SYSCTL VARIABLES AND LOADER TUNABLES πŸŽ€

The linuxkpi_wlan module supports the following loader(8) tunable and read-only sysctl(8) 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) offloading. Default 0.

And the linuxkpi_wlan module also supports these sysctl(8) variables:

  • compat.linuxkpi.80211.debug β€” if the kernel is compiled with IEEE80211_DEBUG, or LINUXKPI_DEBUG_80211 is manually enabled, this sysctl is a bitmask to turn on individual debug messages. For the details, peep sys/compat/linuxkpi/common/src/linux_80211.h. πŸ”
  • compat.linuxkpi.80211.IF.dump_stas β€” print statistics for a given, associated wlan(4) interface; typically IF would be wlan0. 🫢
  • compat.linuxkpi.80211.IF.dump_stas_queues β€” like compat.linuxkpi.80211.IF.dump_stas, but it also prints queue statistics. This sysctl is 'hidden' and normally only needed for debugging purposes. πŸ™ˆ
fr fr, that dump_stas_queues one? debugging only. don't be weird about it.

🧚 SEE ALSO 🧚

iwlwifi(4), linuxkpi(4), rtw88(4), rtw89(4), wlan(4)

go read them, they're all serving. πŸ’…


🌈 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. glow-up arc complete. ⭐


πŸ‘‘ AUTHORS πŸ‘‘

LinuxKPI 802.11 support was developed by Bjoern A. Zeeb under sponsorship from the FreeBSD Foundation. absolute main character energy, we love to see it. 🫢


that's the whole page, bestie β€” this one shipped in the Debian build, dated December 28, 2025, page LINUXKPI_WLAN(4). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ“œ the page's license: BSD-2-Clause
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms