mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-21 11:22:50 +00:00
Some checks failed
Build OpenWrt/uCentral images / build (cig_wf186h) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf186w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf188n) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf189) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf196) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-a1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-b1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap102) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap104) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap105) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap111) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap112) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_3) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xe) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (indio_um-305ax) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sercomm_ap72tip) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630c-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-211g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-id2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-od2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr5018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018-v4) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax820) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax840) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap640) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap650) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap655) (push) Has been cancelled
Build OpenWrt/uCentral images / trigger-testing (push) Has been cancelled
Build OpenWrt/uCentral images / create-x64_vm-ami (push) Has been cancelled
Signed-off-by: John Crispin <john@phrozen.org>
76 lines
2.3 KiB
Diff
76 lines
2.3 KiB
Diff
From 9e97cc80a2d3a866d26027d9b62cc37ab4e218d2 Mon Sep 17 00:00:00 2001
|
|
From: Harshitha Prem <quic_hprem@quicinc.com>
|
|
Date: Tue, 10 Oct 2023 16:23:58 +0530
|
|
Subject: [PATCH] hostapd: [single wiphy] avoid channel switch across radio
|
|
|
|
In single wiphy scenario, the phy supports more than one band
|
|
and when we try to change channel without specifying the wifi
|
|
interface in hostapd_cli, it would lead to an exception.
|
|
|
|
To handle this, if the given freq is not in the list of
|
|
channels for that interface's current operating mode,
|
|
then the cli would fail.
|
|
|
|
Hence, in case of single wiphy, the below hostapd_cli should be
|
|
used to change the channel
|
|
hostapd_cli -i wlanX chan_switch <cs count> <freq> <caps> \
|
|
center_freq1=<value> bandwidth=<bw>
|
|
|
|
Signed-off-by: Harshitha Prem <quic_hprem@quicinc.com>
|
|
---
|
|
hostapd/ctrl_iface.c | 31 +++++++++++++++++++++++++++++++
|
|
1 file changed, 31 insertions(+)
|
|
|
|
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
|
|
index 9e32d126535a..2ce62ba5486e 100644
|
|
--- a/hostapd/ctrl_iface.c
|
|
+++ b/hostapd/ctrl_iface.c
|
|
@@ -2506,6 +2506,29 @@ static int hostapd_ctrl_register_frame(struct hostapd_data *hapd,
|
|
|
|
|
|
#ifdef NEED_AP_MLME
|
|
+static bool hostapd_ctrl_is_freq_in_cmode(struct hostapd_hw_modes *mode,
|
|
+ struct hostapd_multi_hw_info *current_hw_info,
|
|
+ int freq)
|
|
+{
|
|
+ struct hostapd_channel_data *chan;
|
|
+ int i;
|
|
+
|
|
+ for (i = 0; i < mode->num_channels; i++) {
|
|
+ chan = &mode->channels[i];
|
|
+
|
|
+ if (chan->flag & HOSTAPD_CHAN_DISABLED)
|
|
+ continue;
|
|
+
|
|
+ if (!chan_in_current_hw_info(current_hw_info, chan))
|
|
+ continue;
|
|
+
|
|
+ if (chan->freq == freq)
|
|
+ return true;
|
|
+ }
|
|
+
|
|
+ return false;
|
|
+}
|
|
+
|
|
static int hostapd_ctrl_check_freq_params(struct hostapd_freq_params *params,
|
|
u16 punct_bitmap)
|
|
{
|
|
@@ -2822,6 +2845,14 @@ static int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,
|
|
if (ret)
|
|
return ret;
|
|
|
|
+ if (iface->num_hw_features > 1 &&
|
|
+ !hostapd_ctrl_is_freq_in_cmode(iface->current_mode, iface->current_hw_info,
|
|
+ settings.freq_params.freq)) {
|
|
+ wpa_printf(MSG_INFO, "chanswitch: invalid frequency settings provided"
|
|
+ " for multi band phy");
|
|
+ return -1;
|
|
+ }
|
|
+
|
|
ret = hostapd_ctrl_check_freq_params(&settings.freq_params,
|
|
settings.punct_bitmap);
|
|
if (ret) {
|
|
--
|
|
2.17.1
|
|
|