Davidc502- wrt1200ac wrt1900acx wrt3200acm wrt32x builds

My syslog is full of "disassociated due to inactivity" every 5 minutes:

Thu Jun 11 02:17:43 2020 daemon.info hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.11: authenticated
Thu Jun 11 02:17:43 2020 daemon.info hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.11: associated (aid 1)
Thu Jun 11 02:17:43 2020 daemon.notice hostapd: wlan1: AP-STA-CONNECTED xx:xx:xx:xx:xx:xx
Thu Jun 11 02:17:43 2020 daemon.info hostapd: wlan1: STA xx:xx:xx:xx:xx:xx WPA: pairwise key handshake completed (WPA)
Thu Jun 11 02:17:43 2020 daemon.info hostapd: wlan1: STA xx:xx:xx:xx:xx:xx WPA: group key handshake completed (WPA)
Thu Jun 11 02:22:57 2020 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED xx:xx:xx:xx:xx:xx
Thu Jun 11 02:22:57 2020 daemon.info hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.11: disassociated due to inactivity

I've already unchecked 'Disassociate On Low Acknowledgement' and that adds option disassoc_low_ack as 0 in wifi-iface but there has been no change.

The mac ageing timeout on the bridge interface is exactly 5 minutes.
Maybe it has something to do with it?
But hostapd directly runs on the wlan* interface(s) so that would be a bit strange?
You can also increase the inactivity timer with max_inactivity option.
I patched my builds to have a mac ageing timeout of 35minutes.

--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -48,7 +48,7 @@ struct br_ip_list {
 #define BR_NEIGH_SUPPRESS	BIT(15)
 #define BR_ISOLATED		BIT(16)
 
-#define BR_DEFAULT_AGEING_TIME	(300 * HZ)
+#define BR_DEFAULT_AGEING_TIME	(2100 * HZ)
 
 extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *));

Also patched the default ARP/NDP timeouts to 20 minutes
(because there is this random timer thing (*3/2) it can be high as 30 minutes.)
The default 60sec seems a bit low...

Interesting but doh and dnscrypt is not the same.
You used both?

What are the differences between smart DNS , stubby and doh.?

It says in inactivity timeout options that the default max inactivity is 5 minutes so that's probably why. For disassoc_low_ack it says "This depends on the driver capabilities and may not be available with all drivers." Does the option not work with WRT1900ACS?

works for me as well using a 940/50 mbit line. Getting about 700-900 but with A+ rating using SQM cake and software flow offload enabled

2 Likes

Wow that’s some serious bandwidth for SQM cake. Good to know these routers can almost keep up with gigabit.

2 Likes

Stubby is just query encrypt system, and only support DoT (DNS-Over-TLS), not DoH (DNS-Over-HTTPS).
SmartDNS is DNS accelerator first - it have nice features to decrease overall DNS latency and uses zone prefetch as well. Really faster responses in my case. And as a bonus it supports both DoH and DoT for uplink DNS connections.
At my router, with heavy caching, it's only uses 5M of RAM.

2all: I experiment with 160Mhz at 5.x core. Now it works in low channels (36,40) as well. Still not so stable and some adapters can't connect, but if it works i got 110-115MBps from Samba instead of 70 (seems like Samba have no speed cap, but connection are).

2 Likes

Thanks for that tip :+1:

Got to be careful with Adblock as well. It’s now V4.0.5 in this build. Pre V4 is different.

Followed your advice by doing backup, modified the backup tarball, sysupgrade straight - no carry config, restore modded backup.

So, restoring the adblock config from v3.x to v4.x broke my dnsmasq. Can no longer use any “option serversfile “ entries, and lost all resolution. :frowning:

So, if upgrading from Adblock V3.x to V4.x, don’t carry over the config. Edit /etc/config/dhcp and comment out any “option serversfile” entries. In luci Adblock interface set your NV Storage for Backup and Report dirs and take the defaults for everything else. Go from there.
.

Seems there has been some misinformation here about no ack, it doesn't prevent hosts from disconnecting from the AP and should normally not be used.

https://routerguide.net/ack-suppression-on-or-off-no-acknowledgement/

I hope this clears things up on that setting!

1 Like

