Beryl 7 [v4.8.7] - DNS over TLS (NextDNS) breaks after reboot/restart

Recently picked up a Beryl 7, upgraded it to firmware v4.8.7 and got up it up and running great using repeater mode.

I went to change the router’s DNS to use Encrypted DNS → DNS over TLS → NextDNS → NextDNS provider ID (Set to one of my own). Things worked great, NextDNS’s website showed that I was using one of of my profiles, I could browse and resolve dns just fine.

I went to restart the router and after reconnecting, I was no longer able to get online.. or more accurately I am no longer able to resolve DNS at all. I could ping IP’s on the internet just fine, just zero dns resolution.

When I change back to “Automatic” mode, OR use Manual DNS (1.1.1.1), the issue resolves it’s self. Things also work fine after a restart or powercycle.

I revert back to the DNS over TLS config with NextDNS and everything break against after a powercycle or restart.

I found the following forum post for the Flint 2 that looks like the same issue, but it appears that it’s resolved? The thread isn’t clear if the fix was actually released and with what firmware version?

I assume all of the routers share the same firmware fixes per version?? maybe not?

Does your router contain important data?

Could you reset your router and test it again?

Based on your feedback, our local testing shows the issue can be reproduced on one device.

Analysis of the reproduced issue reveals that a time synchronization error occurs after a router restart, causing a connection failure to the encrypted DNS server. The DNS error, in turn, leads to time synchronization failure, creating a loop.

Therefore, we'd like to know if the router's time is correct after you restart it?

We simply want to confirm if the problem is the same as ours.

Thanks for the response!

You are correct, when I switch over to use DNS of TLS w/ NextDNS and reboot, the system logs do show that the time is off and it’s unable to sync time.

logs:

....
Thu Jul 16 04:21:47 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Thu Jul 16 04:21:47 2026 daemon.info chronyd[19227]: chronyd exiting
Thu Jul 16 04:21:47 2026 daemon.info chronyd[19599]: chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK -RTC +PRIVDROP -SCFILTER -SIGND +ASYNCDNS +NTS -SECHASH +IPV6 -DEBUG)
Thu Jul 16 04:21:47 2026 daemon.info chronyd[19599]: Frequency 0.000 +/- 1000000.000 ppm read from /var/run/chrony/drift
Thu Jul 16 04:22:12 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Thu Jul 16 04:22:12 2026 daemon.info chronyd[19599]: chronyd exiting
Thu Jul 16 04:22:12 2026 user.notice timesync: chrony sync failed after 30 attempts
Thu Jul 16 04:22:12 2026 daemon.info chronyd[20039]: chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK -RTC +PRIVDROP -SCFILTER -SIGND +ASYNCDNS +NTS -SECHASH +IPV6 -DEBUG)
Thu Jul 16 04:22:12 2026 daemon.info chronyd[20039]: Frequency 0.000 +/- 1000000.000 ppm read from /var/run/chrony/drift

It will just keep repeating these log messages never syncing time, and DNS never actually working.

Let me know if there is anything else I can provide.

Thanks!

Haven't seen an update here in a week, just checking in @lucas2 to see if this has been verified from your side as a bug and if it would be able to be fixed?

Thanks!

Sorry for the long wait.

This issue has been confirmed as a bug, and we are currently working on a solution, which is expected to be fixed in the next firmware version.

Temporary solution:

You can download the file from the link, place it in /etc/init.d/, and then restart your router.

Download chronyd | LimeWire

See if this resolves the issue. It works fine in our local tests.

1 Like

@lucas2 Thanks for the udpate!

Downloaded the attached file. It appears that line 77 of chronyd was changed from:

        procd_set_param command $PROG -n

to:

        procd_set_param command $PROG -n -l /dev/null

I made that change, saved, then rebooted the router.

After it came back up, it still had the same issue. I can ping outside IPs (ie 1.1.1.1), but have zero DNS resolution.

Time is still off, but logs look a tad cleaner than before this change:

Fri Jul 17 09:24:38 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Fri Jul 17 09:25:03 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Fri Jul 17 09:25:28 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Fri Jul 17 09:25:53 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Fri Jul 17 09:26:18 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Fri Jul 17 09:26:43 2026 user.notice timesync: Restarting chronyd due to repeated failures.
Fri Jul 17 09:26:43 2026 user.notice timesync: chrony sync failed after 30 attempts

Thx!

Sorry, I sent the wrong script because they had the same name.

It seems that this file format cannot be sent here, so I copied it into a txt file and sent it here.

Please use this content:

chronyd.txt (4.6 KB)

Sorry.

Ok!

I've tested your chronyd replacement and there was an issue with your file

line 14:

NTS_BYPASS_DNS="8.8.8.8 114.114.114.114. 127.0.0.1"

The extra "." after the second IP address (114.114.114.114) caused DHCP to break (i think?) because I didn't get an IP from the wireless interface or the ethernet port after rebooting. So I had to factory reset it. (Yea i know, I didn't bother trying to set a static IP)

After the reset, I reapplied the file and updated this line to:

NTS_BYPASS_DNS="8.8.8.8 114.114.114.114 127.0.0.1"

Rebooted, everything worked fine. Then setup NextDNS again, rebooted and everything now appears to work just fine!

1 Like

:face_holding_back_tears: Sorry.

An accidental dot was added, which has now been corrected.