专栏中心

EEPW首页 > 专栏 > 迅为瑞芯微3399开发板Android7-WiFi移植步骤

迅为瑞芯微3399开发板Android7-WiFi移植步骤

发布人:魔法城堡 时间:2021-11-10 来源:工程师 发布文章

基于迅为3399开发板Android7-WiFi移植步骤
1 增加设备树节点
在 /home/topeet/rk3399_7.1_industry/kernel/arch/arm64/boot/dts/rockchip/rk3399-topeet.dtsi 设 备 树 中添加 WiFi 节点,如下图所示:

wifi_chip_type 属性表示 WiFi 器件的类型为 rtl8822cs。
查找 sdio0 节点,注释掉下面的语句,注释掉这句是因为注册 sdio 设备时,会注册不上。

2 修改内核驱动
修改驱动的思路:
1) 将驱动文件拷贝内核中
2) 在内核中加载上添加的驱动
3) 我们提前了解下配置 wifi 固件一般是在源码
drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c,wifi 模块驱动在源码 net/rfkill/rfkill-wlan.c
第一步,我们拷贝光盘资料下“iTOP-3399 开发板\02_iTOP-3399 开发资料汇总(不含光盘内容)\13_ 嵌入式 Linux 开发指南(RK3399)手册配套资料\6.Android 底层驱动\Android7wifi 移植\原厂 wifi 驱动”
RTL8822CS_WiFi_linux_v5.12.1.1-0.20210125.tar.gz,此驱动是 wifi 模组的厂家提供的,我们将其放入内核目录 drivers/net/wireless/rockchip_wlan/下,并修改文件夹名称为 rtl8822cs,如下图所示:

接着修改以下文件:
(1)修改 drivers/net/wireless/rockchip_wlan/Makefile 文件,添加以下内容:
obj-$(CONFIG_RTL8822CS) += rtl8822cs/

(2)修改 drivers/net/wireless/rockchip_wlan/Kconfig 文件,添加
source "drivers/net/wireless/rockchip_wlan/rtl8822cs/Kconfig

(3)修改 drivers/net/wireless/rockchip_wlan/Kconfig/rtl8822cs 下的 Makefile 文件
将文件中的 CONFIG_PLATFORM_I386_PC 的值修改为 n
将文件中的 CONFIG_PLATFORM_ARM_RK3188 的值修改为 y
如下图所示:

将如下图所示所示的修改为 MODULE_NAME := 8822cs

如下图所示,可以打开或关闭 debug 信息。

(4)修改 drivers/net/wireless/rockchip_wlan/Kconfig/rtl8822cs 下的 Kconfig 文件
将第一行的 RTL8822BS 修改为 RTL8822CS,这里是厂家的源码写错了,不改正的话不会编译到这个源码目录。

(5)然后在内核目录下(也就是 kernel 目录下)输入以下命令配置加载驱动。
make ARCH=arm64 menuconfig
Device Drivers --->

  • Network device support --->

  • Wireless LAN --->

  • Rockchip Wireless LAN support --->
    Realtek 8822C SDIO WiFi

    (6)输入以下命令,将保存好的.config 文件复制替换默认的内核配置 defconfig 文件
    cp .config arch/arm64/configs/rockchip_defconfig
    (7)然后修改/home/topeet/rk3399_7.1_industry/kernel/net/rfkill/rfkill-wlan.c 文件,添加如下所示内容。
    } else if (strcmp(wifi_chip_type_string, "rtl8822cs") == 0) {
    type = WIFI_RTL8822CS;

    (8)然后修改/home/topeet/rk3399_7.1_industry/kernel/include/linux/rfkill-wlan.h 文件,添加如下内容,
    如下图所示:
    WIFI_RTL_8822CS,

    3 修改 HAl 层
    (1)我们修改/home/topeet/rk3399_7.1_industry/hardware/libhardware_legacy/wifi/rk_wifi_ctrl.c 文件,
    添加如下所示代码,如下图所示:
    {"RTL8822CS", "024c:c822"},

    (2)将 strcpy(recoginze_wifi_chip, "APXXX");注释掉,修改为 strcpy(recoginze_wifi_chip, "RTL8822CS");
    strcpy(recoginze_wifi_chip, "RTL8822CS")

    (3)修改/home/topeet/rk3399_7.1_industry/hardware/libhardware_legacy/wifi/wifi.c 文件,添加代码
    #define RTL8822CS_DRIVER_MODULE_PATH "/system/lib/modules/8822cs.ko"

    添加代码,如下图所示。
    #define RTL8822CS_DRIVER_MODULE_NAME "8822cs"

    添加代码,如下图所示:
    {"RTL8822CS", RTL8822CS_DRIVER_MODULE_NAME, UNKKOWN_DRIVER_MODULE_ARG},

    3.4APP 层
    Android 桌面“设置”APP 里面连接 WiFi 的程序在源码:
    packages/apps/Settings/src/com/android/settings/wifi/目录下。此部分不需要修改。
    (测试WIFI内容请看下节:测试 WiFi)


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: 开发板

相关推荐

拆解:树莓派5 8 GB AI 套件

Jobs芯科EFR32xG24 Dev Kit开发板开箱视频

视频 2022-08-24

国产FPGA SoC芯选择,米尔安路飞龙核心板重磅发布

Microchip PIC24FJ256DA210开发板在图形显示上的应用

ARM嵌入式系统开发板三星S3C44B0X的完整Protel电路图.rar

NEC MCU 78F0513D开发板使用教程

视频 2009-04-07

在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用

Badge USB OCD 与 78F0513D 使用演示视频

视频 2009-05-20

AN2131开发板原理图.rar

51单片机开发板

6TOPS算力驱动30亿参数LLM,米尔RK3576部署端侧多模态多轮对话

米尔-瑞萨RZ/G2L核心板开发板的系统启动时间优化应用笔记

米尔出席2025安路科技FPGA技术沙龙

SL811HS开发板原理图.rar

利用PIC24F Curiosity开发板简化设计

视频 2018-01-18

当6 TOPS不再是极限:米尔RK3576 + Hailo-8,让高帧率摄像头真正“实时”

CY7C68013开发板原理图.rar

莱迪思联手英伟达推出 Sensor Bridge 方案 加速边缘 AI 产品落地

米尔出席openEuler Summit 2024,携全志T536和RK3562核心模组亮相

12路1080P高清视频流,米尔RK3576开发板重塑视频处理极限

更多 培训课堂
更多 焦点
更多 视频

技术专区