aidl: Configure operating class for 6Ghz SAP
Set op_class when starting SAP in 6GHz band if ACS is enabled.
Hostapd uses op_class to decide the bandwidth on which SAP
should operate when starting SAP on 6Ghz band.
Bug: 324190248
Test: Manual - Turn on SoftAp and connect STA to SoftAp
Signed-off-by: Kiran Kumar Lokere <quic_klokere@quicinc.com>
Signed-off-by: Xin Deng <quic_deng@quicinc.com>
Change-Id: Ie7e0c90caef3b07fb340a15f638743907e1b856d
diff --git a/hostapd/aidl/hostapd.cpp b/hostapd/aidl/hostapd.cpp
index ed77a82..1b5317a 100644
--- a/hostapd/aidl/hostapd.cpp
+++ b/hostapd/aidl/hostapd.cpp
@@ -555,7 +555,8 @@
#ifdef CONFIG_IEEE80211AX
"he_oper_chwidth=0\n"
#endif
- "vht_oper_chwidth=0");
+ "vht_oper_chwidth=0\n"
+ "%s", (band & band6Ghz) ? "op_class=131" : "");
break;
case ChannelBandwidth::BANDWIDTH_40:
ht_cap_vht_oper_he_oper_chwidth_as_string = StringPrintf(
@@ -563,7 +564,8 @@
#ifdef CONFIG_IEEE80211AX
"he_oper_chwidth=0\n"
#endif
- "vht_oper_chwidth=0");
+ "vht_oper_chwidth=0\n"
+ "%s", (band & band6Ghz) ? "op_class=132" : "");
break;
case ChannelBandwidth::BANDWIDTH_80:
ht_cap_vht_oper_he_oper_chwidth_as_string = StringPrintf(
@@ -571,11 +573,13 @@
#ifdef CONFIG_IEEE80211AX
"he_oper_chwidth=%d\n"
#endif
- "vht_oper_chwidth=%d",
+ "vht_oper_chwidth=%d\n"
+ "%s",
#ifdef CONFIG_IEEE80211AX
(iface_params.hwModeParams.enable80211AX && !is_60Ghz_used) ? 1 : 0,
#endif
- iface_params.hwModeParams.enable80211AC ? 1 : 0);
+ iface_params.hwModeParams.enable80211AC ? 1 : 0,
+ (band & band6Ghz) ? "op_class=133" : "");
break;
case ChannelBandwidth::BANDWIDTH_160:
ht_cap_vht_oper_he_oper_chwidth_as_string = StringPrintf(
@@ -583,11 +587,13 @@
#ifdef CONFIG_IEEE80211AX
"he_oper_chwidth=%d\n"
#endif
- "vht_oper_chwidth=%d",
+ "vht_oper_chwidth=%d\n"
+ "%s",
#ifdef CONFIG_IEEE80211AX
(iface_params.hwModeParams.enable80211AX && !is_60Ghz_used) ? 2 : 0,
#endif
- iface_params.hwModeParams.enable80211AC ? 2 : 0);
+ iface_params.hwModeParams.enable80211AC ? 2 : 0,
+ (band & band6Ghz) ? "op_class=134" : "");
break;
default:
if (!is_2Ghz_band_only && !is_60Ghz_used) {
@@ -596,6 +602,10 @@
"ht_capab=[HT40+]\n"
"vht_oper_chwidth=1\n";
}
+ if (band & band6Ghz) {
+ ht_cap_vht_oper_he_oper_chwidth_as_string += "op_class=134\n";
+
+ }
#ifdef CONFIG_IEEE80211AX
if (iface_params.hwModeParams.enable80211AX) {
ht_cap_vht_oper_he_oper_chwidth_as_string += "he_oper_chwidth=1";