Linksys WRT1900ACS v2 swconfig to DSA - Unable to reimplement configuration

I switched from v19.07 to v21.02 on my Linksys WRT1900ACS v2, and I am now trying to reimplement VLANs I was using on the old system on the new one.

I must point out I read:

The conversion page takes the example of the basic VLAN layout in swconfig and explains how to implement it in DSA.
The steps are:

  1. Adding the wan Network device to the br-lan Bridge device
  2. Adding lan[1-3] ports (lan4 is excluded) to VLAN №1 as untagged, Primary VLAND ID
  3. Adding wan port to VLAN №2 as untagged, Primary VLAND ID
  4. Assigning br-lan.1 VLAN Device to lan Interface

Here are the changes recorded before attempting to apply them:

uci add network bridge-vlan # =cfg0da1b0
uci set network.@bridge-vlan[-1].device='br-lan'
uci set network.@bridge-vlan[-1].vlan='1'
uci add_list network.@bridge-vlan[-1].ports='lan1:u*'
uci add_list network.@bridge-vlan[-1].ports='lan2:u*'
uci add_list network.@bridge-vlan[-1].ports='lan3:u*'
uci add network bridge-vlan # =cfg0ea1b0
uci set network.@bridge-vlan[-1].device='br-lan'
uci set network.@bridge-vlan[-1].vlan='2'
uci add_list network.@bridge-vlan[-1].ports='wan:u*'
uci del network.cfg030f15.ports
uci add_list network.cfg030f15.ports='lan1'
uci add_list network.cfg030f15.ports='lan2'
uci add_list network.cfg030f15.ports='lan3'
uci add_list network.cfg030f15.ports='wan'
uci set network.lan.device='br-lan.1'

However, whenever I try to set this up through LuCI, the configuration fails to apply.

I'd suggest to try to do the conversation via wireless, this also simplifies debugging the configuration in case it does not stick / does not result in working connectivity.

From a quick glance, the uci changelog does look correct though

I am not sure I understand.

Whenever I try to apply those changes through LuCI, the wireless radio resets (as with any change on wireless configuration), but fails to come back after 90s.
When the wireless connection pops back up, the staged changes are still staged, meaning a rollback has occurred.

Is there any way to debug those changes? To know exactlly where things went wrong and why?

The only way I could caputre logs was through dmesg.

Loads of messages comming from the mv88e6085 f1072004.mdio-mii:00 facility.
Here are the ones catching my attention:

[34215.573306] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34215.614448] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port

With swconfig, IIRC ports 0 & 1 were the 2 CPUs.
I got 2 devices:

  • br-lan on ports lan[1-3] (+ wan for the needs of VLAN, following the conversion instructions from swconfig), used by a lan interface
  • br-lanp on port lan4 used by a lanp interface

I did not set VLAN up on the br-lanp, so why is anything attempted with lan4?

The conflict on the CPU confuses me too.
The lan interface is being used by 2 wireless ESSID, one on each radio (radio0 802.11nac & radio1 802.11bgn).
Is this where the struggle comes from? Why?

