IMX6添加PCI接口的AR9580无线网卡驱动支持

因内核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)
IMX6添加PCI接口的AR9580无线网卡驱动支持_第1张图片
##编译生成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
IMX6添加PCI接口的AR9580无线网卡驱动支持_第2张图片
去掉Realtek的网卡,
IMX6添加PCI接口的AR9580无线网卡驱动支持_第3张图片
只需:
IMX6添加PCI接口的AR9580无线网卡驱动支持_第4张图片
##编译

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

你可能感兴趣的:(linux内核及驱动开发)