What's new

Porting Linux kernel from AC88U to older routers

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

kvic

Part of the Furniture
All Asus ARM routers share the same version of Linux Kernel (2.6.36.4). That's what Broadcom SDKs based on. Broadcom continuously introduces changes (or contaminations..) into the kernel for their proprietary features (e.g. CTF). Older ARM routers such AC56/AC68/AC87 took an early snapshot of this slowly evolving kernel. Newest ARM routers such as AC88 apparently has a more recent snapshot. Don't know how far apart they are. I expect quite a few enhancements, bugfixes and refinements gone into the kernel..

The idea is that one ports the changes from AC88's kernel into the older ARM routers. So that the older routers benefit from these modifications introduced by Broadcom. These changes shall translate into better performance.

Since all based on the same vanilla version of the kernel, there are way greater similarities than difference. The porting effort won't be a daunting task, neither would be a few days' work. I expect the performance reward will be worth it.

Any enterprising enthusiasts will have the time or ambition to tackle such a project?
 
Why do you assume there will be a (noticeable) performance improvement. That seems like a leap of faith. If anything, bug fixes and extra functionality usually mean extra code of therefore potentially worse performance.

I'm not saying you're wrong. It's just that it sounds like a lot of work if you haven't got any solid evidence it will achieve what you want.
 
Last edited:
For people who are going to attempt this project, my few words of suggestion...

Our ultimate goal is to reuse code in "src-rt-7.14.114.x/src/linux/linux-2.6.36". That is we will want to point the symbolic link "src-rt-6.x.4708/linux/linux-2.6" to "src-rt-7.14.114.x/src/linux/linux-2.6.36" when the project is done.

We won't ditch nor modify the kernel in "src-rt-6.x.4708/linux/linux-2.6.36". We will preserve it as compile-time failover.

Hence,
  • any changes (expect mostly just compilation flags + a few lines of codes) needed to bring from 6.x.4708 kernel shall add to 7.14.114.x kernel.
  • any changes (rarely...but if there are) that are board specific shall add to code in "src-rt-6.x.4708/" and codes in its sub-dir except "linux" sub-dir.

EDIT: enhance clarity.
 
Last edited:
Maybe some good news for users of SDK 6 i.e. AC56/AC68/AC87.

Asus/brcm ported most changes from SDK 7.14 kernel to SDK 6 in GPL 380.2695, including removing the notorious line ==NULL/npch ==NULL/npch.

There is actually little difference between SDK6 and SDK7 from kernel perspective. Both are dead wood. BRCM has been very lazy in terms of porting subsequent patches from open source community.

Anyway, still good act by Asus when compared to other vendors in the same business of home wifi routers.
 

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