Users needed to test Wi-Fi stability on Linksys WRT3200ACM & WRT32X on OpenWrt 21.02

Chiming in just to add me to the list of those having wifi problems with WRT3200acm and 21.02.0. I use a WRT3200ACM as main router and WAN connection and I also have a WRT1900ACv2 cabled in as another AP. Both run great with 19.07.8 and the WRT1900ACv2 seems OK with 21.02.0-rc4 but the WRT3200ACM is to unstable using 21.02.0-rc4 to continue with. I'm nowhere near your levels of talent with these units but my setup problems have me following this thread. Another quirk that I don't think I saw mentioned is that I add an additional WiFi network setup. It allows me to to disable WMM for a few older IOT's that need it off.

config wifi-iface 'wifinet3'
option encryption 'psk2'
option device 'radio1'
option mode 'ap'
option key 'xxxxxxxx'
option wmm '0'
option ssid 'IOT24'
option network 'lan

This has worked with 19.7.8 on both routers and continues to function on the WRT1900ACv2 running 21.02.0-rc4 but has never worked on the WRT3200ACM running any -rc version of 21.02.0. Don't know if this would be related or not.

Thanks for listening to me.

This is exactly the issue I’m having on my WRT32X.

option disassoc_low_ack '0'

From my perpective, this might even be a more general issue. I had the issue on WRT32X and on Mediatek MT76.

I currently have this issue for one IoT device recently joined to WiFi and the issue is also there on V19.07, if this option is on (it is default on on OpenWRT images). Picky devices do not seem to like this option being on. Took me quite a while to identify the cause.

I tend to say this option should be made default-off on all routers in future OpenWRT deployments, to make OpenWRT more user friendly out of the box.

This option seems like a feature made for professional environments to get rid of lazy clients early, to free some mem, but I do not understand at all the advantage of this feature being default-on in home environment.
I can find quite some threads when searching where this is recommended as fix.

2 Likes

WRT32X here too, I've had the issue on 21.02-rc's where I have to turn on/off wifi on my iPhone for the internet to respond. This doesn't happen on my ThinkPad, just iPhone. There is definitely a bug/problem in 21.02. Every other aspect of this firmware is phenomial except this but it's a dealbreaker because of how annoying it is.

@arinc9 i read through your post here: https://github.com/openwrt/openwrt/pull/4381 very interesdting findings.

Update: been running a Master snapshot for 1 week uptime now, this wifi stalling issue does not occur. Everything has been basically flawless. Sticking with Master for now.

3 Likes

Master branch, I suspect, has a proper fix to this so there’s no need to downgrade the firmware. I initially planned on backporting the fixes on the main branch to 21.02 branch but I can’t make up time to work on it.

1 Like

@phinn @arinc9 Another option worth trying is @eduperez was nice enough to create driver/firmware packages for RC4 specifically. I believe that it is compiled with the previous firmware blog and also a slightly older driver version. I have not tried it yet though.

Link: Pre-compiled updated mwlwifi drivers for stable releases - #696 by eduperez

1 Like

You say that master has a suspected fix for this, but I'm running the Divested build on Divested-WRT SNAPSHOT r17276+9-b1bff5cb57, and I'm seeing wifi issues that seem in line with this.

You can see my original message about it here in the Divested thread, with my follow up post here that describes seeing deauthenticated due to inactivity (timer DEAUTH/REMOVE) messages.

I'll admit that the issue does seem rare, sometimes I go a full 24 hours without seeing it and other days I've seen it at least twice in one day.

Is it worth trying your downgrade patch, or should I try something else?

The fix is supposed to solve the wireless cut-out issue. What you described here is something different.

Hmmm, darn. I wasn't sure what qualified as wifi cutout. Thanks for the clarification. I may try the downgrade patch to see if it fixes my issue.

This quote is quite descriptive of the issue we’re trying to fix.

(Sorry, cross posting just in case)

Yup, that's exactly the issue that I'm seeing. My phone will be connected to the wifi, but I can't even resolve 192.168.1.1 to access Luci.

I'm afraid that there was no change with running my WRT3200ACM on the old firmware.

Still had the same wifi cutout issues. Not quite sure what to do next, since master seems to have the same problem. Only thing I can think to try is to just keep updating to the latest master in hope it magically gets fixed.

Lots of similar issues reported on the Internet with Android having the "Connected without Internet". I played around some yesterday and switched to WPA2/WPA3 only. The two android phones would not connect at all but the macbook pro connected with WPA3. I think I read somewhere that WRT3200 will never support WPA3 because of driver issues. I'm running a master snapshot because I was also hoping that this issue with Android was fixed in the latest code.

