mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-20 02:43:38 +00:00
73 lines
1.9 KiB
Diff
73 lines
1.9 KiB
Diff
--- a/src/drivers/driver_nl80211.c
|
|
+++ b/src/drivers/driver_nl80211.c
|
|
@@ -4960,6 +4960,14 @@ static int wpa_driver_nl80211_sta_add(vo
|
|
goto fail;
|
|
}
|
|
|
|
+ if (params->he_6ghz_capab) {
|
|
+ wpa_hexdump(MSG_DEBUG, " * he_6ghz_capab",
|
|
+ (u8 *) params->he_6ghz_capab, sizeof(*params->he_6ghz_capab));
|
|
+ if (nla_put(msg, NL80211_ATTR_HE_6GHZ_CAPABILITY,
|
|
+ sizeof(*params->he_6ghz_capab), params->he_6ghz_capab))
|
|
+ goto fail;
|
|
+ }
|
|
+
|
|
if (params->ext_capab) {
|
|
wpa_hexdump(MSG_DEBUG, " * ext_capab",
|
|
params->ext_capab, params->ext_capab_len);
|
|
--- a/src/common/ieee802_11_common.c
|
|
+++ b/src/common/ieee802_11_common.c
|
|
@@ -884,6 +884,7 @@ enum hostapd_hw_mode ieee80211_freq_to_c
|
|
u8 *op_class, u8 *channel)
|
|
{
|
|
u8 vht_opclass;
|
|
+ u8 he_6ghz_opclass;
|
|
|
|
/* TODO: more operating classes */
|
|
|
|
@@ -931,15 +932,19 @@ enum hostapd_hw_mode ieee80211_freq_to_c
|
|
switch (chanwidth) {
|
|
case CHANWIDTH_80MHZ:
|
|
vht_opclass = 128;
|
|
+ he_6ghz_opclass = 133;
|
|
break;
|
|
case CHANWIDTH_160MHZ:
|
|
vht_opclass = 129;
|
|
+ he_6ghz_opclass = 134;
|
|
break;
|
|
case CHANWIDTH_80P80MHZ:
|
|
vht_opclass = 130;
|
|
+ he_6ghz_opclass = 135;
|
|
break;
|
|
default:
|
|
vht_opclass = 0;
|
|
+ he_6ghz_opclass = 0;
|
|
break;
|
|
}
|
|
|
|
@@ -1030,15 +1035,17 @@ enum hostapd_hw_mode ieee80211_freq_to_c
|
|
}
|
|
|
|
if (freq > 5950 && freq <= 7115) {
|
|
- int bw;
|
|
- u8 idx = (freq - 5950) / 5;
|
|
-
|
|
- bw = center_idx_to_bw_6ghz(idx);
|
|
- if (bw < 0)
|
|
+ if ((freq - 5950) % 5)
|
|
return NUM_HOSTAPD_MODES;
|
|
|
|
- *channel = idx;
|
|
- *op_class = 131 + bw;
|
|
+ if (he_6ghz_opclass)
|
|
+ *op_class = he_6ghz_opclass;
|
|
+ else if (sec_channel == 1 || sec_channel == -1)
|
|
+ *op_class = 132;
|
|
+ else
|
|
+ *op_class = 131;
|
|
+
|
|
+ *channel = (freq - 5950) / 5;
|
|
return HOSTAPD_MODE_IEEE80211A;
|
|
}
|
|
|