HE: Enable ACS similarly to VHT
Signed-off-by: Shashidhar Lakkavalli <slakkavalli@datto.com> Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
parent
8b18d2b24e
commit
1d2c45ecfc
3 changed files with 7 additions and 5 deletions
|
@ -594,7 +594,7 @@ acs_find_ideal_chan(struct hostapd_iface *iface)
|
||||||
iface->conf->secondary_channel)
|
iface->conf->secondary_channel)
|
||||||
n_chans = 2;
|
n_chans = 2;
|
||||||
|
|
||||||
if (iface->conf->ieee80211ac) {
|
if (iface->conf->ieee80211ac || iface->conf->ieee80211ax) {
|
||||||
switch (hostapd_get_oper_chwidth(iface->conf)) {
|
switch (hostapd_get_oper_chwidth(iface->conf)) {
|
||||||
case CHANWIDTH_80MHZ:
|
case CHANWIDTH_80MHZ:
|
||||||
n_chans = 4;
|
n_chans = 4;
|
||||||
|
@ -607,7 +607,7 @@ acs_find_ideal_chan(struct hostapd_iface *iface)
|
||||||
|
|
||||||
bw = num_chan_to_bw(n_chans);
|
bw = num_chan_to_bw(n_chans);
|
||||||
|
|
||||||
/* TODO: VHT80+80. Update acs_adjust_center_freq() too. */
|
/* TODO: VHT/HE80+80. Update acs_adjust_center_freq() too. */
|
||||||
|
|
||||||
wpa_printf(MSG_DEBUG,
|
wpa_printf(MSG_DEBUG,
|
||||||
"ACS: Survey analysis for selected bandwidth %d MHz", bw);
|
"ACS: Survey analysis for selected bandwidth %d MHz", bw);
|
||||||
|
@ -647,7 +647,7 @@ acs_find_ideal_chan(struct hostapd_iface *iface)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iface->current_mode->mode == HOSTAPD_MODE_IEEE80211A &&
|
if (iface->current_mode->mode == HOSTAPD_MODE_IEEE80211A &&
|
||||||
iface->conf->ieee80211ac) {
|
(iface->conf->ieee80211ac || iface->conf->ieee80211ax)) {
|
||||||
if (hostapd_get_oper_chwidth(iface->conf) ==
|
if (hostapd_get_oper_chwidth(iface->conf) ==
|
||||||
CHANWIDTH_80MHZ &&
|
CHANWIDTH_80MHZ &&
|
||||||
!acs_usable_vht80_chan(chan)) {
|
!acs_usable_vht80_chan(chan)) {
|
||||||
|
|
|
@ -939,7 +939,9 @@ int hostapd_drv_do_acs(struct hostapd_data *hapd)
|
||||||
|
|
||||||
/* Note: VHT20 is defined by combination of ht_capab & oper_chwidth
|
/* Note: VHT20 is defined by combination of ht_capab & oper_chwidth
|
||||||
*/
|
*/
|
||||||
if (hapd->iface->conf->ieee80211ac && params.ht40_enabled) {
|
if ((hapd->iface->conf->ieee80211ax ||
|
||||||
|
hapd->iface->conf->ieee80211ac) &&
|
||||||
|
params.ht40_enabled) {
|
||||||
u8 oper_chwidth = hostapd_get_oper_chwidth(hapd->iface->conf);
|
u8 oper_chwidth = hostapd_get_oper_chwidth(hapd->iface->conf);
|
||||||
|
|
||||||
if (oper_chwidth == CHANWIDTH_80MHZ)
|
if (oper_chwidth == CHANWIDTH_80MHZ)
|
||||||
|
|
|
@ -960,7 +960,7 @@ void hostapd_acs_channel_selected(struct hostapd_data *hapd,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hapd->iface->conf->ieee80211ac) {
|
if (hapd->iface->conf->ieee80211ac || hapd->iface->conf->ieee80211ax) {
|
||||||
/* set defaults for backwards compatibility */
|
/* set defaults for backwards compatibility */
|
||||||
hostapd_set_oper_centr_freq_seg1_idx(hapd->iconf, 0);
|
hostapd_set_oper_centr_freq_seg1_idx(hapd->iconf, 0);
|
||||||
hostapd_set_oper_centr_freq_seg0_idx(hapd->iconf, 0);
|
hostapd_set_oper_centr_freq_seg0_idx(hapd->iconf, 0);
|
||||||
|
|
Loading…
Reference in a new issue