FreeBSD.software
Home/Guides/FreeBSD WiFi: Driver Updates and Roadmap 2026
guide·2026-04-09·10 min read

FreeBSD WiFi: Driver Updates and Roadmap 2026

Current state of WiFi driver support on FreeBSD in 2026. LinuxKPI-based drivers, iwlwifi, Realtek, Intel AX support, what works, what does not, and the roadmap ahead.

FreeBSD WiFi: Driver Updates and Roadmap 2026

WiFi has been FreeBSD's most persistent weakness on desktop and laptop hardware. The driver gap between FreeBSD and Linux is enormous -- Linux supports virtually every WiFi chipset sold in the past 15 years, while FreeBSD supports a fraction. The good news is that real progress has been made through the LinuxKPI effort to port Linux WiFi drivers to FreeBSD. The bad news is that "progress" still means incomplete coverage.

This post documents the exact state of WiFi on FreeBSD in early 2026: which chipsets work, which are coming, and what the technical strategy looks like going forward.

The WiFi Driver Landscape

FreeBSD has three generations of WiFi driver infrastructure:

Legacy Native Drivers

These are FreeBSD-native drivers, many written from scratch or ported from OpenBSD. They support older chipsets:

  • ath(4) -- Atheros 802.11a/b/g/n. Stable, mature. AR9285, AR9287, AR9380, etc.
  • ral(4) -- Ralink/MediaTek RT2500, RT2600, RT2700.
  • rum(4) -- Ralink USB devices.
  • iwn(4) -- Intel WiFi Link 4965, 5100, 5300, 6000, 6200. Works well but only 802.11n.
  • iwm(4) -- Intel Wireless 7260, 7265, 8260, 8265, 9260. 802.11ac support (limited).
  • rtwn(4) -- Realtek RTL8188/8192. USB WiFi dongles.

These drivers are stable and well-tested but limited to older hardware and older WiFi standards. None of them support WiFi 6 (802.11ax) or WiFi 6E/7.

LinuxKPI-Based Drivers (Current Focus)

The LinuxKPI project creates a compatibility layer that allows Linux kernel drivers to run on FreeBSD with minimal modification. This is the primary strategy for bringing modern WiFi support to FreeBSD.

The effort is led by Bjoern A. Zeeb and a small team of developers, with FreeBSD Foundation funding. It targets the highest-impact drivers:

  • iwlwifi -- Intel WiFi 6/6E/7 (AX200, AX201, AX210, AX211, BE200)
  • rtw88 -- Realtek 802.11ac (RTL8822BE, RTL8822CE, RTL8821CE)
  • rtw89 -- Realtek 802.11ax (RTL8852AE, RTL8852BE, RTL8852CE)
  • mt76 -- MediaTek MT7921, MT7922

Future: ath11k and ath12k

Qualcomm/Atheros WiFi 6 and WiFi 7 chipsets use the ath11k and ath12k drivers on Linux. Porting these to FreeBSD via LinuxKPI is on the roadmap but not yet underway in earnest.

What Works Right Now

Intel iwlwifi (LinuxKPI)

The iwlwifi driver via LinuxKPI is the most advanced ported driver and supports a wide range of Intel WiFi chipsets.

Currently working:

  • Intel AX200 (WiFi 6): Works. This is the most tested chipset on FreeBSD with iwlwifi.
  • Intel AX201 (WiFi 6): Works. Common in laptops from 2020-2022.
  • Intel AX210 (WiFi 6E): Works with caveats (6 GHz band support may be incomplete).
  • Intel AX211 (WiFi 6E): Works, similar status to AX210.
  • Intel BE200 (WiFi 7): Experimental. Basic connectivity may work but advanced WiFi 7 features (MLO) are not supported.

Installation:

sh
pkg install wifi-firmware-iwlwifi-kmod

Or for ports users who want the latest:

sh
cd /usr/ports/net/wifi-firmware-iwlwifi-kmod make install clean

Load the driver:

sh
kldload if_iwlwifi

Make it permanent:

sh
sysrc kld_list+="if_iwlwifi"

Configure the interface:

sh
# Find your interface name sysctl net.wlan.devices # Create the wlan interface ifconfig wlan0 create wlandev iwlwifi0 # Scan for networks ifconfig wlan0 up scan # Connect to a WPA2 network cat >> /etc/wpa_supplicant.conf << 'EOF' network={ ssid="YourNetworkName" psk="YourPassword" } EOF wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B dhclient wlan0

Make the connection persistent across reboots by adding to /etc/rc.conf:

sh
wlans_iwlwifi0="wlan0" ifconfig_wlan0="WPA DHCP"

And ensure /etc/wpa_supplicant.conf has your network configuration.

Known Issues with iwlwifi

  • Firmware crashes: The driver occasionally triggers firmware resets, causing temporary disconnections. This is less frequent than in 2024 but still occurs.
  • AP mode: Not supported. The driver works only in station (client) mode.
  • Monitor mode: Not supported.
  • 5 GHz DFS channels: May not work in all regulatory domains.
  • Power management: Aggressive power saving modes can cause instability. Disable if you experience disconnects:
