From 5268bc8e01f80dd712523fe1df04a9bf17035d49 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 4 Jul 2007 04:35:44 +0000 Subject: [PATCH] add failsafe support for atheros-2.6 (#1501) - only works with ar5315+ at the moment git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7870 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/etc/preinit | 9 +++++++++ .../atheros-2.6/base-files/default/etc/preinit.arch | 8 ++++++++ .../linux/brcm-2.4/base-files/default/etc/preinit.arch | 4 ---- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100755 target/linux/atheros-2.6/base-files/default/etc/preinit.arch diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit index 8163f79ae6..c11732f7a7 100755 --- a/package/base-files/files/etc/preinit +++ b/package/base-files/files/etc/preinit @@ -3,7 +3,16 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin . /etc/diag.sh +failsafe_ip() { + ifconfig $ifname 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up +} + failsafe() { + [ -n "$ifname" ] && grep "$ifname" /proc/net/dev >/dev/null && { + failsafe_ip + netmsg 192.168.1.255 "Entering Failsafe!" + telnetd -l /bin/login <> /dev/null 2>&1 + } lock /tmp/.failsafe ash --login } diff --git a/target/linux/atheros-2.6/base-files/default/etc/preinit.arch b/target/linux/atheros-2.6/base-files/default/etc/preinit.arch new file mode 100755 index 0000000000..7e911ab2ad --- /dev/null +++ b/target/linux/atheros-2.6/base-files/default/etc/preinit.arch @@ -0,0 +1,8 @@ +# reset button only supported on ar5315+ at the moment +grep 'Atheros AR231[567]' /proc/cpuinfo > /dev/null && { + ifname=eth0 + failsafe_ip + netmsg 192.168.1.255 "Press reset now, to enter Failsafe!" + ifconfig "$ifname" 0.0.0.0 down + sleep 2 +} diff --git a/target/linux/brcm-2.4/base-files/default/etc/preinit.arch b/target/linux/brcm-2.4/base-files/default/etc/preinit.arch index a0d97c68bc..43df591ab7 100755 --- a/target/linux/brcm-2.4/base-files/default/etc/preinit.arch +++ b/target/linux/brcm-2.4/base-files/default/etc/preinit.arch @@ -1,9 +1,5 @@ . /etc/functions.sh -failsafe_ip() { - ifconfig $ifname 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up -} - failsafe() { lock /tmp/.failsafe failsafe_ip