IWX(4) | Device Drivers Manual | IWX(4)

# NAME

`iwx` — Intel AX200/AX201/AX210/AX211 IEEE 802.11a/ac/ax/b/g/n wireless network device

# SYNOPSIS

`iwx* at pci?`

# DESCRIPTION

The `iwx` driver provides support for Intel Wireless AX200/AX210 M.2 network adapters, and for Intel Wireless AX201/AX211 Integrated Connectivity (CNVi) network adapters with companion RF M.2 modules.

These are the modes the `iwx` driver can operate in:

BSS mode
  Also known as infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default.
monitor mode
  In this mode the driver is able to receive packets without associating with an access point. This disables the internal receive filter and enables the card to capture packets from networks which it wouldn't normally have access to, or to scan for access points.

The `iwx` driver can be configured to use Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA1 and WPA2). WPA2 is currently the most secure encryption standard for wireless networks supported by OpenBSD. It is strongly recommended that neither WEP nor WPA1 are used as the sole mechanism to secure wireless communication, due to serious weaknesses. WPA1 is disabled by default and may be enabled using the option "`wpaprotos` wpa1,wpa2". For standard WPA networks which use pre-shared keys (PSK), keys are configured using the "`wpakey`" option. WPA-Enterprise networks require use of the wpa_supplicant package. The `iwx` driver offloads both encryption and decryption of unicast data frames to the hardware for the CCMP cipher.

In BSS mode the driver supports background scanning; see ifconfig(8).

The `iwx` driver can be configured at runtime with ifconfig(8) or on boot with hostname.if(5).

# FILES

The driver needs one of the following firmware files, which are loaded when an interface is brought up:

/etc/firmware/iwx-cc-a0-77
/etc/firmware/iwx-Qu-b0-hr-b0-77
/etc/firmware/iwx-Qu-b0-jf-b0-77
/etc/firmware/iwx-Qu-c0-hr-b0-77
/etc/firmware/iwx-Qu-c0-jf-b0-77
/etc/firmware/iwx-QuZ-a0-hr-b0-77
/etc/firmware/iwx-QuZ-a0-jf-b0-77
/etc/firmware/iwx-so-a0-gf-a0-77
/etc/firmware/iwx-so-a0-gf4-a0-77
/etc/firmware/iwx-so-a0-hr-b0-77
/etc/firmware/iwx-so-a0-jf-b0-77
/etc/firmware/iwx-ty-a0-gf-a0-77

These firmware files are not free because Intel refuses to grant distribution rights without contractual obligations. As a result, even though OpenBSD includes the driver, the firmware files cannot be included and users have to download these files on their own.

A prepackaged version of the firmware can be installed using fw_update(8).

# EXAMPLES

The following example scans for available networks:

`# ifconfig iwx0 scan`

The following hostname.if(5) example configures iwx0 to join network “mynwid”, using WPA key “mywpakey”, obtaining an IP address using DHCP:

    join mynwid wpakey mywpakey
    inet autoconf

# DIAGNOSTICS

iwx0: device timeout
  A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen.
iwx0: fatal firmware error
  For some reason, the firmware crashed. The driver will reset the hardware. This should not happen.
iwx0: radio is disabled by hardware switch
  The radio transmitter is off and thus no packet can go out. The driver will reset the hardware. Make sure the laptop radio switch is on.
iwx0: could not read firmware ... (error N)
  For some reason, the driver was unable to read the firmware image from the filesystem. The file might be missing or corrupted.
iwx0: firmware too short: N bytes
  The firmware image is corrupted and can't be loaded into the adapter.
iwx0: could not load firmware
  An attempt to load the firmware into the adapter failed. The driver will reset the hardware.

# SEE ALSO

arp(4), ifmedia(4), intro(4), netintro(4), pci(4), hostname.if(5), ifconfig(8)

# HISTORY

The `iwx` device driver first appeared in OpenBSD 6.7.

# CAVEATS

The `iwx` driver does not support any of the 802.11ax capabilities offered by the adapters. Additional work is required in ieee80211(9) before those features can be supported.

March 27, 2025 | Debian