Intel AX201 WiFi Driver Bug - Wrong Firmware Loaded (8086:51f0)

Hello,

I’m experiencing a WiFi driver issue on Rocky Linux 10.1 where my Intel AX201 WiFi adapter fails to initialize due to the driver loading incorrect firmware.

PROBLEM SUMMARY:
The iwlwifi driver is loading firmware for the wrong Intel WiFi chipset. It loads “so-a0-hr-b0-89.ucode” (for AX211/AX411) instead of “ty-a0-gf-a0-89.ucode” (for AX201), causing firmware initialization to fail with timeout errors. As a result, no WiFi interface is created.

SYSTEM INFORMATION:

  • Distribution: Rocky Linux 10.1 (Red Quartz)
  • Kernel: 6.12.0-124.21.1.el10_1.x86_64
  • Firmware Package: linux-firmware-20251111-19.1.el10_1.noarch

HARDWARE:

  • Device: Intel Corporation Alder Lake-P PCH CNVi WiFi [8086:51f0] (rev 01)
  • Subsystem: Intel AX201 160MHz 2x2 [Harrison Peak] [8086:0074]
  • PCI Bus: 0000:00:14.3

WHAT HAPPENS:

  1. The driver detects the AX201 chipset correctly
  2. But loads wrong firmware: so-a0-hr-b0-89.ucode (for AX211/AX411)
  3. Firmware initialization fails with timeout errors (-110)
  4. Driver retries multiple times but continues to fail
  5. No wireless interface (wlan0) is created

KERNEL MESSAGES (dmesg):
[ 9.037966] iwlwifi 0000:00:14.3: Loaded firmware version: 89.7207fc64.0 so-a0-hr-b0-89.ucode
[ 9.038168] iwlwifi 0000:00:14.3: Failed to start RT ucode: -110
[ 11.607963] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110

The driver keeps retrying with the same wrong firmware and failing.

EXPECTED BEHAVIOR:
The driver should load: iwlwifi-ty-a0-gf-a0-89.ucode (for AX201)
But it’s loading: iwlwifi-so-a0-hr-b0-89.ucode (for AX211/AX411)

FIRMWARE FILES:
The correct firmware files ARE present in the system:

  • /lib/firmware/iwlwifi-ty-a0-gf-a0-89.ucode.xz
  • /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.xz

The modinfo output shows the driver knows about the correct firmware:
$ modinfo iwlwifi | grep firmware.*ty
firmware: iwlwifi-ty-a0-gf-a0.pnvm
firmware: iwlwifi-ty-a0-gf-a0-89.ucode

But at runtime, it’s loading the wrong one.

LOADED MODULES:
iwlmvm 602112 0
mac80211 1495040 1 iwlmvm
iwlwifi 479232 1 iwlmvm
cfg80211 1413120 3 iwlmvm,iwlwifi,mac80211

NETWORK INTERFACES:
Only loopback and ethernet (enp44s0) are present. No wireless interface appears.

STEPS TO REPRODUCE:

  1. Boot system with Intel AX201 WiFi (8086:51f0)
  2. Kernel auto-loads iwlwifi driver
  3. Check: dmesg | grep iwlwifi
  4. See wrong firmware being loaded
  5. Check: ip link show (no wlan interface)

ATTEMPTS MADE:

  • Unloaded and reloaded iwlwifi/iwlmvm modules
  • Verified firmware files are present
  • Checked rfkill (not blocked)

ROOT CAUSE:
The driver’s device ID to firmware mapping logic appears to have a bug. Device ID 8086:51f0 (AX201) is being incorrectly mapped to firmware for a different chipset (AX211/AX411).

IMPACT:
WiFi is completely non-functional. No workaround found yet.

Has anyone else experienced this issue? Any suggestions for a workaround or fix? Should I report this to the Rocky Linux bug tracker or upstream kernel maintainers?

Thanks in advance for any help!

This needs to be reported to Red Hat. Temporarily you could overwrite the incorrect firmware files with the contents of the correct ones.