Backports for Candela Tech's kernel, OpenWrt

I have router with Archer C7 version of OpenWRT. My goal is to modify kernel system to make ibss mode possible on 5GHz bandwith. Basically it is impossible, but I read that if I change kernel from current (3.18) to patched by Candela Tech (3.17) I will be able to install ath10k firmware, which will make my task possible. I am total newbie in those things and actually I don't really know what I should do. I have read many topics on the internet, but none of them helped me enough.

And now what I have done as far:

  • Downloaded 3.17 kernel from Candela Tech website.
  • Downloaded the latest backports from some other website.
  • Also obtained adequate OpenWRT SDK (15.05).

In Kernel directory:

$ cp configs/ct-x64.cfg .config
$ make -j8 deb-pkg LOCALVERSION=-ct

It made 5 packages, which only 3 of them were required. But the problem was that those packages were too big. So actually it was the end of my journey, because size of router's HDD wasn't big enough.

Before I found out, that to make my goal possible, my router needs patched kernel, I had tried to cross-compile backports with using SDK build-in kernel. In backports directory I executed:

$ make defconfig-ath10k
$ make menuconfig ----> here I disabled CFG80211 and MAC80211
$ make -j3

Those variables were ofc in one line in every above step

CROSS_COMPILE=~/Desktop/SDK/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-uclibc- 

KLIB_BUILD=~/kernel_directory 

KLIB=~/Desktop/ 

ARCH=mips  

STAGING_DIR=~/Desktop/SDK/staging_dir/target-mips_34kc_uClibc-0.9.33.2/

PATH=~/Desktop/SDK/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin:$PATH

But nothing happened. I thought that some package will appear in $KLIB and it will be possible to # opkg install but it didn't compile.

One of many errors:

WARNING: Symbol version dump ./Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M]  /home/xxx/backports-4.2.6-1/compat/main.o
CC [M]  /home/xxx/backports-4.2.6-1/compat/backport-3.18.o
CC [M]  /home/xxx/backports-4.2.6-1/compat/backport-3.19.o
In file included from include/linux/spinlock.h:50:0,
             from include/linux/wait.h:8,
             from /home/xxx/backports-4.2.6-1/backport-include/linux/wait.h:3,
             from /home/xxx/backports-4.2.6-1/compat/backport-3.19.c:10:
include/linux/preempt.h:18:25: fatal error: asm/preempt.h: No such file or directory
#include <asm/preempt.h>
                     ^
compilation terminated.

...so installing kmod-ath10k-ct doesn't work?

Why are you making firmware based on an old, unpatched and outdated version of OpenWrt?

1 Like

Thanks for taking time to answer this question. I have been partisipating for Codeathon. To experiment the Backports for Candela Tech’s kernel, I have used outdated version i.e., OpenWrt

"Current" OpenWRT is 4.9 on the Archer C7, likely to be moving to 4.14 with the transition to the ath79 platform. Many other devices are already on 4.14.

The only LTS ("long-term stability") kernel in the 3.x series is 3.16. See, for example, https://www.kernel.org/category/releases.html. 3.17 and 3.18 are outdated and unsupported kernels, even upstream.

For your next code-a-thon, it would be much better if you at least worked with code that was current so that your good work provided value to that code base.

Also, as @lleachii pointed out, it is quite likely that the "problem" you have chosen has long been solved in the code base, without any need for backports. Have you tried the current version of OpenWRT with the ath10k-ct modules and firmware installed? (For that matter, the "old" 17.01 release should have similar support.)

1 Like

That is a verry old ver of openwrt you are building with. What about LEDE 17.0.4 or OpenWRT 18.0.6?

1 Like