diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-07-14 13:19:58 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2013-07-14 13:19:58 +0000 |
commit | 3bc90a4d23e05be4a54edfccae3d45eefcfa5557 (patch) | |
tree | ab387b07ef6b90afeeb88a2487eb1b5960c406ec /target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm | |
parent | 17bbc928823c15ed47b6302c916fba23c90e6499 (diff) | |
download | master-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_brcm | 8 |
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 |