I ran into the same issue after updating the kernel. Florian Fainelli told me, that with newer kernels, we need to specify "vlan_filtering 1" during creation of the bridge. Otherwise all the switch ports may end up in dumb switch mode (no separation between WAN and LAN ports). The only problem, when still on Debian Jessie: the ip command doesn't accept this option. So, I ended up upgrading from Jessie to Stretch. Here are the steps starting from the bricked device via serial console:
Jessie with too new kernel (4.19)
remove bound IPs (LAN: 192.168.0.20, WAN: 192.168.1.3)from bridge
root@lamobo:~# bridge vlan show
port vlan ids
wlan0 1 PVID Egress Untagged
eth0.102 1 PVID Egress Untagged
br0 1 PVID Egress Untagged
root@lamobo:~# ip addr show
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group defa0
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global mngtmpaddr dynamic
valid_lft forever preferred_lft forever
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope link
valid_lft forever preferred_lft forever
12: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group0
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.0.20/24 brd 192.168.0.255 scope global br0
valid_lft forever preferred_lft forever
inet 192.168.1.3/24 brd 192.168.1.255 scope global br0
valid_lft forever preferred_lft forever
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope link
valid_lft forever preferred_lft forever
root@lamobo:~# ip addr del 192.168.0.20/24 dev br0
root@lamobo:~# ip addr del 192.168.1.3/24 dev br0
assign desired IP to eth0 (since switch is in unconfigured mode)
root@lamobo:~# ip addr add 192.168.0.20/24 dev eth0
root@lamobo:~# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) bytes of data.
64 bytes from 192.168.0.200: icmp_seq=1 ttl=64 time=0.701 ms
root@lamobo:~# route add default gw 192.168.0.200
root@lamobo:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=51 time=25.7 ms
Follow the Debian Distribution Upgrade Guide
change in /etc/apt/preferences.d/90-backports.pref instances of "jessie" to "stretch"
change in /etc/apt/sources.list.d/armbian.list and /etc/apt/sources.list instances of "jessie" to "stretch"
root@lamobo:/home/mbs# apt-get update
root@lamobo:/home/mbs# apt-get dist-upgrade
put new DSA compatible /etc/network/interfaces in place (change "pre-up ip link add br53125 type bridge" to "pre-up ip link add br53125 type bridge vlan_filtering 1" )
reboot
When using a fresh downloaded image, a properly configured /etc/network/interfaces file also containing "vlan_filtering 1" works as well, but I had some issues to get hostapd running. First off, the wifi interface name changed from wlan0 to wl<mac-address>. Besides, I had some problems with blocked radio. It seems, uninstalling network-manager helps (I don't see a reason to have network-manager on a router). Otherwise, the rfkill tool helps in resolving this issue.