rtl8821 wifi驱动编译

参照文档说明,解压rtl8821CS_WiFi_linux_v5.5.1_30884.20181122_COEX20180712-3232.tar.gz,修改MakeFile文件,主要修改目标平台、交叉编译环境和内核路径,如下:
1.去掉默认为PC的目标平台,修改为海思:
在这里插入图片描述
2、修改交叉编译环境和内核路径:
在这里插入图片描述
修改完后,make,ko就生成了:
在这里插入图片描述
需要的话,可以吧debug关掉,现在是开着的:
在这里插入图片描述
将驱动拷贝到设备上,加载运行就可以了。


之前使用的是别人编译好的完整的内核和文件系统,换用默认配置的内核后,make出现问题,之前没注意到,还是提示了但是没在意?:
在这里插入图片描述
意思就是一堆符号找不到,驱动放板子上insmod出错:

insmod: can't insert 'rtl8192eu.ko': unknown symbol in module, or unknown parameter

重新烧写别人编译好的内核,insmod是OK的,所以应该是内核没配置80211这块东西,重新添加配置编译内核:

/home/work/Hisi/Hi3519AV100_SDK_V2.0.1.0/osdrv/opensource/kernel/linux-4.9.y-smp
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig

选择80211配置:
在这里插入图片描述
重新生成内核,重新编译驱动:

make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage
cd /home/nfsshare/hisi/wifi/RTL8821/driver/rtl8821/
make clean
make

在编译就没用上述warning了,编译正常之后,将内核重新烧写,insmod就正常了。




再后续,烧写之后,insmod正常,但是不会生成wlan0,但是使用原来的uboot、kernel、fs正常,反复对比之后发现是uboot配置问题。弄好之后就可以用wpa工具连接了。
uboot在管脚复用配置更新后,需要重新生成reg文件:
在这里插入图片描述
生成reg_info.bin,并将它拷贝到u-boot目录,替换原来的.reg文件,重新编译,这里这个问题就是没有更新导致的。也可以切换到linux生成。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值