Oh yes, WRT1900ACS is impacted. I somehow managed to minimize occurences/or got rid of it (I thought it already and then boom, it happened again), but it was present.
remove wpad-basic-wolfssl, install wpad-basic (you have to be connected via cable)
add the following line to /etc/rc.local (before exit 0) echo "0" >> /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu && echo "0" >> /sys/kernel/debug/ieee80211/phy1/mwlwifi/tx_amsdu && logger "AMSDU Disabled"
reboot
The wifi cutouts (device stays connected to wifi, but cannot even reach router) stopped almost completely, I haven't had a single cutout since I had added above line to /etc/rc.local. Not saying that it's 100% fixed, but it looks like so or very closely to 100%.
Updating the module mac80211.ko directly, extracted from the ipk from @cotequeiroz and copied over the existing mac80211.ko module on 21.02.1 has been successful.
This is very easily the best wireless experience I have ever had on my iPhone XR with my WRT3200ACM. The wireless cutouts are gone, absolutely. But everything in general is just smoother and faster.
I have experienced a problem with the ipk installation, though. No errors, but opkg would always choose to download and install mac80211 from OpenWrt server instead.
EDIT: The only success that I have with replacing the mac80211 package via opkg is prior to opkg update with the following command:
So if you try to run that after updating the opkg package lists, it will forcefully download the package from OpenWrt servers and give you the bad module with wireless cutouts. The command absolutely has to be done before updating opkg lists.
Thanks for tracking this down. I'm pretty sure that this is a regression in mac80211, since mwlwifi is not the only driver relying on being able to change params.ssn. I believe the ability to change it is by design, and the commit that you found broke it.
I sent my patch to linux-wireless already. However, from here on it takes quite a bit of time until it hits Linux stable trees. First it has to be picked by Johannes Berg for and added to the mac80211 tree for 5.16. From there it has to go into Linus' tree, and only then can it be picked up for inclusion into stable trees. That process often takes more than just a few days.
I tagged the patch with Cc: stable@..., so it will automatically be picked up once it hits mainline.
That said, I expect my patch to be accepted, since it's a simple and obvious fix for the regression, that's why I pushed it to OpenWrt master and 21.02 already.
@nbd thanks a lot for taking this to the linux-stable@. I didn't look into, though hope you did it right and we will get your patch upstreamed, thus credible openwrt changes. I have couple of 3200acm I'd like to run on a recent openwrt release. Sorry I couldn't test patches, though you guys made an incredible work to narrow down the issue. Looking forward to see fixed and working upcoming release. <3 Thanks!
Just wanted to say as a WRT3200ACM user I have been following the progress of this thread and dedication of the troubleshooting and fault finding undertaken to find the issue has been amazing.
Thanks to everyone who tested and helped find the offending commit, certainly looks promising for using 21.02 on the WRT3200ACM in the next release in a more stable fashion for wireless when it gets backported.
Thanks to each and every one of you for pouring your time into troubleshooting and finally fixing the issue upstream. I added information on the main post with @nbd's replies.