This mail describes the purpose of the attached "hostapd" patch. The patch avoids issue when there is mismatch between user's 11ax config and DRV capability Behavior (without the patch): ========================== Non-HE capable interface advertising HE IEs/Capabilities in Beacon/Probe Response/Association Response frames if "ieee80211ax=1" configuration is used Patch Description: ================ 1. The HE capability for an AP iface was read from the driver, but was not used to update the "drv_flags" for the interface 2. Change is now added to update the HE capability in the "drv_flags" of the interface 3. If the interface does not support HE capability, the "iface->conf->ieee80211ax" flag is set to 0 4. Now Beacons/Probe response/Association Response will advertise HE capabilities ONLY if the interface is HE capable Patch Verification: ================= 1. For Intel and NXP non-11ax/HE capable chip/interface, when "ieee80211ax=1" is used in the config file, NO HE IEs are added in the Beacon/Probe Response/Association Response frames 2. For NXP 11ax/HE capable chips, the HE IEs get added correctly to the required MGMT frames ============================================================================================================== >From e19bf318ce2a27ccc03f72023b2fc7f1bf6cd496 Mon Sep 17 00:00:00 2001 From: Deepti Panchal <deepti.panchal@xxxxxxx> Date: Mon, 18 Jul 2022 15:59:10 +0530 Subject: [PATCH] Issue: Non-HE capable interface advertising HE IEs/Capabilities in Beacon/Probe Response/Association Response frames if "ieee80211ax=1" configuration is used Change Description: 1. The HE capability for an AP iface was read from the driver, but was not used to update the "drv_flags" for the iface 2. Change is now added to update the HE capability in the "drv_flags" of the interface 3. If the interface does not support HE capability, the "iface->conf->ieee80211ax" flag is set to 0 4. Hence now Beacons/Probe response/Association Response will advertise HE capabilities ONLY if the interface is HE capable --- src/ap/hw_features.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c index ed5ff41d3..87d7b52bd 100644 --- a/src/ap/hw_features.c +++ b/src/ap/hw_features.c @@ -679,7 +679,19 @@ static int ieee80211ac_supported_vht_capab(struct hostapd_iface *iface) #ifdef CONFIG_IEEE80211AX static int ieee80211ax_supported_he_capab(struct hostapd_iface *iface) { - return 1; + struct hostapd_hw_modes *mode = iface->current_mode; + struct he_capabilities *he_cap = + &(mode->he_capab[IEEE80211_MODE_AP]); + + /* Check iface HE capability, update drv_flags and HE config setting */ + if (he_cap && he_cap->he_supported) { + wpa_printf(MSG_DEBUG, "iface hw he_supported: %d", he_cap->he_supported); + iface->drv_flags |= WPA_DRIVER_FLAGS_HE_CAPABILITIES; + } else { + wpa_printf(MSG_DEBUG, "iface does not support HE capability"); + iface->conf->ieee80211ax = 0; + } + + return 1; } #endif /* CONFIG_IEEE80211AX */ Thanks, Deepti _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap