[PATCH v2 4/5] realtek: Fix failsafe mode
Hauke Mehrtens
hauke at hauke-m.de
Sun Jun 27 12:02:08 PDT 2021
Hi Birger,
This looks good. I will try to have a closer look in the next days.
Hauke
On 6/26/21 11:17 PM, Birger Koblitz wrote:
> Hi Hauke,
>
> it looks as if there could be a more elegant solution to this, tomn just
> posted
> this on the forum:
> https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875
>
> I did not have time to test it so far, though.
>
> Birger
>
> On 22/06/2021 00:45, Hauke Mehrtens wrote:
>> 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 <hauke at hauke-m.de>
>> ---
>> .../lib/preinit/05_set_preinit_iface_realtek | 13 +++++++++++++
>> .../lib/preinit/98_remove_preinit_realtek | 6 ++++++
>> 2 files changed, 19 insertions(+)
>> create mode 100644
>> target/linux/realtek/base-files/lib/preinit/05_set_preinit_iface_realtek
>> create mode 100644
>> target/linux/realtek/base-files/lib/preinit/98_remove_preinit_realtek
>>
>> 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 000000000000..e2a7cf5a69e9
>> --- /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 000000000000..dc5fdb059b9b
>> --- /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
>>
More information about the openwrt-devel
mailing list