Bug 219968

Summary: iwlwifi: AC 9560 [8086:7a70] timeout waiting for FW reset ACK on kernel 6.14+
Product: Drivers Reporter: shinobulaugh
Component: network-wireless-intelAssignee: Default virtual assignee for network-wireless-intel (drivers_network-wireless-intel)
Status: CLOSED IMPLEMENTED    
Severity: normal CC: develop-asunnya, gimmickreliable011, grazzolini
Priority: P3    
Hardware: Intel   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:
Attachments: `dmesg | grep iwlwifi` output showing the errors.
patch to avoid reset after failed handshake
patch to avoid reset after failed handshake

Description shinobulaugh 2025-03-30 04:28:28 UTC
Created attachment 307908 [details]
`dmesg | grep iwlwifi` output showing the errors.

Hardware: Intel Corporation Raptor Lake-S PCH CNVi WiFi [8086:7a70] (rev 11)
Subsystem: Intel Corporation Device [8086:0034] (Note: Double check your lspci output for the exact subsystem if different)
Driver: iwlwifi
OpMode: iwlmvm

Problem:
On kernels 6.14 and later (specifically tested on [Exact CachyOS Kernel Version, e.g., 6.14.x-y-cachyos]), the Intel AC 9560 Wi-Fi adapter fails to initialize correctly. The adapter disappears from NetworkManager/GNOME settings shortly after boot, often displaying a brief "No Wi-Fi Adapter found" message.

The device works correctly on the standard Arch Linux kernel [Working Standard Kernel Version, e.g., 6.13.z-arch1-1] and the LTS kernel [Working LTS Kernel Version if tested, e.g., 6.6.x-lts].

Firmware:
The driver attempts to load various firmware versions, eventually succeeding with:
`loaded firmware version 77.f92b5fed.0 so-a0-jf-b0-77.ucode op_mode iwlmvm`
(Attempts to load versions -89 down to -78 fail with "Direct firmware load ... failed with error -2")

Core Error in dmesg:
Immediately after loading firmware version 77, the driver repeatedly logs the following error, followed by error log dumps and reset attempts:
`timeout waiting for FW reset ACK (inta_hw=0x0)`

Troubleshooting Steps Attempted (without success):
*   Ensured `linux-firmware` package is up-to-date.
*   Verified `iwlwifi` module is loaded.
*   Checked for conflicts with other network services (e.g., iwd, wpa_supplicant).
*   Tried various `iwlwifi` module options via `/etc/modprobe.d/iwlwifi.conf`:
    *   `options iwlwifi fw_restart=1 disable_11ax=1`
    *   `options iwlwifi bt_coex_active=0 power_save=0` (Note: `bt_coex_active=0` seems ignored by iwlmvm)
*   Tried kernel parameter `pcie_aspm=off`.

