GL-BE9300 emits Environment: bogus in Country IE — breaks WCN785x/FastConnect 7800 (ath12k) regulatory unlock
Firmware: 4.9.1 snapshot (also confirmed on 4.9.0 / 2026-05-21)
Issue:
All BSSes on the BE9300 (2.4G, 5G, 6G, MLO VAPs) advertise Country: DE Environment: bogus in beacon Country IEs. This is an invalid Environment field per IEEE 802.11-2020 §9.4.1.17 — valid values are I (0x49, Indoor), O (0x4F, Outdoor), or X (0x58, non-country).
Impact:
Qualcomm WCN785x (FastConnect 7800, ath12k driver, firmware WLAN.HMT.1.1.c7-00108) is a self-managed regulatory device — it determines its regulatory domain from AP beacon Country IEs, not from OS hints. It correctly rejects the malformed IE and stays locked at country 00: DFS-UNSET with NO-80MHZ, NO-160MHZ, NO-320MHZ restrictions, capping throughput at ~288 Mbps despite being associated to the 6 GHz MLO link.
Evidence:
# All GL-BE9300 BSSes:
Country: DE Environment: bogus
# Neighbouring non-GL AP for comparison:
Country: US Environment: Indoor/Outdoor
# Client phy regulatory state while associated to GLHme-MLO:
phy#0 (self-managed)
country 00: DFS-UNSET
(2402 - 2472 @ 40), NO-80MHZ, NO-160MHZ, NO-320MHZ
Root cause:
The QCA qcawificfg80211 driver / hostapd config generation is setting country3=0x20 (space character) for all radios (wifi0/wifi1/wifi2). This renders as bogus in iw and is rejected by spec-compliant clients.
Fix required:
Set country3=0x49 (Indoor) in the QCA hostapd/wifi config generation for all three radios.
Confirmation this is the root cause:
Previous card (MT7925/mt76) connected to the same BE9300 at multi-Gbps MLO speeds — mt76 accepts the global kernel regdomain and ignores the bogus IE. WCN785x/ath12k is spec-compliant and rejects it. The router is the non-compliant party.
