aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-07-04 04:35:44 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-07-04 04:35:44 +0000
commit5268bc8e01f80dd712523fe1df04a9bf17035d49 (patch)
treec5ac3f16e21942a838dca4ed985486edfa16ad8c
parent6b68ee7a55ee1c2f42563825fd48f3da427df415 (diff)
downloadupstream-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-xpackage/base-files/files/etc/preinit9
-rwxr-xr-xtarget/linux/atheros-2.6/base-files/default/etc/preinit.arch8
-rwxr-xr-xtarget/linux/brcm-2.4/base-files/default/etc/preinit.arch4
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