HE: Make the basic NSS/MCS configurable
Add a config option to allow setting a custom Basic NSS/MCS set. As a default we use single stream HE-MCS 0-7. Signed-off-by: Shashidhar Lakkavalli <slakkavalli@datto.com> Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
parent
63e1940432
commit
4f3f33804a
6 changed files with 16 additions and 1 deletions
|
@ -3508,6 +3508,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
|||
conf->he_op.he_twt_required = atoi(pos);
|
||||
} else if (os_strcmp(buf, "he_rts_threshold") == 0) {
|
||||
conf->he_op.he_rts_threshold = atoi(pos);
|
||||
} else if (os_strcmp(buf, "he_basic_mcs_nss_set") == 0) {
|
||||
conf->he_op.he_basic_mcs_nss_set = atoi(pos);
|
||||
} else if (os_strcmp(buf, "he_mu_edca_qos_info_param_count") == 0) {
|
||||
conf->he_mu_edca.he_qos_info |=
|
||||
set_he_cap(atoi(pos), HE_QOS_INFO_EDCA_PARAM_SET_COUNT);
|
||||
|
|
|
@ -804,6 +804,12 @@ wmm_ac_vo_acm=0
|
|||
#he_oper_centr_freq_seg0_idx
|
||||
#he_oper_centr_freq_seg1_idx
|
||||
|
||||
#he_basic_mcs_nss_set: Basic NSS/MCS set
|
||||
# 16-bit combination of 2-bit values of Max HE-MCS For 1..8 SS; each 2-bit
|
||||
# value having following meaning:
|
||||
# 0 = HE-MCS 0-7, 1 = HE-MCS 0-9, 2 = HE-MCS 0-11, 3 = not supported
|
||||
#he_basic_mcs_nss_set
|
||||
|
||||
#he_mu_edca_qos_info_param_count
|
||||
#he_mu_edca_qos_info_q_ack
|
||||
#he_mu_edca_qos_info_queue_request=1
|
||||
|
|
|
@ -240,6 +240,8 @@ struct hostapd_config * hostapd_config_defaults(void)
|
|||
#ifdef CONFIG_IEEE80211AX
|
||||
conf->he_op.he_rts_threshold = HE_OPERATION_RTS_THRESHOLD_MASK >>
|
||||
HE_OPERATION_RTS_THRESHOLD_OFFSET;
|
||||
/* Set default basic MCS/NSS set to single stream MCS 0-7 */
|
||||
conf->he_op.he_basic_mcs_nss_set = 0xfffc;
|
||||
#endif /* CONFIG_IEEE80211AX */
|
||||
|
||||
/* The third octet of the country string uses an ASCII space character
|
||||
|
|
|
@ -750,6 +750,7 @@ struct he_operation {
|
|||
u8 he_default_pe_duration;
|
||||
u8 he_twt_required;
|
||||
u16 he_rts_threshold;
|
||||
u16 he_basic_mcs_nss_set;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -157,6 +157,10 @@ u8 * hostapd_eid_he_operation(struct hostapd_data *hapd, u8 *eid)
|
|||
params |= (hapd->iface->conf->he_op.he_bss_color <<
|
||||
HE_OPERATION_BSS_COLOR_OFFSET);
|
||||
|
||||
/* HE minimum required basic MCS and NSS for STAs */
|
||||
oper->he_mcs_nss_set =
|
||||
host_to_le16(hapd->iface->conf->he_op.he_basic_mcs_nss_set);
|
||||
|
||||
/* TODO: conditional MaxBSSID Indicator subfield */
|
||||
|
||||
oper->he_oper_params = host_to_le32(params);
|
||||
|
|
|
@ -2115,7 +2115,7 @@ struct ieee80211_he_capabilities {
|
|||
struct ieee80211_he_operation {
|
||||
le32 he_oper_params; /* HE Operation Parameters[3] and
|
||||
* BSS Color Information[1] */
|
||||
u8 he_mcs_nss_set[2];
|
||||
le16 he_mcs_nss_set;
|
||||
u8 vht_op_info_chwidth;
|
||||
u8 vht_op_info_chan_center_freq_seg0_idx;
|
||||
u8 vht_op_info_chan_center_freq_seg1_idx;
|
||||
|
|
Loading…
Reference in a new issue