IWLWIFI(4)

NAME
iwlwifi - Intel IEEE 802.11a/b/g/n/ac/ax/be wireless network driver

SYNOPSIS
The driver will auto-load without any user interaction using devmatch(8) if enabled in rc.conf(5).

Only if auto-loading is explicitly disabled, place the following lines in rc.conf(5) to manually load the driver as a module at boot time:

    kld_list="${kld_list} if_iwlwifi"

The driver should automatically load any iwlwififw(4) firmware needed for the particular chipset. See section FILES below for how to install the firmware.

It is not possible to load the driver from loader(8).

DESCRIPTION
The iwlwifi driver provides support for Intel Wireless network devices.

iwlwifi is derived from Intel's Linux iwlwifi driver based on Linux version 7.0. The iwm(4) and iwx(4) drivers together are approximately equivalent to Intel's Linux iwlwifi/mvm driver.

In addition iwlwifi supports the chipsets based on Intel's Linux iwlwifi/mld driver.

iwlwifi still complements the iwn(4) driver which supports older chipsets and would be equivalent to Intel's Linux iwlwifi/dvm, which iwlwifi does not support.

The driver uses the linuxkpi_wlan(4) and linuxkpi(4) compat framework to bridge between the Linux and native FreeBSD driver code as well as to the native net80211(4) wireless stack.

HARDWARE
The iwlwifi driver supports PCIe devices from the mvm sub-driver with the following chipset generations:

•   7000
•   8000
•   9000
•   22000
•   AX210

The iwlwifi driver supports PCIe devices from the mld sub-driver with the following chipset generations:

•   BZ
•   SC

These chipset generations match the following common device names:

•   Intel(R) Dual Band Wireless AC 7260
•   Intel(R) Dual Band Wireless N 7260
•   Intel(R) Wireless N 7260
•   Intel(R) Dual Band Wireless AC 3160
•   Intel(R) Wireless N 3160
•   Intel(R) Dual Band Wireless N 3160
•   Intel(R) Dual Band Wireless-AC 3165
•   Intel(R) Dual Band Wireless-AC 3168
•   Intel(R) Dual Band Wireless-AC 7265
•   Intel(R) Dual Band Wireless-N 7265
•   Intel(R) Wireless-N 7265
•   Intel(R) Dual Band Wireless-AC 8260
•   Intel(R) Dual Band Wireless-N 8260
•   Intel(R) Dual Band Wireless-AC 4165
•   Intel(R) Dual Band Wireless-AC 8265
•   Intel(R) Dual Band Wireless-AC 8275
•   Killer(R) Wireless-AC 1435i Wireless Network Adapter (8265D2W)
•   Killer(R) Wireless-AC 1435-KIX Wireless Network Adapter (8265NGW)
•   Intel(R) Wireless-AC 9461 160MHz
•   Intel(R) Wireless-AC 9461
•   Intel(R) Wireless-AC 9462 160MHz
•   Intel(R) Wireless-AC 9462
•   Intel(R) Wireless-AC 9260 160MHz
•   Intel(R) Wireless-AC 9260
•   Intel(R) Wireless-AC 9560 160MHz
•   Intel(R) Wireless-AC 9560
•   Intel(R) Wi-Fi 6 AX201 160MHz
•   Intel(R) Wi-Fi 6 AX101
•   Intel(R) Wi-Fi 6 AX203
•   Intel(R) Wi-Fi 6 AX200 160MHz
•   Intel(R) Wi-Fi 6E AX211 160MHz
•   Intel(R) Wi-Fi 6E AX411 160MHz
•   Intel(R) Wi-Fi 6E AX210 160MHz
•   Killer(R) Wireless-AC 1550 Wireless Network Adapter (9260NGW) 160MHz
•   Killer(R) Wireless-AC 1550s Wireless Network Adapter (9560D2W) 160MHz
•   Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW) 160MHz
•   Killer(R) Wi-Fi 6 AX1650s 160MHz Wireless Network Adapter (201D2W)
•   Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW)
•   Killer(R) Wi-Fi 6E AX1675s 160MHz Wireless Network Adapter (211D2W)
•   Killer(R) Wi-Fi 6E AX1675i 160MHz Wireless Network Adapter (211NGW)
•   Killer(R) Wi-Fi 6E AX1675w 160MHz Wireless Network Adapter (210D2W)
•   Killer(R) Wi-Fi 6E AX1675x 160MHz Wireless Network Adapter (210NGW)
•   Killer(R) Wi-Fi 6E AX1690s 160MHz Wireless Network Adapter (411D2W)
•   Killer(R) Wi-Fi 6E AX1690i 160MHz Wireless Network Adapter (411NGW)
•   Killer(R) Wi-Fi 6 AX1650w 160MHz Wireless Network Adapter (200D2W)
•   Killer(R) Wi-Fi 6 AX1650x 160MHz Wireless Network Adapter (200NGW)
•   Intel(R) Wi-Fi 7 BE201 320MHz
•   Intel(R) Wi-Fi 7 BE401 320MHz
•   Intel(R) Wi-Fi 7 BE200 320MHz
•   Intel(R) Wi-Fi 7 BE202 160MHz
•   Killer(R) Wi-Fi 7 BE1750s 320MHz Wireless Network Adapter (BE201D2W)
•   Killer(R) Wi-Fi 7 BE1750i 320MHz Wireless Network Adapter (BE201NGW)
•   Killer(R) Wi-Fi 7 BE1790s 320MHz Wireless Network Adapter (BE401D2W)
•   Killer(R) Wi-Fi 7 BE1790i 320MHz Wireless Network Adapter (BE401NGW)
•   Killer(TM) Wi-Fi 7 BE1750w 320MHz Wireless Network Adapter (BE200D2W)
•   Killer(TM) Wi-Fi 7 BE1750x 320MHz Wireless Network Adapter (BE200NGW)
•   Intel(R) Wi-Fi 7 BE211 320MHz
•   Intel(R) Wi-Fi 6E AX221 160MHz
•   Intel(R) Wi-Fi 7 BE213 160MHz
•   Intel(R) Wi-Fi 8 BN201
•   Intel(R) Wi-Fi 7 BE223
•   Intel(R) Wi-Fi 8 BN203
•   Killer(R) Wi-Fi 7 BE1775s 320MHz Wireless Network Adapter (BE211D2W)
•   Killer(R) Wi-Fi 7 BE1775i 320MHz Wireless Network Adapter (BE211NGW)
•   Killer(R) Wi-Fi 8 BN1850w2 320MHz Wireless Network Adapter (BN201.D2W)
•   Killer(R) Wi-Fi 8 BN1850i 320MHz Wireless Network Adapter (BN201.NGW)

