Fix failsafe for all rt3050 routers where the LAN port is not wired
to port 0 of the internal switch.

Fix failsafe for MT7620-based routers.

Fix ticket #18768.

Signed-off-by: Vittorio Gambaletta <[email protected]>
---

--- a/target/linux/ramips/base-files/lib/preinit/07_set_preinit_iface_ramips
+++ b/target/linux/ramips/base-files/lib/preinit/07_set_preinit_iface_ramips
@@ -6,29 +6,24 @@
 . /lib/ramips.sh
 
 ramips_set_preinit_iface() {
-       RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350|MT7628|MT7688)"`
+       RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350|MT7628|MT7688|MT7620)"`
+
        if [ -n "${RT3X5X}" ]; then
-               swconfig dev rt305x set reset 1
+               # The ethernet switch driver enables VLAN by default, but
+               # failsafe uses eth0, making the device unreachable:
+               # https://dev.openwrt.org/ticket/18768
+               ralink_switchdev=rt305x
+               case "${RT3X5X}" in
+               *MT7620*)
+                       ralink_switchdev=mt7620
+                       ;;
+               esac
+               swconfig dev $ralink_switchdev set reset 1
+               swconfig dev $ralink_switchdev set enable_vlan 0
+               swconfig dev $ralink_switchdev set apply 1
        fi
 
-       if echo $RT3X5X | egrep -q "(RT5350|MT7628|MT7688)"; 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/[email protected]/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
+       ifname=eth0
 }
 
 boot_hook_add preinit_main ramips_set_preinit_iface
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to