Beryl ax keeps having latency issues after being on overnight

Whenever I leave my Beryl on overnight it has some sort of latency issue.

Latest firmware 4.6.8
Running in router mode connected to another ap and broadcasting on 5ghz.
Also running Adguard, which also shows poor latency for most DNS.
Not using any VPN yet.
When trying to ping the beryl after being on overnight it will take 1000ms to respond, as well as substantially longer to load any website, (5-10s)
Setting it to reboot at 1am did not fix this. Only an immediate reboot when this happens will fix it.
Adguard only has one of the built in filter lists active. I initially tried them all and it basically bricked the router causing me to factory reset it.
I wonder if the issue still is Adguard?

Which version of AGH are you running, there's a memory usage issue within AGH that when it cannot find enough memory, it performs OOM Killer on itself,
There's a fix in this issue report:

No idea if GL have added this already.

I used what it came pre-installed with; from ssh;

root@GL-MT3000:~# opkg list-installed | grep adguardhome -i
gl-sdk4-adguardhome - git-2024.288.07865-1709e5e-1
gl-sdk4-ui-adguardhome - git-2024.172.29379-2aae50b-1

I went ahead and followed your link and made some config edits:

opkg install nano
nano /etc/init.d/adguardhome
procd_set_param env GOMEMLIMIT=100MiB GOGC=40
procd_set_param respawn 3600 60 0 #respawn automatically

I used what it came pre-installed with; from ssh;

root@GL-MT3000:~# opkg list-installed | grep adguardhome -i
gl-sdk4-adguardhome - git-2024.288.07865-1709e5e-1
gl-sdk4-ui-adguardhome - git-2024.172.29379-2aae50b-1

other stats, post reboot though

root@GL-MT3000:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                42.3M     42.3M         0 100% /rom
tmpfs                   240.0M      2.1M    237.9M   1% /tmp
/dev/ubi0_2             171.4M      5.6M    161.1M   3% /overlay
overlayfs:/overlay      171.4M      5.6M    161.1M   3% /
tmpfs                   512.0K         0    512.0K   0% /dev

this looks suspect

 7131     1 root     S    1299m 270%   1% /usr/bin/AdGuardHome --glinet --no-check-update -c /etc/AdGuardHome/config.

also interesting that it has a no-check-update flag

root@GL-MT3000:~# free -m
              total        used        free      shared  buff/cache   available
Mem:         491536      214864      134032        2168      142640      258120

edit after tweaks and reboot, top shows the same

root@GL-MT3000:~# top
Mem: 342592K used, 148944K free, 780K shrd, 25048K buff, 96636K cached
CPU:   0% usr   0% sys   0% nic 100% idle   0% io   0% irq   0% sirq
Load average: 0.04 0.17 0.09 3/124 9779
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 7096     1 root     S    1234m 257%   0% /usr/bin/AdGuardHome --glinet --no-check-update -c /etc/AdGuardHome/confi

note sure what's up with VSZ

adguard is only using this blocklist https://adguardteam.github.io/HostlistsRegistry/assets/filter_27.txt

VSZ is the Virtual Memory Size. It includes all memory that the process can access, including memory that is swapped out, memory that is allocated, but not used, and memory that is from shared libraries.

Question is, why does AGH need all of that, as it's just going to OOM as soon as it's less than halfway through that.

I’d stray away from using AGH for now. I tried but noticed it was a huge memory hog. I went with the Adblock plugin for OpenWRT/Luci instead and have been happy with it.

I'll try that, but now I see dnscrypt-proxy as a memory hog, I dont have a proxy or vpn configured right now. Did you remove the adguardhome packages? and then install just luci-app-adblock and adblock packages? or maybe adblock-lean

PID PPID USER STAT VSZ %VSZ %CPU COMMAND
4438 4310 root S 11940 2% 0% nginx: worker process
28642 1 root S 1207m 251% 0% /usr/sbin/dnscrypt-proxy -config /etc/dnscrypt-proxy2/dnscrypt-proxy.toml
28627 1 root S 1207m 251% 0% /usr/sbin/dnscrypt-proxy -config /etc/dnscrypt-proxy2-vpn/dnscrypt-proxy.

interestingly when I disabled manual DoH and set dns to automatic, these 2 disappeared

Tried the latest beta firmware, still same issues. But now I see I can choose how often lists in adguard update, maybe that's related. Couldnt get adblock configured correctly

happened again this morning, agh is only using the one filter, I cant find what is happening exactly, but ping to my main router is high

root@GL-MT3000:~# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: seq=0 ttl=64 time=268.018 ms
64 bytes from 192.168.0.1: seq=1 ttl=64 time=275.084 ms

