summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-07-04 04:35:44 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-07-04 04:35:44 +0000
commitc49b0723e2aa7882aedc81ae213046f433fd4c20 (patch)
treec5ac3f16e21942a838dca4ed985486edfa16ad8c
parent488a32cc9bb1febbbe4bc2bae804827cbeb9e27e (diff)
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 8163f79ae..c11732f7a 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 000000000..7e911ab2a
--- /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 a0d97c68b..43df591ab 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