aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files')
-rwxr-xr-xpackage/base-files/files/etc/rc.button/reset35
1 files changed, 21 insertions, 14 deletions
diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset
index 3e241460ef..c6dc7cfbc0 100755
--- a/package/base-files/files/etc/rc.button/reset
+++ b/package/base-files/files/etc/rc.button/reset
@@ -1,20 +1,27 @@
#!/bin/sh
-[ "${ACTION}" = "released" ] || exit 0
-
. /lib/functions.sh
-logger "$BUTTON pressed for $SEEN seconds"
-
-if [ "$SEEN" -lt 1 ]
-then
- echo "REBOOT" > /dev/console
- sync
- reboot
-elif [ "$SEEN" -gt 5 ]
-then
- echo "FACTORY RESET" > /dev/console
- jffs2reset -y && reboot &
-fi
+case "$ACTION" in
+pressed)
+ return 5
+;;
+timeout)
+ . /etc/diag.sh
+ set_state failsafe
+;;
+released)
+ if [ "$SEEN" -lt 1 ]
+ then
+ echo "REBOOT" > /dev/console
+ sync
+ reboot
+ elif [ "$SEEN" -gt 5 ]
+ then
+ echo "FACTORY RESET" > /dev/console
+ jffs2reset -y && reboot &
+ fi
+;;
+esac
return 0