iopsys-feed/wifimngr/files/etc/hotplug.d/button/05-wifi
2020-12-22 16:24:07 +01:00

45 lines
1.1 KiB
Bash

#!/bin/sh
. /lib/functions.sh
wifi_onoff() {
local devices="$(uci show wireless | grep '=wifi-device' | awk -F'[.,=]' '{print$2}')"
local wldisabled="0"
for dev in $devices; do
wldisabled="$(uci -q get wireless.$dev.disabled)"
wldisabled=${wldisabled:-0}
if [ "$wldisabled" == "1" ]; then
uci -q set wireless.$dev.disabled=0
else
uci -q set wireless.$dev.disabled=1
fi
done
uci commit wireless
killall -9 wifi 2>/dev/null
/sbin/wifi reload &
}
case "$ACTION" in
add|register)
[ "wifibutton" == "$INTERFACE" ] && {
[ -e "/tmp/wps_active" ] && return
echo "WiFi button is pressed" > /dev/console
wifi_onoff
}
[ "wpsbutton" == "$INTERFACE" ] && {
[ -e "/tmp/wps_active" ] && return
echo "WPS button is pressed" > /dev/console
# TODO: Proper implementation
#ubus call wifi.wps start
wpasupp="$(ubus list wpa_supplicant.* | head -1)"
if [ -n "$wpasupp" ]; then
ubus -t 1 call $wpasupp wps_start
else
dev5g="$(uci show wireless | grep 'hwmode=.11a' | head -1 | cut -d '.' -f2)"
[ -n "$dev5g" ] && ubus -t 1 call hostapd.$dev5g wps_start
fi
}
;;
esac