mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-30 01:52:51 +00:00
@@ -126,6 +126,7 @@ hostapd_common_add_device_config() {
|
|||||||
config_add_int airtime_mode
|
config_add_int airtime_mode
|
||||||
|
|
||||||
config_add_boolean multiple_bssid rnr_beacon he_co_locate ema
|
config_add_boolean multiple_bssid rnr_beacon he_co_locate ema
|
||||||
|
config_add_boolean mlo
|
||||||
|
|
||||||
hostapd_add_log_config
|
hostapd_add_log_config
|
||||||
}
|
}
|
||||||
@@ -140,7 +141,7 @@ hostapd_prepare_device_config() {
|
|||||||
acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode cell_density \
|
acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode cell_density \
|
||||||
rts_threshold beacon_rate rssi_reject_assoc_rssi rssi_ignore_probe_request maxassoc \
|
rts_threshold beacon_rate rssi_reject_assoc_rssi rssi_ignore_probe_request maxassoc \
|
||||||
multiple_bssid he_co_locate rnr_beacon ema acs_exclude_dfs \
|
multiple_bssid he_co_locate rnr_beacon ema acs_exclude_dfs \
|
||||||
maxassoc_ignore_probe
|
maxassoc_ignore_probe mlo
|
||||||
|
|
||||||
hostapd_set_log_options base_cfg
|
hostapd_set_log_options base_cfg
|
||||||
|
|
||||||
@@ -155,6 +156,7 @@ hostapd_prepare_device_config() {
|
|||||||
set_default multiple_bssid 0
|
set_default multiple_bssid 0
|
||||||
set_default ema 0
|
set_default ema 0
|
||||||
set_default acs_exclude_dfs 0
|
set_default acs_exclude_dfs 0
|
||||||
|
set_default mlo 0
|
||||||
|
|
||||||
[ -n "$country" ] && {
|
[ -n "$country" ] && {
|
||||||
append base_cfg "country_code=$country" "$N"
|
append base_cfg "country_code=$country" "$N"
|
||||||
@@ -249,9 +251,10 @@ hostapd_prepare_device_config() {
|
|||||||
[ -n "$maxassoc" ] && append base_cfg "iface_max_num_sta=$maxassoc" "$N"
|
[ -n "$maxassoc" ] && append base_cfg "iface_max_num_sta=$maxassoc" "$N"
|
||||||
[ "$maxassoc_ignore_probe" -gt 0 ] && append base_cfg "no_probe_resp_if_max_sta=1" "$N"
|
[ "$maxassoc_ignore_probe" -gt 0 ] && append base_cfg "no_probe_resp_if_max_sta=1" "$N"
|
||||||
[ "$rnr_beacon" -gt 0 ] && append base_cfg "rnr_beacon=$rnr_beacon" "$N"
|
[ "$rnr_beacon" -gt 0 ] && append base_cfg "rnr_beacon=$rnr_beacon" "$N"
|
||||||
# [ "$he_co_locate" -gt 0 ] && append base_cfg "he_co_locate=$he_co_locate" "$N"
|
[ "$he_co_locate" -gt 0 ] && append base_cfg "he_co_locate=$he_co_locate" "$N"
|
||||||
[ "$multiple_bssid" -gt 0 ] && append base_cfg "multiple_bssid=$multiple_bssid" "$N"
|
[ "$multiple_bssid" -gt 0 ] && append base_cfg "multiple_bssid=$multiple_bssid" "$N"
|
||||||
[ "$ema" -gt 0 ] && append base_cfg "ema=$ema" "$N"
|
[ "$ema" -gt 0 ] && append base_cfg "ema=$ema" "$N"
|
||||||
|
[ "$mlo" -gt 0 ] && append base_cfg "mlo=1" "$N"
|
||||||
[ "$acs_exclude_dfs" -gt 0 ] && append base_cfg "acs_exclude_dfs=$acs_exclude_dfs" "$N"
|
[ "$acs_exclude_dfs" -gt 0 ] && append base_cfg "acs_exclude_dfs=$acs_exclude_dfs" "$N"
|
||||||
|
|
||||||
json_get_values opts hostapd_options
|
json_get_values opts hostapd_options
|
||||||
|
|||||||
43
feeds/ipq95xx/hostapd/patches/999-probe-request.patch
Normal file
43
feeds/ipq95xx/hostapd/patches/999-probe-request.patch
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
--- a/hostapd/config_file.c
|
||||||
|
+++ b/hostapd/config_file.c
|
||||||
|
@@ -3337,6 +3337,8 @@ static int hostapd_config_fill(struct ho
|
||||||
|
bss->ignore_broadcast_ssid = atoi(pos);
|
||||||
|
} else if (os_strcmp(buf, "no_probe_resp_if_max_sta") == 0) {
|
||||||
|
bss->no_probe_resp_if_max_sta = atoi(pos);
|
||||||
|
+ } else if (os_strcmp(buf, "dynamic_probe_resp") == 0) {
|
||||||
|
+ bss->dynamic_probe_resp = atoi(pos);
|
||||||
|
#ifdef CONFIG_WEP
|
||||||
|
} else if (os_strcmp(buf, "wep_default_key") == 0) {
|
||||||
|
bss->ssid.wep.idx = atoi(pos);
|
||||||
|
--- a/src/ap/ap_config.h
|
||||||
|
+++ b/src/ap/ap_config.h
|
||||||
|
@@ -459,6 +459,7 @@ struct hostapd_bss_config {
|
||||||
|
int ap_max_inactivity;
|
||||||
|
int ignore_broadcast_ssid;
|
||||||
|
int no_probe_resp_if_max_sta;
|
||||||
|
+ int dynamic_probe_resp;
|
||||||
|
|
||||||
|
int wmm_enabled;
|
||||||
|
int wmm_uapsd;
|
||||||
|
--- a/src/ap/beacon.c
|
||||||
|
+++ b/src/ap/beacon.c
|
||||||
|
@@ -920,7 +920,8 @@ void handle_probe_req(struct hostapd_dat
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_P2P */
|
||||||
|
|
||||||
|
- if (hapd->conf->ignore_broadcast_ssid && elems.ssid_len == 0 &&
|
||||||
|
+ if (!hapd->conf->dynamic_probe_resp &&
|
||||||
|
+ hapd->conf->ignore_broadcast_ssid && elems.ssid_len == 0 &&
|
||||||
|
elems.ssid_list_len == 0 && elems.short_ssid_list_len == 0) {
|
||||||
|
wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR " for "
|
||||||
|
"broadcast SSID ignored", MAC2STR(mgmt->sa));
|
||||||
|
@@ -967,7 +968,8 @@ void handle_probe_req(struct hostapd_dat
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (hapd->conf->ignore_broadcast_ssid && res == WILDCARD_SSID_MATCH) {
|
||||||
|
+ if (!hapd->conf->dynamic_probe_resp &&
|
||||||
|
+ hapd->conf->ignore_broadcast_ssid && res == WILDCARD_SSID_MATCH) {
|
||||||
|
wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR " for "
|
||||||
|
"broadcast SSID ignored", MAC2STR(mgmt->sa));
|
||||||
|
return;
|
||||||
@@ -417,7 +417,7 @@
|
|||||||
|
|
||||||
wsi: wsi {
|
wsi: wsi {
|
||||||
id = <0>;
|
id = <0>;
|
||||||
num_chip = <3>;
|
num_chip = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pcie@18000000 {
|
pcie@18000000 {
|
||||||
|
|||||||
@@ -536,22 +536,13 @@ mac80211_hostapd_setup_base() {
|
|||||||
eht_ulmumimo_80mhz \
|
eht_ulmumimo_80mhz \
|
||||||
eht_ulmumimo_160mhz \
|
eht_ulmumimo_160mhz \
|
||||||
eht_ulmumimo_320mhz \
|
eht_ulmumimo_320mhz \
|
||||||
disable_eml_cap
|
disable_eml_cap:1
|
||||||
|
|
||||||
append base_cfg "ieee80211be=1" "$N"
|
append base_cfg "ieee80211be=1" "$N"
|
||||||
append base_cfg "eht_su_beamformer=$eht_su_beamformer" "$N"
|
append base_cfg "eht_su_beamformer=$eht_su_beamformer" "$N"
|
||||||
append base_cfg "eht_mu_beamformer=$eht_mu_beamformer" "$N"
|
append base_cfg "eht_mu_beamformer=$eht_mu_beamformer" "$N"
|
||||||
append base_cfg "eht_su_beamformee=$eht_su_beamformee" "$N"
|
append base_cfg "eht_su_beamformee=$eht_su_beamformee" "$N"
|
||||||
|
|
||||||
drv_mlo_capable=$(cat /sys/module/ath12k/parameters/mlo_capable)
|
|
||||||
if [ -n "$drv_mlo_capable" ] && [ $drv_mlo_capable -eq 1 ]; then
|
|
||||||
append base_cfg "mlo=1" "$N"
|
|
||||||
fi
|
|
||||||
config_get bonded $2 bonded
|
|
||||||
if [ -n "$bonded" ] && [ $bonded -eq 1 ]; then
|
|
||||||
append base_cfg "bonded=1" "$N"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -n "$disable_eml_cap" ] && append base_cfg "disable_eml_cap=$disable_eml_cap" "$N"
|
[ -n "$disable_eml_cap" ] && append base_cfg "disable_eml_cap=$disable_eml_cap" "$N"
|
||||||
|
|
||||||
if [ -n "$eht_ulmumimo_80mhz" ]; then
|
if [ -n "$eht_ulmumimo_80mhz" ]; then
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ BEGIN {
|
|||||||
if (vht && band != "1:") mode="VHT80"
|
if (vht && band != "1:") mode="VHT80"
|
||||||
if (he) mode="HE80"
|
if (he) mode="HE80"
|
||||||
if (he && band == "1:") mode="HE20"
|
if (he && band == "1:") mode="HE20"
|
||||||
|
if (be) mode="EHT80"
|
||||||
|
if (be && band == "1:") mode="EHT20"
|
||||||
sub("\\[", "", channel)
|
sub("\\[", "", channel)
|
||||||
sub("\\]", "", channel)
|
sub("\\]", "", channel)
|
||||||
bands = bands band channel ":" mode " "
|
bands = bands band channel ":" mode " "
|
||||||
@@ -85,6 +87,7 @@ $1 == "Band" {
|
|||||||
vht = ""
|
vht = ""
|
||||||
ht = ""
|
ht = ""
|
||||||
he = ""
|
he = ""
|
||||||
|
be = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
$0 ~ "Capabilities:" {
|
$0 ~ "Capabilities:" {
|
||||||
@@ -99,6 +102,10 @@ $0 ~ "HE Iftypes" {
|
|||||||
he=1
|
he=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$0 ~ "EHT Iftypes" {
|
||||||
|
be=1
|
||||||
|
}
|
||||||
|
|
||||||
$1 == "*" && $3 == "MHz" && $0 !~ /disabled/ && band && !channel {
|
$1 == "*" && $3 == "MHz" && $0 !~ /disabled/ && band && !channel {
|
||||||
channel = $4
|
channel = $4
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user