1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -156,6 +156,24 @@ int hostapd_reload_config(struct hostapd
oldconf = hapd->iconf;
iface->conf = newconf;
+ hostapd_select_hw_mode(iface);
+ iface->freq = hostapd_hw_get_freq(hapd, newconf->channel);
+
+ if (hostapd_set_freq(hapd, newconf->hw_mode, iface->freq,
+ newconf->channel,
+ newconf->ieee80211n,
+ newconf->ieee80211ac,
+ newconf->secondary_channel,
+ newconf->vht_oper_chwidth,
+ newconf->vht_oper_centr_freq_seg0_idx,
+ newconf->vht_oper_centr_freq_seg1_idx)) {
+ wpa_printf(MSG_ERROR, "Could not set channel for "
+ "kernel driver");
+ }
+
+ if (iface->current_mode)
+ hostapd_prepare_rates(iface, iface->current_mode);
+
for (j = 0; j < iface->num_bss; j++) {
hapd = iface->bss[j];
hapd->iconf = newconf;
|