参照文档说明,解压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生成。

GitHub 加速计划 / li / linux-dash
12
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