hostapd: Allow enabling background radar
This feature does not work on all radios that advertise this feature with the current driver implementation, and possibly some users don't want to use it even if it works fine, so disable it by default for now, but let users enable it as desired with enable_background_radar=1. Signed-off-by: Ben Greear <greearb@candelatech.com>
This commit is contained in:
parent
08d7738bb2
commit
f1686d7761
4 changed files with 15 additions and 1 deletions
|
@ -3148,6 +3148,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||||
conf->acs_freq_list_present = 1;
|
conf->acs_freq_list_present = 1;
|
||||||
} else if (os_strcmp(buf, "acs_exclude_6ghz_non_psc") == 0) {
|
} else if (os_strcmp(buf, "acs_exclude_6ghz_non_psc") == 0) {
|
||||||
conf->acs_exclude_6ghz_non_psc = atoi(pos);
|
conf->acs_exclude_6ghz_non_psc = atoi(pos);
|
||||||
|
} else if (os_strcmp(buf, "enable_background_radar") == 0) {
|
||||||
|
conf->enable_background_radar = atoi(pos);
|
||||||
} else if (os_strcmp(buf, "min_tx_power") == 0) {
|
} else if (os_strcmp(buf, "min_tx_power") == 0) {
|
||||||
int val = atoi(pos);
|
int val = atoi(pos);
|
||||||
|
|
||||||
|
|
|
@ -225,6 +225,16 @@ channel=1
|
||||||
# Default behavior is to include all PSC and non-PSC channels.
|
# Default behavior is to include all PSC and non-PSC channels.
|
||||||
#acs_exclude_6ghz_non_psc=1
|
#acs_exclude_6ghz_non_psc=1
|
||||||
|
|
||||||
|
# Enable background radar feature
|
||||||
|
# This feature allows CAC to be run on dedicated radio RF chains while the
|
||||||
|
# radio(s) are otherwise running normal AP activities on other channels.
|
||||||
|
# This requires that the driver and the radio support it before feature will
|
||||||
|
# actually be enabled, i.e., this parameter value is ignored with drivers that
|
||||||
|
# do not advertise support for the capability.
|
||||||
|
# 0: Leave disabled (default)
|
||||||
|
# 1: Enable it.
|
||||||
|
#enable_background_radar=1
|
||||||
|
|
||||||
# Set minimum permitted max TX power (in dBm) for ACS and DFS channel selection.
|
# Set minimum permitted max TX power (in dBm) for ACS and DFS channel selection.
|
||||||
# (default 0, i.e., not constraint)
|
# (default 0, i.e., not constraint)
|
||||||
#min_tx_power=20
|
#min_tx_power=20
|
||||||
|
|
|
@ -969,6 +969,7 @@ struct hostapd_config {
|
||||||
u8 min_tx_power;
|
u8 min_tx_power;
|
||||||
enum hostapd_hw_mode hw_mode; /* HOSTAPD_MODE_IEEE80211A, .. */
|
enum hostapd_hw_mode hw_mode; /* HOSTAPD_MODE_IEEE80211A, .. */
|
||||||
int acs_exclude_6ghz_non_psc;
|
int acs_exclude_6ghz_non_psc;
|
||||||
|
int enable_background_radar;
|
||||||
enum {
|
enum {
|
||||||
LONG_PREAMBLE = 0,
|
LONG_PREAMBLE = 0,
|
||||||
SHORT_PREAMBLE = 1
|
SHORT_PREAMBLE = 1
|
||||||
|
|
|
@ -34,7 +34,8 @@ dfs_downgrade_bandwidth(struct hostapd_iface *iface, int *secondary_channel,
|
||||||
|
|
||||||
static bool dfs_use_radar_background(struct hostapd_iface *iface)
|
static bool dfs_use_radar_background(struct hostapd_iface *iface)
|
||||||
{
|
{
|
||||||
return iface->drv_flags2 & WPA_DRIVER_RADAR_BACKGROUND;
|
return (iface->drv_flags2 & WPA_DRIVER_RADAR_BACKGROUND) &&
|
||||||
|
iface->conf->enable_background_radar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue