RTL8822CS驱动移植

下载驱动源码

https://gitee.com/xiaolinenet/linux-rtl8822cs-wifi

将下载的驱动源码复制到linux-5.10/drivers/net/wireless/rockchip_wlan/rtl8822cs/

驱动源码修改

修改Kconfig文件

修改Makefile文件

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RK3188 = y

EXTRA_CFLAGS += -I$(srctree)/$(src)/include
EXTRA_CFLAGS += -I$(srctree)/$(src)/hal/phydm
EXTRA_CFLAGS += -I$(srctree)/$(src)/hal/btc
EXTRA_CFLAGS += -I$(srctree)/$(src)/platform
EXTRA_CFLAGS += -Os

Makefile添加以上内容,否则编译头文件缺少报错会改到怀疑人生…

在上层Kconfig添加项linux-5.10/drivers/net/wireless/rockchip_wlan/Kconfig

source "drivers/net/wireless/rockchip_wlan/rtl8822cs/Kconfig"

在上层Makefile添加编译linux-5.10/drivers/net/wireless/rockchip_wlan/Makefile

obj-$(CONFIG_RTL8822CS)  += rtl8822cs/

编译报错修改

  • #include<linux/wlan_plat.h>找不到,下载源码,放入同级目录,修改头文件引用< >为" "
    wlan_plat.h文件

  • delay_ms(10);函数找不到,注释掉

  • 报错dhd_gpio(ld.lld:error:undefined symbol:dhd_wlan_mem_prealloc),在linux-5.10/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile打开CONFIG_BCMDHD_STATIC_BUF_IN_DHD := y

烧录验证

wlan0驱动加载成功

注意事项

修改设备树sdio,注释如下内容,否则sdio设备注册不上

修改设备树

总结

  • 设备树(引脚配置):MHBase-4.1-3588/src/out/kernel/src_tmp/linux-5.10/net/rfkill/rfkill-wlan.c
  • 模块驱动:MHBase-4.1-3588/src/out/kernel/src_tmp/linux-5.10/drivers/net/wireless/rockchip_wlan/8822cs(xxx.bin)
  • wifi协议:MHBase-4.1-3588/src/out/kernel/src_tmp/linux-5.10/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd

参考链接

https://m.elecfans.com/article/2123761.html
https://www.artinchip.com/knowledge/oxy_ex-1/topics/wifi-rtl8821cs-luban.html
https://blog.youkuaiyun.com/weixin_43982460/article/details/116009321
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值