因内核3.0不支持9300系列网卡,需要修改内核,比较麻烦。故直接使用compat开源驱动代码,因为最新的4.1, 4.2版本有bug编译运行后出现问题,目前使用的时4.0.1-1版本backports-4.0.1-1。
#Linux内核编译及安装
##配置linux内核
make imx6_defconfig
##选择General setup->Kernel->user space relay support(formerly relayfs)
##编译生成uImage
make uImage ARCH=arm CROSS_COMPILE=arm-linux-
##编译内核模块
make modules ARCH=arm CROSS_COMPILE=arm-linux-
##安装模块
make modules_install INSTALL_MOD_PATH=根文件系统目录
#backports编译
##修改Makefile
vim drivers/net/wireless/ath/Makefile
#obj-$(CPTCFG_ATH_COMMON) += ath.o
obj-m += ath.o
##配置backports
make defconfig-ath9k
##配置
make menuconfig
裁剪掉不必要的配置和其他芯片驱动
如:可以去掉USB Network Adapters
去掉Realtek的网卡,
只需:
##编译
make ARCH=arm CROSS_COMPILE=arm-linux- KLIB=根文件系统/lib/modules/3.0.35 KLIB_BUILD= linux内核目录 prefix=根文件系统/lib/modules/3.0.45/kernel/driver/wifi find ./ -name *.ko|xargs -i cp {} /rootfs/lib/modules/3.0.45/kernel/driver/wifi //拷贝所有ko到根文件系统的modules目录下的wifi驱动中
##安装
将生成的ko文件下载到板子,修改/etc/profile文件 启动加载内核模块
加载顺序如下:
insmod compat.ko
insmod cfg80211.ko
insmod mac80211.ko
insmod ath.ko
insmod ath9k_hw.ko
insmod ath9k_common.ko
insmod ath9k.ko