LOADER TUNABLES
The iwlwifi driver supports the following loader(8) tunable and read-only sysctl(8) variables:

compat.linuxkpi.iwlwifi_11n_disable
    Turn off 802.11n support in the driver. Default ‘1’.

compat.linuxkpi.iwlwifi_disable_11ac
    Turn off 802.11ac support in the driver. Default ‘1’.

The names of the tunables are derived from the Linux iwlwifi driver module parameters and are mapped automatically by linuxkpi. They were not adjusted so that they stay consistent with upstream Linux, e.g., for documentation available and problem investigations. This left their names inconsistent between themselves and inconsistent to FreeBSD style.

The tunables are automatically adjusted by the firmware package for chipsets which can enable 11n and 11ac. In case of problems a user may want to override the provided values in /boot/loader.conf.local with the above defaults.

FILES
The iwlwifi driver requires firmware from ports/net/wifi-firmware-iwlwifi-kmod. This firmware package will be installed automatically with fwget(8) if the appropriate hardware is detected at installation or runtime.

As a last resort for bootstrapping, individual firmware files can be manually downloaded, e.g., on a different computer and transferred using a umass(4) device. The firmware files can be found at git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git with names as requested by the driver. Copies should be placed into the /boot/firmware directory.

SEE ALSO
iwlwififw(4), iwm(4), iwn(4), iwx(4), linuxkpi(4,) linuxkpi_wlan(4,) wlan(4), networking(7), fwget(8), ifconfig(8), wpa_supplicant(8)

HISTORY
The iwlwifi driver first appeared in FreeBSD 13.1. 802.11n and 802.11ac support for the 22000 and later chipsets first appeared in FreeBSD 14.3.

BUGS
iwlwifi known bugs: https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=iwlwifi

While iwlwifi supports 802.11a/b/g/n/ac/ax/be modes, the compatibility code currently only supports 802.11a/b/g/n/ac modes. 802.11n/ac is only available on the 22000 and later chipset generations. 802.11ax/be and 6Ghz support are planned.