Little help needed. Compilation and optimization WNDR3700v4

2 days ag i compiled new rom for my WNDR3700v4. I included many packages. I use them all. ROM is ~21 MB :smiley: I also include patch for this device to use all 128 MB NAND storage. I have no problems with that, but i saw here (https://github.com/lede-project/source/tree/master/target/linux/ar71xx) that 4.9 kernel is available for ar71xx devices. Can i compile rom for my device with kernel 4.9? is it stable enough or are there any known problems with this kernel? Also i am interested if can i compile my system with GCC 7.x or 6.x at least. I compiled this ROM 2 days ago with GCC 5.5 I have arch linux with GCC7.3 but this process used 5.5.
I do not understand this process (not compilation itself) Is there any improvement in rom working because it's compiled with newer version of GCC?

One more question and that's it :smiley:
I know that WiFi channels are locked down. How can i fully unlock my routers wifi potential? (open channels 12,13,14? higher MHZ and higher power to antenn like 30 dBm or so?

Change KERNEL_PATCHVER in file:

target/linux/ar71xx/Makefile

although I would guess 4.9 will be the default real soon now. Bigger improvment to be had by changing compiler optimizations, you can find examples. You should be able to use 6.x, I think there is still an issue or two(dropbear) with 7.x, at least there was the last time I tried. reghack may work on that device, not sure though.

1 Like

Yeah i saw that ssh problem with cpu going crazy when incoming connection, but thought it was resolved.
So changing GCC from 5.5 to 6.x is better. Very well. I will try to compile now my build with 4.9 kernel and GCC 6.3. Sadly i do not have my tp link device for testing. This is my main one so i won't/can't try reghack. If wifi will not work or router will not turn on i am screwd :smiley:

How to change GCC version to GCC6.3?

Do i have to cgange it only here? Is this even right place to set GCC version?
~/lede/toolchain/info.mk

TARGET_CROSS=
GCC_VERSION=unknown
LIBC_TYPE=unknown
LIBC_URL=unknown
LIBC_VERSION=unknown
LIBC_SO_VERSION=unknown

Found this file too ~/lede/toolchain/gcc/Config.version

config GCC_VERSION_6_3_ARC
	default y if (!TOOLCHAINOPTS && arc)
	bool

config GCC_VERSION
	string
	default "arc-2017.03-release"   if GCC_VERSION_6_3_ARC
	default "6.3.0"         if GCC_USE_VERSION_6
	default "7.2.0"         if GCC_USE_VERSION_7
	default "5.5.0"

config GCC_VERSION_6_3
	bool
	default y	if GCC_VERSION_6_3_ARC

But i do not understand where to set GCC_USE_VERSION_6 so it will use GCC 6.3

Just:

make menuconfig
Advanced config->Toolchain options->GCC compiler

I think this requires a

make dirclean
1 Like

Thank you very much. I compiled it with GCC 6.3 and kernel version 4.9 and many packages as i needed and that 128 MB NAND patch for my router.

Here it is
e58758a46a5b

1 Like