diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-07-04 04:35:44 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-07-04 04:35:44 +0000 |
commit | 5268bc8e01f80dd712523fe1df04a9bf17035d49 (patch) | |
tree | c5ac3f16e21942a838dca4ed985486edfa16ad8c | |
parent | 6b68ee7a55ee1c2f42563825fd48f3da427df415 (diff) | |
download | upstream-5268bc8e01f80dd712523fe1df04a9bf17035d49.tar.gz upstream-5268bc8e01f80dd712523fe1df04a9bf17035d49.tar.bz2 upstream-5268bc8e01f80dd712523fe1df04a9bf17035d49.zip |
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
-rwxr-xr-x | package/base-files/files/etc/preinit | 9 | ||||
-rwxr-xr-x | target/linux/atheros-2.6/base-files/default/etc/preinit.arch | 8 | ||||
-rwxr-xr-x | target/linux/brcm-2.4/base-files/default/etc/preinit.arch | 4 |
3 files changed, 17 insertions, 4 deletions
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 |