diff options
Diffstat (limited to 'target/linux/brcm63xx/base-files/lib/preinit')
5 files changed, 106 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/base-files/lib/preinit/03_do_brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/preinit/03_do_brcm63xx.sh new file mode 100644 index 0000000..4179695 --- /dev/null +++ b/target/linux/brcm63xx/base-files/lib/preinit/03_do_brcm63xx.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +do_brcm63xx() { + . /lib/brcm63xx.sh + + brcm63xx_detect +} + +boot_hook_add preinit_main do_brcm63xx diff --git a/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx new file mode 100644 index 0000000..e1653e3 --- /dev/null +++ b/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx @@ -0,0 +1,10 @@ +#!/bin/sh + +failsafe_ip() { + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up + } +} + +boot_hook_add failsafe failsafe_ip + diff --git a/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx new file mode 100644 index 0000000..abf5b89 --- /dev/null +++ b/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx @@ -0,0 +1,48 @@ +#!/bin/sh + +. /lib/brcm63xx.sh + +set_preinit_iface() { + case "$(brcm63xx_board_name)" in + a4001n |\ + a4001n1 |\ + ar-5381u |\ + ar-5387un |\ + bcm963281tan |\ + bcm96328avng |\ + cpva642 |\ + ct536_ct5621 |\ + cvg834g |\ + dgnd3700v1_dgnd3800b |\ + dsl-2640b-b |\ + dsl-274xb-c |\ + dsl-274xb-f |\ + dsl-275xb-d |\ + fast2504n |\ + fast2704v2 |\ + hg553 |\ + hg556a_* |\ + hg520 |\ + neufbox6 |\ + p870hw-51a_v2 |\ + rta770bw |\ + rta770w |\ + spw303v |\ + spw500v |\ + v2110 |\ + vr-3025un |\ + vr-3025u |\ + vr-3026e |\ + wap-5813n) + ifname=eth0 + ;; + bcm96348gw |\ + bcm96348gw-11 |\ + gw6000 |\ + gw6200) + ifname=eth1 + ;; + esac +} + +boot_hook_add preinit_main set_preinit_iface diff --git a/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx new file mode 100644 index 0000000..7655fb7 --- /dev/null +++ b/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx @@ -0,0 +1,27 @@ +#!/bin/sh + +port_net_echo() { + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + if [ "$pi_preinit_net_messages" = "y" ] || [ "$pi_failsafe_net_message" = "true" ] && [ "$pi_preinit_no_failsafe_netmsg" != "y" ]; then + netmsg $pi_broadcast "$1" + fi + } +} + +preinit_ip_deconfig() { + if [ -z "$pi_ifname" ]; then + ifconfig $ifname 0.0.0.0 down + else + grep -q "$pi_ifname" /proc/net/dev && { + ifconfig $pi_ifname 0.0.0.0 down + } + fi +} + +preinit_net_echo() { + preinit_ip + + port_net_echo $1 +} + + diff --git a/target/linux/brcm63xx/base-files/lib/preinit/20_failsafe_net_echo_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/20_failsafe_net_echo_brcm63xx new file mode 100644 index 0000000..f030cb2 --- /dev/null +++ b/target/linux/brcm63xx/base-files/lib/preinit/20_failsafe_net_echo_brcm63xx @@ -0,0 +1,12 @@ +#!/bin/sh + +indicate_failsafe() { + preinit_net_echo() { + port_net_echo $1 + } + echo "- failsafe -" + preinit_net_echo "Entering Failsafe!\n" + indicate_failsafe_led +} + + |