What's new

End of year 2017 development update

  • 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
2017 in review

2017 is almost over already. The whole year has been a blur for me (in particular due to major changes in my professional life). This has been another interesting year for Asuswrt-Merlin, for multiple reasons. First of all, 2017 marked the 5th anniversary of this project. This milestone was reached last April, however I was too busy with other things at the time so I completely missed it. So here's a belated happy birthday to us!

2017 finally saw the begining of the transition to the new 382 code base. As expected, this transition wasn't an easy one, and is still being done in stages (as Asus is gradually migrating their routers to the new platform). The RT-AC88U and RT-AC3100 have been completely migrated, and the RT-AC56U and RT-AC68U are under development.

This year also saw the addition of a new platform to Asuswrt-Merlin (Broadcom HND), with one new model being supported (the RT-AC86U). Great hardware at a very reasonable price. The software had some growing pains (this is a whole new platform from Broadcom, with a lot of low-level changes), but it's gradually getting there. If Asus/Broadcom can take care of the remaining issues, I personally believe this might be Asus's best model since the RT-AC68U. The RT-AC88U was a great router, however its high price is what prevented it from becoming a classic.

The year also brought a few organizational changes. The Mediafire download site was retired, with Sourceforge taking its place as the primary download site, and Onedrive became the new mirror site. Special thanks goes to the Sourceforge owner (who personally helped with one minor issue I had with their service) and to a Microsoft employee who helped evaluate and ultimately switch to Onedrive for the mirror site. This change allowed me to automate a lot of the process involved in releasing new versions, as I can now use a script to take care of uploading the files to both mirrors, saving me about 30 mins of manual work. Now, if I could also simplify the process of updating the website's changelog and SHA signatures...

Also, we have just moved the official #asuswrt IRC channel from DALnet to Freenode, where I am now registered as an official project group. Already, my interactions with the Freenode administrators have been more positive than with those from the previous network, where I never succeeded in getting ahold of them when I needed to contact them about an issue I had with their network.

Development got split in two separate repositories on Github: the legacy 380 code, and the new 382 (and beyond) code. As mentioned before, the 380 branch will only be maintained for the near future for security updates and important fixes, and will gradually be dropped. More on these plans later.

The past year also saw the community continuing to expand. The principal fork (@john9527 ) is very actively maintained, and there are also a lot of interest in add-ons such as AB-Solution and Skynet. The community has also been doing great at handling most of the technical support needs of fellow users. Thank you everyone who's actively participating - your continued activity means I can devote more time to actual development.

2017 in numbers was 15 releases, now two separate code branches, and we apparently have an established user base of somewhere close to 150,000 users according to the traffic hitting the firmware update server (the CDN counts the number of unique IPs hitting it each day). I have a hard time believing this number personally, but it seems to remain steady, with a slight increase throughout the year, so I guess it might be close to the truth.


What's in store for 2018?

Work continues on 382.2, further stabilizing it, and adding the RT-AC56U and RT-AC68U to that platform (work is almost done on these.) As Asus continues to migrate other models, these will be migrated as well, with the RT-AC3200 being next in line. Unfortunately, to keep the project at a manageable level for a lone developer, I have decided to drop active support for the older MIPS platform, which means the RT-N66U and RT-AC66U. These will keep getting security/major fixes through the 380 legacy branch for at least a few months, but eventually they will be completely dropped. The decision to drop these two specific models was due to a few reasons:

  • They are still very actively supported by John's fork
  • There were a number of limitations related to that older MIPS platform and its older Linux kernel
  • Dropping an entire SDK (6.34 + Kernel 2.6.19) removes a significant burden from the project, which now has to deal with a new (radically different) platform, with the RT-AC86U's Broadcom HND SDK.
  • I don't know yet what are Asus's plans regarding 382 and these two models, but even if they get migrated, I suspect they won't be as frequently updated as newer models, which is now an important factor due to the amount of closed source components part of Asuswrt

The migration timetable is highly dependent on Asus's own, so I can't provide any kind of ETA as to when other models will be migrated and integrated into 382.

Asus is also progressively adding some new features to the 382 code base, with IPSEC server and Let's Encrypt support being the latest ones added to specific models. Asus plans to eventually add these features to more models, so once again Asuswrt-Merlin will be keeping in-sync with them as much as possible.

Development-wise, the same trend as this past year will remain when it comes to development focus, where very little work will be done to add any new features (outside of those developed by Asus themselves). Work will continue on porting models to the 382 code base, keeping things in sync with new Asus updates, with a small dose of bug fixing when possible. Asus's recent shift to increased closedness of their code is limiting things a fair bit here when compared to the level of freedom I had with the code back in 2012. Also the increased complexity makes it even harder for one single person to be able to view the whole picture, which means I've had to become more selective as to which portion of the code I can devote time to. There's no way one single part-time developer can understand and maintain the whole Asuswrt code on his own, when Asus has a whole team of engineers involved, and they can talk to one another to understand how things work.

