[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 ]
then
echo "REBOOT" > /dev/console echo "REBOOT" > /dev/console
sleep 3
sync sync
reboot reboot
;; elif [ "$SEEN" -gt 5 ]
BTN_1) then
logger "factory pressed"
echo "FACTORY RESET" > /dev/console echo "FACTORY RESET" > /dev/console
jffs2_mark_erase "rootfs_data" firstboot && reboot &
sync fi
reboot
;; ;;
wps)
for dir in /var/run/hostapd-*; do
[ -d "$dir" ] || continue
hostapd_cli -p "$dir" wps_pbc
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}"
;; ;;