ping go cloudflare is ridiculous
root@GL-MT3000:~# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: seq=0 ttl=58 time=802.855 ms
64 bytes from 1.1.1.1: seq=1 ttl=58 time=804.435 ms

looks about the same in top
root@GL-MT3000:~# top
Mem: 350580K used, 140956K free, 5632K shrd, 32192K buff, 93160K cached
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
Load average: 0.03 0.03 0.00 2/117 20292
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
32311 1 root S 1234m 257% 0% /usr/bin/AdGuardHome --glinet --no-che
27429 1 root S 34760 7% 0% /usr/sbin/smbd -F

free looks the same
root@GL-MT3000:~# free
total used free shared buff/cache available
Mem: 491536 207340 140988 5632 143208 262180
Swap: 0 0 0

file space looks the same
root@GL-MT3000:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 51.5M 51.5M 0 100% /rom
tmpfs 240.0M 5.5M 234.5M 2% /tmp
/dev/ubi0_2 163.0M 6.3M 151.9M 4% /overlay
overlayfs:/overlay 163.0M 6.3M 151.9M 4% /
tmpfs 512.0K 0 512.0K 0% /dev

May I know did you enable the Encrypted DNS with DNSCrypt-Proxy?

How about the ping latency when disabled the AGH, DNS, only repeater to primary router?

It would appear when using DoH or agh with DoH. but at times, pinging various devices on the router goes high, in addition to pinging the main router. I'm also always getting random high ping to my phone from the beryl, so I'm having difficulty isolating if a device is causing this or something from the isp/main router is hitting the network, or the beryl. The beryl has gone unresponsive at times, I did have a process hit 100% cpu on one core until I restarted it. that was
/sbin/rpcd -s /var/run/ubus/ubus.sock -t 30
maxing one core out for hours.

Let us try to start the test with the minimum functions, to observe if the issue is in the Beryl AX.

Enable the functions one by one, for example:

  1. only enable the DNS over TLS (DOH or DNSCrypt-Proxy) test, observe the situation. If nothing is found, go 2.
  2. enable ADG (after enabling A DG, DNS will be controlled by ADG, DNS settings DNS over TLS (DOH or DNSCrypt-Proxy) are no longer configurable.

I tested in my router, Beryl AX and Flint 2, and no issue found:

ADG disable and DNS over TLS with DNSCrypt-Proxy:

ADG enable:



The memory used in the router, ping result in the router local and the PC connected to Beryl AX:


ADG disable, DNSCrypt-Proxy

ADG enable:

Adguard is disabled and using DoH and Wireguard and all communication with main router stopped last night, zero dns resolution, zero ping,
So I connected to main router, no problems.
Disconnected Wireguard, still can't resolve DNS,.high ping to devices, can ping main router from beryl, can not resolve anything.

Which I just realized now I guess I have to disable block non vpn usage now that I'm not using it, but why did it all quit working in the first place. Disabling that check did nothing now.

Dns is somehow broken, I can ping 1.1.1.1 from laptop connected to beryl though.

root@GL-MT3000:~# free -h
total used free shared buff/cache available
Mem: 493632 156932 152828 5460 183872 279924
Swap: 0 0 0
root@GL-MT3000:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 44.5M 44.5M 0 100% /rom
tmpfs 241.0M 5.3M 235.7M 2% /tmp
/dev/ubi0_2 168.2M 2.4M 161.1M 1% /overlay
overlayfs:/overlay 168.2M 2.4M 161.1M 1% /
tmpfs 512.0K 0 512.0K 0% /dev

At this point, it seems like the router is just trolling me.

I factory reset it, only changes were enabled non encrypted opendns, set the ssid password, and router password, and set it to repeat my main router with DHCP to get the address for the beryl, but the mode is still set to router mode. I can not ping any other devices on the network, but I can resolve dns and access the internet. I am not using guest wifi. I have no filtering on. Adguard is off, DoH is off, vpn is off.

With or without wifi connected to the main router for internet trying to ping another DHCP assigned device on the beryl, that worked immediately before factory reset, reply is from the DHCP assigned ip of the ping from device.
C:\Windows\System32>ping 192.168.8.121
Pinging 192.168.8.121 with 32 bytes of data:
Reply from 192.168.8.144: Destination host unreachable.
Reply from 192.168.8.144: Destination host unreachable.

update:
decided to just reflash with uboot, pinging devices connected to the router works again.

1 Like

Seems strange. Factory reset should have fixed everything.

But anyway glad that it is fixed.