Context:
*   This issue was also reported by users on the CachyOS distribution (e.g., https://github.com/CachyOS/linux-cachyos/issues/425), where it was suggested to report the bug upstream.

Attachments:
*   `dmesg | grep iwlwifi` output showing the errors.

Please let me know if any further information or testing is required.
Comment 1 Giancarlo Razzolini 2025-03-30 23:25:20 UTC
This is also happening with my intel card:

00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
        Subsystem: Intel Corporation Dual Band Wi-Fi 5(802.11ac) Wireless-AC 9560 80MHz 2x2 [Jefferson Peak]

On same kernel, 6.14 on Arch. I also tried updating the linux-firmware and used the git version of it, but the problem still persists. The system is on a loop trying to load the firmware for the wireless card and if fails. Not to mention the performance is severely degraded because of this too.
Comment 2 shinobulaugh 2025-03-31 00:11:39 UTC
(In reply to Giancarlo Razzolini from comment #1)
> This is also happening with my intel card:
> 
> 00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi
> (rev 01)
>         Subsystem: Intel Corporation Dual Band Wi-Fi 5(802.11ac) Wireless-AC
> 9560 80MHz 2x2 [Jefferson Peak]
> 
> On same kernel, 6.14 on Arch. I also tried updating the linux-firmware and
> used the git version of it, but the problem still persists. The system is on
> a loop trying to load the firmware for the wireless card and if fails. Not
> to mention the performance is severely degraded because of this too.

yeah idk, I think I'll just wait for an update at this point cause I've tried for a LOOONGGG time already and can't be asked. I'm using the LTS kernel for now and it works fine as a temporary solution. hopefully it gets fixed...
Comment 3 Johannes Berg 2025-04-02 13:13:18 UTC
There's a patch we should've included that should make it not spin, at least:

https://p.sipsolutions.net/0c2dac2f5c4818d8.txt

However, can't figure out why it's actually happening in the first place.

Note also that there's a dup filed _just_ before this one:
https://bugzilla.kernel.org/show_bug.cgi?id=219967

Still digging.
Comment 4 Johannes Berg 2025-04-02 13:14:06 UTC
Can you specify the laptop/machine model(s) this happens on?
Comment 5 Giancarlo Razzolini 2025-04-02 13:33:41 UTC
In my case, it's a Lenovo V14 G3 IAP.
Comment 6 Giancarlo Razzolini 2025-04-02 13:36:02 UTC
Also, regarding the other bug report, I'm not sure it is the same. Because my wireless card is detected, only the firmware cannot be loaded. Also, bluetooth works. I'll try this patch too and report back.
Comment 7 Johannes Berg 2025-04-02 15:53:36 UTC
This patch is just going to make it not spin endlessly.

But I have a feeling I know what's going on - the issue isn't the FW reset handshake timeout, but the fact that the debug dump we wanted on that causes it to send a command which obviously fails at that point, and then that failure causes another crash + reset, so it keeps looping...

I haven't gotten around to it yet but I'll try to have a fix tomorrow. iwl_fw_dbg_suspend_resume_hcmd() could just do nothing and then it'd probably work, but I need to find a way to make iwl_trans_send_cmd() return an error in this case.
Comment 8 FedX 2025-04-02 21:46:39 UTC
I too have experienced this bug on both Alpine/PostmarketOS edge and Arch Linux with kernel 6.14. Hardware is Starlabs Starlite MKV (Intel N200) with the adapter in question being an Intel Wi-Fi 5 9560. My Dmesg logs were essentially identical to those originally posted. 

Hope this helps and thanks all for the work!
Comment 9 shinobulaugh 2025-04-03 08:06:06 UTC
(In reply to Johannes Berg from comment #4)
> Can you specify the laptop/machine model(s) this happens on?

I'm running a NZXT Player: One tower. I haven't made any real modifications/upgrades to it except for changing the GPU to a MSI 2080 Ti.
Comment 10 Johannes Berg 2025-04-03 10:16:57 UTC
Created attachment 307916 [details]
patch to avoid reset after failed handshake

This should fix the issue that we get a SW (or deeper) reset after the handshake fails.

It looks like the handshake failure was also there in 6.13 already, but I don't know why. I couldn't reproduce it here on any device that I could get my hands on (though not the same MAC/RF combination so far). Assuming this patch works and you only get a single "FW reset handshake timeout" and no follow-up errors, you could try the FW debug from https://wireless.docs.kernel.org/en/latest/en/users/drivers/iwlwifi/debugging.html#firmware-debugging and capture the dump and send it to us.
Comment 11 Johannes Berg 2025-04-03 11:04:37 UTC
Created attachment 307919 [details]
patch to avoid reset after failed handshake

ok that patch was stupid, this one's hopefully better :)
Comment 12 Giancarlo Razzolini 2025-04-10 19:09:58 UTC
Sorry for the delay, only today I got some time to build a custom kernel with the patch. I can confirm this patch indeed fixes the firmware reset loop and also the stability issues.
Comment 13 Johannes Berg 2025-04-10 20:36:52 UTC
great thanks, we'll send the patch on the way the usual process

might take a bit since various spring vacations are upcoming
Comment 14 Johannes Berg 2025-04-10 20:38:20 UTC
*** Bug 219967 has been marked as a duplicate of this bug. ***
Comment 15 Giancarlo Razzolini 2025-04-10 21:12:01 UTC
Sure. I'll keep building my own kernel in the meantime, modprobed.db helps here. Also, I spent the whole day on wireless to make sure the issues were gone, and it's fine. Thanks for this.
Comment 16 Asunnya 2025-04-10 22:34:51 UTC
Hello, mine is a Samsung Galaxy Book2 550XED