What's new

Merlin vs Stock firmware version alignment

  • 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!

Mikael

Occasional Visitor
Tried to find an answer to this on the forum, so my apologies if it is there already.

I was wondering what the mapping / alignment is between stock firmware and Merlin, i.e. we have had the 3.0.0.4.385_xxx version of stock firmware for some time, but it seems Merlin is named .384.xx. Does this mean that Merlin is based on the 3.0.0.4.384_xxx stock firmware or am I interpreting this wrong?

ASUS is talking about a lot of stability improvements for the .385 versions so would be good to understand if those improvements are also valid for Merlin .384. or perhaps coming up in a new version of Merlin.
 
The relationship varies slightly depending on the GPL availability for each model. Look in the firmware's release notes or the change log to determine which GPL is used for your router.

Also bear in mind that RMerlin often adds specific features to his firmware that are not dependent on a particular Asus release. Again, look in the release notes.
 
The general GPL and binary components are documented in the changelog. However, this isn't just black and white, as my firmware also contains some fixes that are added by Asus in future releases, or that aren't even yet in Asus's latest release. And some of Asus's documented fixes are things that do not apply to my firmware.

So, there's not clear answer here. Version number means little as well:

- 385 is just 384 but with a number increase to work around a firmware update issue caused by 384 having reached a revision number higher than 65535 (so, 385 is nothing more than 384 with a higher number)
- Asus has multiple forks being developped in parallel, so once again, numbers cannot be compared.

Asus still releases firmwares in parallel based on different version numbers:

382_xxxxx
384_xxxx (for AX)
384_xxxxx (various AC models)
385_xxxxx (some AC models)
386 (ZenWifi and possibly a few other models)

All of these are developped in parallel, so you cannot arbitrarily say that one is newer than the other.

I am sticking to the 384 version number simply for simplicity.
 
@RMerlin , @ColinTaylor , I tried to find the GPL version for the stock firmware, but there are no release notes in the package you download from ASUS. Also the description on the ASUS download page does not mention the GPL version, so not sure how I could compare the GPL of the stock firmware with the Merlin version, as you suggested.

One difference, allthough not relevant per say, is that the Stock firmware has the new QoS profiles for "Work-from-home", "Learn-from-home" etc. which I did not see in the Merlin version. Hence I figured that the Merlin version was based on older code. Perhaps this has changed now. My comparison is from about a month back.
 
The GPL versions used by Merlin are documented in the change log which can be found linked to from the main Merlin thread here, or directly here. It is also linked to from the initial post of each release's dedicated thread (for example here).
 
The general GPL and binary components are documented in the changelog. However, this isn't just black and white, as my firmware also contains some fixes that are added by Asus in future releases, or that aren't even yet in Asus's latest release. […]

Asus stock firmware should incorporate your enhancements to the Wireless Log, because theirs is practically useless.
 
The GPL versions used by Merlin are documented in the change log which can be found linked to from the main Merlin thread here, or directly here. It is also linked to from the initial post of each release's dedicated thread (for example here).
Yes, I can find the Merlin GPL but my question was about comparing them with stock firmware.
 
Yes, I can find the Merlin GPL but my question was about comparing them with stock firmware.
Sorry, I don't understand your confusion. For example in the change log it might say:
Code:
  - UPDATED: Merged SDK + binary blobs 384_81352 for RT-AC86U.
So we can see that particular release of Merlin for the RT-AC86U is using the GPL of Asus' 81352 release (3.0.0.4.384.81352).
 
Also the description on the ASUS download page does not mention the GPL version

Sure it does, it's part of the actual firmware version.
 
Sorry, I don't understand your confusion. For example in the change log it might say:
Code:
  - UPDATED: Merged SDK + binary blobs 384_81352 for RT-AC86U.
So we can see that particular release of Merlin for the RT-AC86U is using the GPL of Asus' 81352 release (3.0.0.4.384.81352).
ok, examples are always good. So, I should have referred to the latest Changelog, which contains this:

