What's new

Incoming change in the Asuswrt-merlin development pace

  • 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
Staff member
I'd like to take this time to explain a couple of changes that will be happening to this project starting with the 376.44 release.

The recent merge with GPL 376_xxxx from Asus proved to be quite difficult. As Asuswrt and Asuswrt-Merlin keep evolving, their codebase are drifting further apart, making each new GPL release harder to merge in that the previous one. Asus are being very aggressive in their firmware development, constantly adding new major features, and making numerous tweaks here and there. The last merge forced me to revert various IPv6-related fixes that had been applied to Asuswrt-Merlin over the past few months so I could merge the revamped IPv6 code from Asus. Two years ago, merging a new GPL was roughly 3-4 hours of work (one evening). With GPL 376_xxxx, the merges took me between two and three evenings, and that's not taking into account the RT-AC87 support development...

So, I won't be making new releases anymore every time Asus is pushing out a new GPL anymore. The increasing amount of work involved in GPL merges make that too taxing. I simply cannot keep up (as a one-man project) with Asus's entire dedicated team of developers rate of development.

Also because of this codebase drift, I am currently putting a stop on any new feature addition to Asuswrt-Merlin for the time being. I need to either find a way to reduce the amount of work involved in merging two increasingly drifting codebases, or limit the frequency of those painful merges. For now the latter is the only solution I could find. If Asus's development pace ever slows down I might go back to my previous development pace, but that will be something to evaluate once we get there. So for the coming months the focus will be strictly on keeping up with Asus's own changes, and bugfixing (where they don't require radical changes in the codebase - the IPv6 bugfixes were a killer there).

Another issue is how different the Asus routers are becoming with each new generation. We currently have the following generations:

- Old SDK5 device (RT-N16)
- First gen SDK6 (RT-N66, RT-AC66
- First gen ARM devices (RT-AC56, RT-AC68
- Quantenna device (RT-AC87)

All four require their own, separate copy of the closed-source components used by Asus. On top of that you can expect a fifth one to appear in the coming months, with the implantation of Broadcom's SDK7 (used for the RT-AC3200). This means that whenever Asus releases a new GPL for one of these four generations, I only get the updated closed source component of that specific generation. So if for example Asus were to release FW 376_5000 for the RT-AC87 with a whole new AiCloud, it would be impossible for me to implement it on the other generations until Asus also released the GPL for these other generations, with their corresponding closed source bits.

Because of this, there will be some change in my current (informal) release schedule. In the past I generally released new updates every time Asus pushed out a new GPL release, and I did it simultaneously for all supported routers. As this will become increasing difficult to do (sometimes even impossible), I will no longer guarantee that each new release I make will be simultaneously for all supported routers. I will have to go with what proprietary bits I get out of the GPL on which I will be basing this new release. This shouldn't be a major problem, as Asus has shown by now they are still committed into supporting their older routers.


So the bottom-line is, keeping up with Asus's current pace of development has outgrown my capacity as a one-man team of keeping up with them, so expect less frequent releases from me, and these won't always be for all supported routers at the same time. And the emphasis will be strictly on merging new code and fixes, with a temporary stop on any new feature development from myself.
 
Last edited:
Based on the way ASUS releases code, it makes perfect sense to make separate releases for each router/codebase rather than a unified release.

If merging code is taking up a lot of your time, you might want to take a look at a piece of software called Beyond Compare. I'm a professional programmer and I've been using it for over 10 years. It's worth every penny.
 
Based on the way ASUS releases code, it makes perfect sense to make separate releases for each router/codebase rather than a unified release.

If merging code is taking up a lot of your time, you might want to take a look at a piece of software called Beyond Compare. I'm a professional programmer and I've been using it for over 10 years. It's worth every penny.

I currently use a combination of colordiff, diff and patch. My usual workflow involves having four or five SSH sessions open. First one is a global colordiff between old and new GPL so I can see where changes are. In the second window I do a diff between the two GPL on one directory at a time (for example, on the httpd directory), piped into a patch. After that I go over the .rej files in the third and fourth console to manually resolve those rejects.

The biggest problem is the webui code. Manually merging conflicts can be tricky since some of the code is quite different between Asus and mine (for instance the OpenVPN pages).
 
Evolution: leave the one-man project path. I'm sure there are good new team members available.
 
Evolution: leave the one-man project path. I'm sure there are good new team members available.

You'd be surprised how few there are. I've never been closed to contributions, that was one of the reasons why I always keep my code up-to-date on Github.

People are far more inclined to take than to give, and the technically-skilled ones are quite rare.
 
Hi Merlin,

I fully understand your decision concerning slowing down the development cycle and reducing the implementation of new features. But what about further "polishing" of the present features and introducing of new versions of some third-party parts of the FW? I am particularly interested in OpenVPN features including merging new versions when they become available from OpenVPN developers.
 
Hi Merlin,

I fully understand your decision concerning slowing down the development cycle and reducing the implementation of new features. But what about further "polishing" of the present features and introducing of new versions of some third-party parts of the FW? I am particularly interested in OpenVPN features including merging new versions when they become available from OpenVPN developers.

Merging new versions of miniupnpd, OpenVPN or Dropbear are no issue, since these are 99% stock code, and Asus never touches these either.

Merging of heavily patched components such as minidlna or frequently updated by Asus such as dnsmasq however will remain out of the question.
 
Basically long story short every time Asus releases a new firmware you are going to take your time and not work on It instantly... You deserve some time off mate after everything you have done for us :)
 
People are far more inclined to take than to give, and the technically-skilled ones are quite rare.

RMerlin so very well put!
 
Totally understand, you are a one man team after all. In the end of the day, if Asus brings out an important bugfix or feature, we can always swap to stock for a bit if it's important enough to us.
What's important is that you don't overwork yourself, this is a hobby afterall, the worst thing you can do is push yourself to the point where you dread having to work on your firmware. I'm more than happy with what I've got right now, you've put a lot of work into this project, and for that I'm extremely grateful. :)
 
My suggestion is stick to a particular asus codebase version, and only update from that with your own improvements, I am not gagging for new asus features, they all seem gimmicky anyway.

The fact you said you removed ipv6 fixes that were built up on your firmware over a number of months seems to indicate you may have gone backwards, I suggest using older asus code from now on and wait until asus calm down, a fast moving software isnt necessarily a good thing, asus firmware feels like beta as production stuff should be quite locked down on features.
 
My suggestion is stick to a particular asus codebase version, and only update from that with your own improvements, I am not gagging for new asus features, they all seem gimmicky anyway.

The fact you said you removed ipv6 fixes that were built up on your firmware over a number of months seems to indicate you may have gone backwards, I suggest using older asus code from now on and wait until asus calm down, a fast moving software isnt necessarily a good thing, asus firmware feels like beta as production stuff should be quite locked down on features.

I would if there was one particular version of Asuswrt that was stable enough.

The move to the 376_xxxx codebase was required to support the RT-AC87U.
 
Asus is scum if you don't just hire you. The only reason I put up with their bugs is because I know you're on it. Otherwise the new linksys looks beautiful.
 
Asus is scum if you don't just hire you. The only reason I put up with their bugs is because I know you're on it. Otherwise the new linksys looks beautiful.

Is that the Linksys WRT1900AC ?

I have not seen it reviewed here yet.
 
Asus should just hire you.

But then he would get stone walled by red tape, company policies, buracrecy. And at the end of the day, he would get assimilated and have his hands tide. Thus we wouldn't see frequent betas or constant forum support.

It would be best for everyone, if he was hired as independent consultant. Thus he would still have the freedom to continue his work as he does now.

On the plus side, he and other people like him, get free early access to hardware and early insight info on current and future companies strategies.
Its a delicate balance that works well most of the time.

In the mean time, a steady input of donations from us, will further improve the work flow from Merlin.
 
Last edited:
I don't think Asus would have much to gain from hiring me. My programming skills are those of an hobbyist, not a professional programmer. I wouldn't know where to start if I were asked to write something from scratch in C.

A lot of what I do is possible because I'm currently free of any corporate schedule. I have no release schedule to meet, no marketing department asking me to provide additional bullet points for their Powerpoint sales pitches, and no product manager telling me what to do (or what not to do). So while I can afford to spend entire evening on a single issue that's bugging me, that wouldn't be possible when working inside a company with deadlines to meet.
 
A lot of what I do is possible because I'm currently free of any corporate schedule. I have no release schedule to meet, no marketing department asking me to provide additional bullet points for their Powerpoint sales pitches, and no product manager telling me what to do (or what not to do). So while I can afford to spend entire evening on a single issue that's bugging me, that wouldn't be possible when working inside a company with deadlines to meet.

I rest my case.:cool:
 
Last edited:
Originally Posted by netmik3 View Post
Asus is scum if you don't just hire you. The only reason I put up with their bugs is because I know you're on it. Otherwise the new linksys looks beautiful.

Don't be so quick to slam Asus! I came from Linksys/Belkin and Asus is definitely more on top of firmware/router development and quality in comparison (in my opinion).
There are quite a few refurbished Linksys routers on the market. Just do a quick search and see.:eek:

I buy them to help my network in bridge mode. Not a big loss if they go bad.:D
 
Last edited:

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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