You are not logged in.

#1 2025-10-23 15:19:41

BollerwagenPicard
Member
From: Grimma | Germany
Registered: 2021-07-30
Posts: 41

ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

Hello Arch Community,

I'm running into two specific issues with a new wcn7850 (Quectel NCM825-based) Wi-Fi 7 card on kernel 6.17.4-arch2-1.

My 5GHz (VHT) connection is stable, but I have to manually fix my regulatory domain, and dmesg shows a persistent rx buf error. I'm trying to understand why these two things are happening.

---
Issue 1:

failed to enqueue rx buf: -28

My primary concern is this error, which appears right after the driver loads the firmware:

$ sudo dmesg | grep ath12k_pci
...
[  4.327825] ath12k_pci 0000:aa:00.0: Hardware name: wcn7850 hw2.0
...
[  4.890519] ath12k_pci 0000:aa:00.0: fw_version 0x110cffff ...
[  5.113118] ath12k_pci 0000:aa:00.0: failed to enqueue rx buf: -28
...

My connection seems stable (0% packet loss on ping), but this error (-28 is ENOSPC) looks serious.
Question: Is this a known bug with the wcn7850 chip on recent kernels? What does it actually mean for the card's performance, and is there a known fix?

---
Issue 2: Manual regdomain required (Global '00' conflict)

Separately, my 6GHz band was not loading. I discovered the system was in a conflicting state:

$ iw reg get
global
country 00: DFS-UNSET  <--- THE PROBLEM
...
phy#0 (self-managed)
country DE: DFS-ETSI  <--- CORRECTLY DETECTED
...

The ath12k driver correctly detected DE (Germany) from my AP, but the global setting remained 00, which disabled 6GHz.

My Fix: I had to install crda and create /etc/conf.d/wireless-regdom with WIRELESS_REGDOM="DE". After a reboot, this is now fixed:

$ iw reg get
global
country DE: DFS-ETSI  <--- NOW FIXED
...
phy#0 (self-managed)
country DE: DFS-ETSI
...

This fix also successfully enabled the 6GHz band in iw list (it now shows Band 4 starting at 5955.0 MHz).

Question: Why was this manual override necessary? Why didn't the system (CRDA or the kernel) automatically adopt the DE region that the phy#0 device clearly detected? It seems the automatic detection is broken.

---
Hardware Details:

$ lspci -knn -s aa:00.0
aa:00.0 Network controller [0280]: Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] [17cb:1107] (rev 01)
    Subsystem: Quectel Wireless Solutions Co., Ltd. Device [1eac:8000]
    Kernel driver in use: ath12k_pci
    Kernel modules: ath12k

Thanks for any insights into these two issues!


Update:

I did some further testing regarding the failed to enqueue rx buf: -28 error.

1. I temporarily disabled VT-d (IOMMU) in UEFI. After rebooting, the failed to enqueue rx buf: -28 error was completely gone from dmesg.
2. I then re-enabled VT-d in UEFI. Crucially, after a simple reboot, the error did not immediately return. However, after performing a cold boot (full shutdown, wait a few minutes, power on), the failed to enqueue rx buf: -28 error immediately reappeared in dmesg on this boot.

Conclusion: This confirms that the failed to enqueue rx buf: -28 error with the ath12k driver for the wcn7850 chip is specifically triggered when VT-d (IOMMU) is enabled in UEFI, and seems dependent on the hardware initialization state during a cold boot. The UEFI update I performed earlier did not fix this issue; only disabling VT-d does (or perhaps a warm reboot mitigates it temporarily?).

Unfortunately, I need VT-d enabled for my eGPU passthrough setup, so disabling it is not a viable long-term solution for me.

Is this a known incompatibility between ath12k (specifically for wcn7850) and IOMMU, possibly related to cold boot initialization? Are there any kernel parameters or workarounds known, other than disabling VT-d or waiting for a kernel update?

Last edited by BollerwagenPicard (2025-10-23 16:40:52)

Offline

#2 2025-10-24 04:50:09

unixman
Member
Registered: 2015-03-12
Posts: 181

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

hi. crda is obsoled.remove it.  install regdb. (not know exact name).
wpa_supplicant(and others?) has regulatory knob.
put Germany there once and all.(in config file)

other:
if it is not caused package drops(when hight load) just ignore it.
otherwise file a bug againist kernel.

VT-d claims dma buffer for virtualize NIC and/or passthrought. (ehh: my shot)

PS: its will be good to having ability to enable/disable VT-d per device basis:)

Last edited by unixman (2025-10-24 04:58:15)

Offline

#3 2025-10-24 11:17:34

BollerwagenPicard
Member
From: Grimma | Germany
Registered: 2021-07-30
Posts: 41

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

Okay I removed CRDA und switched to wireless-regdb. Works fine as well.
Thank you for the hint. I leave VT-d disabled for now... (I don't like errors in my logs and I use the eGPU only 5-6 times a year in a VM)

It was one line in /etc/conf.d/wireless-regdom

Any idea how to tell NetworkManger that there is 6GHz?

Offline

#4 2025-10-24 11:32:27

unixman
Member
Registered: 2015-03-12
Posts: 181

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

Ask for google "Network Manager 6 GHz" then check pages: eg

https://serverhost.com/blog/networkmana … d-to-know/

Last edited by unixman (2025-10-24 11:33:03)

Offline

#5 2025-10-24 13:24:17

BollerwagenPicard
Member
From: Grimma | Germany
Registered: 2021-07-30
Posts: 41

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

I did check the suggested blog post and general information about configuring 6 GHz with NetworkManager. While helpful for standard setups, they don't address my specific issue.

My problem isn't how to configure 6 GHz, but that NetworkManager doesn't offer the 6 GHz option at all (not in the GUI, nmtui, or nmcli show capabilities), even though iw list confirms the kernel has loaded the 6 GHz band correctly.

% pacman -Q networkmanager
networkmanager 1.54.1-1

Offline

#6 2025-10-24 13:52:20

unixman
Member
Registered: 2015-03-12
Posts: 181

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

Wi-Fi 7 is new things. support adds to tools slowly and incrementaly.

Network Manager able to use wpa_supplicant or iwd as backend? what your choose?

enable Wi-Fi 7 stuff for that backend.  eg:
https://unix.stackexchange.com/question … 7-802-11be

Maybe you have to use that backend directly and/or cli only tools until supports added to GUI elements.

Offline

#7 2025-10-24 17:50:19

BollerwagenPicard
Member
From: Grimma | Germany
Registered: 2021-07-30
Posts: 41

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

My NetworkManager setup uses wpa_supplicant as the backend. I haven't explicitly chosen iwd, so I'm using the default configuration provided by Arch Linux.

Offline

#8 2025-10-26 21:07:23

BollerwagenPicard
Member
From: Grimma | Germany
Registered: 2021-07-30
Posts: 41

Re: ath12k wcn7850: failed to enqueue rx buf & 6GHz regdomain issue

Sorry for double posting... but I want to make it visible for everyone looking for the same problem as me...
NM lists the 6GHz WiFi in the 5GHz section... as Chan zero for me... Tested with a Google Pixel 9 as Hotspot

thumb.php?image=20251026210613_unbenannt.png

Offline

Board footer

Powered by FluxBB