[rdkb][common][bsp][Refactor and sync wifi from openwrt]
[Description]
cc3c51c7 [MAC80211][wifi6][Release][Update MT7986 Firmware]
ea393925 [MAC80211[WiFi6/7]][hostapd][Avoid unnecessary beacon update]
6763be22 [MAC80211][wifi7][Misc][Sync Internal patches to External Release Folder]
d3ed9bc8 [mac80211][wifi7][mt76][Rebase WED patch due to Cheetah MT76 modifications]
2f4b03c3 [mac80211][wifi6][mt76][Bring-up hardware path for Cheetah MT76]
cb573d78 [MAC80211][WiFi7][app][Add ibf atenl support for eagle]
04fe6893 [mac80211][wifi6][mt76][Fix rebase errors]
c301e69a [MAC80211][WiFi7][mt76][Update Kite EEPROM bin files]
463b00fb [MAC80211][WiFi7][infra][Add slot1 for kite]
8774388d [MAC80211][WiFi7][misc][Prevent deadlock in a multiple AP+STA mode]
68d43fea [MAC80211][hostapd][show acs channels config]
5aca83c6 [MAC80211][hostapd][Prevent hostapd from setting beacon too frequently]
636da369 [MAC80211][wifi6/7][misc][use current epoch date]
9eb3456f [MAC80211][hostapd][refactor AP/STA CSA handling flow]
5543f3d8 [MAC80211][WiFi6][mt76][Refactor assignment of STA BSS group]
c5631fc2 [mac80211][mt76][wifi6][Add debugfs knob for RTS threshold]
6a92a2d4 [mac80211][wifi6][mt76][Bring-up software path for Cheetah MT76]
bf66c519 [MAC80211][netifd][Remove unnecessary netifd patch]
2f141c75 [mac80211][mt76][wifi6/7][Fix build failed]
cf30db1e [mac80211[hostapd][wifi7][Fix build fial]
dc391fc0 [MAC80211][wifi6][Release][Update MT7986 Firmware]
71a7b95a [MAC80211][WiFi7][mt76][Add kite fw & eeprom to eagle codebase]
5a7bd025 [MAC80211][WiFi6][misc][Add mt7981 default eeprom bin]
e40da697 [MAC80211][WED][Fix reinsert wifi module cause memory leak issue]
0a22f8f4 [MAC80211][WiFi7][misc][fix mt7988-mt7996-mac980211 release build fail]
25f3fe1c [[Eagle][SQC3.0][BE19000][MT7996][E2][MT7976_MT7977][256][ePA][MT7988A][WiFi] [MAP][SnS][Muti-client][UES]Traffic stuck in Agent2 with invalid tid 8 found]
f59b5dad [MAC80211][WiFi6][mt76][Add additional chain signal info in station dump for merlin]
fada400d [MAC80211][WiFi6/7][mt76][Add HT40- capab when enable ACS]
98e273af [MAC80211][WiFi6/7][app][Add SKU_EN & RSSI ATTR in atenl]
aaa8eb14 [MAC80211][WiFi6][mt76][Add rssi & sku_en in testmode]
eda14aac [MAC80211][core][Remove wrong assignment on the variable "changed" when changing beacon]
000329aa [MAC80211][netifd][Move netifd patch for wifi7 used only]
57bfe0c7 [MAC80211][WiFi6][misc][fix build fail due to mt76 upgration]
fa29bb39 [MAC80211][wifi6/7][mt76][update mt76 Makefile]
56f497ec [MAC80211][netifd][not to cache previous config to avoid wifi down failure]
be9abd4d [MAC80211][WiFi6][misc][fix build fail due to netifd]
af71e303 [MAC80211][WiFi6][mt76][Fix inconsistent BSS group setting of STA for VoW]
3e42972a [MAC80211][WiFi6][mt76][Fix txpower bbp CR]
81a68c03 [MAC80211][wifi7][hostapd][rebase internal hostapd patches]
336300b7 [MAC80211][WiFi6/7][hostapd][MAX 48 mbss 6G 连线概率连不上 ]
6bebc554 [MAC80211][wifi7][core][update for backports v6.5]
19daecfd [MAC80211][wifi7][ucode][Bandwidth Synchronization in AP/STA Mode]
ddf64afb [MAC80211][mt76][add debug log in SER flow]
44611a77 [mac80211][wifi6][mt76][Enhance debug log]
[Release-log]
Change-Id: Ibf5e835de5563fff4101a77e81056f696286670b
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0041-hostapd-mtk-6g-bss-connect-ignore-ht-opera.patch b/recipes-wifi/hostapd/files/patches/mtk-0041-hostapd-mtk-6g-bss-connect-ignore-ht-opera.patch
new file mode 100644
index 0000000..105e188
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches/mtk-0041-hostapd-mtk-6g-bss-connect-ignore-ht-opera.patch
@@ -0,0 +1,29 @@
+From d11dea1d3dee3577be404bfb6f7dc2460858242d Mon Sep 17 00:00:00 2001
+From: mtk20656 <chank.chen@mediatek.com>
+Date: Wed, 13 Sep 2023 19:29:51 +0800
+Subject: [PATCH] [hostapd][mt76]6g bss connect do not consider ht operation
+
+Signed-off-by: mtk20656 <chank.chen@mediatek.com>
+---
+ src/ap/ieee802_11.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+old mode 100755
+new mode 100644
+index ef520c8..904b1b5
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -5434,7 +5434,8 @@ static void handle_assoc(struct hostapd_data *hapd,
+ ieee802_11_set_beacons(hapd->iface);
+ }
+
+- update_ht_state(hapd, sta);
++ if (!is_6ghz_op_class(hapd->iconf->op_class))
++ update_ht_state(hapd, sta);
+
+ hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
+ HOSTAPD_LEVEL_DEBUG,
+--
+2.18.0
+
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0042-hostapd-mtk-avoid-unnecessary-beacon-update-for-6-GH.patch b/recipes-wifi/hostapd/files/patches/mtk-0042-hostapd-mtk-avoid-unnecessary-beacon-update-for-6-GH.patch
new file mode 100644
index 0000000..277f5fa
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches/mtk-0042-hostapd-mtk-avoid-unnecessary-beacon-update-for-6-GH.patch
@@ -0,0 +1,85 @@
+From 401cb8a661c5e7d796a17bb289209663a6c42741 Mon Sep 17 00:00:00 2001
+From: Michael-CY Lee <michael-cy.lee@mediatek.com>
+Date: Wed, 4 Oct 2023 11:12:52 +0800
+Subject: [PATCH] hostapd: mtk: avoid unnecessary beacon update for 6 GHz
+ co-location
+
+There are two reasons to update beacon for 6 GHz co-location:
+1. 6 GHz out-of-band discovery
+2. MLD operational parameters update
+
+BSS load update is unrelated with the above two reasons, and therefore is
+not a case to update beacon for 6 GHz co-location.
+Moreover, updating beacon for 6 GHz co-location when BSS load update
+makes hostapd set beacon too frequently in a multiple BSSes case.
+
+Besides, it is also not necessary to update beacon for 6 GHz BSS when
+setting 2/5 GHz beacon. (i.e., no need for 2/5 GHz co-location)
+
+This patch adds an new function to update beacon only for current BSS,
+and uses the function duriong BSS load update.
+Also it changes the condition check to make beacon update only for 6 GHz
+co-location.
+
+Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
+Signed-off-by: Money Wang <money.wang@mediatek.com>
+---
+ src/ap/beacon.c | 8 +++++++-
+ src/ap/beacon.h | 1 +
+ src/ap/bss_load.c | 2 +-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/ap/beacon.c b/src/ap/beacon.c
+index c67d08b..02f4f87 100644
+--- a/src/ap/beacon.c
++++ b/src/ap/beacon.c
+@@ -2098,6 +2098,12 @@ fail:
+ }
+
+
++void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd)
++{
++ __ieee802_11_set_beacon(hapd);
++}
++
++
+ int ieee802_11_set_beacon(struct hostapd_data *hapd)
+ {
+ struct hostapd_iface *iface = hapd->iface;
+@@ -2121,7 +2127,7 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
+ if (colocated == iface || !colocated || !colocated->conf)
+ continue;
+
+- if (is_6g == is_6ghz_op_class(colocated->conf->op_class))
++ if (!is_6g || is_6ghz_op_class(colocated->conf->op_class))
+ continue;
+
+ for (i = 0; i < colocated->num_bss; i++) {
+diff --git a/src/ap/beacon.h b/src/ap/beacon.h
+index c320825..b32b2a7 100644
+--- a/src/ap/beacon.h
++++ b/src/ap/beacon.h
+@@ -15,6 +15,7 @@ struct ieee80211_mgmt;
+ void handle_probe_req(struct hostapd_data *hapd,
+ const struct ieee80211_mgmt *mgmt, size_t len,
+ int ssi_signal);
++void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd);
+ int ieee802_11_set_beacon(struct hostapd_data *hapd);
+ int ieee802_11_set_beacons(struct hostapd_iface *iface);
+ int ieee802_11_update_beacons(struct hostapd_iface *iface);
+diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
+index 78fd9d8..9e247da 100644
+--- a/src/ap/bss_load.c
++++ b/src/ap/bss_load.c
+@@ -58,7 +58,7 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
+ return;
+ }
+
+- ieee802_11_set_beacon(hapd);
++ ieee802_11_set_beacon_per_bss_only(hapd);
+
+ if (hapd->conf->chan_util_avg_period) {
+ iface->chan_util_samples_sum += iface->channel_utilization;
+--
+2.25.1
+
diff --git a/recipes-wifi/hostapd/files/patches/mtk-0044-hostapd-mtk-Add-ACS-chanlist-info-in-get_config.patch b/recipes-wifi/hostapd/files/patches/mtk-0044-hostapd-mtk-Add-ACS-chanlist-info-in-get_config.patch
new file mode 100755
index 0000000..2ad19e1
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches/mtk-0044-hostapd-mtk-Add-ACS-chanlist-info-in-get_config.patch
@@ -0,0 +1,96 @@
+From 6b4c9657caeafecd1fc5c796327c5e6689ef1f24 Mon Sep 17 00:00:00 2001
+From: "fancy.liu" <fancy.liu@mediatek.com>
+Date: Sun, 8 Oct 2023 15:16:55 +0800
+Subject: [PATCH] hostapd: mtk: Add ACS chanlist info in get_config
+
+This patch is used to add ACS chanlist info displaying
+for upper layer application obtaining.
+
+Command format:
+hostapd_cli -i phy0-ap0 get_config
+
+Signed-off-by: fancy.liu <fancy.liu@mediatek.com>
+---
+ hostapd/ctrl_iface.c | 59 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
+index bf5eeb7..89594ec 100644
+--- a/hostapd/ctrl_iface.c
++++ b/hostapd/ctrl_iface.c
+@@ -1119,6 +1119,7 @@ static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
+ {
+ int ret;
+ char *pos, *end;
++ int i;
+
+ pos = buf;
+ end = buf + buflen;
+@@ -1290,6 +1291,64 @@ static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
+ pos += ret;
+ }
+
++ /* dump chanlist */
++ if (hapd->iface->conf->acs_ch_list.num > 0) {
++ ret = os_snprintf(pos, end - pos, "chanlist=");
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++
++ for (i = 0; i < hapd->iface->conf->acs_ch_list.num; i++) {
++ if (i > 0) {
++ ret = os_snprintf(pos, end - pos, ", ");
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++ }
++
++ ret = os_snprintf(pos, end - pos, "%d-%d",
++ hapd->iface->conf->acs_ch_list.range[i].min,
++ hapd->iface->conf->acs_ch_list.range[i].max);
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++ }
++
++ ret = os_snprintf(pos, end - pos, "\n");
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++ }
++
++ /* dump freqlist */
++ if (hapd->iface->conf->acs_freq_list.num > 0) {
++ ret = os_snprintf(pos, end - pos, "freqlist=");
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++
++ for (i = 0; i < hapd->iface->conf->acs_freq_list.num; i++) {
++ if (i > 0) {
++ ret = os_snprintf(pos, end - pos, ", ");
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++ }
++
++ ret = os_snprintf(pos, end - pos, "%d-%d",
++ hapd->iface->conf->acs_freq_list.range[i].min,
++ hapd->iface->conf->acs_freq_list.range[i].max);
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++ }
++
++ ret = os_snprintf(pos, end - pos, "\n");
++ if (os_snprintf_error(end - pos, ret))
++ return pos - buf;
++ pos += ret;
++ }
++
+ return pos - buf;
+ }
+
+--
+2.18.0
+
diff --git a/recipes-wifi/hostapd/files/patches/patches.inc b/recipes-wifi/hostapd/files/patches/patches.inc
index 34e183e..0574840 100644
--- a/recipes-wifi/hostapd/files/patches/patches.inc
+++ b/recipes-wifi/hostapd/files/patches/patches.inc
@@ -103,4 +103,7 @@
file://mtk-0037-hostapd-mtk-add-back-ht-vht-cap-missing-field-before.patch \
file://mtk-0038-hostapd-mtk-Fix-rnr-ie-length-when-no-need-to-report.patch \
file://mtk-0039-hostapd-mtk-avoid-color-switch-when-beacon-is-not-se.patch \
+ file://mtk-0041-hostapd-mtk-6g-bss-connect-ignore-ht-opera.patch \
+ file://mtk-0042-hostapd-mtk-avoid-unnecessary-beacon-update-for-6-GH.patch \
+ file://mtk-0044-hostapd-mtk-Add-ACS-chanlist-info-in-get_config.patch \
"