384.17 (26-Apr-2020)
Updating some models (like the RT-AC88U) from stock firmware
3.0.0.4.384_81790 and newer will require a factory default reset
after flashing Asuswrt-Merlin, due to a change in how Asus
stores the admin password starting with 384_81790.
- NEW: Add Chacha20-poly1305 support to dropbear (themiron)
- UPDATED: dnsmasq to 2.81-openssl (themiron)
- UPDATED: openvpn to 2.4.9.
- UPDATED: curl to 7.69.1.
- UPDATED: openssl-1.1 to 1.1.1g (themiron)
- UPDATED: nano to 4.9.2.
- FIXED: RT-AC88U/RT-AC3100/RT-AC5300 could fail to upgrade
from newer stock versions to Asuswrt-Merlin.
- FIXED: Various webui issues with sorting DHCP reservations.

Here I don't see the stock firmware version that it is based on, but perhaps it is not here if this update is based on the same GPL/binary blob version as an earlier version so I scroll down:

384.16 (5-Apr-2020)
- NEW: Added support for the RT-AX58U and RT-AX3000 (same
firmware), based on GPL 384_8253 + binary blobs 384_8137.
- NEW: Added support for the RT-AX56U, based on GPL + binary
blobs from 384_8253.
- NOTE: The RT-AC87U and RT-AC3200 are now officially considered
to be on limited support. The future for these two
models will depend on Asus's own support in the
coming months.
- NEW: Added ed25519 support in Dropbear (themiron)
- UPDATED: Merged GPL 384_8253 for AX models.
- UPDATED: Merged SDK + binary blobs 384_7977 for RT-AX88U.
- UPDATED: Merged SDK + binary blobs 384_81352 for RT-AC86U.

Here I see 384_8253 and 384_8137 related to AX58U and AX3000 as well as some other versions for AX88U and AC86U.

However, my question remains (or I just don't know how to read this)

- As the latest stock firmware is 385_20940, is it the correct interpretation that the Merlin firmware still not based on that version, but an older version, either 384_8253 or 384_8137?
 
Here I don't see the stock firmware version that it is based on, but perhaps it is not here if this update is based on the same GPL/binary blob version as an earlier version...
That is the case.

However, my question remains (or I just don't know how to read this)

- As the latest stock firmware is 385_20940, is it the correct interpretation that the Merlin firmware still not based on that version, but an older version, either 384_8253 or 384_8137?
You've never actually stated what router model you're talking about. This needs to be known because there is not a unified firmware version that is used by all models. For example the current Asus release for the RT-AC86U is 384.81858 whereas for the RT-AC68U it is 385.20490. Also bear in mind what RMerlin said in post #3 that there is not a one-to-one relationship between his firmware releases and Asus'.

In addition, the availability of the source code from Asus often lags behind the availability of the binary release. The current release for the RT-AC86U is 384.81858 but only the source code for 384.81352 is available.
 
6
That is the case.


You've never actually stated what router model you're talking about. This needs to be known because there is not a unified firmware version that is used by all models. For example the current Asus release for the RT-AC86U is 384.81858 whereas for the RT-AC68U it is 385.20490. Also bear in mind what RMerlin said in post #3 that there is not a one-to-one relationship between his firmware releases and Asus'.

In addition, the availability of the source code from Asus often lags behind the availability of the binary release. The current release for the RT-AC86U is 384.81858 but only the source code for 384.81352 is available.

Yes, was looking for a general answer to keep this interesting to others as well but I run a setup of AC88U and AC68U. I have found that the latest 385.x release is perhaps more stable than the previous stock as well as the latest Merlin so wanted to wait for the corresponding Merlin release before moving to it from stock.
 
I realize this is an old post, however the topic is still valid.

I own some ASUS RT-AC1900P and as of this writing the current ASUS version is 3.0.0.4.386.43129 and the prior ASUS version is 3.0.0.4.386.41634.

The current version of Merlin is 386.3_2 and, from the the release notes, the most recent noted GPL version is GPL 386_42095 merged as part of the 386.2 (2-Apr-2021) release.

So, if I am understanding this (someone please confirm):
1 - There are ASUS GPL versions of code that are actually not necessarily released for all devices.
2 - Merlin (in his wisdom) selects one or more? GPL versions (AC\AX) and SDKs to branch for Merlin versions of firmware.
3 - This\these GPL version are used for ALL supported devices in a Merlin release (unless noted in the release notes), as opposed to ASUS Often having different ASUS firmware releases for different devices.
 
This is all changing (as always).

Asus is trying its best to move to a single code base. Not there yet.
 

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