[GCC 7.2 BUILD] Optimized TP-Link Archer C7 V2 AC1750 LEDE Firmware

nice dude, im trying to cross compile the 4.14.rc7 right now and 4.13.11 just in caseIMG_0001[1]-min
making the kernel image as we type.

Those damn base-files, always upgrading constantly lololol. hey so since im such a n00b why dont you walk me through a basic tutorial with images on how you use menuconfig binutils with some simple images, i mean rather than you having to build it everytime, maybe i can assist, also make a python script that automates it. im pretty good with python atm and since python is standard with linux these days, running python upgrade.py would be even easier. i could even add a portion that uploads it automatically to your google drive! oh and maybe even post it to this thread.. THE DAMNED AUTONATION i mean AUTOMATION ◄﴾ᴥ﴿►

Can you share config and patches?

i think he said he used shunjous branch config.
https://github.com/shunjou/lede-ar71xx-optimized-archer-c7-v2
and i think the patches are in here:
https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/lede-sdk-ar71xx-generic_gcc-5.5.0_musl.Linux-x86_64.tar.xz

Hey guys, sorry for leaving you hanging for so long. I just haven't had the time to get the nighlies working again or work on porting all the patches to kernel 4.9. Yesterday I spent most of the day fixing my build env to be able to compile the nightlies again and push a new release that at least includes all recent upstream updates and a fix for the high CPU load issue some of you were experiencing. That's what I did today. There's a new release with only small changes so far apart from upstream updates. It still uses kernel 4.4 for now. Next thing I'll do is work on a kernel 4.9 release and use GCC 7 to compile it and enable BBR.

3 Likes

I decided to drop a new release with kernel 4.9, BBR, GCC 7.2 and new binutils TODAY. I spent the last 5 hours or so on porting over all patches and testing the builds. A fresh release will be up shortly! :slight_smile:

2 Likes

New release is up! Have fun & report any issues.

  • 2017-11-06 v2
    • All patches ported to kernel 4.9
    • Switched to kernel 4.9
    • Enabled BBR & FQ (adjust your sysctl.conf)
    • Switched to GCC 7.2
    • Switched to binutils 2.29.1
    • .config file added to repo
5 Likes

You're a monster, glad to see you back and I hope all is well. Thank you as always :slight_smile:

1 Like

We missed you so much @r00t :sob::sob:

Nice to see you again :grinning::grinning:

1 Like

Glad you're back and thanks for your hard work.

Just one question, when you say "Enabled BBR & FQ (adjust your sysctl.conf)", any tip which config should be adjusted? Applies always or only when performing an update from previous version?

Applies only when upgrading and keeping configuration files. Although in fact the way I compiled this it should use BBR even without the sysctl settings. Anyway, all you might need to do is change net.core.default_qdisc = cake to net.core.default_qdisc = fq, add net.ipv4.tcp_congestion_control = bbr in /etc/sysctl.conf and then run sysctl -p.

One doubt:

Is BBR & FQ compatible with SQM?
Can coexist both switched on?

Thanks,

I'm not sure actually. Would be awesome if you'd give it a shot and report back.

I'll test it for some days mixing SQM ON and OFF and I'll tell you about in a few days.

1 Like

Awesome! does this also include the patches by @shunjou?
Additionally is it ok to sysupgrade while saving config? or should we restart because of the BBR changes?

Could you point me to the patches you're talking about? I thought he just adjusted and used "mine" (mostly @gwlim's).

Yeah, you can usually upgrade while preserving your config - at least that's why I was doing pretty much from the start if this build.

why not 8.0 gcc? i was hoping you would have kicked cliobrandos binary up a notch, other than bbr!!!

Hi @r00t, tried to generate a build using your patches and .config, but seems that some bit is wrong in one of your patches (specifically one of the toolchain patches), I'm compiling against the most recent trunk code (everything completly clean).

Patching specs ... ok
Toolchain successfully patched.
mkdir -p /home/clio/lede/staging_dir/toolchain-mips_24kc_gcc-7.2.0_musl/stamp
touch /home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl/gcc-7.2.0-final/.built
touch /home/clio/lede/staging_dir/toolchain-mips_24kc_gcc-7.2.0_musl/stamp/.gcc_final_installed
make[3]: Leaving directory '/home/clio/lede/toolchain/gcc/final'
100 88.8M  100 88.8M    0     0   126k      0  0:11:58  0:11:58 --:--:-- 86131
rm -rf /home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl/linux-*
xzcat /home/clio/lede/dl/linux-4.9.58.tar.xz | tar -C /home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl -xf -
cp -fpR "/home/clio/lede/target/linux/generic/files"/. /home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl/linux-4.9.58/
find /home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl/linux-4.9.58/ -name \*.rej -or -name \*.orig | xargs -r rm -f
if [ -d /home/clio/lede/target/linux/generic/patches-4.9 ]; then echo "generic patches directory is present. please move your patches to the pending directory" ; exit 1; fi
generic patches directory is present. please move your patches to the pending directory
Makefile:98: recipe for target '/home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl/linux-4.9.58/.prepared' failed
make[3]: *** [/home/clio/lede/build_dir/toolchain-mips_24kc_gcc-7.2.0_musl/linux-4.9.58/.prepared] Error 1
make[3]: Leaving directory '/home/clio/lede/toolchain/kernel-headers'
toolchain/Makefile:96: recipe for target 'toolchain/kernel-headers/compile' failed
make[2]: *** [toolchain/kernel-headers/compile] Error 2
make[2]: Leaving directory '/home/clio/lede'
toolchain/Makefile:94: recipe for target '/home/clio/lede/staging_dir/toolchain-mips_24kc_gcc-7.2.0_musl/stamp/.toolchain_compile' failed
make[1]: *** [/home/clio/lede/staging_dir/toolchain-mips_24kc_gcc-7.2.0_musl/stamp/.toolchain_compile] Error 2
make[1]: Leaving directory '/home/clio/lede'
Build failed - please re-run with -j1 to see the real error message
/home/clio/lede/include/toplevel.mk:216: recipe for target 'world' failed

anyways yeah you do have to change the core and ipv4 net settings to apply bbr and fv after sysupgrade. but looks good so far, nice job mate! like i said to cliobrando, im pretty good with python, if you want something to automate this stuff for you just give me a tutorial on your staging process and ill implement it in a script along with an upgrade to your git hub, cuz the basefiles are constantly upgrading. might get rid of the hassle of 5 hours down to 3 lol.

I'm only using what the LEDE toolchain provides. Feel free to compile your own GCC 8 version with the configs and patches from Github.

Not really, you just didn't move the kernel patches to the correct directory after running my patch files. The error message is basically telling you that.

mv ./target/linux/generic/patches-4.9/* ./target/linux/generic/pending-4.9/
rm -rf ./target/linux/generic/patches-4.9