mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-18 01:41:24 +00:00
hostapd: Added control for multiple_bssid and ema
Re-enabling "multiple_bssid" and "ema". Fixes: WIFI-5732 Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de>
This commit is contained in:
parent
16176a1cc3
commit
c93b14ca7a
@ -114,7 +114,7 @@ hostapd_common_add_device_config() {
|
|||||||
|
|
||||||
config_add_int airtime_mode
|
config_add_int airtime_mode
|
||||||
|
|
||||||
config_add_boolean rnr_beacon he_co_locate
|
config_add_boolean multiple_bssid rnr_beacon he_co_locate ema
|
||||||
hostapd_add_log_config
|
hostapd_add_log_config
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ hostapd_prepare_device_config() {
|
|||||||
json_get_vars country country3 country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \
|
json_get_vars country country3 country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \
|
||||||
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 \
|
||||||
he_co_locate rnr_beacon
|
multiple_bssid he_co_locate rnr_beacon ema
|
||||||
|
|
||||||
hostapd_set_log_options base_cfg
|
hostapd_set_log_options base_cfg
|
||||||
|
|
||||||
@ -139,6 +139,8 @@ hostapd_prepare_device_config() {
|
|||||||
set_default cell_density 0
|
set_default cell_density 0
|
||||||
set_default he_co_locate 0
|
set_default he_co_locate 0
|
||||||
set_default rnr_beacon 0
|
set_default rnr_beacon 0
|
||||||
|
set_default multiple_bssid 0
|
||||||
|
set_default ema 0
|
||||||
|
|
||||||
[ -n "$country" ] && {
|
[ -n "$country" ] && {
|
||||||
append base_cfg "country_code=$country" "$N"
|
append base_cfg "country_code=$country" "$N"
|
||||||
@ -233,6 +235,8 @@ 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"
|
||||||
[ "$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"
|
||||||
|
[ "$ema" -gt 0 ] && append base_cfg "ema=$ema" "$N"
|
||||||
|
|
||||||
json_get_values opts hostapd_options
|
json_get_values opts hostapd_options
|
||||||
for val in $opts; do
|
for val in $opts; do
|
||||||
|
|||||||
@ -499,6 +499,7 @@ mac80211_get_addr() {
|
|||||||
|
|
||||||
mac80211_generate_mac() {
|
mac80211_generate_mac() {
|
||||||
local phy="$1"
|
local phy="$1"
|
||||||
|
local multiple_bssid="$2"
|
||||||
local id="${macidx:-0}"
|
local id="${macidx:-0}"
|
||||||
|
|
||||||
local ref="$(cat /sys/class/ieee80211/${phy}/macaddress)"
|
local ref="$(cat /sys/class/ieee80211/${phy}/macaddress)"
|
||||||
@ -522,7 +523,10 @@ mac80211_generate_mac() {
|
|||||||
local mask6=$6
|
local mask6=$6
|
||||||
|
|
||||||
local oIFS="$IFS"; IFS=":"; set -- $ref; IFS="$oIFS"
|
local oIFS="$IFS"; IFS=":"; set -- $ref; IFS="$oIFS"
|
||||||
|
[ "$multiple_bssid" -eq 1 ] && {
|
||||||
|
printf "02:%s:%s:%s:%s:%02x" $b1 $2 $3 $4 $5 $macidx
|
||||||
|
return
|
||||||
|
}
|
||||||
macidx=$(($id + 1))
|
macidx=$(($id + 1))
|
||||||
|
|
||||||
local use_global=0
|
local use_global=0
|
||||||
@ -635,6 +639,7 @@ mac80211_iw_interface_add() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mac80211_prepare_vif() {
|
mac80211_prepare_vif() {
|
||||||
|
local multiple_bssid=$1
|
||||||
json_select config
|
json_select config
|
||||||
|
|
||||||
json_get_vars ifname mode ssid wds powersave macaddr enable wpa_psk_file vlan_file
|
json_get_vars ifname mode ssid wds powersave macaddr enable wpa_psk_file vlan_file
|
||||||
@ -648,7 +653,7 @@ mac80211_prepare_vif() {
|
|||||||
json_select ..
|
json_select ..
|
||||||
|
|
||||||
[ -n "$macaddr" ] || {
|
[ -n "$macaddr" ] || {
|
||||||
macaddr="$(mac80211_generate_mac $phy)"
|
macaddr="$(mac80211_generate_mac $phy $multiple_bssid)"
|
||||||
macidx="$(($macidx + 1))"
|
macidx="$(($macidx + 1))"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1017,6 +1022,7 @@ drv_mac80211_setup() {
|
|||||||
txpower antenna_gain \
|
txpower antenna_gain \
|
||||||
rxantenna txantenna \
|
rxantenna txantenna \
|
||||||
frag rts beacon_int:100 htmode \
|
frag rts beacon_int:100 htmode \
|
||||||
|
multiple_bssid:0 \
|
||||||
num_global_macaddr
|
num_global_macaddr
|
||||||
json_get_values basic_rate_list basic_rate
|
json_get_values basic_rate_list basic_rate
|
||||||
json_get_values scan_list scan_list
|
json_get_values scan_list scan_list
|
||||||
@ -1111,7 +1117,7 @@ drv_mac80211_setup() {
|
|||||||
mac80211_prepare_iw_htmode
|
mac80211_prepare_iw_htmode
|
||||||
for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif
|
for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif
|
||||||
NEWAPLIST=
|
NEWAPLIST=
|
||||||
for_each_interface "ap" mac80211_prepare_vif
|
for_each_interface "ap" mac80211_prepare_vif ${multiple_bssid}
|
||||||
NEW_MD5=$(test -e "${hostapd_conf_file}" && md5sum ${hostapd_conf_file})
|
NEW_MD5=$(test -e "${hostapd_conf_file}" && md5sum ${hostapd_conf_file})
|
||||||
OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5)
|
OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5)
|
||||||
if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then
|
if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user