Has this been security vetted by the community? No backdoor's etc.

Just want to be sure due to chinese origin.

To put a bit more nuance into my statement (read the article and didn't do enough research on the OpenWRT function), by default the setting is enabled and the "no acks" come from Android and iOS devices so the advice of OpenWRT is to disable it (https://openwrt.org/faq/disconnected_due_to_excessive_missing_acks). Which lowers the reliability of the network in the end.

The only issue I had with Wi-Fi disconnecting after a while was on 5Ghz, I named my 2.4Ghz and 5Ghz the same and since that moment I never lose Wi-Fi connection now on my Android devices. On my laptop it always goes to 5Ghz and never dissacotiates though, so not sure if this is a hacky/coincidental solution or the way it was intended.

There is another setting which is already turned off and should stay turned off to keep stations preventing from disconnecting: "skip_inactivity_poll" source: https://openwrt.org/docs/guide-user/network/wifi/basic

So, now I was not giving the complete picture and wanted to right that. So the conclusion is, that disabling the no ack setting (which is enabled by default) could solve issues, which I do not experience on any device since I named my networks the same and have switch between 2.4 and 5Ghz networks themselves.

Understand you well, i visit CN from time to time and that's why i prefer SSH tunnels instead of VPNs :slight_smile:

Smartdns is opensource and not so big, you can check or build yourself from github, but i didn't see anything suspicious.

Enabling skip_inactivity_poll (set to 1) will immediately disconnect stations when they are idle for amount of time specified by max_inactivity without doing a check before disconnecting the station.

Which is what I said :wink:
Maybe I didn't come over like that, then I hope this clarifies it. Just explaining the settings and that effectively it will not matter. I now run with no ack on (which presumably keeps disconnecting, if disabling it is even supported in mwlwifi) and I do not have issues with the r13342 build and unified naming for 2.4/5Ghz bands. Even with it disabled it keeps disconnecting on 5Ghz on my Android devices (and falling back on the 2.4Ghz, so I always am connected to my Wi-Fi).

So my assumption is that either the mwlwifi driver doesn't support turning "Disassociate On Low Acknowledgement" off or it is intended behavior on the 5Ghz band. Either way, you don't want low acknowledgements polluting the ether on 5Ghz, so I think (even if it isn't intended behavior on the 5Ghz with the setting off) it is good that this happens on the 5Ghz band as it is commonly used for more speed and reliable services.

I have:
disassoc_low_ack 0
max_inactivity to 1800 (30 min)
dtim_period 3
wpa_group_rekey 86400 (24h)
Works fine for my (Android) devices.
When you only have a few devices and never reach the AP station limit (255?) I think it's save to increase max_inactivity to 24h.
The wpa_group_rekey option maybe can also cause hiccups in connectivity.
Hostapd's default is 24h for WPA2 with AES.
OpenWRT used to set a lower value (5min) for security reasons? But I'm not sure if this is still the case.

1 Like

After upgrading to r13342 from r12394 my Apple devices aren't working correctly if they have IPv6 enabled. Some web pages partially load or don't load at all until I set IPv6 to link-local or drop off wifi to cellular. My windows devices don't seem to be having issues. Sites like test-ipv6.com give full marks for all devices (both Apple and non-Apple) I've tested it on. I can access ipv6.google.com when I have IPv6 enable on my apple devices.

After my first attempt for r13342 I wiped my settings and started fresh but the issue persists. dnscrypt-proxy2 has ipv6 enabled and listening. My devices have dhcp6 leases and ip addresses.

One example website I've been having issues with is facebook. I can see the top of the page but once I start scrolling I just get empty content. The web developer menu shows requests to static.xx.fbcdn.net but they just hang forever. I can nslookup the AAAA record from my mac and it resolves. Once I disable IPv6 the requests go through.

Any clues on how to debug or fix this?

What is your config in sqm?

Nothing special. Just turn on SQM, set queue discipline to Cake, then set max dl/ul speed to about 97% of your max you see when running a speedtest.

As an aside, no idea why fq_codel is the default, it's deprecated software and recommended against by both OpenWrt and the people who wrote SQM.

pls can someone confirm wrt3200acm doesn't support mesh?

thx