Glad you narrowed it down! It's pretty normal you can't roll back just the one commit, since those build on the previous ones. When you check the commit log, you'll see the commits in the external git tree that are part of the bump:
$ git show fe498dd3f1
Author: Felix Fietkau <email@example.com>
Date: Fri Jun 4 09:11:37 2021 +0200
netifd: update to the latest version
61a71e5e49c3 bridge: dynamically create vlans for hotplug members
cb6ee9608e10 bridge: fix dynamic delete of hotplug vlans
7f199050f395 wireless: pass the real network ifname to the setup script
50381d0a2998 bridge: allow adding/removing VLANs to configured member ports via hotplug
f12b073c0cc3 wireless: add some comments to functions
b0d090688302 bridge: fix setting pvid for updated vlans
ff3764ce28e0 device: move hotplug handling logic from system-linux.c to device.c
16bff892f415 ubus: add a dummy mode ubus call to simulate hotplug events
7f30b02013f2 examples: make dummy wireless vif names shorter
013a1171e9b0 device: do not treat devices with non-digit characters after . as vlan devices
f037b082923a wireless: handle WDS per-sta devices
db0fa24e1c17 bridge: fix enabling hotplug-added VLANs on the bridge port
4e92ea74273f bridge: bring up pre-existing vlans on hotplug as well
1f283c654aeb bridge: fix hotplug vlan overwrite on big-endian systems
I'm betting your issue is caused by one of the wireless changes, the repo is here. A final test would be to build directly from the git repo instead of using the git tarball the build environment pulls. At this point, you can just recompiled the single netifd package and upgrade/downgrade it with
opkg to your liking. No need to keep reflashing firmwares.
My money would be the
f037b082923a netifd commit. I've tried myself to revert just that in the netifd tree but it won't let me, so its time to call in the cavalry. I'd recommend you try IRC and ping @nbd there to see if he can assist, he committed
fe498dd3f1 and did a lot of work on refactoring the networking code. Not sure if he replies on/reads the forum, and IRC makes for an easier back and forth (more realtime than a forum).
I'll include a quick write-up for completeness' sake on how to build straight from the git tree. It might expedite things if you already test a few commits.
CONFIG_SRC_TREE_OVERRIDE in the buildroot settings.
- Grab the netifd git tree and link it into your OpenWrt buildroot as follows:
$ git clone git://git.openwrt.org/project/netifd.git
$ cd path/to/21.01_tree/
$ ln -sv /path/to/netifd_git_tree package/network/config/netifd/git-src/
$ make package/netifd/clean,compile} V=s
Install new netifd package on your router and test.
If you need to test a specific earlier commit, extend 2. with the following commands:
$ cd /path/to/netifd_git_tree
$ git checkout $git_hash
To revert a specific commit:
$ git revert f037b082923a
After that you can run 3. again. What I'd recommend is you build from netifd source before prodding nbd (he'll probably ask you to do so anyway so you can test patches at some point). Commit
013a117 is the commit prior to
f037b08 (the WDS change), so if you check out that first commit, build from there, and it works, then build an image from commit
db0fa24 (the commit after), you can be pretty sure the WDS one is the one causing trouble.