diff options
Diffstat (limited to 'package/base-files/files/etc/rc.button')
-rwxr-xr-x | package/base-files/files/etc/rc.button/failsafe | 2 | ||||
-rwxr-xr-x | package/base-files/files/etc/rc.button/reset | 18 | ||||
-rwxr-xr-x | package/base-files/files/etc/rc.button/rfkill | 23 |
3 files changed, 43 insertions, 0 deletions
diff --git a/package/base-files/files/etc/rc.button/failsafe b/package/base-files/files/etc/rc.button/failsafe new file mode 100755 index 0000000..dcdf7de --- /dev/null +++ b/package/base-files/files/etc/rc.button/failsafe @@ -0,0 +1,2 @@ +#!/bin/sh +touch /tmp/failsafe_button diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset new file mode 100755 index 0000000..763994d --- /dev/null +++ b/package/base-files/files/etc/rc.button/reset @@ -0,0 +1,18 @@ +#!/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 + firstboot && reboot & +fi diff --git a/package/base-files/files/etc/rc.button/rfkill b/package/base-files/files/etc/rc.button/rfkill new file mode 100755 index 0000000..7a8cfe9 --- /dev/null +++ b/package/base-files/files/etc/rc.button/rfkill @@ -0,0 +1,23 @@ +#!/bin/sh + +[ "${ACTION}" = "released" ] || exit 0 + +. /lib/functions.sh + +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 +} + +config_load wireless +config_foreach wifi_rfkill_check wifi-device +config_foreach wifi_rfkill_set wifi-device +uci commit wireless +wifi up |