移植5G-WiFi模块AR1021x之编译 backports

时间:2024-02-19 13:11:32

    AR1021X是高通旗下最热销USB接口WiFi方案,双频模式,可以2.4G和5G切换。

需要用到的驱动源码:backports,原本是compat-wireless——>2007年后重命名为 backports,适用于 Atheros的无线。

手头上有个AR1021模块,插上Linux ,lsusb查看,

Bus 001 Device 002: ID 0cf3:1022 Atheros Communications, Inc. 

查看 ls /sys/class/net/ 发现没有网卡设备,说明没加载驱动 

 

eth0  lo   

没有wlan0或uap0出来,下面需要编译。

 

backports 编译要设置的常量参数
CROSS_COMPILE="/opt/arm-2009q1/bin/arm-none-linux-gnueabi-"
ARCH=arm 平台
KLIB_BUILD= 内核源码目录 (一定要填正确)
KLIB= 编译结果输出目录(可与KLIB_BUILD相同)

 PS:KLIB_BUILD和KLIB不要搞反了,填错了,backports 会搜寻此目录下的.config和makefile文件。

一般make 步骤:

make defconfig-wifi

make menuconfig

make

 

 

配置.config

配置:make defconfig-XXXX

它会读取当前 defconfigs   配置目录下的对应的配置文件,并拷贝到当前文件,如果没有该配置会出错。

 

关于.config 配置文件有很多配置,最好拷过来用。

WLAN-AIO-BP目录有一个(需拷贝),backports-4.4.2-1有个默认的,backports/defconfigs 也有个各种需要的。

 

官方文档说拷贝来用!!!

Config Backport

> cd backports-3.18.1-1

> cp ../.config ./

> make

 

如果你内核路径填的是X86的Linux的,且没指定平台和编译器,那么编出来是X86PC用的Ko文件,如下图:

 

此时,只编出来2个ko驱动文件,还需要第二步编译。

 进入到build 打补丁,一般不会出错

> cd WLAN-AIO-BP/build/

> make drivers_patch BOARD_TYPE=x86

打完补丁。要用X86平台来make,需要注意。

> make BOARD_TYPE=x86

 

在这个文件中build/scripts/x86/config.x86:  修改内核源码,工具链和平台

export KERNELPATH=/home/xiaojie/ittim_work/Logic_UB25_1021x/linux-3.3-fa

export KERNELARCH=arm

export TOOLPREFIX=/home/xiaojie/ittim_work/Logic_UB25_1021x/toolchain_gnueabi-4.4.0_ARMv5TE/usr/bin/arm-unknown-linux-uclibcgnueabi-

 

把上面arm平台换电脑平台的

export KERNELPATH=/lib/modules/${shell uname -r}/build

export KERNELARCH=x86

#export TOOLCHAIN=/home/frank/qca9375-le-5-2-0_qca_oem.git/toolchain_gnueabi-4.4.0_ARMv5TE/usr/bin

 

第二部编译结果:

在  WLAN-AIO-BP 目录下生产一个rootfs-x86.build用的文件夹,里面有驱动文件和库。

在lib/firmware下有需要的bin固件,AR1021的固件路径是:\firmware\ath6k\AR6004\hw3.0\

在lib/modules 下有ath6kl_usb.ko  和ath6kl_SDIO.ko

把 ath6kl_usb.ko 拷到内核系统的目录。

此时,需要的文件就是:

compat.ko

cfg80211.ko

ath6kl_usb.ko

逐级插入驱动,否则出错Unknown symbol in module

注意lib/firmware下有需要的bin固件,插入完成后查看

$ ls /sys/class/net/

eth0  lo  p2p0  wlan0

 

终于有无线网卡出来了。

如果要启用Ap模式要用hostapd和udhcpd。

要启用station模式要用wpa_supplicant

 

 

 

 

 

 

 

 

 

 

 

 

 

 

链接:https://pan.baidu.com/s/1AJ6gVMTXy0CRviu3zmK8hA
提取码:d1ao