[PATCH] Issue: Non-HE capable interface advertising HE

Deepti Panchal deepti.panchal at nxp.com
Tue Jul 26 03:39:03 PDT 2022


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 at nxp.com>
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 */



More information about the Hostap mailing list