Left: ASUSWRT -Merlin firmware, Right: Standard ASUSWRT firmware
I used to drink the alternative firmware Kool-Aid. My first experience with alternative firmware was running MRBios on my old Gateway 2000 P5-120 just because it was there. At the time, I felt MRBios was more stable and gave me more features. Then again, that was during the days of Windows 95 and extraordinary instability, so anything could have been perceived as improvement.
I never ran any benchmarks to prove anything to myself and probably wouldn't have believed them if I did. I just knew different had to be better and the original manufacturer had to be keeping me from using my system to its fullest potential.
When DD-WRT started getting popular, I was lucky enough to have a Linksys WRT54G lying around. I still remember the article Hack Attack: Turn your $60 router into a $600 router, which sounded great to me! After reading up on the upgrade process, I loaded it right up—possible bricking be damned! While DD-WRT included a plethora of features, the reality was that I hardly used any of them beyond amplifying my wireless signal, which didn't seem to help throughput much.
It wasn't until I read the two SmallNetBuilder articles,Can DD-WRT or Tomato Fix Bad Routing? and Lots More Features, Lots Less Performance: NETGEAR WNR3500L with DD-WRT Reviewed that I really started to objectively question my own thinking as to whether different was necessarily better or simply just different.
At that time, I had progressed to a Buffalo WZR-HPG300N, which Buffalo offered with its own firmware and with a Buffalo-branded DD-WRT firmware. Aesthetically, the Buffalo firmware was a pig in a dress, i.e. items were confusing, pages weren't laid out as you'd expect them and it just plain looked bad.
In contrast, the DD-WRT interface looked polished and consistent so you just knew it had to be better. Flashing back and forth however, I noticed the Buffalo firmware had more consistent wireless performance. The nail in the coffin for the Buffalo firmware, however, was its lack of support for NAT loopback. I was doing web development at the time and needed to access webservers on my lan by their FQDN. Buffalo's firmware did not support NAT loopback, but the DD-WRT rebrand did.
When Tim asked me to take a look at the ASUSWRT-Merlin firmware for the popular ASUS RT-N66U Dark Knight, I'll admit I was skeptical. This firmware is the brainchild of Eric Sauvageau, who goes by RMerlin in the SNB forums. What I found was a refreshingly different focus from other "alternative" firmware. Here is Eric's project description from the forum sticky.
The primary goals of this project are to fix bugs, add a few basic features and tweaks to the original firmware. This firmware will try to remain as close as possible to the original firmware. If you are looking for a slew of advanced features, then this project is not for you. Look at TomatoUSB or DD-WRT, two excellent products that might suit your needs better.
If however you prefer something as close as possible to the manufacturer's firmware, then this is for you.
The ASUSWRT-Merlin firmware, rather than reinventing the wheel and flashing your router to something completely different, simply expands upon the original manufacturers code. In some cases he fixes bugs, sometimes completes features, or occasionally adds features not present in ASUS' firmware. In reading through release notes, it appears ASUS has even provided Eric with beta code to test and work with. So the underlying code in ASUSWRT-Merlin is still ASUS', which should theoretically give you the best of both worlds.
For the sake of brevity, I'll be referring to ASUSWRT-Merlin as simply "Merlin" for the rest of this review.
Re-examining the ASUS firmware
Before diving into Merlin, I wanted to go back through the original Dark Knight review and take a look at what Tim reported as some of the missing or broken features to see if ASUS had fixed them.
I upgraded the router to ASUS' latest 22.214.171.124.260 firmware and found that many shortcomings had indeed been fixed. One example is the DLNA media server. While not functioning in the original review, I found it to work pretty well in the latest firmware. The one exception being that the USB drive disappeared sporadically. Reboots of the router wouldn't fix it; I needed to pull the USB drive and reinsert it to have the drive functional again.
The grammatical "Enabled" buttons in the Guest Network settings to enable a guest network are now simply "Enable" as they should be. NAT loopback also works now as I was able to acess local hosts by their internet FQDN. Remote administration of the router now has HTTPS and IP access lists. I believe this first appeared in Eric's Merlin firmware and later in the ASUS firmware.
Parental controls now have a keyword, URL and Network Services filters. However, these controls are under Firewall and not Parental Controls. The controls also are global settings, i.e. not settable per client.So if you want to block your pre-teen from using Facebook, it will unfortunately be blocked for everyone.
Not fixed are the QoS settings and the lack of alarms on the Traffic Monitor.
Merlin Feature Summary
I tested the Dark Knight with the latest Merlin release, 126.96.36.199.264.22. According to the SmallNetBuilder forums sticky, Merlin provides the following changes over the original firmware:
- WakeOnLan web interface (with user-entered preset targets)
- JFFS persistent partition
- User scripts executed at init, services startup, WAN up, firewall up and shutdown.
- SSHD (through dropbear)
- OUI (MAC address) lookup if you click on a MAC on the Client list (ported from DD-WRT)
- Saving your traffic history to disk (USB or JFFS)
- Displaying monthly traffic history
- Cron jobs
- Monitor your router's temperature (under Administration -> Performance Tuning)
- Display active/tracked network connections
- Allows tweaking TCP/UDP connection tracking timeouts
- Various bugfixes: crash issues related to VPN, etc...
- layer7 and cifs kernel modules added
- Optional user-settings for the WAN DHCP client (required by some ISPs)
- Description field added to DHCP reservation entries
- Dual WAN support (RT-N66U, RT-AC66U)
- Disk spindown after user-configurable inactivity timeout
- System info summary page
- Wireless client IP, hostname, rate and rssi on the Wireless Log page
- OpenVPN client and server, based on code originally written by Keith Moyer for Tomato and reused with his permission. (RT-N66U, RT-AC66U)
- Customized config files for router services
- Customized config files for router services
- LED control - put your Dark Knight in Stealth Mode by turning off all LEDs
- Option to force your router in becoming the SMB master browser