add failsafe support for atheros-2.6 (#1501) - only works with ar5315+ at the moment
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 4 Jul 2007 04:35:44 +0000 (04:35 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 4 Jul 2007 04:35:44 +0000 (04:35 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7870 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/files/etc/preinit
target/linux/atheros-2.6/base-files/default/etc/preinit.arch [new file with mode: 0755]
target/linux/brcm-2.4/base-files/default/etc/preinit.arch

index 8163f79ae69e776986cc973a33c14995305c318c..c11732f7a7e9a8778c01003e6d563a4baadfc47f 100755 (executable)
@@ -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 (executable)
index 0000000..7e911ab
--- /dev/null
@@ -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
+}
index a0d97c68bc183c7f07defbe8527d8b903e7a667e..43df591ab70f39a0fe7d81930a3961ed06d7bfd8 100755 (executable)
@@ -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