Cannot get VLAN working Xiaomi AC2100

Hello Guys,
i desperate to get VLAN 802.1Q working on Xiaomi AC2100 (MediaTek MT7621). I compiled OpenWRT fresh from Snapshot and i also tested tag/v21.02.0-rc3. Everytime i configure VLAN on the predefined 'br-lan' device i instant lose the connection an luci want to revert the changes after 90 seconds.
Does anybody have an working configuration file or an hint whats going on? In the systemlog there are no fatal errors i think:

Sun Jun 13 22:06:02 2021 daemon.notice netifd: Interface 'lan' is now down
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.900145] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.905791] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.920997] device lan1 left promiscuous mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.926061] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.948276] mt7530 mdio-bus:1f lan1: Link is Down
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.956383] device lan2 left promiscuous mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.961355] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 0 addresses
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.987318] mt7530 mdio-bus:1f lan2: Link is Down
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.995268] device lan3 left promiscuous mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  234.999943] br-lan: port 3(lan3) entered disabled state
Sun Jun 13 22:06:02 2021 daemon.notice netifd: Interface 'lan' is disabled
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.110861] mt7530 mdio-bus:1f lan1: configuring for phy/gmii link mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.118122] 8021q: adding VLAN 0 to HW filter on device lan1
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.126853] br-lan: port 1(lan1) entered blocking state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.132230] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.138816] device lan1 entered promiscuous mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.155765] mt7530 mdio-bus:1f lan2: configuring for phy/gmii link mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.163121] 8021q: adding VLAN 0 to HW filter on device lan2
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.171936] br-lan: port 2(lan2) entered blocking state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.177199] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.183621] device lan2 entered promiscuous mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.200858] mt7530 mdio-bus:1f lan3: configuring for phy/gmii link mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.207947] 8021q: adding VLAN 0 to HW filter on device lan3
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.216853] br-lan: port 3(lan3) entered blocking state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.222210] br-lan: port 3(lan3) entered disabled state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.228735] device lan3 entered promiscuous mode
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.245191] br-lan: port 2(lan2) entered blocking state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.250496] br-lan: port 2(lan2) entered forwarding state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.256111] br-lan: port 1(lan1) entered blocking state
Sun Jun 13 22:06:02 2021 kern.info kernel: [  235.261521] br-lan: port 1(lan1) entered forwarding state
Sun Jun 13 22:06:02 2021 daemon.notice netifd: Interface 'lan' is enabled
Sun Jun 13 22:06:02 2021 daemon.notice netifd: Interface 'lan' is setting up now
Sun Jun 13 22:06:02 2021 daemon.notice netifd: Interface 'lan' is now up
Sun Jun 13 22:06:02 2021 daemon.notice netifd: Network device 'lan2' link is down
Sun Jun 13 22:06:02 2021 daemon.notice netifd: Network device 'lan1' link is down
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 1 addresses
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:06:02 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:06:02 2021 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)
Sun Jun 13 22:06:03 2021 kern.info kernel: [  235.969865] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:06:03 2021 kern.info kernel: [  235.975883] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:06:03 2021 daemon.notice netifd: bridge 'br-lan' link is down
Sun Jun 13 22:06:03 2021 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sun Jun 13 22:06:03 2021 daemon.err odhcpd[1724]: Failed to send to ff02::1%lan@br-lan (Address not available)
Sun Jun 13 22:06:04 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:06:04 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 1 addresses
Sun Jun 13 22:06:04 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:06:04 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:06:05 2021 kern.info kernel: [  238.242226] mt7530 mdio-bus:1f lan2: Link is Up - 1Gbps/Full - flow control rx/tx
Sun Jun 13 22:06:05 2021 kern.info kernel: [  238.249783] br-lan: port 2(lan2) entered blocking state
Sun Jun 13 22:06:05 2021 kern.info kernel: [  238.255023] br-lan: port 2(lan2) entered forwarding state
Sun Jun 13 22:06:05 2021 daemon.notice netifd: Network device 'lan2' link is up
Sun Jun 13 22:06:05 2021 daemon.notice netifd: bridge 'br-lan' link is up
Sun Jun 13 22:06:05 2021 daemon.notice netifd: Interface 'lan' has link connectivity
Sun Jun 13 22:06:06 2021 kern.info kernel: [  239.202230] mt7530 mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx
Sun Jun 13 22:06:06 2021 kern.info kernel: [  239.209774] br-lan: port 1(lan1) entered blocking state
Sun Jun 13 22:06:06 2021 kern.info kernel: [  239.215011] br-lan: port 1(lan1) entered forwarding state
Sun Jun 13 22:06:06 2021 daemon.notice netifd: Network device 'lan1' link is up
Sun Jun 13 22:06:07 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:06:07 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 1 addresses
Sun Jun 13 22:06:07 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:06:07 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Interface 'lan' is now down
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.904399] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.909772] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.927457] device lan1 left promiscuous mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.932288] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.963831] mt7530 mdio-bus:1f lan1: Link is Down
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.973618] device lan2 left promiscuous mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.978505] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 0 addresses
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:07:32 2021 kern.info kernel: [  324.999494] mt7530 mdio-bus:1f lan2: Link is Down
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.008694] device lan3 left promiscuous mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.013374] br-lan: port 3(lan3) entered disabled state
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Interface 'lan' is disabled
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.123601] mt7530 mdio-bus:1f lan1: configuring for phy/gmii link mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.130780] 8021q: adding VLAN 0 to HW filter on device lan1
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.139916] br-lan: port 1(lan1) entered blocking state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.145197] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.151578] device lan1 entered promiscuous mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.164162] mt7530 mdio-bus:1f lan2: configuring for phy/gmii link mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.171504] 8021q: adding VLAN 0 to HW filter on device lan2
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.180659] br-lan: port 2(lan2) entered blocking state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.185960] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.192390] device lan2 entered promiscuous mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.203677] mt7530 mdio-bus:1f lan3: configuring for phy/gmii link mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.210753] 8021q: adding VLAN 0 to HW filter on device lan3
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.219647] br-lan: port 3(lan3) entered blocking state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.224998] br-lan: port 3(lan3) entered disabled state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.231510] device lan3 entered promiscuous mode
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.243928] br-lan: port 2(lan2) entered blocking state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.249215] br-lan: port 2(lan2) entered forwarding state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.254808] br-lan: port 1(lan1) entered blocking state
Sun Jun 13 22:07:32 2021 kern.info kernel: [  325.260083] br-lan: port 1(lan1) entered forwarding state
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Interface 'lan' is enabled
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Interface 'lan' is setting up now
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Interface 'lan' is now up
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Network device 'lan2' link is down
Sun Jun 13 22:07:32 2021 daemon.notice netifd: Network device 'lan1' link is down
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 1 addresses
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:07:32 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:07:32 2021 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)
Sun Jun 13 22:07:33 2021 kern.info kernel: [  325.953851] br-lan: port 1(lan1) entered disabled state
Sun Jun 13 22:07:33 2021 kern.info kernel: [  325.959803] br-lan: port 2(lan2) entered disabled state
Sun Jun 13 22:07:33 2021 daemon.notice netifd: bridge 'br-lan' link is down
Sun Jun 13 22:07:33 2021 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sun Jun 13 22:07:33 2021 daemon.err odhcpd[1724]: Failed to send to ff02::1%lan@br-lan (Address not available)
Sun Jun 13 22:07:34 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:07:34 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 1 addresses
Sun Jun 13 22:07:34 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:07:34 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Sun Jun 13 22:07:35 2021 kern.info kernel: [  328.258274] mt7530 mdio-bus:1f lan2: Link is Up - 1Gbps/Full - flow control rx/tx
Sun Jun 13 22:07:35 2021 kern.info kernel: [  328.265821] br-lan: port 2(lan2) entered blocking state
Sun Jun 13 22:07:35 2021 kern.info kernel: [  328.271060] br-lan: port 2(lan2) entered forwarding state
Sun Jun 13 22:07:35 2021 daemon.notice netifd: Network device 'lan2' link is up
Sun Jun 13 22:07:35 2021 daemon.notice netifd: bridge 'br-lan' link is up
Sun Jun 13 22:07:35 2021 daemon.notice netifd: Interface 'lan' has link connectivity
Sun Jun 13 22:07:36 2021 kern.info kernel: [  329.218351] mt7530 mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx
Sun Jun 13 22:07:36 2021 kern.info kernel: [  329.225913] br-lan: port 1(lan1) entered blocking state
Sun Jun 13 22:07:36 2021 kern.info kernel: [  329.231184] br-lan: port 1(lan1) entered forwarding state
Sun Jun 13 22:07:36 2021 daemon.notice netifd: Network device 'lan1' link is up
Sun Jun 13 22:07:37 2021 daemon.info dnsmasq[2715]: read /etc/hosts - 4 addresses
Sun Jun 13 22:07:37 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/odhcpd - 1 addresses
Sun Jun 13 22:07:37 2021 daemon.info dnsmasq[2715]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sun Jun 13 22:07:37 2021 daemon.info dnsmasq-dhcp[2715]: read /etc/ethers - 0 addresses
Powered by LuCI openwrt-21.02 branch (git-21.163.64918-ba57ec5) / OpenWrt 21.02.0-rc3 r16172-2aba3e9784


