我有路由器与Archer C7版本的OpenWRT . 我的目标是修改内核以使5b bandwith上的ibss模式成为可能 . 基本上它是不可能的,但我读到如果我将内核从当前(3.18)更改为Candela Tech(3.17)修补,我将能够安装ath10k固件,这将使我的任务成为可能 . 在这些事情上我总是新手,实际上我真的不知道自己应该做些什么 . 我在互联网上阅读了很多主题,但没有一个对我有所帮助 .

而现在我所做的就是:

  • 从Candela Tech网站下载3.17内核 .

  • 从其他网站下载了最新的backports .

  • 还获得了足够的OpenWRT SDK(15.05) .

在内核目录中:

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

它制作了5个包,其中只需要3个 . 但问题是这些包太大了 . 实际上这是我的旅程的结束,因为路由器的硬盘大小不够大 .

在我发现之前,为了实现我的目标,我的路由器需要修补内核,我曾尝试使用SDK内置内核交叉编译反向端口 . 在backports目录中,我执行了:

$ 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

但什么都没发生 . 我认为某些包将出现在$ KLIB中,并且可以#opkg install但它没有编译 .

许多错误之一:

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.