[][MAC80211][misc][Change the HEMU name]
[Description]
Change the MU name from HEMU to MU to forward-compatibility.
[Release-log]
N/A
Change-Id: I1cf490ab17976416d8013323e7f8606a740da26b
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7153415
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1007-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1007-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
index 92f3f59..050a40b 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1007-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1007-mt76-mt7915-add-mt76-vendor-muru-onoff-command.patch
@@ -18,7 +18,7 @@
if (val == 0)
phy->muru_onoff = MUMIMO_DL_CERT | MUMIMO_DL;
break;
-+ case RATE_PARAM_AUTO_HEMU:
++ case RATE_PARAM_AUTO_MU:
+ if (val < 0 || val > 15) {
+ printk("Wrong value! The value is between 0-15.\n");
+ break;
@@ -36,7 +36,7 @@
#ifdef CONFIG_MTK_VENDOR
RATE_PARAM_FIXED_MIMO = 30,
RATE_PARAM_FIXED_OFDMA = 31,
-+ RATE_PARAM_AUTO_HEMU = 32,
++ RATE_PARAM_AUTO_MU = 32,
#endif
};
@@ -49,8 +49,8 @@
};
+static const struct nla_policy
-+hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
-+ [MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
++mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL] = {
++ [MTK_VENDOR_ATTR_MU_CTRL_ONOFF] = {.type = NLA_U8 },
+};
+
static const struct nla_policy
@@ -60,25 +60,25 @@
return 0;
}
-+static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
++static int mt7915_vendor_mu_ctrl(struct wiphy *wiphy,
+ struct wireless_dev *wdev,
+ const void *data,
+ int data_len)
+{
+ struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
-+ struct nlattr *tb[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL];
++ struct nlattr *tb[NUM_MTK_VENDOR_ATTRS_MU_CTRL];
+ int err;
+ u8 val8;
+ u32 val32 = 0;
+
-+ err = nla_parse(tb, MTK_VENDOR_ATTR_HEMU_CTRL_MAX, data, data_len,
-+ hemu_ctrl_policy, NULL);
++ err = nla_parse(tb, MTK_VENDOR_ATTR_MU_CTRL_MAX, data, data_len,
++ mu_ctrl_policy, NULL);
+ if (err)
+ return err;
+
-+ if (tb[MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF]) {
-+ val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF]);
-+ val32 |= FIELD_PREP(RATE_CFG_MODE, RATE_PARAM_AUTO_HEMU) |
++ if (tb[MTK_VENDOR_ATTR_MU_CTRL_ONOFF]) {
++ val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_MU_CTRL_ONOFF]);
++ val32 |= FIELD_PREP(RATE_CFG_MODE, RATE_PARAM_AUTO_MU) |
+ FIELD_PREP(RATE_CFG_VAL, val8);
+ ieee80211_iterate_active_interfaces_atomic(hw, IEEE80211_IFACE_ITER_RESUME_ALL,
+ mt7915_set_wireless_vif, &val32);
@@ -98,13 +98,13 @@
+ {
+ .info = {
+ .vendor_id = MTK_NL80211_VENDOR_ID,
-+ .subcmd = MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL,
++ .subcmd = MTK_NL80211_VENDOR_SUBCMD_MU_CTRL,
+ },
+ .flags = WIPHY_VENDOR_CMD_NEED_NETDEV |
+ WIPHY_VENDOR_CMD_NEED_RUNNING,
-+ .doit = mt7915_vendor_hemu_ctrl,
-+ .policy = hemu_ctrl_policy,
-+ .maxattr = MTK_VENDOR_ATTR_HEMU_CTRL_MAX,
++ .doit = mt7915_vendor_mu_ctrl,
++ .policy = mu_ctrl_policy,
++ .maxattr = MTK_VENDOR_ATTR_MU_CTRL_MAX,
}
};
@@ -116,7 +116,7 @@
MTK_NL80211_VENDOR_SUBCMD_CSI_CTRL = 0xc2,
MTK_NL80211_VENDOR_SUBCMD_RFEATURE_CTRL = 0xc3,
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
-+ MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
++ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
};
enum mtk_capi_control_changed {
@@ -124,15 +124,15 @@
NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
};
-+enum mtk_vendor_attr_hemu_ctrl {
-+ MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
++enum mtk_vendor_attr_mu_ctrl {
++ MTK_VENDOR_ATTR_MU_CTRL_UNSPEC,
+
-+ MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
++ MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
+
+ /* keep last */
-+ NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
-+ MTK_VENDOR_ATTR_HEMU_CTRL_MAX =
-+ NUM_MTK_VENDOR_ATTRS_HEMU_CTRL - 1
++ NUM_MTK_VENDOR_ATTRS_MU_CTRL,
++ MTK_VENDOR_ATTR_MU_CTRL_MAX =
++ NUM_MTK_VENDOR_ATTRS_MU_CTRL - 1
+};
+
enum mtk_vendor_attr_rfeature_ctrl {
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1120-mt76-mt7915-add-phy-capability-vendor-command.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1120-mt76-mt7915-add-phy-capability-vendor-command.patch
index d9f1eec..302d0ab 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1120-mt76-mt7915-add-phy-capability-vendor-command.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1120-mt76-mt7915-add-phy-capability-vendor-command.patch
@@ -44,7 +44,7 @@
struct csi_null_tone {
u8 start;
u8 end;
-@@ -974,6 +986,35 @@ static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
+@@ -974,6 +986,35 @@ static int mt7915_vendor_mu_ctrl(struct wiphy *wiphy,
return 0;
}
@@ -81,9 +81,9 @@
{
.info = {
@@ -1031,6 +1072,17 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
- .doit = mt7915_vendor_hemu_ctrl,
- .policy = hemu_ctrl_policy,
- .maxattr = MTK_VENDOR_ATTR_HEMU_CTRL_MAX,
+ .doit = mt7915_vendor_mu_ctrl,
+ .policy = mu_ctrl_policy,
+ .maxattr = MTK_VENDOR_ATTR_MU_CTRL_MAX,
+ },
+ {
+ .info = {
@@ -105,7 +105,7 @@
@@ -9,6 +9,7 @@ enum mtk_nl80211_vendor_subcmds {
MTK_NL80211_VENDOR_SUBCMD_RFEATURE_CTRL = 0xc3,
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
};
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1121-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable-thre.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1121-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable-thre.patch
index 9472892..ca559be 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1121-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable-thre.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1121-mt76-mt7915-add-vendor-subcmd-EDCCA-ctrl-enable-thre.patch
@@ -339,7 +339,7 @@
MTK_NL80211_VENDOR_SUBCMD_AMNT_CTRL = 0xae,
@@ -10,6 +11,38 @@ enum mtk_nl80211_vendor_subcmds {
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
+ MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
+};
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1124-mt76-mt7915-Add-hemu-dump-support.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1124-mt76-mt7915-Add-mu-dump-support.patch
similarity index 64%
rename from autobuild_mac80211_release/package/kernel/mt76/patches/1124-mt76-mt7915-Add-hemu-dump-support.patch
rename to autobuild_mac80211_release/package/kernel/mt76/patches/1124-mt76-mt7915-Add-mu-dump-support.patch
index 0fcde9d..b3789c3 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1124-mt76-mt7915-Add-hemu-dump-support.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1124-mt76-mt7915-Add-mu-dump-support.patch
@@ -1,7 +1,7 @@
From dc1ea53db698073c61765925cdb17d28043c6f2d Mon Sep 17 00:00:00 2001
From: TomLiu <tomml.liu@mediatek.com>
Date: Thu, 11 Aug 2022 18:09:45 -0700
-Subject: [PATCH 1124/1133] mt76: mt7915: Add hemu dump support
+Subject: [PATCH 1124/1133] mt76: mt7915: Add mu dump support
Change-Id: I521214f3feb6f0d528a9f550255050ffd1ec96d2
---
@@ -15,19 +15,19 @@
+++ b/mt7915/vendor.c
@@ -37,6 +37,7 @@ wireless_ctrl_policy[NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL] = {
static const struct nla_policy
- hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
- [MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
-+ [MTK_VENDOR_ATTR_HEMU_CTRL_DUMP] = {.type = NLA_U8 },
+ mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL] = {
+ [MTK_VENDOR_ATTR_MU_CTRL_ONOFF] = {.type = NLA_U8 },
++ [MTK_VENDOR_ATTR_MU_CTRL_DUMP] = {.type = NLA_U8 },
};
static const struct nla_policy
-@@ -1004,6 +1005,28 @@ static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
+@@ -1004,6 +1005,28 @@ static int mt7915_vendor_mu_ctrl(struct wiphy *wiphy,
return 0;
}
+
+static int
-+mt7915_vendor_hemu_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
++mt7915_vendor_mu_ctrl_dump(struct wiphy *wiphy, struct wireless_dev *wdev,
+ struct sk_buff *skb, const void *data, int data_len,
+ unsigned long *storage)
+{
@@ -39,7 +39,7 @@
+ return -ENOENT;
+ *storage = 1;
+
-+ if (nla_put_u8(skb, MTK_VENDOR_ATTR_HEMU_CTRL_DUMP, phy->muru_onoff))
++ if (nla_put_u8(skb, MTK_VENDOR_ATTR_MU_CTRL_DUMP, phy->muru_onoff))
+ return -ENOMEM;
+ len += 1;
+
@@ -53,23 +53,23 @@
@@ -1190,6 +1213,7 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
.flags = WIPHY_VENDOR_CMD_NEED_NETDEV |
WIPHY_VENDOR_CMD_NEED_RUNNING,
- .doit = mt7915_vendor_hemu_ctrl,
-+ .dumpit = mt7915_vendor_hemu_ctrl_dump,
- .policy = hemu_ctrl_policy,
- .maxattr = MTK_VENDOR_ATTR_HEMU_CTRL_MAX,
+ .doit = mt7915_vendor_mu_ctrl,
++ .dumpit = mt7915_vendor_mu_ctrl_dump,
+ .policy = mu_ctrl_policy,
+ .maxattr = MTK_VENDOR_ATTR_MU_CTRL_MAX,
},
diff --git a/mt7915/vendor.h b/mt7915/vendor.h
index 72319717..c19ffe72 100644
--- a/mt7915/vendor.h
+++ b/mt7915/vendor.h
-@@ -72,6 +72,7 @@ enum mtk_vendor_attr_hemu_ctrl {
- MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
+@@ -72,6 +72,7 @@ enum mtk_vendor_attr_mu_ctrl {
+ MTK_VENDOR_ATTR_MU_CTRL_UNSPEC,
- MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
-+ MTK_VENDOR_ATTR_HEMU_CTRL_DUMP,
+ MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
++ MTK_VENDOR_ATTR_MU_CTRL_DUMP,
/* keep last */
- NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
+ NUM_MTK_VENDOR_ATTRS_MU_CTRL,
--
2.18.0
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1125-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ctrl.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1125-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ctrl.patch
index 370bbcf..cd5fd8f 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1125-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ctrl.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1125-mt76-mt7915-add-vendor-subcmd-three-wire-PTA-ctrl.patch
@@ -149,8 +149,8 @@
index 83f38e07..48d124e0 100644
--- a/mt7915/vendor.c
+++ b/mt7915/vendor.c
-@@ -40,6 +40,11 @@ hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
- [MTK_VENDOR_ATTR_HEMU_CTRL_DUMP] = {.type = NLA_U8 },
+@@ -40,6 +40,11 @@ mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL] = {
+ [MTK_VENDOR_ATTR_MU_CTRL_DUMP] = {.type = NLA_U8 },
};
+static const struct nla_policy
@@ -233,7 +233,7 @@
--- a/mt7915/vendor.h
+++ b/mt7915/vendor.h
@@ -12,6 +12,7 @@ enum mtk_nl80211_vendor_subcmds {
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
+ MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-ibf-control-vendor-cmd.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-ibf-control-vendor-cmd.patch
index 899c849..1fa6a9a 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-ibf-control-vendor-cmd.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1126-mt76-mt7915-add-ibf-control-vendor-cmd.patch
@@ -104,7 +104,7 @@
--- a/mt7915/vendor.h
+++ b/mt7915/vendor.h
@@ -12,7 +12,8 @@ enum mtk_nl80211_vendor_subcmds {
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
- MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/1130-mt76-mt7915-amsdu-set-and-get-control.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/1130-mt76-mt7915-amsdu-set-and-get-control.patch
index 6db0006..54ca9d2 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/1130-mt76-mt7915-amsdu-set-and-get-control.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/1130-mt76-mt7915-amsdu-set-and-get-control.patch
@@ -62,8 +62,8 @@
+};
+
static const struct nla_policy
- hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL] = {
- [MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
+ mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL] = {
+ [MTK_VENDOR_ATTR_MU_CTRL_ONOFF] = {.type = NLA_U8 },
@@ -983,11 +989,35 @@ static int mt7915_vendor_wireless_ctrl(struct wiphy *wiphy,
val8 = nla_get_u8(tb[MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT]);
mt7915_mcu_set_cfg(phy, CFGINFO_CERT_CFG, val8); /* Cert Enable for OMI */
@@ -97,7 +97,7 @@
+ return len;
+}
+
- static int mt7915_vendor_hemu_ctrl(struct wiphy *wiphy,
+ static int mt7915_vendor_mu_ctrl(struct wiphy *wiphy,
struct wireless_dev *wdev,
const void *data,
@@ -1286,6 +1316,7 @@ static const struct wiphy_vendor_command mt7915_vendor_commands[] = {
@@ -135,8 +135,8 @@
+ NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
+};
+
- enum mtk_vendor_attr_hemu_ctrl {
- MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
+ enum mtk_vendor_attr_mu_ctrl {
+ MTK_VENDOR_ATTR_MU_CTRL_UNSPEC,
--
2.18.0
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0006-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
similarity index 71%
rename from autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0006-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
rename to autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
index 27e71da..07e0d6d 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0006-hostapd-mtk-Add-hostapd-HEMU-SET-GET-control.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0006-hostapd-mtk-Add-hostapd-MU-SET-GET-control.patch
@@ -1,7 +1,7 @@
From 4919444a2dc29c019ec92321109603763c732071 Mon Sep 17 00:00:00 2001
From: TomLiu <tomml.liu@mediatek.com>
Date: Tue, 9 Aug 2022 10:23:44 -0700
-Subject: [PATCH 06/15] hostapd: mtk: Add hostapd HEMU SET/GET control
+Subject: [PATCH 06/15] hostapd: mtk: Add hostapd MU SET/GET control
---
hostapd/config_file.c | 9 +++
@@ -27,15 +27,15 @@
return 1;
}
bss->unsol_bcast_probe_resp_interval = val;
-+ } else if (os_strcmp(buf, "hemu_onoff") == 0) {
++ } else if (os_strcmp(buf, "mu_onoff") == 0) {
+ int val = atoi(pos);
+ if (val < 0 || val > 15) {
+ wpa_printf(MSG_ERROR,
-+ "Line %d: invalid hemu_onoff value",
++ "Line %d: invalid mu_onoff value",
+ line);
+ return 1;
+ }
-+ conf->hemu_onoff = val;
++ conf->mu_onoff = val;
#endif /* CONFIG_IEEE80211AX */
} else if (os_strcmp(buf, "max_listen_interval") == 0) {
bss->max_listen_interval = atoi(pos);
@@ -48,7 +48,7 @@
+static int
-+hostapd_ctrl_iface_set_hemu(struct hostapd_data *hapd, char *cmd,
++hostapd_ctrl_iface_set_mu(struct hostapd_data *hapd, char *cmd,
+ char *buf, size_t buflen)
+{
+ char *pos, *config, *value;
@@ -63,19 +63,19 @@
+ value = pos;
+
+ if (os_strcmp(config, "onoff") == 0) {
-+ int hemu = atoi(value);
-+ if (hemu < 0 || hemu > 15) {
-+ wpa_printf(MSG_ERROR, "Invalid value for hemu");
++ int mu = atoi(value);
++ if (mu < 0 || mu > 15) {
++ wpa_printf(MSG_ERROR, "Invalid value for mu");
+ return -1;
+ }
-+ hapd->iconf->hemu_onoff = (u8) hemu;
++ hapd->iconf->mu_onoff = (u8) mu;
+ } else {
+ wpa_printf(MSG_ERROR,
-+ "Unsupported parameter %s for SET_HEMU", config);
++ "Unsupported parameter %s for SET_MU", config);
+ return -1;
+ }
+
-+ if(hostapd_drv_hemu_ctrl(hapd) == 0) {
++ if(hostapd_drv_mu_ctrl(hapd) == 0) {
+ return os_snprintf(buf, buflen, "OK\n");
+ } else {
+ return -1;
@@ -84,19 +84,19 @@
+
+
+static int
-+hostapd_ctrl_iface_get_hemu(struct hostapd_data *hapd, char *buf,
++hostapd_ctrl_iface_get_mu(struct hostapd_data *hapd, char *buf,
+ size_t buflen)
+{
-+ u8 hemu_onoff;
++ u8 mu_onoff;
+ char *pos, *end;
+
+ pos = buf;
+ end = buf + buflen;
+
-+ if (hostapd_drv_hemu_dump(hapd, &hemu_onoff) == 0) {
-+ hapd->iconf->hemu_onoff = hemu_onoff;
++ if (hostapd_drv_mu_dump(hapd, &mu_onoff) == 0) {
++ hapd->iconf->mu_onoff = mu_onoff;
+ return os_snprintf(pos, end - pos, "[hostapd_cli] = UL MU-MIMO: %d, DL MU-MIMO: %d, UL OFDMA: %d, DL OFDMA: %d\n",
-+ !!(hemu_onoff&BIT(3)), !!(hemu_onoff&BIT(2)), !!(hemu_onoff&BIT(1)), !!(hemu_onoff&BIT(0)));
++ !!(mu_onoff&BIT(3)), !!(mu_onoff&BIT(2)), !!(mu_onoff&BIT(1)), !!(mu_onoff&BIT(0)));
+ } else {
+ wpa_printf(MSG_INFO, "ctrl iface failed to call");
+ return -1;
@@ -111,11 +111,11 @@
} else if (os_strncmp(buf, "GET_EDCCA ", 10) == 0) {
reply_len = hostapd_ctrl_iface_get_edcca(hapd, buf+10, reply,
reply_size);
-+ } else if (os_strncmp(buf, "SET_HEMU ", 9) == 0) {
-+ reply_len = hostapd_ctrl_iface_set_hemu(hapd, buf+9, reply,
++ } else if (os_strncmp(buf, "SET_MU ", 7) == 0) {
++ reply_len = hostapd_ctrl_iface_set_mu(hapd, buf + 7, reply,
+ reply_size);
-+ } else if (os_strncmp(buf, "GET_HEMU", 8) == 0) {
-+ reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
++ } else if (os_strncmp(buf, "GET_MU", 6) == 0) {
++ reply_len = hostapd_ctrl_iface_get_mu(hapd, reply, reply_size);
} else {
os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
reply_len = 16;
@@ -127,17 +127,17 @@
}
-+static int hostapd_cli_cmd_set_hemu(struct wpa_ctrl *ctrl, int argc,
++static int hostapd_cli_cmd_set_mu(struct wpa_ctrl *ctrl, int argc,
+ char *argv[])
+{
-+ return hostapd_cli_cmd(ctrl, "SET_HEMU", 1, argc, argv);
++ return hostapd_cli_cmd(ctrl, "SET_MU", 1, argc, argv);
+}
+
+
-+static int hostapd_cli_cmd_get_hemu(struct wpa_ctrl *ctrl, int argc,
++static int hostapd_cli_cmd_get_mu(struct wpa_ctrl *ctrl, int argc,
+ char *argv[])
+{
-+ return hostapd_cli_cmd(ctrl, "GET_HEMU", 0, NULL, NULL);
++ return hostapd_cli_cmd(ctrl, "GET_MU", 0, NULL, NULL);
+}
+
+
@@ -148,10 +148,10 @@
" = send FTM range request"},
{ "driver_flags", hostapd_cli_cmd_driver_flags, NULL,
" = show supported driver flags"},
-+ { "set_hemu", hostapd_cli_cmd_set_hemu, NULL,
++ { "set_mu", hostapd_cli_cmd_set_mu, NULL,
+ "<value> [0-15] bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0)"},
-+ { "get_hemu", hostapd_cli_cmd_get_hemu, NULL,
-+ " = show hemu onoff value in 0-15 bitmap"},
++ { "get_mu", hostapd_cli_cmd_get_mu, NULL,
++ " = show mu onoff value in 0-15 bitmap"},
#ifdef CONFIG_DPP
{ "dpp_qr_code", hostapd_cli_cmd_dpp_qr_code, NULL,
"report a scanned DPP URI from a QR Code" },
@@ -163,7 +163,7 @@
conf->he_6ghz_max_ampdu_len_exp = 7;
conf->he_6ghz_rx_ant_pat = 1;
conf->he_6ghz_tx_ant_pat = 1;
-+ conf->hemu_onoff = 13;
++ conf->mu_onoff = 13;
#endif /* CONFIG_IEEE80211AX */
/* The third octet of the country string uses an ASCII space character
@@ -175,7 +175,7 @@
u8 he_6ghz_rx_ant_pat;
u8 he_6ghz_tx_ant_pat;
u8 he_6ghz_reg_pwr_type;
-+ u8 hemu_onoff;
++ u8 mu_onoff;
#endif /* CONFIG_IEEE80211AX */
/* VHT enable/disable config from CHAN_SWITCH */
@@ -188,18 +188,18 @@
return hapd->driver->get_edcca(hapd->drv_priv, mode, value);
}
+
-+int hostapd_drv_hemu_ctrl(struct hostapd_data *hapd)
++int hostapd_drv_mu_ctrl(struct hostapd_data *hapd)
+{
-+ if (!hapd->driver || !hapd->driver->hemu_ctrl)
++ if (!hapd->driver || !hapd->driver->mu_ctrl)
+ return 0;
-+ return hapd->driver->hemu_ctrl(hapd->drv_priv, hapd->iconf->hemu_onoff);
++ return hapd->driver->mu_ctrl(hapd->drv_priv, hapd->iconf->mu_onoff);
+}
+
-+int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff)
++int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff)
+{
-+ if (!hapd->driver || !hapd->driver->hemu_dump)
++ if (!hapd->driver || !hapd->driver->mu_dump)
+ return 0;
-+ return hapd->driver->hemu_dump(hapd->drv_priv, hemu_onoff);
++ return hapd->driver->mu_dump(hapd->drv_priv, mu_onoff);
+}
diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
index 70a99f406..bca39c502 100644
@@ -209,8 +209,8 @@
int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd,
const int *threshold);
int hostapd_drv_get_edcca(struct hostapd_data *hapd, const u8 mode, u8 *value);
-+int hostapd_drv_hemu_ctrl(struct hostapd_data *hapd);
-+int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
++int hostapd_drv_mu_ctrl(struct hostapd_data *hapd);
++int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff);
#include "drivers/driver.h"
@@ -222,7 +222,7 @@
if (hostapd_drv_configure_edcca_threshold(hapd,
hapd->iconf->edcca_threshold) < 0)
goto fail;
-+ if (hostapd_drv_hemu_ctrl(hapd) < 0)
++ if (hostapd_drv_mu_ctrl(hapd) < 0)
+ goto fail;
wpa_printf(MSG_DEBUG, "%s: Setup of interface done.",
@@ -235,7 +235,7 @@
MTK_NL80211_VENDOR_SUBCMD_CSI_CTRL = 0xc2,
MTK_NL80211_VENDOR_SUBCMD_RFEATURE_CTRL = 0xc3,
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
-+ MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
++ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL= 0xc6,
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
};
@@ -244,16 +244,16 @@
NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL - 1
};
-+enum mtk_vendor_attr_hemu_ctrl {
-+ MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
++enum mtk_vendor_attr_mu_ctrl {
++ MTK_VENDOR_ATTR_MU_CTRL_UNSPEC,
+
-+ MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
-+ MTK_VENDOR_ATTR_HEMU_CTRL_DUMP,
++ MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
++ MTK_VENDOR_ATTR_MU_CTRL_DUMP,
+
+ /* keep last */
-+ NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
-+ MTK_VENDOR_ATTR_HEMU_CTRL_MAX =
-+ NUM_MTK_VENDOR_ATTRS_HEMU_CTRL - 1
++ NUM_MTK_VENDOR_ATTRS_MU_CTRL,
++ MTK_VENDOR_ATTR_MU_CTRL_MAX =
++ NUM_MTK_VENDOR_ATTRS_MU_CTRL - 1
+};
+
+
@@ -270,9 +270,9 @@
size_t unsol_bcast_probe_resp_tmpl_len;
+
+ /**
-+ * hemu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))
++ * mu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))
+ */
-+ u8 hemu_onoff;
++ u8 mu_onoff;
};
struct wpa_driver_mesh_bss_params {
@@ -282,12 +282,12 @@
int (*get_edcca)(void *priv, const u8 mode, u8 *value);
+
+ /**
-+ * hemu_ctrl - ctrl on off for UL/DL MURU
++ * mu_ctrl - ctrl on off for UL/DL MURU
+ * @priv: Private driver interface data
+ *
+ */
-+ int (*hemu_ctrl)(void *priv, u8 hemu_onoff);
-+ int (*hemu_dump)(void *priv, u8 *hemu_onoff);
++ int (*mu_ctrl)(void *priv, u8 mu_onoff);
++ int (*mu_dump)(void *priv, u8 *mu_onoff);
};
/**
@@ -300,7 +300,7 @@
+#ifdef CONFIG_IEEE80211AX
-+static int nl80211_hemu_muruonoff(void *priv, u8 hemu_onoff)
++static int nl80211_mu_onoff(void *priv, u8 mu_onoff)
+{
+ struct i802_bss *bss = priv;
+ struct wpa_driver_nl80211_data *drv = bss->drv;
@@ -308,41 +308,41 @@
+ struct nlattr *data;
+ int ret;
+
-+ if (!drv->mtk_hemu_vendor_cmd_avail) {
++ if (!drv->mtk_mu_vendor_cmd_avail) {
+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting hemu control");
++ "nl80211: Driver does not support setting mu control");
+ return 0;
+ }
+
+ if (!(msg = nl80211_drv_msg(drv, 0, NL80211_CMD_VENDOR)) ||
+ nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL) ||
++ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_MU_CTRL) ||
+ !(data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA)) ||
-+ nla_put_u8(msg, MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF, hemu_onoff)) {
++ nla_put_u8(msg, MTK_VENDOR_ATTR_MU_CTRL_ONOFF, mu_onoff)) {
+ nlmsg_free(msg);
+ return -ENOBUFS;
+ }
+ nla_nest_end(msg, data);
+ ret = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
+ if(ret){
-+ wpa_printf(MSG_ERROR, "Failed to set hemu_onoff. ret=%d (%s)", ret, strerror(-ret));
++ wpa_printf(MSG_ERROR, "Failed to set mu_onoff. ret=%d (%s)", ret, strerror(-ret));
+ }
+ return ret;
+}
+
+
-+static int hemu_dump_handler(struct nl_msg *msg, void *arg)
++static int mu_dump_handler(struct nl_msg *msg, void *arg)
+{
-+ u8 *hemu_onoff = (u8 *) arg;
++ u8 *mu_onoff = (u8 *) arg;
+ struct nlattr *tb[NL80211_ATTR_MAX + 1];
-+ struct nlattr *tb_vendor[MTK_VENDOR_ATTR_HEMU_CTRL_MAX + 1];
++ struct nlattr *tb_vendor[MTK_VENDOR_ATTR_MU_CTRL_MAX + 1];
+ struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
+ struct nlattr *nl_vend, *attr;
+
+ static const struct nla_policy
-+ hemu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_HEMU_CTRL + 1] = {
-+ [MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF] = {.type = NLA_U8 },
-+ [MTK_VENDOR_ATTR_HEMU_CTRL_DUMP] = {.type = NLA_U8 },
++ mu_ctrl_policy[NUM_MTK_VENDOR_ATTRS_MU_CTRL + 1] = {
++ [MTK_VENDOR_ATTR_MU_CTRL_ONOFF] = {.type = NLA_U8 },
++ [MTK_VENDOR_ATTR_MU_CTRL_DUMP] = {.type = NLA_U8 },
+ };
+
+ nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
@@ -352,22 +352,22 @@
+ if (!nl_vend)
+ return NL_SKIP;
+
-+ nla_parse(tb_vendor, MTK_VENDOR_ATTR_HEMU_CTRL_MAX,
++ nla_parse(tb_vendor, MTK_VENDOR_ATTR_MU_CTRL_MAX,
+ nla_data(nl_vend), nla_len(nl_vend), NULL);
+
-+ attr = tb_vendor[MTK_VENDOR_ATTR_HEMU_CTRL_DUMP];
++ attr = tb_vendor[MTK_VENDOR_ATTR_MU_CTRL_DUMP];
+ if (!attr) {
-+ wpa_printf(MSG_ERROR, "nl80211: cannot find MTK_VENDOR_ATTR_HEMU_CTRL_DUMP");
++ wpa_printf(MSG_ERROR, "nl80211: cannot find MTK_VENDOR_ATTR_MU_CTRL_DUMP");
+ return NL_SKIP;
+ }
+
-+ *hemu_onoff = nla_get_u8(attr);
-+ wpa_printf(MSG_DEBUG, "nla_get hemu_onoff: %d\n", *hemu_onoff);
++ *mu_onoff = nla_get_u8(attr);
++ wpa_printf(MSG_DEBUG, "nla_get mu_onoff: %d\n", *mu_onoff);
+
+ return 0;
+}
+
-+static int nl80211_hemu_dump(void *priv, u8 *hemu_onoff)
++static int nl80211_mu_dump(void *priv, u8 *mu_onoff)
+{
+ struct i802_bss *bss = priv;
+ struct wpa_driver_nl80211_data *drv = bss->drv;
@@ -375,15 +375,15 @@
+ struct nlattr *attr;
+ int ret;
+
-+ if (!drv->mtk_hemu_vendor_cmd_avail) {
++ if (!drv->mtk_mu_vendor_cmd_avail) {
+ wpa_printf(MSG_INFO,
-+ "nl80211: Driver does not support setting hemu control");
++ "nl80211: Driver does not support setting mu control");
+ return 0;
+ }
+
+ if (!(msg = nl80211_drv_msg(drv, NLM_F_DUMP, NL80211_CMD_VENDOR)) ||
+ nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, OUI_MTK) ||
-+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL)) {
++ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_MU_CTRL)) {
+ nlmsg_free(msg);
+ return -ENOBUFS;
+ }
@@ -396,10 +396,10 @@
+
+ nla_nest_end(msg, attr);
+
-+ ret = send_and_recv_msgs(drv, msg, hemu_dump_handler, hemu_onoff, NULL, NULL);
++ ret = send_and_recv_msgs(drv, msg, mu_dump_handler, mu_onoff, NULL, NULL);
+
+ if(ret){
-+ wpa_printf(MSG_ERROR, "Failed to get hemu_onoff. ret=%d (%s)", ret, strerror(-ret));
++ wpa_printf(MSG_ERROR, "Failed to get mu_onoff. ret=%d (%s)", ret, strerror(-ret));
+ }
+
+ return ret;
@@ -414,8 +414,8 @@
.update_connect_params = nl80211_update_connection_params,
.send_external_auth_status = nl80211_send_external_auth_status,
.set_4addr_mode = nl80211_set_4addr_mode,
-+ .hemu_ctrl = nl80211_hemu_muruonoff,
-+ .hemu_dump = nl80211_hemu_dump,
++ .mu_ctrl = nl80211_mu_onoff,
++ .mu_dump = nl80211_mu_dump,
#ifdef CONFIG_DPP
.dpp_listen = nl80211_dpp_listen,
#endif /* CONFIG_DPP */
@@ -427,7 +427,7 @@
unsigned int brcm_do_acs:1;
unsigned int uses_6ghz:1;
unsigned int mtk_edcca_vendor_cmd_avail:1;
-+ unsigned int mtk_hemu_vendor_cmd_avail:1;
++ unsigned int mtk_mu_vendor_cmd_avail:1;
u64 vendor_scan_cookie;
u64 remain_on_chan_cookie;
@@ -439,8 +439,8 @@
case MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL :
drv->mtk_edcca_vendor_cmd_avail = 1;
break;
-+ case MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL :
-+ drv->mtk_hemu_vendor_cmd_avail = 1;
++ case MTK_NL80211_VENDOR_SUBCMD_MU_CTRL :
++ drv->mtk_mu_vendor_cmd_avail = 1;
+ break;
}
}
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
index 4bc3fcd..8ca8c55 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0007-hostapd-mtk-Add-three-wire-PTA-ctrl-hostapd-vendor-c.patch
@@ -74,9 +74,9 @@
index 4598737a3..a1d83e4ee 100644
--- a/src/ap/ap_drv_ops.c
+++ b/src/ap/ap_drv_ops.c
-@@ -1053,3 +1053,14 @@ int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff)
+@@ -1053,3 +1053,14 @@ int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff)
return 0;
- return hapd->driver->hemu_dump(hapd->drv_priv, hemu_onoff);
+ return hapd->driver->mu_dump(hapd->drv_priv, mu_onoff);
}
+
+int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd)
@@ -95,8 +95,8 @@
+++ b/src/ap/ap_drv_ops.h
@@ -144,6 +144,7 @@ int hostapd_drv_configure_edcca_threshold(struct hostapd_data *hapd,
int hostapd_drv_get_edcca(struct hostapd_data *hapd, const u8 mode, u8 *value);
- int hostapd_drv_hemu_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
+ int hostapd_drv_mu_ctrl(struct hostapd_data *hapd);
+ int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff);
+int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
#include "drivers/driver.h"
@@ -107,7 +107,7 @@
+++ b/src/ap/hostapd.c
@@ -2304,6 +2304,8 @@ dfs_offload:
goto fail;
- if (hostapd_drv_hemu_ctrl(hapd) < 0)
+ if (hostapd_drv_mu_ctrl(hapd) < 0)
goto fail;
+ if (hostapd_drv_three_wire_ctrl(hapd) < 0)
+ goto fail;
@@ -119,7 +119,7 @@
--- a/src/common/mtk_vendor.h
+++ b/src/common/mtk_vendor.h
@@ -13,6 +13,7 @@ enum mtk_nl80211_vendor_subcmds {
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL= 0xc6,
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
+ MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8
@@ -154,8 +154,8 @@
+++ b/src/drivers/driver.h
@@ -4693,6 +4693,14 @@ struct wpa_driver_ops {
*/
- int (*hemu_ctrl)(void *priv, u8 hemu_onoff);
- int (*hemu_dump)(void *priv, u8 *hemu_onoff);
+ int (*mu_ctrl)(void *priv, u8 mu_onoff);
+ int (*mu_dump)(void *priv, u8 *mu_onoff);
+
+ /**
+ * three_wire_ctrl - set three_wire_ctrl mode
@@ -223,7 +223,7 @@
@@ -183,6 +183,7 @@ struct wpa_driver_nl80211_data {
unsigned int uses_6ghz:1;
unsigned int mtk_edcca_vendor_cmd_avail:1;
- unsigned int mtk_hemu_vendor_cmd_avail:1;
+ unsigned int mtk_mu_vendor_cmd_avail:1;
+ unsigned int mtk_3wire_vendor_cmd_avail:1;
u64 vendor_scan_cookie;
@@ -233,8 +233,8 @@
--- a/src/drivers/driver_nl80211_capa.c
+++ b/src/drivers/driver_nl80211_capa.c
@@ -1059,6 +1059,9 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
- case MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL :
- drv->mtk_hemu_vendor_cmd_avail = 1;
+ case MTK_NL80211_VENDOR_SUBCMD_MU_CTRL :
+ drv->mtk_mu_vendor_cmd_avail = 1;
break;
+ case MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL :
+ drv->mtk_3wire_vendor_cmd_avail = 1;
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
index 6bfe3d0..fc38b4f 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0008-hostapd-mtk-Add-hostapd-iBF-control.patch
@@ -38,7 +38,7 @@
index 5f71aeea9..c881d3717 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
-@@ -3498,6 +3498,30 @@ hostapd_ctrl_iface_get_hemu(struct hostapd_data *hapd, char *buf,
+@@ -3498,6 +3498,30 @@ hostapd_ctrl_iface_get_mu(struct hostapd_data *hapd, char *buf,
}
@@ -71,8 +71,8 @@
int reply_size,
@@ -4055,6 +4079,8 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
reply_size);
- } else if (os_strncmp(buf, "GET_HEMU", 8) == 0) {
- reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "GET_MU", 6) == 0) {
+ reply_len = hostapd_ctrl_iface_get_mu(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "GET_IBF", 7) == 0) {
+ reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
} else {
@@ -165,8 +165,8 @@
--- a/src/ap/ap_drv_ops.h
+++ b/src/ap/ap_drv_ops.h
@@ -145,6 +145,8 @@ int hostapd_drv_get_edcca(struct hostapd_data *hapd, const u8 mode, u8 *value);
- int hostapd_drv_hemu_ctrl(struct hostapd_data *hapd);
- int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
+ int hostapd_drv_mu_ctrl(struct hostapd_data *hapd);
+ int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff);
int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
+int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
+int hostapd_drv_ibf_dump(struct hostapd_data *hapd, u8 *ibf_enable);
@@ -191,7 +191,7 @@
--- a/src/common/mtk_vendor.h
+++ b/src/common/mtk_vendor.h
@@ -13,7 +13,8 @@ enum mtk_nl80211_vendor_subcmds {
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL= 0xc6,
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
- MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8
@@ -200,8 +200,8 @@
};
enum mtk_vendor_attr_edcca_ctrl {
-@@ -204,6 +205,38 @@ enum mtk_vendor_attr_hemu_ctrl {
- NUM_MTK_VENDOR_ATTRS_HEMU_CTRL - 1
+@@ -204,6 +205,38 @@ enum mtk_vendor_attr_mu_ctrl {
+ NUM_MTK_VENDOR_ATTRS_MU_CTRL - 1
};
+enum mtk_vendor_attr_ibf_ctrl {
@@ -244,9 +244,9 @@
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -1628,6 +1628,11 @@ struct wpa_driver_ap_params {
- * hemu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))
+ * mu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))
*/
- u8 hemu_onoff;
+ u8 mu_onoff;
+
+ /**
+ * ibf_enable=<val>
@@ -406,7 +406,7 @@
+++ b/src/drivers/driver_nl80211.h
@@ -184,6 +184,7 @@ struct wpa_driver_nl80211_data {
unsigned int mtk_edcca_vendor_cmd_avail:1;
- unsigned int mtk_hemu_vendor_cmd_avail:1;
+ unsigned int mtk_mu_vendor_cmd_avail:1;
unsigned int mtk_3wire_vendor_cmd_avail:1;
+ unsigned int mtk_ibf_vendor_cmd_avail:1;
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0010-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0010-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
index 8a387a7..3237aa3 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0010-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0010-hostapd-mtk-Add-DFS-and-ZWDFS-support.patch
@@ -133,7 +133,7 @@
char *buf, char *reply,
int reply_size,
@@ -4081,6 +4171,11 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
- reply_len = hostapd_ctrl_iface_get_hemu(hapd, reply, reply_size);
+ reply_len = hostapd_ctrl_iface_get_mu(hapd, reply, reply_size);
} else if (os_strncmp(buf, "GET_IBF", 7) == 0) {
reply_len = hostapd_ctrl_iface_get_ibf(hapd, reply, reply_size);
+ } else if (os_strncmp(buf, "DFS_DETECT_MODE ", 16) == 0) {
diff --git a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0011-hostapd-mtk-Add-amsdu-set-get-ctrl.patch b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0011-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
index ed796c1..dba90d1 100644
--- a/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0011-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
+++ b/autobuild_mac80211_release/package/network/services/hostapd/patches/mtk-0011-hostapd-mtk-Add-amsdu-set-get-ctrl.patch
@@ -162,7 +162,7 @@
index ab9aedcee..4406666fd 100644
--- a/src/ap/ap_drv_ops.h
+++ b/src/ap/ap_drv_ops.h
-@@ -147,6 +147,8 @@ int hostapd_drv_hemu_dump(struct hostapd_data *hapd, u8 *hemu_onoff);
+@@ -147,6 +147,8 @@ int hostapd_drv_mu_dump(struct hostapd_data *hapd, u8 *mu_onoff);
int hostapd_drv_three_wire_ctrl(struct hostapd_data *hapd);
int hostapd_drv_ibf_ctrl(struct hostapd_data *hapd);
int hostapd_drv_ibf_dump(struct hostapd_data *hapd, u8 *ibf_enable);
@@ -374,7 +374,7 @@
--- a/src/drivers/driver_nl80211.h
+++ b/src/drivers/driver_nl80211.h
@@ -185,6 +185,7 @@ struct wpa_driver_nl80211_data {
- unsigned int mtk_hemu_vendor_cmd_avail:1;
+ unsigned int mtk_mu_vendor_cmd_avail:1;
unsigned int mtk_3wire_vendor_cmd_avail:1;
unsigned int mtk_ibf_vendor_cmd_avail:1;
+ unsigned int mtk_wireless_vendor_cmd_avail:1;
diff --git a/feed/atenl/files/iwpriv.sh b/feed/atenl/files/iwpriv.sh
index 333852d..8b0d76f 100755
--- a/feed/atenl/files/iwpriv.sh
+++ b/feed/atenl/files/iwpriv.sh
@@ -1073,7 +1073,7 @@
echo " mwctl <interface> set ap_wireless ampdu=<enable>"
echo " mwctl <interface> set ap_wireless amsdu=<enable>"
echo " mwctl <interface> set ap_wireless cert=<enable>"
- echo " mwctl <interface> set hemu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))"
+ echo " mwctl <interface> set mu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))"
echo " mwctl <interface> dump phy_capa"
}
@@ -1121,7 +1121,7 @@
## In wifi 7 chipset, testmode & vendor command both use mwctl
## Therefore this wrapper would translate it to either mt76-test or mt76-vendor based on the attribute of the command
## Translate to mt76-vendor command
- "csi"|"amnt"|"ap_rfeatures"|"ap_wireless"|"hemu")
+ "csi"|"amnt"|"ap_rfeatures"|"ap_wireless"|"mu")
if [ ${is_eagle} == "1" ]; then
do_cmd "hostapd_cli -i $*"
skip=1
diff --git a/feed/mt76-vendor/src/CMakeLists.txt b/feed/mt76-vendor/src/CMakeLists.txt
index dd6ef76..bca3897 100644
--- a/feed/mt76-vendor/src/CMakeLists.txt
+++ b/feed/mt76-vendor/src/CMakeLists.txt
@@ -3,7 +3,7 @@
PROJECT(mt76-vendor C)
ADD_DEFINITIONS(-Os -Wall --std=gnu99 -g3)
-ADD_EXECUTABLE(mt76-vendor main.c csi.c amnt.c capi.c hemu.c phy_capa.c)
+ADD_EXECUTABLE(mt76-vendor main.c csi.c amnt.c capi.c mu.c phy_capa.c)
TARGET_LINK_LIBRARIES(mt76-vendor nl-tiny)
SET(CMAKE_INSTALL_PREFIX /usr)
diff --git a/feed/mt76-vendor/src/main.c b/feed/mt76-vendor/src/main.c
index f308d9c..e0bf9d9 100644
--- a/feed/mt76-vendor/src/main.c
+++ b/feed/mt76-vendor/src/main.c
@@ -32,7 +32,7 @@
"set ap_wireless amsdu=<enable>",
"set ap_wireless cert=<enable>",
- "set hemu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))",
+ "set mu onoff=<val> (bitmap- UL MU-MIMO(bit3), DL MU-MIMO(bit2), UL OFDMA(bit1), DL OFDMA(bit0))",
"dump phy_capa",
};
@@ -81,8 +81,8 @@
ret = mt76_ap_rfeatures_set(if_idx, argc, argv);
else if (!strncmp(subcmd, "ap_wireless", 11))
ret = mt76_ap_wireless_set(if_idx, argc, argv);
- else if (!strncmp(subcmd, "hemu", 4))
- ret = mt76_hemu_onoff_set(if_idx, argc, argv);
+ else if (!strncmp(subcmd, "mu", 2))
+ ret = mt76_mu_onoff_set(if_idx, argc, argv);
} else {
usage();
}
diff --git a/feed/mt76-vendor/src/mt76-vendor.h b/feed/mt76-vendor/src/mt76-vendor.h
index 7e11b91..61b0426 100644
--- a/feed/mt76-vendor/src/mt76-vendor.h
+++ b/feed/mt76-vendor/src/mt76-vendor.h
@@ -38,7 +38,7 @@
MTK_NL80211_VENDOR_SUBCMD_CSI_CTRL = 0xc2,
MTK_NL80211_VENDOR_SUBCMD_RFEATURE_CTRL = 0xc3,
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
- MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL = 0xc5,
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
};
@@ -148,15 +148,15 @@
NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
};
-enum mtk_vendor_attr_hemu_ctrl {
- MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
+enum mtk_vendor_attr_mu_ctrl {
+ MTK_VENDOR_ATTR_MU_CTRL_UNSPEC,
- MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
+ MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
/* keep last */
- NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
- MTK_VENDOR_ATTR_HEMU_CTRL_MAX =
- NUM_MTK_VENDOR_ATTRS_HEMU_CTRL - 1
+ NUM_MTK_VENDOR_ATTRS_MU_CTRL,
+ MTK_VENDOR_ATTR_MU_CTRL_MAX =
+ NUM_MTK_VENDOR_ATTRS_MU_CTRL - 1
};
enum mtk_vendor_attr_rfeature_ctrl {
@@ -236,7 +236,7 @@
int mt76_ap_rfeatures_set(int idx, int argc, char **argv);
int mt76_ap_wireless_set(int idx, int argc, char **argv);
-int mt76_hemu_onoff_set(int idx, int argc, char **argv);
+int mt76_mu_onoff_set(int idx, int argc, char **argv);
int mt76_phy_capa_dump(int idx, int argc, char **argv);
#endif
diff --git a/feed/mt76-vendor/src/hemu.c b/feed/mt76-vendor/src/mu.c
similarity index 72%
rename from feed/mt76-vendor/src/hemu.c
rename to feed/mt76-vendor/src/mu.c
index ec1cea0..fb4157e 100755
--- a/feed/mt76-vendor/src/hemu.c
+++ b/feed/mt76-vendor/src/mu.c
@@ -3,7 +3,7 @@
#include "mt76-vendor.h"
-static int mt76_hemu_onoff_set_attr(struct nl_msg *msg, int argc, char **argv)
+static int mt76_mu_onoff_set_attr(struct nl_msg *msg, int argc, char **argv)
{
char *val;
@@ -14,12 +14,13 @@
*(val++) = 0;
if (!strncmp(argv[0], "onoff", 5))
- nla_put_u8(msg, MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF, strtoul(val, NULL, 0));
+ nla_put_u8(msg, MTK_VENDOR_ATTR_MU_CTRL_ONOFF,
+ strtoul(val, NULL, 0));
return 0;
}
-int mt76_hemu_onoff_set(int idx, int argc, char **argv)
+int mt76_mu_onoff_set(int idx, int argc, char **argv)
{
struct nl_msg *msg;
void *data;
@@ -37,14 +38,15 @@
if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, idx) ||
nla_put_u32(msg, NL80211_ATTR_VENDOR_ID, MTK_NL80211_VENDOR_ID) ||
- nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD, MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL))
+ nla_put_u32(msg, NL80211_ATTR_VENDOR_SUBCMD,
+ MTK_NL80211_VENDOR_SUBCMD_MU_CTRL))
return false;
data = nla_nest_start(msg, NL80211_ATTR_VENDOR_DATA | NLA_F_NESTED);
if (!data)
return -ENOMEM;
- mt76_hemu_onoff_set_attr(msg, argc, argv);
+ mt76_mu_onoff_set_attr(msg, argc, argv);
nla_nest_end(msg, data);
@@ -55,4 +57,4 @@
unl_free(&unl);
return ret;
-}
\ No newline at end of file
+}