What's new

State of the project - 2016 in review

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

RMerlin

Asuswrt-Merlin dev
Another year is almost over, time for a review of this project's state!

The past year:
2016 started on a pretty rough road for me, which means for the first few months development was pretty much frozen. Things started picking speed again after that, but at a slower pace, for various reasons. One of them has been Asus increasingly moving code into closed-source components, and these components are both router-model and GPL version specific, creating a few headaches for this project. I had to accept the fact that supporting the whole lineup of routers with every new release would no longer be guaranteed, and at times I had to implement a few hacks to allow some models to still work.

2016 brought new FCC rules requiring that, by July, every marketed router came with software that locked down any ability for end users to bypass power emission regulations. While different manufacturers took different stances, Asus chose to try to enforce those rules, while remaining open to third party developers. So for Asuswrt-Merlin users, the impact was none - Asuswrt-Merlin was quickly compliant with the new firmware format. (for the developer however it meant other problems - more closed source blobs to deal with... But that's another story.)

Also, this summer, Asus slowed work on the current codebase (AKA 380) and increased the amount of work done on the next major firmware release (AKA 382). Development has been taking much longer than originally expected, as they are putting a lot of work into this new version, in part due to the recent FTC settlement regarding past security issues, and requiring (among other things) that Asus submit themselves to security audit for the next 20 (!) years. For end-users, the end result should be a positive one however, with more emphasis being put on security.

This means fewer new firmware release from Asus during the last few months of 2016. The consequence this is that it allowed me to spend more time fixing various bugs and quirks throughout the firmware, and polishing a few things off. It also allowed me to work on features I had planned for the past few years but never found the time to work on until now. That led to the implementation of various graphical charts, the QoS statistics display, and the implementation of the online version checker (this one required both firmware-side and server-side work, including the rental of a small VPS, and configuration of a CDN to handle the traffic load.) None of these are major, but they were all small projects of their own.


2016 is almost over:
As 2016 closes, development has been recently focused on the move to OpenVPN 2.4 (which has a few functional changes over 2.3) and the update to Busybox 1.25.1 (everything looking good so far there), with a target release date of somewhere in January or February.

I said about a year ago that new/original development would slow down, to avoid diverging too much further away from Asus's code. The features listed above weren't a problem, because they involved separate code, rather than changing too much of the existing code. Therefore their impact on my ability to merge future GPL releases was quite minimal, which was why I went ahead with them. That would not be the case for some frequently requested features, like VLAN support (would be a nightmare to implement this without clashing with the existing IPTV code and without having the low-level Broadcom documentation), or changing multiple webui pages to allow editing of existing table entries.


2016 in summary:
  • 7 firmware releases (not counting betas)
  • Shifting to early alpha/beta availability, allowing a longer test phase throughout development
  • Addition of graphic charts and new version notification
  • A lot of fixes all over the code
  • A certain amount of polishing on the webui: hiding password fields, displaying more info on the Wireless client list, etc...
  • No new router models added (unless counting the RT-AC68U C1 and the RT-AC66U_B1, which are just revisions already supported at the GPL level)

The community:
I often wonder how many of you guys out there were running this firmware. It's hard to get any accurate numbers. Mediafire no longer provides advanced download statistics beside the vaguely accurate download counts shown, and downloads are also now spread across multiple download sites. But between the download counts on Sourceforge and Mediafire, and the amount of traffic on the version update checker server, I know this number amounts in tens of thousands of users. I find that simply mind boggling, as I originally expected this project to maybe attract a few thousand users at most.

The popularity of this project keeps surprising me, as I only see this firmware as an enhanced version of Asus's original firmware, rather than a complete alternative with a different interface and lots of additional features, like you'd get out of OpenWRT or DD-WRT. Sure, there are a few nice features added that are nice for home users, like DNSFilter or IPTraffic. I always thought that the biggest improvement over the stock firmware is the ability to do a lot of customization through the use of user scripts and customized config files. Which are things mostly targeting more advanced users - and those advanced users are usually not the majority out there when looking at who owns one of the supported routers.

The success of a commercial product can be evaluated by how much income it generates. I guess that for an open-source project, success can be measured by the number of persons using the project. So, thank you everyone for making this project a success (I guess we can call it that, since it's beating any of my expectations?). I also want to extend special thanks to anyone who has donated anything through Paypal, or has contributed code, patches or bug reports. And thank you to everyone in the community who has been taking care of providing most of the end-user support, mostly freeing me of at least one burden. Everyone of you are part of the success of this project!

Another thing that also surprises me is those forks available out there (I recently discovered there are a few more than I originally thought!) Some of them are good ( @john9527 here is doing an awesome job keeping his own fork going), others not so (non GPL compliance, dubious legal positions). I'd rather not waste any energy on that latter category. But to those working on (legitimate) forks, add-ons, commercial products (!), or directly supporting Asuswrt-Merlin (like Astril with their VPN add-on), I'd also like to thank you for your role in this community.

While there, I must also thank @thiggins for providing this community a home. This community wouldn't be what it is without SmallNetBuilder/SNBForums offering us a place to stay.


What's in store for 2017:
So, with 2016 almost behind us, what's in store for 2017?

Early in 2017 380.65 (possibly late January or somewhere in February) should land, bringing OpenVPN 2.4 (which is due to hit its final release by the end of December) and Busybox 1.25. I haven't evaluated yet the possibility of merging the 4180 GPL code in it, as I know of at least one major issue with it (various pages like the Network Tools page are broken). It will depend on how trivial it will be to track down and fix that particular issues, for starter. That's something that still need to be evaluated.

After that is where it gets more uncertain.

The fact that there hasn't been yet any new GPL release using the new 382 codebase means that, by the time it will be released, I will get a 800+ MB zipfile with source code, containing 6+ months of code changes done throughout the entire firmware by a whole team of programmers. For a one-man project like Asuswrt-Merlin that will have to deal with that, that's bad. If I'm lucky, I'm facing a few weeks of work to merge everything, and a few weeks of extensive beta test to ensure nothing got broken. But there's also a possibility that there might be so many changes happening at once that it might perhaps be impossible to update this firmware project to use the new 382 code, short of rewriting a lot of it. Remember that I don't get a list of separate patches and a changelog. What I get is this 800+ MB zip with the (mostly uncommented) source code, and I have to compare it with the previous code to know what changed, and then devise a way to merge those changes with my own (already diverged) codebase.

That means until I can see the 382 GPL code, I have no idea what's next for this project. I will have to consider my options once I know for sure. At this point, I'd rather not speculate too much without having all the information. But I do have multiple possible scenarios in mind.

But for now, I think Asuswrt-Merlin is in a pretty good place. It's still not perfect, there are a few known issues still there, some more complex than a project handled by a single developer could address on his own. But in general I'd say 380.64 is a very solid release when compared to the previous releases, thanks to the past few months being spent on fixing a lot of those minor issues. So if there were to be a large gap of time between the 380.64 release and the next stable release (380.65 might be considered a bit more experimental due to the low-level changes currently planned), I'd be perfectly comfortable with having 380.64 have a longer lifecycle than past releases (which generally had about 4-6 weeks of life until the next release.)

Ok, this was far more long-winded than I initially intended, so sorry about that :) Have a great Holidays everyone!
 
Last edited:
That is an interesting read, thank you @RMerlin.
Of particular interest to me is your mention of the estimated (new) installs of Asuswrt-Merlin: Tens of thousands.
Up until yesterday, I had no idea how many routers run AB-Solution on it. I decided to do some number crunching on the Apache log files, to get an estimate and see where I stand.
I multiplied the more or less accurate number with the guesstimate from the threads views yours and mine get.
My figure of Asuswrt-Merlin installs came to about 25'000, of which about 10% run AB-Solution.

This was a surprise to me, I always thought AB installs were in the hundreds, not thousands.
 
it would be interesting statistically if you put a toggle switch on your update page that allows the user to opt-in to the router generating a pseudo-random number w/model number that pings your server one time, as a counter.. maybe once per week or so on the update check.

I think you will find your user-base is larger than we all imagine. you would have stats to back up your instincts about where to take the project at any moment and it makes your resume even more astoundingly impressive than it already is.

this was funny to me but I personally think your version moves hardware off the shelf because my brother asked about flashing before he even purchased. he is not computer-savvy at all, omg, it's painful. He is the sole reason MS forced patches in Windows 10, I'm so sorry, so naturally I blinked my eyes a few times when he asked, but he knows the name Merlin because other people told him about it. So Asus/Best Buy made a sale that day.
 
Great Read. I love the. 64 firmware, very solid and will adopt. 65 eventually. Hopefully when the new GPL code is out you will still be able to use the current firmwares as a base as we can still take advantage of some of your feature improvements and additions.

All in all many thanks for unleashing the extra potential in our routers and plugging up security flaws. Im hoping Asus will continue more so with individual developers in 2017.

Happy Holidays!
 
Whatever the uncertain future may hold, a huge thank you for bringing Merlin firmware to the state it is at today. Im one of the many who initially purchased an ASUS router specifically because of your fork , and if the ride ended tomorrow it wouldn't matter because i have already taken so much enjoyment from unlocking the potential of an otherwise mundane router.
Thanks for 2016 and i look forward to whatever 2017 brings
 
+1 on the suggestion from appleseed to add a feature to track unique instances using non-personally identifiable info. Perhaps something like what Shibby is doing with "TomatoAnon" in his Tomato mod?

http://tomato.groov.pl/?page_id=314
http://anon.groov.pl/

You've already got the VPS setup for the firmware update notification system, seems like you are halfway there? And I'm fairly certain that the numbers will be even higher than your estimates...

I can also attest that like appleseed's brother, your firmware was the main reason why I settled on another ASUS router as opposed to some other brand. So I hope ASUS is throwing you a few bones every now and then...

Q. Any chance of you building in an API that will allow other devs to write new GUIs? I am thinking along the lines of what AdvancedTomato has done for the older Tomato GUI:

https://advancedtomato.com/

For Tomato, this takes a bit of modification to the web handler for the Tomato base, but after that it's all basically an HTML overlay to provide a shiny new interface. Would love to see the ability to do that for ASUSWRT. Heck, I might even roll up my sleeves just to clean up the spelling and grammar. :rolleyes:

In any case, thanks for listening...

(Peter)
 
Last edited:
Just wanted to chime in and say thanks for all the work you've done, it's much appreciated!
Merry Christmas and a happy new year.
 
I would say that the project is exceptionally successful . I use a number of UK based ISP and internet forums and whenever I mention Merlin there is a chorus of " yeah, I use that , it's the best firmware out there " .

For a small project it is very well known with a fan base around the globe. I also think that the community here on this forum is probably the friendliest I have ever seen.

So, thanks to you Eric for all your efforts and I hope your Christmas and the new year are all you could wish for.
 
Thank you for this great firmware. I, as well as everyone I know who owns a compatible router, uses it. For me it's not so much about the features, but the stability of the firmware, as well as the ability to know what's actually going on with developement and the likes. Something that just isn't possible with the stock firmware. So, thank you again, and Happy new year to you, and everyone on the forum :)
 
Erik, I and some relatives are happy users of one of the forks (HGG) of your firmware. Thanks for all the time you spend on this.
But life is more than coding!!

Happy New Year!
 
This project continues to breeze new life into my router. I can't thank you enough Merlin, for your contributions. It is hard even imagine amount of work you, lonelycoder, john and others put into these routers to make them even better. Many thanks and best wishes to you and all other ASUS router developers and fans!
 
Thank you Merlin, echoing everyone's gratitude and support, clearly your workmanship and work ethics speak volume in what you've been able to produce. Amazing work and looking forward to your future releases. You are the reason why I decided to stay with the ASUS product and upgrade from my old N56U to AC68U.

Happy Holidays and Happy New Year to everyone!!!
 
Thank you so much for this project! It is truly amazing and so good! I would think Asus would should be extremely thankful to you also. You probably help them double their bottom line.You make it work better!
 
I've been told Merlin's firmware for Asus were the best!
Just got a new Asus RT-AC1200G+ which I hope that will also be included in 2017 projects!
Keep up the good work!
Thanks a lot!
 
it would be interesting statistically if you put a toggle switch on your update page that allows the user to opt-in to the router generating a pseudo-random number w/model number that pings your server one time, as a counter.. maybe once per week or so on the update check.

Unless almost everyone took the time to enable that option, any statistics it would generate would be so inaccurate that they would be totally useless. The download counts and server traffic is closer to the truth than an opt-in feature could ever be, where the portion of the user base actually enabling it could be anything between 10% and 90% of users. That's why any opt-in "census" option was quickly dropped, and any opt-out was dropped for privacy reasons, following the outcry generated by TomatoAnon.
 
for my AC68U (which i bought specifically for rt merlin support) i moved over from tomato RAF to Shibby to eventually RT Merlin.

I do miss some of the features from shibby, but rt merlin brings to the plate a more rock stable firmware with hardware NAT acceleration due to being closer to stock, which Shibby does not have as far as i could tell.

CTF is what explains why most third party firmwares (such as DD-WRT) tend to have lower throughput than manufacturer stock firmwares.

Due to the nature of its closed-sourceness, and also the fact that many advanced features do not work with CTF enabled, this is why most third party firmwares such as DD-WRT or OpenWRT don't support CTF.

Unfortunately these are not available in Tomato, only in Asuswrt (official firmware) or asuswrt-merlin or padavan. Which is ironic since, as far as I know, asuswrt is based on (an old) version of Tomato.
http://www.snbforums.com/threads/broadcoms-hardware-acceleration.18144/

that said the AC68U is lv1 (CTF only). Whereas the RT-AC87U has lv2 (CTF +FA)
In Asus's particular case (since it's the one I'm most familiar with - someone else could fill us up on the other manufacturers), they are handling this as a "Hardware acceleration level". Level 1 is just traditional CTF. Level 2 is traditional CTF + FA. One coming product that does support both levels will have to downgrade from Level 2 to Level 1 when one of the new features they are adding will be enabled.


So for me this was what brought me over the rt merlin camp since shibby did not have this feature :{


o ... and the second reason is AI Protection by Trend Micro which is only found in stock firmware/ RT Merlin. Seems like a useful feature, which you won't get if you went with a tomato variant sadly
AiProtection, incorporating state-of-the-art, three-pronged security from the Trend Micro Deep Packet Inspection (DPI) engine, gives you enterprise-level security in the home — making ASUS routers equipped with these features the most secure home routers. AiProtection constantly monitors the security and safety of your home network for total peace of mind.

61bd2369-142f-4ff3-ba7c-16ac987d4b00.gif


Firstly, by scanning your router’s setup for dangerous loopholes, and then removing those vulnerabilities, AiProtection prevents insecurity in your home gateway. Secondly, during internet activity, AiProtection, with Trend Micro’s state-of-the-art web reputation service (WRS) and DPI, uninterruptedly protects and safeguards you from unwittingly accessing dangerous websites. And finally, AiProtection mitigates against intrusion from a variety of cyber threats: malware, malicious websites, and system vulnerabilities. Moreover, alerts are raised when a device on your network is compromised and exhibits suspicious behavior.
https://www.asus.com/support/faq/1012070/

recent FTC settlement regarding past security issues, and requiring (among other things) that Asus submit themselves to security audit for the next 20 (!) years. For end-users, the end result should be a positive one however, with more emphasis being put on security.

though this is probably to do with Asus routers.


Another great router firmware is Pfsense for a strong setup worth considering.
https://pfsense.org/


If people want to go tomato i strongly recommend shibby. but for reasons mentioned already i chose to stick with rt merlin instead.
http://tomato.groov.pl/


advanced tomato is also respectable in the sense they go a step further by improving the UI for tomato, but offering shibby code as a base. But last i heard this seems like a dying project which is rather unfortunate since in terms of UI improvement it's a step in the right direction for firmware that opts to move away from stock.
https://advancedtomato.com/

Q. Any chance of you building in an API that will allow other devs to write new GUIs? I am thinking along the lines of what AdvancedTomato has done for the older Tomato GUI:

https://advancedtomato.com/

For Tomato, this takes a bit of modification to the web handler for the Tomato base, but after that it's all basically an HTML overlay to provide a shiny new interface. Would love to see the ability to do that for ASUSWRT. Heck, I might even roll up my sleeves just to clean up the spelling and grammar. :rolleyes:

In any case, thanks for listening...

(Peter)

you and me both. merlin's philosophy though is to stick close to stock. also since his a 1 man operation i'm not sure if he would have the time to commit to that :{ but it would definitely be awesome if the UI for it was of the same level as advancedtomato :D



i honestly don't know how merlin does it... asus should just hire him and make him head of the development team ^-^; if he can do so much on his own, how much more could be done with captain merlin at the helm :O


PS: john and others i may have missed out deserve credit too for the work they do for this, thx.

o... and my humble suggestion, maybe you could track tomato RT merlin users by the download page see how many unique ips downloaded file. Or maybe a social media like button would be indicative of how much support there is for this project ?
 
Last edited:
I've been told Merlin's firmware for Asus were the best!
Just got a new Asus RT-AC1200G+ which I hope that will also be included in 2017 projects!
Keep up the good work!
Thanks a lot!

If you want to use Merlin's firmware, I hope you got that router from a store that has a good return policy.
 
it would be interesting statistically if you put a toggle switch on your update page that allows the user to opt-in to the router generating a pseudo-random number w/model number that pings your server one time, as a counter.. maybe once per week or so on the update check.

I think you will find your user-base is larger than we all imagine. you would have stats to back up your instincts about where to take the project at any moment and it makes your resume even more astoundingly impressive than it already is.

Thumbs up on this; stats would be valuable to both Eric as dev but maybe also to the community. Asus might become even more cooperative seeing how many people love this version.
 
Merlin
Thanks for all of your work. It's hard to believe I've been using Merlin code for a year and a half! Its a great project and community to be involved in. Thanks for taking time to reflect, and project on the life of this important work

Happy New Year to you and the community!

Paul
 

Similar threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top