I thought that Merlin said the changes from 374.726 and 374.979 were not major. Not really sure if he intends to use 374.979 as a basis for one of his builds. He must be mega-busy with the recent release of the AC68U. I hope he supports it soon. Oh yea, hit him up with a donation if you haven't already.When will be released soft ASUSWRT Merlin based on the original firmware ASUS 3.0.0.4.374.979? This version show on 9 october ... and it is in download on asus page.
I am just guessing here:
- ASUS is working hard to get AC68 major issues resolved so they can release a decent firmware.
- quite possibly it makes sense for Merlin to skip .979 and focus on the upcoming version
- maybe - just maybe - the older routers will benefit from the upcoming version too
It seems to me that ASUS moved to unified firmware for its recent routers (just like graphics cards have unified drivers for different GPUs) - Merlin, am I right?
Or different routers have different firmware packages: same base build + router specific wifi drivers?
P.S. I realized that I am wrong. Different CPU architectures require differently compiled firmware; so perhabs all single core routers use one type of firmware, and all dual core use different version - again, Merlin to comment please
thanks for clarification Merlin - and OMG, this is a lot more work than I could image.
How about someone joins you to help? I am not a developer to offer my services, but maybe someone on this forum is qualified enough and can help in a way - for example, you can breakdown the work into tasks and delegate certain task to certain people, but you maintain the leading role and interface ASUS when you need to?
Folks - what do you think?
Always appreciate your efforts Merlin. Solid firmware and great additional features like entware and transmission.
It sounds like the project is starting to outstrip your free time. I am in no way qualified to help but there must be others in this forum who are. Otherwise, feel free to take it easy. Issue a monthly update perhaps or go over to a six week publishing schedule if that helps. People will get over it.Asuswrt is the common codebase used by all their modern routers (and it was also backported to a few older routers, like N16, N56, newer N12D revision, etc...). Within Asuswrt you have different "environment":
src-ra: Ralink-based routers, like RT-N56
src-rt: SDK5-based routers (N16, older N66)
src-rt-6.x: SDK6.30 based routers (N66, AC66)
src-rt-6.x.4708: BCM4708-based routers (AC56, AC68)
While the main code (dnsmasq, web server, etc...) is identical, the differences in these build environment will be wireless driver, which options are enabled, different Linux kernel, etc... When you compile it from within the correct environment directory, the build flags will determine for which router you are compiling. So yes, I have to compile it separately for every router that I support (and I used to have to do it twice, as I also had to recompile with DualWAN/Repeater enabled).
Things are a bit more confuse with BCM4708-based ARM devices since Asus hasn't fully merged it with the other MIPS-based devices. They develop from a parallel code branch (different rp-pppoe version, different build files, different pre-compiled binary blobs not always in parallel to the MIPS ones, etc...). This makes my job quite difficult at this time, since I have on my end successfully merged both branches into one. So I can no longer just merge new GPL releases on top of mine - I have to do it component by component, so not to downgrade some of the components that were upgraded with the parallel branch. I must also move binary blobs to different locations (I separate mips and arm precompiled files, Asus doesn't always do so yet).
I already merged the 979 code on Github days ago. Developers are free to clone the repo and compile firmwares themselves (if they don't mind compiling a work-in-progress). However there is no point in making a new release right now, so I'm waiting for the next FW release from Asus.
Since merging GPL is becoming such a chore, I might no longer update every time a new GPL is released either, and skip some of them. Like I skipped the BCM4708 374_205, but went with the MIPS 374_979 which was only slightly newer. And I'm waiting for the next 374_2xx before making a new release.
GPL 979 brought different challenges too, which were only overcome last night:
- Part of AiCloud is closed source, and they are making major changes to AiCloud. That means I need updated versions for both MIPS and ARM devices - I had to manually extract newer ARM binary blobs from the 374_217 FW to get AiCloud to work with the 979 GPL.
- AiCloud build files in the GPL archive are different from those used by Asus (since part of their code is closed source). In 979 they forgot to update the GPL versions, so AiCloud modules weren't compiling properly. I had to manually fix the build files to make them link against new requirements (curl and lightsql).
In closing: I get the same question asked every time a new GPL is out (when will you release a new version?). I no longer answer these, because it's always the same answer:
- I have no ETA - whenever I'm satisfied with its state
- It depends on when I have the time, since this is a one-man show, done on my spare time beside my day job
- It depends if the new code is stable enough, and what new bugs I must fix
- It depends if the new code is worth the trouble, or if I should wait for the next release
- It depends if the GPL includes ALL the required binary blobs, if the missing blobs can be reused from older firmwares or not
I answered to this one just to clarify the current GPL situation (the presence of the two parallel branches making my work more difficult than it was before).
It sounds like the project is starting to outstrip your free time. I am in no way qualified to help but there must be others in this forum who are. Otherwise, feel free to take it easy. Issue a monthly update perhaps or go over to a six week publishing schedule if that helps. People will get over it.
great additional features like entware and transmission.
For reference: previously, merging a new GPL release was around 2 hours of work. Now, count around 4-5 hours of work.
RMerlinHow do you do that? :? When I try to be in sync with a current ASUS firmware, it usually takes several days or even more to make the merge.
I deserve no credit for these. Entware is pretty much ryzhov_al's project, with TeHashX providing with very detailed guides for Transmission. Even the Entware setup script was actually written by ryzhov_al, after I gave him a rough map of what I'd like such a script to do.
AHA! Maybe we convince Ryzhov to engage and work together with Merlin on ASUS firmware?
RMerlin
OFFTOPIC:
How do you do that? When I try to be in sync with a current ASUS firmware, it usually takes several days or even more to make the merge. Luckily, the 979 has much less altered files than usual
colordiff -r asuswrt.old.gpl asuswrt.new.gpl
diff -Naur ../asuswrt.old.gpl/release/src/router/folder_I_work_on ../asuswrt.new.gpl/release/src/router/folder_I_work_on | patch -p2 --dry-run
People have gotten spoiled by the unbelievable level of support that you have provided. That is why I suggested a set publishing schedule. This way you can set up realistically-achievable goals and we get what we have become accustomed to, your fantastic firmware. Shibby and Toastman sometimes go a couple of months between updates. There's no reason you can't back off and work at a sustainable pace going forward. Another suggestion, which will be unpopular for sure, is to drop support for the RT-N16. That router is functioning way over what it was intended to do and is now so old as to not be worth it, time-wise. With the release of the RT-AC68U your time will be better-served supporting that instead. Just sayin'.That's why I no longer try to answer everyone like I used to do, and point a lot of email authors to ask on these forums instead. Thankfully we've built a little community together here where others can take over for generic support questions. This is already a hugely useful contribution from those of you taking the time to answer forum posts - thank you!
I've received a few code contributions recently from other folks on Github. The biggest problem is the steep learning curve involved in understanding the firmware code (just how the webui works isn't really intuitive at all, so even webui level work is a bit difficult).
People interested in contributing should start by keeping an eye on the issue tracker on Github. If they can tackle one of the reported issues there, this is the best place to start. But otherwise, this is the same issue that Tomato devs are facing: finding developers with both the skills and interest in getting involved is difficult.
People have gotten spoiled by the unbelievable level of support that you have provided. That is why I suggested a set publishing schedule. This way you can set up realistically-achievable goals and we get what we have become accustomed to, your fantastic firmware. Shibby and Toastman sometimes go a couple of months between updates. There's no reason you can't back off and work at a sustainable pace going forward. Another suggestion, which will be unpopular for sure, is to drop support for the RT-N16. That router is functioning way over what it was intended to do and is now so old as to not be worth it, time-wise. With the release of the RT-AC68U your time will be better-served supporting that instead. Just sayin'.
Welcome To SNBForums
SNBForums is a community for anyone who wants to learn about or discuss the latest in wireless routers, network storage and the ins and outs of building and maintaining a small network.
If you'd like to post a question, simply register and have at it!
While you're at it, please check out SmallNetBuilder for product reviews and our famous Router Charts, Ranker and plenty more!