summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-07-14 13:19:58 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-07-14 13:19:58 +0000
commit3bc90a4d23e05be4a54edfccae3d45eefcfa5557 (patch)
treeab387b07ef6b90afeeb88a2487eb1b5960c406ec /target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
parent17bbc928823c15ed47b6302c916fba23c90e6499 (diff)
downloadmaster-31e0f0ae-3bc90a4d23e05be4a54edfccae3d45eefcfa5557.tar.gz
master-31e0f0ae-3bc90a4d23e05be4a54edfccae3d45eefcfa5557.tar.bz2
master-31e0f0ae-3bc90a4d23e05be4a54edfccae3d45eefcfa5557.zip
brcm47xx: fix switch handling
This fixes some problems with the switch handling * It now send the messages again to indicate a button for failsafe mode should be pressed * it does not leak packages between wan and lan any more * the switch works again in normal mode The Ethernet connection has to be up when the switch driver switch-robo is insmoded therefor we just do it again. Explicitly set enable_vlan to prevent leaking packages. This should close #13869, #13868 and #13716 SVN-Revision: 37286
Diffstat (limited to 'target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm')
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm8
1 files changed, 6 insertions, 2 deletions
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
index dd8fd6e9f6..7e030acfff 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
@@ -2,13 +2,17 @@
failsafe_ip() {
[ -d /proc/switch/eth0 ] && [ "$ifname" = "eth0" ] && {
- ifconfig eth0 0.0.0.0 down
+ # The switch will connect all ports, The switch will leak
+ # packages from wan to lan and vice versa in failsafe mode
+ echo 1 > /proc/switch/eth0/reset
+ echo 1 > /proc/switch/eth0/enable
+ echo 0 > /proc/switch/eth0/enable_vlan
echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/1/ports
}
[ -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