Linux BytesRouter 5.10.57 #0 SMP Tue Aug 10 18:22:59 2021 armv7l GNU/Linux

I also played with the suggested fixes from the Android side:

Unmetered connection
Use phone mac (not random)
forget connection

None of the Android fixes above worked. There were two other suggested fixes by "resetting network settings" or "factory reset". Not going to factory reset my phone.

Also when I change from WPA2 (PSK) to WPA2/WPA3 (SAE-MIXED) the router starts to hang so I have to reboot to successfully switch to that mode. Here are the last messages printed that I can see:

Aug 15 01:02:56 BytesRouter hostapd: Remove interface 'wlan0'
Aug 15 01:02:56 BytesRouter hostapd: wlan0: interface state ENABLED->DISABLED
Aug 15 01:02:56 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx MLME: MLME-DEAUTHENTICATE.indication(14:7d::xx:xx:xx:xx, 1)
Aug 15 01:02:56 BytesRouter hostapd: wlan0: AP-STA-DISCONNECTED 14:7d:xx:xx:xx:xx
Aug 15 01:02:56 BytesRouter hostapd: wlan0: AP-DISABLED 
Aug 15 01:02:56 BytesRouter hostapd: wlan0: CTRL-EVENT-TERMINATING 
Aug 15 01:02:56 BytesRouter hostapd: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Aug 15 01:02:56 BytesRouter hostapd: nl80211: Failed to remove interface wlan0 from bridge br-lan: Invalid argument
Aug 15 01:03:16 BytesRouter kernel: [  288.212324] ieee80211 phy0: cmd 0x9122=UpdateEncryption timed out
Aug 15 01:03:16 BytesRouter kernel: [  288.218483] ieee80211 phy0: return code: 0x1122
Aug 15 01:03:16 BytesRouter kernel: [  288.223032] ieee80211 phy0: timeout: 0x1122
Aug 15 01:03:16 BytesRouter kernel: [  288.227262] wlan0: failed to remove key (0, 14:7d:xx:xx:xx:xx) from hardware (-5)
Aug 15 01:03:16 BytesRouter kernel: [  288.234838] ieee80211 phy0: MACREG_REG_INT_CODE: 0x0000
Aug 15 01:03:26 BytesRouter netifd: radio0 (7812): Command failed: Request timed out
Aug 15 01:03:36 BytesRouter kernel: [  308.200732] ieee80211 phy0: cmd 0x9111=SetNewStation timed out
Aug 15 01:03:36 BytesRouter kernel: [  308.206602] ieee80211 phy0: return code: 0x1111
Aug 15 01:03:36 BytesRouter kernel: [  308.211151] ieee80211 phy0: timeout: 0x1111
Aug 15 01:03:36 BytesRouter kernel: [  308.215530] ieee80211 phy0: MACREG_REG_INT_CODE: 0x0000

I believe hostapd changed from 2.9 to 2.10dev in 20.x series. Maybe something with hostapd but I do not see any log messages when this happens. I have set hostapd logging to debug aka 0.

Speaking of logging, when I was running 'SAE-MIXED', and Android failed for invalid password, I did not see any messages in openWRT. Here is the connect with the macbook WPA3:

Aug 15 00:57:12 BytesRouter hostapd: wlan0: interface state HT_SCAN->ENABLED
Aug 15 00:57:12 BytesRouter hostapd: wlan0: AP-ENABLED 
Aug 15 00:59:03 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.11: start SAE authentication (RX commit, status=0 (SUCCESS))
Aug 15 00:59:03 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.11: SAE authentication (RX confirm, status=0 (SUCCESS))
Aug 15 00:59:03 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx MLME: MLME-AUTHENTICATE.indication(14:7d:xx:xx:xx:xx, unknown)
Aug 15 00:59:03 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx MLME: MLME-DELETEKEYS.request(14:7d:xx:xx:xx:xx)
Aug 15 00:59:03 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: PMKID found from PMKSA cache eap_type=0 vlan=0
Aug 15 00:59:03 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.11: association OK (aid 1)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.11: associated (aid 1)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx MLME: MLME-ASSOCIATE.indication(14:7d:xx:xx:xx:xx)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx MLME: MLME-DELETEKEYS.request(14:7d:xx:xx:xx:xx)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.11: binding station to interface 'wlan0'
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: event 1 notification
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: start authentication
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.1X: unauthorizing port
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: sending 1/4 msg of 4-Way Handshake
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: received EAPOL-Key frame (2/4 Pairwise)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: sending 3/4 msg of 4-Way Handshake
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: received EAPOL-Key frame (4/4 Pairwise)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: AP-STA-CONNECTED 14:7d:xx:xx:xx:xx
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx IEEE 802.1X: authorizing port
Aug 15 00:59:04 BytesRouter hostapd: wlan0: STA 14:7d:xx:xx:xx:xx WPA: pairwise key handshake completed (RSN)
Aug 15 00:59:04 BytesRouter hostapd: wlan0: EAPOL-4WAY-HS-COMPLETED 14:7d:xx:xx:xx:xx

