wifimngr: hotplug script handling wifi and wps button press

This commit is contained in:
Sukru Senli 2020-06-09 19:58:07 +02:00
parent f87a160b98
commit 120785335c
2 changed files with 39 additions and 0 deletions

View file

@ -45,6 +45,8 @@ define Package/wifimngr/install
# $(INSTALL_BIN) ./files/*-uci-wireless $(1)/lib/upgrade/post-rootfs-fixup.d
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wifimngr $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/hotplug.d/button
$(INSTALL_BIN) ./files/wifi.button.hotplug $(1)/etc/hotplug.d/button/05-wifi
endef
$(eval $(call BuildPackage,wifimngr))

View file

@ -0,0 +1,37 @@
#!/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
ubus call wifi.wps start
}
;;
esac