mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-24 19:14:05 +08:00
Compare commits
5 Commits
tmp_bsteer
...
backhaul-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c21b3f77be | ||
|
|
4707d118e6 | ||
|
|
dc290d48ad | ||
|
|
671bfbbdb3 | ||
|
|
363e9bb980 |
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=map-agent
|
||||
PKG_VERSION:=5.2.2
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=e9248b872711e7b6242974684478bdba0f14a7cb
|
||||
PKG_SOURCE_VERSION:=621236484f923cbfbecb8608b86aa1e585f935fe
|
||||
PKG_MAINTAINER:=Anjan Chanda <anjan.chanda@iopsys.eu>
|
||||
|
||||
PKG_LICENSE:=PROPRIETARY IOPSYS
|
||||
|
||||
@@ -296,7 +296,119 @@ brcm_teardown_iface() {
|
||||
}
|
||||
|
||||
|
||||
brcm_bsta_to_wireless() {
|
||||
config_load mapagent
|
||||
|
||||
mapagent_find_lowest_prio_onboarded() {
|
||||
mapagent_process_bk() {
|
||||
config_get priority $1 priority "2"
|
||||
config_get onboarded $1 onboarded "0"
|
||||
|
||||
[ "$onboarded" = "0" ] && return
|
||||
|
||||
if [ -z "$sec" -o "$prio" = "-1" -o "$priority" -lt "$prio" ]; then
|
||||
sec=$1
|
||||
prio=$priority
|
||||
fi
|
||||
}
|
||||
|
||||
local sec=""
|
||||
local prio="-1"
|
||||
|
||||
config_foreach mapagent_process_bk bk-iface
|
||||
echo $sec
|
||||
}
|
||||
|
||||
mapagent_enable_best() {
|
||||
echo 1=$1 best=$best > /dev/console
|
||||
if [ "$1" = "$best" ]; then
|
||||
uci -q set mapagent.$1.enabled='1'
|
||||
else
|
||||
uci -q set mapagent.$1.enabled='0'
|
||||
fi
|
||||
}
|
||||
|
||||
mapagent_bsta_to_wireless() {
|
||||
mapagent_apply_wl_bsta() {
|
||||
apply_config() {
|
||||
local section=$1
|
||||
local bsta=$2
|
||||
local ssid=$3
|
||||
local key=$4
|
||||
local encryption=$5
|
||||
local enabled=$6
|
||||
local disabled="0"
|
||||
|
||||
config_get ifname $section ifname
|
||||
|
||||
[ -z "$enabled" -o "$enabled" = "0" ] && disabled="1"
|
||||
|
||||
[ "$bsta" == "$ifname" ] || return
|
||||
|
||||
uci set wireless.${section}.ssid=$ssid
|
||||
uci set wireless.${section}.key=$key
|
||||
uci set wireless.${section}.encryption=$encryption
|
||||
uci set wireless.${section}.disabled=$disabled
|
||||
echo 1
|
||||
}
|
||||
|
||||
config_load wireless
|
||||
|
||||
config_foreach apply_config wifi-iface $@
|
||||
uci commit wireless
|
||||
}
|
||||
|
||||
mapagent_find_other_creds() {
|
||||
|
||||
echo "trying to find other creds for $2" > /dev/console
|
||||
config_get band $1 band
|
||||
config_get onboarded $1 onboarded "0"
|
||||
|
||||
[ "$3" != "$band" -o "$onboarded" = "0" ] && return
|
||||
|
||||
config_get ssid $1 ssid
|
||||
config_get key $1 key
|
||||
config_get encryption $1 encryption
|
||||
config_get enabled $1 enabled "0"
|
||||
|
||||
echo "$(mapagent_apply_wl_bsta $2 $ssid $key $encryption $4)"
|
||||
}
|
||||
|
||||
config_get band $1 band
|
||||
config_get ifname $1 ifname
|
||||
config_get onboarded $1 onboarded "0"
|
||||
config_get enabled $1 enabled "0"
|
||||
|
||||
if [ "$onboarded" = "0" ]; then
|
||||
config_foreach mapagent_find_other_creds bk-iface $ifname $band $enabled
|
||||
else
|
||||
config_get ssid $1 ssid
|
||||
config_get key $1 key
|
||||
config_get encryption $1 encryption
|
||||
|
||||
echo "$(mapagent_apply_wl_bsta $ifname $ssid $key $encryption $enabled)"
|
||||
fi
|
||||
}
|
||||
|
||||
best=$(mapagent_find_lowest_prio_onboarded)
|
||||
|
||||
[ -z "$best" ] && return
|
||||
|
||||
band=$1
|
||||
sec=""
|
||||
prio=""
|
||||
|
||||
config_foreach mapagent_enable_best bk-iface $best
|
||||
uci commit mapagent
|
||||
config_load mapagent
|
||||
|
||||
diff=$(config_foreach mapagent_bsta_to_wireless bk-iface)
|
||||
|
||||
[ "$diff" != "" ] && {
|
||||
ubus call uci commit '{"config":"wireless"}'
|
||||
}
|
||||
|
||||
}
|
||||
func=$1
|
||||
shift
|
||||
|
||||
@@ -310,6 +422,7 @@ case "$func" in
|
||||
set_network) brcm_set_network $@;;
|
||||
write_bsta_config) write_bsta_config $@;;
|
||||
teardown_iface) brcm_teardown_iface $@;;
|
||||
bsta_to_wireless) brcm_bsta_to_wireless $@;;
|
||||
--help|help) usage;;
|
||||
*) usage; exit 1;;
|
||||
esac
|
||||
|
||||
@@ -60,17 +60,45 @@ supp_status() {
|
||||
echo "UNCONFIGURED"
|
||||
}
|
||||
|
||||
supp_configured() {
|
||||
wpasupp=$1
|
||||
|
||||
for wpa in $wpasupp
|
||||
do
|
||||
logger -t button "WPS $wpa check if configured"
|
||||
status=$(supp_status $wpa)
|
||||
if [ "$status" = "CONFIGURED" ]; then
|
||||
logger -t button "WPS $wpa CONFIGURED"
|
||||
echo "CONFIGURED"
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
echo "UNCONFIGURED"
|
||||
}
|
||||
|
||||
supp_wps() {
|
||||
wpasupp=$1
|
||||
|
||||
for wpa in $wpasupp
|
||||
do
|
||||
logger -t button "WPS $wpa start"
|
||||
ubus -t 1 call $wpa wps_start
|
||||
done
|
||||
}
|
||||
|
||||
wps_button() {
|
||||
logger -t button "WPS button is pressed"
|
||||
wpasupp="$(ubus list wpa_supplicant.* 2>/dev/null | head -1)"
|
||||
wpasupp="$(ubus list wpa_supplicant.* 2>/dev/null)"
|
||||
|
||||
logger -t button "WPS checking: $wpasupp"
|
||||
if [ -n "$wpasupp" ]; then
|
||||
status=$(supp_status $wpasupp)
|
||||
status=$(supp_configured "$wpasupp")
|
||||
logger -t button "status $status"
|
||||
if [ "$status" = "CONFIGURED" ]; then
|
||||
start_ap_wps
|
||||
else
|
||||
logger -t button "WPS start $wpasupp"
|
||||
ubus -t 1 call $wpasupp wps_start
|
||||
supp_wps "$wpasupp"
|
||||
fi
|
||||
else
|
||||
start_ap_wps
|
||||
|
||||
Reference in New Issue
Block a user