Looks like this issue goes as far back as December 2017.

In the comment referenced above the issue was also reported on the Linksys community forum. However, that url is dead as it appears that Linksys has removed all reference to the WRT3200ACM. Also per this url the device reached it's "End of Life" DEC 2020.

There is a also a reddit post where a former Linksys employee comments on the sale of Linksys to Belkin.

Wayback Machine version of the dead link: https://web.archive.org/web/20180705130325/http://community.linksys.com/t5/Wireless-Routers/WRT32x-and-WRT3200ACM-WiFi-Issues/td-p/1246764

1 Like

As an experiment I am going to downgrade back to the 19.XX series tonight.

My original pet peeves with WRT3200 was buffer bloat and the 5GHZ dropping with the original Linksys FW which OpenWRT fixed.

2 Likes

It’s kind of fascinating, I can literally graph the availability of my sensor experiencing this issue on my 2.4 ghz network.

It will easily go on for 15 mins at a time, or more. Here’s an example of some data over the course of an hour. All the missing data points are because the device can’t connect.

1 Like

I've been unable to test your build much on my WRT32X, at first go it wifi seems good and it's working, but opkg isn't working right. I'm getting a lot of package errors that won't install, such as luci-app-sqm, kmod-usb3, and kmod-fs-exfat. Example below:

Summary

root@OpenWrt:~# opkg install kmod-usb3
Unknown package 'kmod-usb3'.
Collected errors:

  • pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.137-1-345456c5234da787004df250a0ea7bbd) for kmod-usb3
  • pkg_hash_fetch_best_installation_candidate: Packages for kmod-usb3 found, but incompatible with the architectures configured
  • opkg_install_cmd: Cannot install package kmod-usb3.

I rolled back to 19.7.08 and have no issues with my Android devices. They behave as expected. The AP disconnects the Android and Android immediately reauthenticates. Also there are no "Connected without internet" messages on the Android device.

Mon Aug 16 20:49:19 2021 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED d4:xx:xx:xx:xx:xx
Mon Aug 16 20:49:19 2021 daemon.info hostapd: wlan0: STA d4:xx:xx:xx:xx:xx IEEE 802.11: disassociated due to inactivity
Mon Aug 16 20:49:20 2021 daemon.info hostapd: wlan0: STA d4:xx:xx:xx:xx:xx IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Mon Aug 16 20:49:21 2021 daemon.info hostapd: wlan0: STA d4:xx:xx:xx:xx:xx IEEE 802.11: associated (aid 3)
Mon Aug 16 20:49:21 2021 daemon.notice hostapd: wlan0: AP-STA-CONNECTED d4:xx:xx:xx:xx:xx
Mon Aug 16 20:49:21 2021 daemon.info hostapd: wlan0: STA d4:xx:xx:xx:xx:xx WPA: pairwise key handshake completed (RSN)
Mon Aug 16 20:49:22 2021 daemon.info dnsmasq-dhcp[3951]: DHCPREQUEST(br-lan) 192.168.32.226 d4:xx:xx:xx:xx:xx
Mon Aug 16 20:49:22 2021 daemon.info dnsmasq-dhcp[3951]: DHCPACK(br-lan) 192.168.32.226 d4:xx:xx:xx:xx:xx S10e
Mon Aug 16 20:49:23 2021 daemon.info hostapd: wlan0: STA d4:xx:xx:xx:xx:xx IEEE 802.11: authenticated
1 Like

I just want to summarize my testing.

With 21.02.xx:

  • Experiencing "Connected without internet" on all my Android devices.
  • Experiencing laggy internet if more than 7 meters from the router which eventually causes failover to mobile data.
  • I did not downgrade the FW back to 19.7.08 version.

I do not experience the above issues when I rolled back to 19.7.08. Tomorrow I will flash back up to 21.02.xx and downgrade the FW.