base-files: rework reset button script to indicate factory reset
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 17 Aug 2015 06:16:39 +0000 (06:16 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 17 Aug 2015 06:16:39 +0000 (06:16 +0000)
With this change we let user know 5 seconds have passed and reset button
can be released (to trigger factory reset)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46650 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/files/etc/rc.button/reset

index 3e24146..c6dc7cf 100755 (executable)
@@ -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