Full log
[34213.976667] br-lan: port 6(wan) entered blocking state
[34213.981831] br-lan: port 6(wan) entered disabled state
[34213.988749] device wan entered promiscuous mode
[34213.997321] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34214.004245] br-lan: port 6(wan) entered blocking state
[34214.009414] br-lan: port 6(wan) entered forwarding state
[34214.030230] br-lan: port 6(wan) entered disabled state
[34214.035455] br-lan: port 5(wlan0) entered disabled state
[34214.040832] br-lan: port 4(wlan1) entered disabled state
[34214.064358] device lan1 left promiscuous mode
[34214.068818] br-lan: port 1(lan1) entered disabled state
[34214.134109] device lan2 left promiscuous mode
[34214.138565] br-lan: port 2(lan2) entered disabled state
[34214.201712] device lan3 left promiscuous mode
[34214.206167] br-lan: port 3(lan3) entered disabled state
[34214.263382] device wan left promiscuous mode
[34214.267742] br-lan: port 6(wan) entered disabled state
[34214.314950] device wlan0 left promiscuous mode
[34214.319448] br-lan: port 5(wlan0) entered disabled state
[34214.382998] device wlan1 left promiscuous mode
[34214.387504] br-lan: port 4(wlan1) entered disabled state
[34214.519661] mv88e6085 f1072004.mdio-mii:00 lan4: configuring for phy/gmii link mode
[34214.529809] 8021q: adding VLAN 0 to HW filter on device lan4
[34214.535602] br-lanp: port 2(lan4) entered blocking state
[34214.540936] br-lanp: port 2(lan4) entered disabled state
[34214.551488] device lan4 entered promiscuous mode
[34214.567290] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34214.598136] br-lanp: port 1(wlan0-1) entered disabled state
[34214.605690] device lan4 left promiscuous mode
[34214.610135] br-lanp: port 2(lan4) entered disabled state
[34214.681726] device wlan0-1 left promiscuous mode
[34214.686419] br-lanp: port 1(wlan0-1) entered disabled state
[34214.812688] mv88e6085 f1072004.mdio-mii:00 lan1: configuring for phy/gmii link mode
[34214.824640] 8021q: adding VLAN 0 to HW filter on device lan1
[34214.876842] br-lan: port 1(lan1) entered blocking state
[34214.882099] br-lan: port 1(lan1) entered disabled state
[34214.888031] device lan1 entered promiscuous mode
[34214.896763] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34214.923314] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34214.936967] mv88e6085 f1072004.mdio-mii:00: port 6 failed to delete f6:5c:69:07:be:ca vid 2 from fdb: -95
[34214.946672] mv88e6085 f1072004.mdio-mii:00 lan2: configuring for phy/gmii link mode
[34214.959031] 8021q: adding VLAN 0 to HW filter on device lan2
[34214.971709] mv88e6085 f1072004.mdio-mii:00: port 6 failed to add c4:41:1e:30:40:ff vid 2 to fdb: -95
[34215.016006] br-lan: port 2(lan2) entered blocking state
[34215.021262] br-lan: port 2(lan2) entered disabled state
[34215.027606] device lan2 entered promiscuous mode
[34215.036406] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34215.054226] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34215.061582] mv88e6085 f1072004.mdio-mii:00 lan3: configuring for phy/gmii link mode
[34215.073983] 8021q: adding VLAN 0 to HW filter on device lan3
[34215.124528] br-lan: port 3(lan3) entered blocking state
[34215.129785] br-lan: port 3(lan3) entered disabled state
[34215.136322] device lan3 entered promiscuous mode
[34215.145050] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34215.162830] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34215.169861] br-lan: port 4(wan) entered blocking state
[34215.175041] br-lan: port 4(wan) entered disabled state
[34215.181823] device wan entered promiscuous mode
[34215.190480] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34215.263984] br-lan: port 5(wlan0) entered blocking state
[34215.269338] br-lan: port 5(wlan0) entered disabled state
[34215.274796] device wlan0 entered promiscuous mode
[34215.292674] br-lan: port 6(wlan1) entered blocking state
[34215.298034] br-lan: port 6(wlan1) entered disabled state
[34215.303461] device wlan1 entered promiscuous mode
[34215.337834] br-lan: port 6(wlan1) entered blocking state
[34215.343173] br-lan: port 6(wlan1) entered forwarding state
[34215.348719] br-lan: port 5(wlan0) entered blocking state
[34215.354054] br-lan: port 5(wlan0) entered forwarding state
[34215.359588] br-lan: port 4(wan) entered blocking state
[34215.364753] br-lan: port 4(wan) entered forwarding state
[34215.377365] br-lanp: port 1(wlan0-1) entered blocking state
[34215.382985] br-lanp: port 1(wlan0-1) entered disabled state
[34215.388787] device wlan0-1 entered promiscuous mode
[34215.395222] br-lanp: port 1(wlan0-1) entered blocking state
[34215.400848] br-lanp: port 1(wlan0-1) entered forwarding state
[34215.494075] mv88e6085 f1072004.mdio-mii:00 lan4: configuring for phy/gmii link mode
[34215.506511] 8021q: adding VLAN 0 to HW filter on device lan4
[34215.556184] br-lanp: port 2(lan4) entered blocking state
[34215.561523] br-lanp: port 2(lan4) entered disabled state
[34215.567477] device lan4 entered promiscuous mode
[34215.573306] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34215.614448] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34215.635145] br-lanp: port 2(lan4) entered blocking state
[34215.640486] br-lanp: port 2(lan4) entered disabled state
[34215.647538] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34215.694396] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34215.715138] br-lanp: port 2(lan4) entered blocking state
[34215.720476] br-lanp: port 2(lan4) entered disabled state
[34215.727511] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34215.774393] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34215.795186] br-lanp: port 2(lan4) entered blocking state
[34215.800534] br-lanp: port 2(lan4) entered disabled state
[34215.807662] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34215.844394] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34215.873836] br-lanp: port 1(wlan0-1) entered disabled state
[34215.881417] device wlan0-1 left promiscuous mode
[34215.886138] br-lanp: port 1(wlan0-1) entered disabled state
[34216.049700] br-lanp: port 1(wlan0-1) entered blocking state
[34216.055350] br-lanp: port 1(wlan0-1) entered disabled state
[34216.061141] device wlan0-1 entered promiscuous mode
[34216.068336] br-lanp: port 1(wlan0-1) entered blocking state
[34216.073951] br-lanp: port 1(wlan0-1) entered forwarding state
[34216.124494] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[34304.373049] br-lan: port 6(wlan1) entered disabled state
[34304.378425] br-lan: port 5(wlan0) entered disabled state
[34304.383785] br-lan: port 4(wan) entered disabled state
[34304.414469] device lan1 left promiscuous mode
[34304.418921] br-lan: port 1(lan1) entered disabled state
[34304.457020] device lan2 left promiscuous mode
[34304.461485] br-lan: port 2(lan2) entered disabled state
[34304.516709] device lan3 left promiscuous mode
[34304.521156] br-lan: port 3(lan3) entered disabled state
[34304.576288] device wan left promiscuous mode
[34304.580641] br-lan: port 4(wan) entered disabled state
[34304.632116] device wlan0 left promiscuous mode
[34304.636628] br-lan: port 5(wlan0) entered disabled state
[34304.683119] device wlan1 left promiscuous mode
[34304.687621] br-lan: port 6(wlan1) entered disabled state
[34304.864277] mv88e6085 f1072004.mdio-mii:00 lan4: configuring for phy/gmii link mode
[34304.876681] 8021q: adding VLAN 0 to HW filter on device lan4
[34304.924166] br-lanp: port 2(lan4) entered blocking state
[34304.929505] br-lanp: port 2(lan4) entered disabled state
[34304.939432] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34304.960546] br-lanp: port 1(wlan0-1) entered disabled state
[34304.968128] br-lanp: port 2(lan4) entered disabled state
[34305.038031] device wlan0-1 left promiscuous mode
[34305.042708] br-lanp: port 1(wlan0-1) entered disabled state
[34305.165564] mv88e6085 f1072004.mdio-mii:00 lan1: configuring for phy/gmii link mode
[34305.178168] 8021q: adding VLAN 0 to HW filter on device lan1
[34305.229975] br-lan: port 1(lan1) entered blocking state
[34305.235243] br-lan: port 1(lan1) entered disabled state
[34305.241129] device lan1 entered promiscuous mode
[34305.249809] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34305.272380] mv88e6085 f1072004.mdio-mii:00 lan2: configuring for phy/gmii link mode
[34305.284754] 8021q: adding VLAN 0 to HW filter on device lan2
[34305.339960] br-lan: port 2(lan2) entered blocking state
[34305.345222] br-lan: port 2(lan2) entered disabled state
[34305.351410] device lan2 entered promiscuous mode
[34305.360031] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34305.369786] mv88e6085 f1072004.mdio-mii:00 lan3: configuring for phy/gmii link mode
[34305.382151] 8021q: adding VLAN 0 to HW filter on device lan3
[34305.434552] br-lan: port 3(lan3) entered blocking state
[34305.439803] br-lan: port 3(lan3) entered disabled state
[34305.446343] device lan3 entered promiscuous mode
[34305.454951] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34305.464556] br-lan: port 4(wan) entered blocking state
[34305.469719] br-lan: port 4(wan) entered disabled state
[34305.476537] device wan entered promiscuous mode
[34305.485082] mv88e6085 f1072004.mdio-mii:00: p6: already a member of VLAN 1
[34305.503238] br-lan: port 5(wlan0) entered blocking state
[34305.508577] br-lan: port 5(wlan0) entered disabled state
[34305.514024] device wlan0 entered promiscuous mode
[34305.527765] br-lan: port 6(wlan1) entered blocking state
[34305.533132] br-lan: port 6(wlan1) entered disabled state
[34305.538566] device wlan1 entered promiscuous mode
[34305.560918] br-lan: port 6(wlan1) entered blocking state
[34305.566265] br-lan: port 6(wlan1) entered forwarding state
[34305.571797] br-lan: port 5(wlan0) entered blocking state
[34305.577141] br-lan: port 5(wlan0) entered forwarding state
[34305.582669] br-lan: port 4(wan) entered blocking state
[34305.587838] br-lan: port 4(wan) entered forwarding state
[34305.596676] br-lanp: port 1(wlan0-1) entered blocking state
[34305.602288] br-lanp: port 1(wlan0-1) entered disabled state
[34305.608135] device wlan0-1 entered promiscuous mode
[34305.614094] br-lanp: port 1(wlan0-1) entered blocking state
[34305.619712] br-lanp: port 1(wlan0-1) entered forwarding state
[34305.695564] device wan left promiscuous mode
[34305.699970] br-lan: port 4(wan) entered disabled state
[34305.777955] mv88e6085 f1072004.mdio-mii:00 lan4: configuring for phy/gmii link mode
[34305.790310] 8021q: adding VLAN 0 to HW filter on device lan4
[34305.843136] br-lanp: port 2(lan4) entered blocking state
[34305.848476] br-lanp: port 2(lan4) entered disabled state
[34305.855723] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34305.902952] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34305.923565] br-lanp: port 2(lan4) entered blocking state
[34305.928900] br-lanp: port 2(lan4) entered disabled state
[34305.936001] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34305.982943] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34306.003529] br-lanp: port 2(lan4) entered blocking state
[34306.008869] br-lanp: port 2(lan4) entered disabled state
[34306.015954] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34306.062942] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34306.083447] br-lanp: port 2(lan4) entered blocking state
[34306.088782] br-lanp: port 2(lan4) entered disabled state
[34306.095810] mv88e6085 f1072004.mdio-mii:00: p0: hw VLAN 1 already used by port 1 in br-lan
[34306.142941] mv88e6085 f1072004.mdio-mii:00 lan4: failed to initialize vlan filtering on this port
[34306.171826] br-lanp: port 1(wlan0-1) entered disabled state
[34306.179325] device wlan0-1 left promiscuous mode
[34306.184006] br-lanp: port 1(wlan0-1) entered disabled state
[34306.305884] br-lanp: port 1(wlan0-1) entered blocking state
[34306.311501] br-lanp: port 1(wlan0-1) entered disabled state
[34306.317299] device wlan0-1 entered promiscuous mode
[34306.325143] br-lanp: port 1(wlan0-1) entered blocking state
[34306.330758] br-lanp: port 1(wlan0-1) entered forwarding state

