LINUXKPI_WLAN(4)       FreeBSD Kernel Interfaces Manual       LINUXKPI_WLAN(4)

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) 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.  While it would be possible to implement wlan_wep(4) 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), rtw88(4), and
     rtw89(4).

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'.

     The linuxkpi_wlan module supports the following sysctl(8) 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) 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), linuxkpi(4), rtw88(4), rtw89(4), wlan(4)

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.

FreeBSD 15.1-STABLE-HBSD         May 23, 2026                 LINUXKPI_WLAN(4)