sh
sysctl hw.iwlwifi.power_scheme=1 # Disable power saving
  • Throughput: Expect 60-80% of Linux throughput with the same hardware. The LinuxKPI layer adds some overhead.

Realtek rtw88 (LinuxKPI)

The rtw88 driver covers several common Realtek 802.11ac chipsets found in budget laptops:

  • RTL8822BE: Works
  • RTL8822CE: Works
  • RTL8821CE: Works (most common budget laptop WiFi chip)
sh
pkg install wifi-firmware-rtw88-kmod kldload if_rtw88 sysrc kld_list+="if_rtw88"

The rtw88 driver on FreeBSD is more stable than iwlwifi for basic connectivity but has lower peak throughput. For web browsing and general use, it works well.

Realtek rtw89 (LinuxKPI)

The rtw89 driver for WiFi 6 Realtek chipsets is newer and less mature:

  • RTL8852AE: Basic support. Connectivity works.
  • RTL8852BE: Working but less tested.
  • RTL8852CE: Experimental.
sh
pkg install wifi-firmware-rtw89-kmod kldload if_rtw89 sysrc kld_list+="if_rtw89"

Expect more issues with rtw89 than rtw88. If your laptop has an RTL8852-series chipset, test thoroughly before relying on it.

MediaTek mt76 (LinuxKPI)

MediaTek WiFi chipsets are increasingly common, especially in newer laptops:

  • MT7921: Works. Found in many 2022-2024 laptops.
  • MT7922: Partial support.
sh
pkg install wifi-firmware-mt76-kmod kldload if_mt76 sysrc kld_list+="if_mt76"

Legacy Drivers (Still Working)

If you have older hardware, the native drivers continue to work:

sh
# Intel 9260 and earlier kldload if_iwm # or for even older Intel (4965, 5xxx, 6xxx) kldload if_iwn # Atheros kldload if_ath

What Does Not Work

Broadcom

Broadcom WiFi chipsets have no FreeBSD support. This affects many Apple MacBooks and some HP/Dell laptops. The Linux brcmfmac/brcmsmac drivers have not been ported to FreeBSD via LinuxKPI, and there is no indication this will happen soon.

If your laptop has Broadcom WiFi, your options are:

  • Replace the internal WiFi card (if the slot is accessible) with an Intel AX200/AX210
  • Use a USB WiFi adapter with a supported chipset

Qualcomm/Atheros WiFi 6 (ath11k)

Qualcomm's modern WiFi 6 chipsets (QCA6390, WCN6855, etc.) use the ath11k driver on Linux. This driver has not been ported to FreeBSD. These chipsets are found in many AMD-based laptops.

Intel WiFi 7 (Full Support)

While Intel BE200 may provide basic connectivity through iwlwifi, full WiFi 7 features (Multi-Link Operation, 320 MHz channels) are not supported. WiFi 7 on FreeBSD will not be usable until the LinuxKPI layer catches up with the latest Linux wireless subsystem changes.

USB WiFi Adapters (Modern)

Modern USB WiFi adapters using Realtek RTL8812AU/RTL8811AU/RTL8814AU chipsets have limited support. Some community-maintained ports exist but are not in the official ports tree. MediaTek-based USB adapters are generally not supported.

For USB WiFi that works:

sh
# Older but supported USB adapters # Ralink-based (rum/run drivers) kldload if_rum kldload if_run # Atheros-based USB kldload if_ath

WiFi Configuration Best Practices

wpa_supplicant Configuration

A well-structured wpa_supplicant.conf for multiple networks:

sh
ctrl_interface=/var/run/wpa_supplicant eapol_version=2 fast_reauth=1 # Home network network={ ssid="HomeNetwork" psk="homepassword" priority=10 } # Work network (WPA2-Enterprise) network={ ssid="CorpNetwork" key_mgmt=WPA-EAP eap=PEAP identity="username" password="password" phase2="auth=MSCHAPV2" priority=5 } # Open network (captive portal) network={ ssid="CoffeeShopWiFi" key_mgmt=NONE priority=1 }

Roaming Between Networks

For laptops that move between networks, wpa_supplicant handles roaming automatically if multiple networks are configured. The priority field determines preference when multiple known networks are visible.

Monitoring WiFi Performance

sh
# Check connection status ifconfig wlan0 # Check signal strength and link speed wpa_cli -i wlan0 signal_poll # Scan for available networks ifconfig wlan0 scan # Check driver messages dmesg | grep -i wlan dmesg | grep -i iwlwifi

Troubleshooting Connectivity Issues

sh
# Restart the WiFi stack service netif restart wlan0 wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B dhclient wlan0 # Check for firmware loading issues dmesg | grep -i firmware # Verify the driver is loaded kldstat | grep iwl # Check for regulatory domain issues sysctl net.wlan.0.countrycode

The LinuxKPI Strategy

How It Works

