[lantiq] improve button handling

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34823 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
John Crispin 2012-12-21 13:47:50 +00:00
parent 2a00066a53
commit 3973731301
1 changed files with 39 additions and 11 deletions

View File

@ -4,21 +4,49 @@
. /lib/functions.sh . /lib/functions.sh
logger "$BUTTON pressed for $SEEN seconds"
local rfkill_state=0
wifi_rfkill_set() {
uci set wireless.$1.disabled=$rfkill_state
}
wifi_rfkill_check() {
local disabled
config_get disabled $1 disabled
[ "$disabled" = "1" ] || rfkill_state=1
}
case "${BUTTON}" in case "${BUTTON}" in
reset) reset)
logger "reset pressed" if [ "$SEEN" -lt 1 ]
echo "REBOOT" > /dev/console then
sleep 3 echo "REBOOT" > /dev/console
sync sync
reboot reboot
elif [ "$SEEN" -gt 5 ]
then
echo "FACTORY RESET" > /dev/console
firstboot && reboot &
fi
;; ;;
BTN_1)
logger "factory pressed" wps)
echo "FACTORY RESET" > /dev/console for dir in /var/run/hostapd-*; do
jffs2_mark_erase "rootfs_data" [ -d "$dir" ] || continue
sync hostapd_cli -p "$dir" wps_pbc
reboot done
;; ;;
rfkill)
config_load wireless
config_foreach wifi_rfkill_check wifi-device
config_foreach wifi_rfkill_set wifi-device
uci commit wireless
wifi up
;;
*) *)
logger "unknown button ${BUTTON}" logger "unknown button ${BUTTON}"
;; ;;