From: Hauke Mehrtens Date: Mon, 21 Jun 2021 22:45:21 +0000 (+0200) Subject: realtek: Fix failsafe mode X-Git-Tag: v21.02.0-rc4~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72d93c1ba44eb8f1b0a0978f71b06720365fd0e5;p=thirdparty%2Fopenwrt.git realtek: Fix failsafe mode The RTL8380-RTL9300 switches only forward packets when VLAN ID 1 is configured. Do not use the standard failsafe configuration for DSA accessing the default port directly, but configure a switch on the lan1 interface instead. This will add the VLAN ID 1 configuration to the switch: $ bridge vlan show port vlan-id lan1 1 PVID Egress Untagged switch 1 PVID Egress Untagged Signed-off-by: Hauke Mehrtens (cherry picked from commit b7ee0786b56d1088c195fe7c1cdb1ad7d20c9245) --- diff --git a/target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek b/target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek new file mode 100644 index 00000000000..e2a7cf5a69e --- /dev/null +++ b/target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek @@ -0,0 +1,13 @@ +set_preinit_iface() { + + # Create a switch on lan1 to configure the VLAN 1. + # Without configuring VLAN ID 1 RTL8380 - RTL9300 will not + # forward packets. + ip link add name switch type bridge vlan_filtering 1 + ip link set dev lan1 master switch + ip link set lan1 up + + pi_ifname=switch +} + +boot_hook_add preinit_main set_preinit_iface diff --git a/target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek b/target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek new file mode 100644 index 00000000000..dc5fdb059b9 --- /dev/null +++ b/target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek @@ -0,0 +1,6 @@ +remove_switch() { + # delete switch created in 05_set_preinit_iface_realtek again + ip link del name switch +} + +boot_hook_add preinit_main remove_switch