diff options
Diffstat (limited to 'target/linux/lantiq/base-files/etc/hotplug.d')
-rw-r--r-- | target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh | 49 | ||||
-rw-r--r-- | target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom | 7 |
2 files changed, 43 insertions, 13 deletions
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh b/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh index b2fdda23f..4b305fbdf 100644 --- a/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh +++ b/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh @@ -4,18 +4,49 @@ . /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 - BTN_0) - logger "reset pressed" - sync - reboot + reset) + if [ "$SEEN" -lt 1 ] + then + echo "REBOOT" > /dev/console + sync + reboot + elif [ "$SEEN" -gt 5 ] + then + echo "FACTORY RESET" > /dev/console + firstboot && reboot & + fi ;; - BTN_1) - logger "factory pressed" - jffs2_mark_erase "rootfs_data" - sync - 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}" ;; diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 1eee55e22..e3509bdd2 100644 --- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -12,7 +12,7 @@ rt2x00_eeprom_extract() { local count=$3 local mtd - . /etc/functions.sh + . /lib/functions.sh mtd=$(find_mtd_part $part) [ -n "$mtd" ] || \ @@ -23,12 +23,11 @@ rt2x00_eeprom_extract() { } [ -e /lib/firmware/$FIRMWARE ] && exit 0 - -. /lib/lantiq.sh +. /lib/functions/lantiq.sh case "$FIRMWARE" in "RT2860.eeprom" ) - local board=$(lantiq_board_name) + local board=$(lantiq_board_id) case $board in ARV7525PW|ARV752DPW) rt2x00_eeprom_extract "board_config" 1040 272 |