I find myself in a similar situation as I've just updated my Linksys WRT3200ACM to OpenWrt 21.02.2 and have been playing around with the DSA configuration.

Based on what I've seen so far, this is the core of the problem. Try removing your br-lanp bridge, and you will see that your VLANs will start working!

There's no way for me to get two bridges running at the same time for some weird reason despite the fact that it's documented in the Mini DSA Tutorial. This is what happens when I add another bridge named br-test:

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option device 'br-lan'

config bridge-vlan
	option device 'br-lan'
	list ports 'lan1'
	option vlan '1'

config bridge-vlan
	option device 'br-lan'
	option vlan '100'
	list ports 'lan3'
	list ports 'lan4'

config device
	option type 'bridge'
	option name 'br-test'
	list ports 'lan2'

config interface 'test'
	option proto 'static'
	option ipaddr '192.168.2.1'
	option netmask '255.255.255.0'
	option device 'br-test'

The second bridge is always down:

# ip addr show dev br-test
24: br-test: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether ae:98:88:e5:de:c8 brd ff:ff:ff:ff:ff:ff

dmesg:

[68519.261382] mv88e6085 f1072004.mdio-mii:00 lan2: configuring for phy/gmii link mode
[68519.274945] 8021q: adding VLAN 0 to HW filter on device lan2
[68519.328836] br-test: port 1(lan2) entered blocking state
[68519.334175] br-test: port 1(lan2) entered disabled state
[68519.340115] device lan2 entered promiscuous mode
[68519.345885] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.387664] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68519.408097] br-test: port 1(lan2) entered blocking state
[68519.413435] br-test: port 1(lan2) entered disabled state
[68519.420404] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.467691] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68519.488110] br-test: port 1(lan2) entered blocking state
[68519.493448] br-test: port 1(lan2) entered disabled state
[68519.500430] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.537715] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68519.558155] br-test: port 1(lan2) entered blocking state
[68519.563491] br-test: port 1(lan2) entered disabled state
[68519.570477] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.617740] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68519.744969] mv88e6085 f1072004.mdio-mii:00 lan2: configuring for phy/gmii link mode
[68519.758069] 8021q: adding VLAN 0 to HW filter on device lan2
[68519.811676] br-test: port 1(lan2) entered blocking state
[68519.817016] br-test: port 1(lan2) entered disabled state
[68519.824131] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.847837] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68519.868324] br-test: port 1(lan2) entered blocking state
[68519.873664] br-test: port 1(lan2) entered disabled state
[68519.880803] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.917844] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68519.938280] br-test: port 1(lan2) entered blocking state
[68519.943616] br-test: port 1(lan2) entered disabled state
[68519.950603] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68519.997870] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port
[68520.018316] br-test: port 1(lan2) entered blocking state
[68520.023652] br-test: port 1(lan2) entered disabled state
[68520.030637] mv88e6085 f1072004.mdio-mii:00: p2: hw VLAN 1 already used by port 3 in br-lan
[68520.077896] mv88e6085 f1072004.mdio-mii:00 lan2: failed to initialize vlan filtering on this port

I don't really need VLANs to separate my two networks. Two bridges would work perfectly. But for the time being, the only way that works for me is one bridge with VLAN filtering enabled.

Judging fro mthe error log entry, I was precisely worried about exactly that…
Thanks for thoroughly testing!

Yeah, either using separate bridges or separate VLANs on the same bridge could be enough to separate networks, provided you can assign different firewall zones to each, ensuring proper isolation.

I opened an associatedGitHub issue openwrt/openwrt#9678, if you are interested @neoxic.


Off-topip, but would you also be impacted by another problem I encountered on this hardware? Cf. openwrt/openwrt#9677 & Linksys WRT1900ACS v2 - v21.02 - DHCPv6 on LAN interface

I added my five cents to the issue on GitHub. Thanks!

As to your IPv6 issue, I can't really confirm that I'm impacted since I don't have IPv6 support from my ISP. Hence I have IPv6 disabled completely.