diff options
-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 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 |