LinuxKPI is a compatibility layer in the FreeBSD kernel that implements Linux kernel APIs. When a Linux driver calls kmalloc(), LinuxKPI translates that to FreeBSD's malloc(). When it calls ieee80211_register_hw(), LinuxKPI maps that to FreeBSD's ieee80211 framework.

This approach has several advantages:

  • Drivers can track upstream Linux changes more easily
  • Less reimplementation effort compared to writing native FreeBSD drivers
  • One compatibility layer supports multiple drivers

And disadvantages:

  • Performance overhead from the translation layer
  • Not all Linux kernel APIs are implemented in LinuxKPI
  • Debugging is harder because errors can originate in the driver, LinuxKPI, or the interaction between them
  • Keeping LinuxKPI synchronized with evolving Linux kernel APIs is ongoing work

Development Status

The LinuxKPI wireless effort is primarily funded by the FreeBSD Foundation. In 2025-2026, the focus has been on:

  1. Stabilizing iwlwifi for daily use (largely achieved)
  2. Bringing rtw88/rtw89 to usable quality (in progress)
  3. Expanding mt76 support (in progress)
  4. Updating the LinuxKPI 802.11 layer to support newer Linux wireless features

Contributing

If you want to help with FreeBSD WiFi support:

  • Test the LinuxKPI drivers on your hardware and report results
  • File detailed bug reports on FreeBSD Bugzilla with dmesg output and hardware details
  • The source code is in sys/contrib/dev/iwlwifi/ (and similar directories for other drivers) in the FreeBSD source tree

Buying Advice

If you are buying hardware specifically for FreeBSD:

Laptops

  • Confirm the WiFi chipset before purchasing. Look for Intel AX200 or AX201.
  • ThinkPads from 2020-2022 with Intel WiFi are a good bet.
  • Avoid laptops with soldered-down Broadcom or Qualcomm WiFi.
  • Framework laptops allow WiFi card replacement, making them FreeBSD-friendly.

USB WiFi Adapters

For a guaranteed-working USB WiFi adapter on FreeBSD, the safest options are older adapters with established driver support. Check the FreeBSD wiki for tested models.

Access Points

If you are setting up a FreeBSD-based access point, do not use the built-in WiFi. Use a dedicated access point device (Ubiquiti, Mikrotik, etc.) and connect FreeBSD via Ethernet.

Roadmap: What Is Coming

The FreeBSD WiFi roadmap for 2026-2027:

  • iwlwifi stability improvements: Ongoing. Expect fewer firmware crashes and better power management.
  • ath11k porting: Preliminary work is underway. Usable support is unlikely before late 2026 or 2027.
  • WiFi 6E full support: 6 GHz band support in iwlwifi should stabilize in 2026.
  • WiFi 7: Not a near-term priority. Basic connectivity may work through iwlwifi, but full WiFi 7 features are years away.
  • AP mode: Not a priority for LinuxKPI drivers. Station mode is the focus.

The biggest bottleneck is developer capacity. WiFi driver work on FreeBSD is done by a very small team. Corporate investment (like Intel contributing to Linux WiFi) does not exist at comparable scale for FreeBSD.

FAQ

What is the best WiFi chipset for FreeBSD in 2026?

Intel AX200 or AX201. These have the most testing and the most stable driver support through iwlwifi on LinuxKPI. If buying new hardware, target these chipsets.

Can I use WiFi 6 (802.11ax) on FreeBSD?

Yes, with supported Intel chipsets (AX200, AX201, AX210, AX211). You will get WiFi 6 connectivity, though peak throughput may be lower than on Linux.

Why is FreeBSD WiFi support so far behind Linux?

Scale. Linux WiFi drivers are developed and maintained by hardware vendors (Intel, Qualcomm, Realtek, MediaTek) who employ hundreds of kernel developers. FreeBSD WiFi is maintained by a handful of volunteers and foundation-funded developers. The LinuxKPI approach is FreeBSD's strategy to leverage Linux driver development without matching its developer count.

Should I use iwm or iwlwifi for my Intel WiFi?

If your chipset is supported by iwlwifi (AX200 and newer), use iwlwifi. If you have an older Intel chipset (9260 or earlier), use iwm. The two drivers should not be loaded simultaneously.

Can I use FreeBSD as a WiFi access point?

Not recommended with modern hardware. The LinuxKPI drivers only support station mode. Legacy drivers (ath) support AP mode for older Atheros chipsets, but performance and feature support are limited. Use a dedicated access point device.

My WiFi keeps disconnecting. What should I do?

First, check dmesg for firmware crash messages. Try disabling power management: sysctl hw.iwlwifi.power_scheme=1. Ensure your firmware is up to date: pkg upgrade wifi-firmware-iwlwifi-kmod. If problems persist, file a bug report with your dmesg output and hardware details.

Is there a way to use a Broadcom WiFi chip on FreeBSD?

No supported method exists. Replace the card with an Intel model, use a USB adapter, or use wired Ethernet.

Get more FreeBSD guides

Weekly tutorials, security advisories, and package updates. No spam.