mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-15 15:12:17 +00:00
hostapd: initialize ht/vht/he mode on channel switch by default
Use the current mode, but allow overwriting via ubus command parameters Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: maurerr <mariusd84@gmail.com>
This commit is contained in:
parent
550b8138db
commit
18dfe4049d
@ -768,7 +768,15 @@ hostapd_switch_chan(struct ubus_context *ctx, struct ubus_object *obj,
|
|||||||
{
|
{
|
||||||
struct blob_attr *tb[__CSA_MAX];
|
struct blob_attr *tb[__CSA_MAX];
|
||||||
struct hostapd_data *hapd = get_hapd_from_object(obj);
|
struct hostapd_data *hapd = get_hapd_from_object(obj);
|
||||||
struct csa_settings css;
|
struct hostapd_config *iconf = hapd->iface->conf;
|
||||||
|
struct csa_settings css = {
|
||||||
|
.freq_params = {
|
||||||
|
.ht_enabled = iconf->ieee80211n,
|
||||||
|
.vht_enabled = iconf->ieee80211ac,
|
||||||
|
.he_enabled = iconf->ieee80211ax,
|
||||||
|
.sec_channel_offset = iconf->secondary_channel,
|
||||||
|
}
|
||||||
|
};
|
||||||
int ret = UBUS_STATUS_OK;
|
int ret = UBUS_STATUS_OK;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -777,7 +785,21 @@ hostapd_switch_chan(struct ubus_context *ctx, struct ubus_object *obj,
|
|||||||
if (!tb[CSA_FREQ])
|
if (!tb[CSA_FREQ])
|
||||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||||
|
|
||||||
memset(&css, 0, sizeof(css));
|
switch (iconf->vht_oper_chwidth) {
|
||||||
|
case CHANWIDTH_USE_HT:
|
||||||
|
if (iconf->secondary_channel)
|
||||||
|
css.freq_params.bandwidth = 40;
|
||||||
|
else
|
||||||
|
css.freq_params.bandwidth = 20;
|
||||||
|
break;
|
||||||
|
case CHANWIDTH_160MHZ:
|
||||||
|
css.freq_params.bandwidth = 160;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
css.freq_params.bandwidth = 80;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
css.freq_params.freq = blobmsg_get_u32(tb[CSA_FREQ]);
|
css.freq_params.freq = blobmsg_get_u32(tb[CSA_FREQ]);
|
||||||
|
|
||||||
#define SET_CSA_SETTING(name, field, type) \
|
#define SET_CSA_SETTING(name, field, type) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user