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张图片

编译


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

你可能感兴趣的:(IMX6添加PCI接口的AR9580无线网卡驱动支持)