ramips: add a workaround to fix failsafe on RT5350
authorJohn Crispin <john@openwrt.org>
Mon, 1 Sep 2014 13:21:17 +0000 (13:21 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 1 Sep 2014 13:21:17 +0000 (13:21 +0000)
Due to TCP connections not working when VLAN is disabled, this is
needed to get failsafe functional.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Backport of r42179

SVN-Revision: 42358

target/linux/ramips/base-files/lib/preinit/07_set_preinit_iface_ramips

index db03b6bde6574d98bcfc43f9269cfe1229efe05e..ab87421bb9eb9dc3bb0104205f176b621b42052b 100644 (file)
@@ -11,7 +11,24 @@ ramips_set_preinit_iface() {
                swconfig dev rt305x set reset 1
        fi
 
-       ifname=eth0
+       if echo $RT3X5X | grep -q RT5350; then
+               # This is a dirty hack to get by while the switch
+               # problem is investigated. When VLAN is disabled, ICMP
+               # pings work as expected, but TCP connections time
+               # out, so telnetting in failsafe is impossible. The
+               # likely reason is TCP checksumming hardware getting
+               # disabled:
+               # https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg19870.html
+               swconfig dev rt305x set enable_vlan 1
+               swconfig dev rt305x vlan 1 set ports "0 6"
+               swconfig dev rt305x port 6 set untag 0
+               swconfig dev rt305x set apply 1
+               vconfig add eth0 1
+               ifconfig eth0 up
+               ifname=eth0.1
+       else
+               ifname=eth0
+       fi
 }
 
 boot_hook_add preinit_main ramips_set_preinit_iface