Force OFDM/HT/VHT to be disabled on channel 14
The regulatory rules in Japan do not allow OFDM to be used on channel 14. While this was to some extend assumed to be enforced by drivers (many of which apparently don't), it is safer to make hostapd enforce this by disabling any OFDM-related functionality. This tries to avoid backwards compatibility issues by downgrading the mode rather than rejecting the invalid configuration. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
bfb79dde63
commit
c1151e47d5
1 changed files with 9 additions and 0 deletions
|
@ -943,6 +943,15 @@ int hostapd_select_hw_mode(struct hostapd_iface *iface)
|
||||||
if (iface->num_hw_features < 1)
|
if (iface->num_hw_features < 1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
if ((iface->conf->hw_mode == HOSTAPD_MODE_IEEE80211G ||
|
||||||
|
iface->conf->ieee80211n || iface->conf->ieee80211ac) &&
|
||||||
|
iface->conf->channel == 14) {
|
||||||
|
wpa_printf(MSG_INFO, "Disable OFDM/HT/VHT on channel 14");
|
||||||
|
iface->conf->hw_mode = HOSTAPD_MODE_IEEE80211B;
|
||||||
|
iface->conf->ieee80211n = 0;
|
||||||
|
iface->conf->ieee80211ac = 0;
|
||||||
|
}
|
||||||
|
|
||||||
iface->current_mode = NULL;
|
iface->current_mode = NULL;
|
||||||
for (i = 0; i < iface->num_hw_features; i++) {
|
for (i = 0; i < iface->num_hw_features; i++) {
|
||||||
struct hostapd_hw_modes *mode = &iface->hw_features[i];
|
struct hostapd_hw_modes *mode = &iface->hw_features[i];
|
||||||
|
|
Loading…
Reference in a new issue