[master-WRT1900ACSv2] Switch disappeared from my own compiled firmware

I've just finished flashing a master build firmware for my Linksys WRT1900ACS v2 and 'switch' has disappeared from the bootstrap menu 'Network > Switch' in LuCI. Additionally there is no switch configuration in the '/etc/config/network' file.

Any ideas what's missing?

That explains everything. My kernel version is '5.4.48'. How do I roll the kernel version back but stay on the master trunk?

i think what you mean is; "how do I revert dsa / re-instate swconfig for mvebu on master"

1 Like

Yh that would be the real solution.

Do I enable kmod-swconfig under Kernel modules > Network devices and Base system in make menuconfig? How do I disable DSA though...

A revert, but to my knowledge there are no issues with DSA, you just have to adjust a couple of configs, ain't no big. See thread, or PR2942 for examples if you are doing more than something basic.

If it's not too complicated please think about to revert back to swconfig, I think a lot of users of your builds would welcome this as well...

Simple VLAN tag management works through LuCI | UCI with the same underlying concept of swconfig (utilising ip l a l [iface] n [iface.vid] type vlan id [vid]); just the switch section is absent from LuCI. The downside of that concept is that traffic between switch ports gets routed/processed via the CPU instead of remaining within the switch fabric and DSA's native vlan filtering does not work that way.

The lack of support for advanced VLAN tag management with the bridge command through UCI | LuCI is known for more than a year https://github.com/openwrt/luci/issues/2798 but can be worked around with scripts that leverage the bridge command.

Maybe take a look and find some inspiration from this rejected PR https://github.com/openwrt/openwrt/pull/3074/commits/8b6faf319ddf5ebb1d17802b8a8842e4f29cde97

That isn't entirely correct, if you try and do a lan to lan transfer, the switch does all the work and the CPU's eth0 and eth1 remain unused.

Not necessarily, I mean, there was an issue with clan filtering, but (I believe) that issue got solved some time ago and is now fixed, the issue that's currently breaking DSA (at least in Marvell chips) is for example bridging lan1 with lan2.12 , the traffic doesn't flow between the hosts connected to those ports, but for example if the mentioned ports are connected to the lan interface (Wich has it's own IP address, DHCP server, etc.) You can ping the interface's address and receive and send traffic to the bridge, which is very weird if you ask me.

That is as long as Lan ports are not 802.1Q tagged with

and resulting in interfaces something like lan0.1 and lan1.1. If however tagged that way (ip l) the traffic is processed via CPU as the kernel takes control over 802.1Q tagged traffic.
The outcome is different when 802.1Q tagging with the bridge command where DSA has control over 802.1Q tagged traffic and let the switch handle it.

How are you 802.1Q tagging lan2.12, with the bridge command or the ip l command?

Pardon, but lost me there with mentioned ports (?) vs interface

I didn't need too much inspiration to revert DSA, it can be easily done by downloading the patch from the PR to the root of the build directory and apply it.

wget https://github.com/jwitcher22/openwrt/commit/8e0ca2ddfb0c422e8624a2703adf088647a39d39.patch
git am 8e0ca2ddfb0c422e8624a2703adf088647a39d39.patch

No DSA build if anyone wants to test:https://www.dropbox.com/sh/c9qc4hmagzlar82/AAC3bxwjEAILuhI9uYpYRTvQa?dl=0
I had only tried on wrt 3200 and wrt1900acs so flash with caution.

1 Like

I will give this patch a go. It would be nice if we could select if we want DSA or not when using make menuconfig.

I got my head around VLAN's using the old and favoured switch config in OpenWrt along with my 24-port network switch I successfully setup a VLAN trunk with. To learn DSA is another learning curve which I don't have time to learn at the moment as I'm currently doing other online education courses.

1 Like

May want to take a look at DSA via UCI

1 Like

How do I use this patch mind me asking?

On patchwork use the mbox button to download, you can apply with either patch -p1 < patch or git am, you will have to run menuconfig to select the new package. current UCI stanza description, close to what was there with swconfig setup. I have not gotten around to changing over from current hotplug setup, so cannot attest to functionality.