Thanks for help & best regards!

Same problem.
And there is packet loss between each port.

Hello,

i figured out an "solution". Threrfore is use the router only as an access point this is okay for me. But the problem should be fixed in code.

I figured out that the current version i broken. If you want to commit the vlan settings the router is rebooting an revert everything to the stock settings.
Step #1. Checkout this commit, compile and flash:

git checkout 479a2a90f782209b29dd9746d241fc1e67836309

Step #2. Configure your vlans manual with the dsa syntax similiar like my example:


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option packet_steering '1'
	option ula_prefix 'fd6e:b8da:b0cc::/48'

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

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.1.8'

config interface 'vlan20'
	option proto 'none'
	option device 'br-vlan20'

config device
	option name 'br-vlan20'
	option type 'bridge'
	list ports 'wan.20'
	list ports 'lan1.20'
	list ports 'lan2.20'
	list ports 'lan3.20'

config interface 'vlan4094'
	option proto 'none'
	option device 'br-vlan4094'

config device
	option name 'br-vlan4094'
	option type 'bridge'
	list ports 'wan.4094'
	list ports 'lan1.4094'
	list ports 'lan2.4094'
	list ports 'lan3.4094'

then it should work!
Let me know if you need the firmware precompiled i have the binaries.
Maybe i have free time to investigate this in code but in the moment i works.

Best regards