For the legacy 380 base, at least one minor update is slowly cooking with 380.69_2 to address a few issues reported in the latest release. Once 380.69 becomes more stable, I will stop providing builds for any model that's already moved to the 382 base (and is stable enough there). Future releases in the coming months will mostly be for major security updates for OpenSSL and the likes. I don't expect to have more than, maybe 3 or 4 releases in 2018 for 380, depending on how things go. I'd be willing to listen to any serious offer if someone wants to take over maintaining this legacy branch. Be warned that it's a lot of work, and I might not be able to provide a lot of help if I'm already too busy with the 382 side of things.

So for the first few months, the release schedule should look like this:
  • 382.2: adding RT-AC56U and RT-AC68U, first few models with IPSEC and Let's Encrypt support
  • 380.69_2: minor bugfix release
  • 382.2_2 (if necessary): minor fixes for the newly added models
  • 382.3: adding the RT-AC3200 and possibly other models if possible
  • 380.70: Any new security fixes available at the time, dropping all models already ported to 382


In closing

We survived the move from the 380 to the 382 code base (which was the biggest interrogation at that same time period a year ago). 2018 focus will be on continuing to stabilize and maintain this new platform, while gradually phasing out the old one.

Personally, I'm happy with the popularity of this project, which has gone beyond my original expectations. I'm less happy however with the current complexity of the code, as more new features are getting added, while more portions are getting moved into closed source binary. Debugging any newly reported issue has become increasingly difficult over time due to the sheer complexity of the code. I've started taking steps to compensate at least a bit - more adjustments might be made as necessary during 2018.

In conclusion, I'd like to once again thank the community for their participation, @thiggins for providing us a place to interact, and Asus for actively supporting me (there was a period where I was worried, but everything eventually got sorted out).
 
Thanks for everything you do Eric.
I often wonder if you ever sleep , not only do you have your full time career , you develop this firmware with all it entails and still find time to give support and guidance in the forum.

Quite a remarkable achievement.
 
Thanks buddy! 2018 will be an exciting year.
 
Thank you so much for the hard work...
Cheers!
 
Thanks for all your hard work. Asus should treat you like gold. You bring them many customers. Have a great holiday!
 
  • I don't know yet what are Asus's plans regarding 382 and these two models, but even if they get migrated, I suspect they won't be as frequently updated as newer models, which is now an important factor due to the amount of closed source components part of Asuswrt

[RT-AC66U] As support representative said regarding migration to 382 the matter is currently in consideration stage.
 
[RT-AC66U] As support representative said regarding migration to 382 the matter is currently in consideration stage.

Won't change my plan to drop this model, sorry. All the other reasons still apply (infrequent GPL releases, lack of resources to support one additional SDK platform, etc...).
 
Thanks Eric for all of your hard work and time, it is much appreciated.

Happy holidays!

Cheers!
 
Thanks for all you do. Happy Holidays!
 
@RMerlin Would it work if you still did 90% of the work for a beta-type program for ASUS? I mean you write the code for the parts you want to improve and do better and submit them to ASUS and they add it on a separate release channel so they could connect it correctly to the stuff behind the scenes (closed source stuff). I keep wanting to make it easier for you, but still want the cool stuff you do. I thought the merging part could be done by them and the cool stuff done by you.
 
@RMerlin Would it work if you still did 90% of the work for a beta-type program for ASUS? I mean you write the code for the parts you want to improve and do better and submit them to ASUS and they add it on a separate release channel so they could connect it correctly to the stuff behind the scenes (closed source stuff). I keep wanting to make it easier for you, but still want the cool stuff you do. I thought the merging part could be done by them and the cool stuff done by you.

Not really. It's not that simple. For instance, we have different priorities. Their paid engineers must focus on things that will allow them to sell more routers, and development of specific features is planned well ahead of time. Stuff like AiMesh will earn them new sales. Making the Wireless Log page more readable, like I did, won't. Diverting engineers time toward working with me will slow down their own plans (I know for a fact that one of the engineers with whom I had been in touch over the years had already more work than he could handle on his hands, causing some things to be postponed/delayed/dropped).

Asus already has access to my code through Github, so they can already pick what they want, like they did a few years back with OpenVPN support. And I already directly contact them whenever I run into any serious issue that I manage to fix before they do.
 
I think this is like a hobby work for the benefit of the community. No money. Own time own target. There will be a lot of debugging as the code is new.

If the untested code is submitted to ASUS, do you think they will be pro active in doing all the debugging? How much time and money you think ASUS will come up for this project. These companies main objective is profit. If there is really good improvement, they will come out with new model and package it and sell at higher price.

This is just my personal opinion.
 
Thanks for the update Eric and hope we have a great 2018! Keep on supporting the AC86U since I bought it to replace my AC66U :)
 
Great news! Been using AsusWRT-Merlin for a while now, switched from Advanced Tomato (which is also having some support pains) and few complaints!

A shame you're moving on from the MIPS platforms (I currently have an RT-N66U, and no particular plan to move on, yet), but completely understandable. Thanks for all the work you have done, and might do in the future!
 
i hope my asus rt-n66u wil recieve 382 in the future.
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

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