Table of Contents
What is DD-WRT
DD-WRT is a Linux based open-source firmware designed to run on a bunch of different routers. The firmware basically replaces the original manufacturer firmware.
Why would I install this? Well manufacturer firmware comes with a host of problems, including:
- Missing major features
- Lack of customization
- Security issues due to slow or missing patches
Issues with DD-WRT
While most hardware works exceptionally well with DD-WRT, the Netgear R8300 (from Costco) and R8500 had continuous issues, where the Wi-Fi channels would just randomly stop working and would require a reboot of the router. It was so bad, that I would often revert back to Netgear firmware, to just get frustrated with the limitation to then seek out newer firmware that solved the issues.
In the past, Kong firmware was the most reliable, however the last version of this was released in 2019, so this is no longer a viable solution.
The problem
The problem appeared to stem from the NTP Client that's provided with DD-WRT, which is responsible for keeping the router time up to date. The default provided service will simply snap the time to the remote server on a fixed interval. The result of this is that the time could jump by relatively large deltas during any of these periodic time syncs. The Wi-Fi chip appears to not like these time jumps and will stop functioning correctly whenever this happens.
The solution
After a lot of trial and error, I have finally landed on a solution that has provided me with flawless Wi-Fi across my entire household on both the 2.4GHz and 5GHz networks.
There are three parts to the solution:
- Disable the inbuilt NTP service
- Install Entware
- Install the NTPD package
A typical NTP daemon will constantly monitor the time of remote servers, and then gradually nudge the time to match over a period of time. This provides an extremely stable and continuous time.
Disable NTP
You could just disable the inbuilt NTP service and just accept the fact the time will slowly drift. I haven't tested this to understand if the time is important for DD-WRT to operate correctly.
Disable DD-WRT NTP
First step is to disable the inbuilt NTP service. Navigate to the Basic Setup
page and at the bottom select Disable
and then press Save
.
Install Entware
- Enable SSHD:
- Open an SSH session using a program such as Putty or the Windows built in SSH client:
> ssh [email protected]
[email protected]'s password:
==========================================================
___ ___ _ _____ ______ ____ ___
/ _ \/ _ \___| | /| / / _ \/_ __/ _ __|_ / / _ \
/ // / // /___/ |/ |/ / , _/ / / | |/ //_ <_/ // /
/____/____/ |__/|__/_/|_| /_/ |___/____(_)___/
DD-WRT v3.0
https://www.dd-wrt.com
==========================================================
BusyBox v1.35.0 (2022-10-05 03:22:51 +07) built-in shell (ash)
root@router:~#
- Install Entware following the DD-WRT guide which will provide instructions on the following steps:
- Enable USB support
- Prepare a USB drive with ext2fs
- Plug in the USB port of the router
- Install Entware (ARMv7)
- Add the startup script
> cd /opt
> wget http://bin.entware.net/armv7sf-k3.2/installer/generic.sh
> sh generic.sh
Install and configure NTPD
- Install the NTPD package:
> opkg install ntpd
- Close the SSH session and restart the router
- Open another SSH session and check the NTPD status:
> ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+time.cloudflare 10.29.8.4 3 u 245 1024 377 8.004 +0.927 2.729
-129.146.193.200 132.163.97.4 2 u 670 1024 377 44.610 +1.474 1.217
+ntp05.cymru.com 172.18.56.13 2 u 283 1024 377 80.455 +3.514 19.856
+38.229.57.9 172.18.54.10 2 u 600 1024 377 331.860 +2.282 3.029
*usnyc3-ntp-003. .GPSs. 1 u 124 64 172 70.864 -0.933 2.723
Conclusion
And we are done. Since doing this I haven't had a single Wi-Fi issue in over 2 weeks, where previously my Wi-Fi would stop working properly every couple of days.
If you would be interested to see what Wi-Fi settings I use which give me the best performance, let me know in the comments.
Mate, any specific required step installing dd-wrt to this R8500 or you just pick the firmware, upload and reboot?any specific version you used?
I’m currently running v3.0-r50357 which works for my purpose and I havent had to restart it in the last months with the ntp fix.
It’s been a while since I installed DD-WRT so I don’t remember the process though sorry.
If you haven’t already, I’d be interested to know what settings are best for wifi on r8500 with dd-wrt. I am currently running v3.0-r51530
I just updated to r52869 last week so we are pretty close on versions.
Here are the settings I have today. I dont think this is particularly optimised, but it is stable for me. I chose frequencies that were less congested.
https://ryanwinter.org/wp-content/uploads/2023/06/wireless_5g.png
https://ryanwinter.org/wp-content/uploads/2023/06/wireless_advanced_5g.png
https://ryanwinter.org/wp-content/uploads/2023/06/wireless_25g.png
https://ryanwinter.org/wp-content/uploads/2023/06/wireless_advanced_25g.png
Which version did you install? After running build r52869 from the official dd-wrt website, I see only one radio in settings.
I’m running that version, however I think you are running into the bug outlined here: https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=1231012
I ran this process in the past and it was a pain to get working as flashing old firmware put my router in weird state which required some funky ftp setup to resolve. They talk about the boot-loop in that thread a bit.
In the end, I believe I restored it back to the netgear original firmware and then flashed back to DD WRT and that fixed it for me.