RK系列开发板HDF-WiFi驱动适配指南 原创 精华

软通动力HOS
发布于 2023-1-3 09:44
浏览
10收藏

总体方案

WiFi在现在电子设备中,已经是一个不可或缺的功能了,不论是windows 或者Linux系统,都可以通过WiFi来链接网络,达到上网的目的。基于OpenHarmony的开发板,是需要进行WiFi驱动适配,才能使用WiFi功能,达到上网目的。

概述:

基于HDF WLAN的框架规范,实现HDF驱动初始化接口、WLAN控制侧接口集、AP模式接口集、STA模式接口集、网络侧接口集、事件上报接口等主要接口,改造AP6275P WIFI6原生内核驱动代码,并使用wpa_supplicant和hostapd应用程序通过HDF WIFI框架与WIFI驱动进行交互,实现AP模式、STA模式、P2P三种主流模式下WIFI功能。

1.硬件组成

RK系列 EVB主板中SoC芯片为RKXXX,WIFI芯片为AP6275P,使用PCIE总线抽象接口。
图1-1 RKXXX EVB系统框图
RK系列开发板HDF-WiFi驱动适配指南-鸿蒙开发者社区
图1-2 AP6275P系统框图
RK系列开发板HDF-WiFi驱动适配指南-鸿蒙开发者社区

2.HDF-WIFI框架

图1-3 HDF WIFI框架总体框图
RK系列开发板HDF-WiFi驱动适配指南-鸿蒙开发者社区

3.AP6275P驱动原生代码流程分析

图1-4 AP6275P驱动原生代码流程图
RK系列开发板HDF-WiFi驱动适配指南-鸿蒙开发者社区

4.AP6275P驱动适配HDF WIFI框架代码流程分析

图1-5 AP6275P驱动适配HDF WIFI框架代码流程图
RK系列开发板HDF-WiFi驱动适配指南-鸿蒙开发者社区

配置过程与步骤

基于RK系列HDF-WiFi驱动适配指南-总体方案介绍,已经明确需要进行改造AP6275P WiFi6原生内核驱动代码,并使用wpa_supplicant和hostapd应用程序通过HDF WiFi框架与WiFi驱动进行交互,实现AP模式、STA模式、P2P三种主流模式下WiFi功能。

概述:

对于系统WIFI功能的使用,需要实现AP模式、STA模式、P2P三种主流模式。这里使用wpa_supplicant应用程序通过HDF WiFi框架与WiFi驱动进行交互,实现STA模式和P2P模式的功能,使用hostapd应用程序通过HDF WiFi框架与WiFi驱动进行交互,实现AP模式和P2P模式的功能。AP6275P WiFi6内核驱动依赖platform能力,主要包括PCIE总线的通讯能力;与用户态通信依赖HDF WiFi框架的能力。在确保上述能力功能正常后,即可开始本次WiFi驱动的HDF适配移植工作,适配过程主要包括代码整改过程和参数配置过程,具体有以下步骤:

1.硬件组成设置WIFI驱动固件目录

device/soc/rockchip/hardware/wifi
├── ap6xxx
│ ├── clm_bcm43752a2_pcie_ag.blob
│ ├── fw_bcm43752a2_pcie_ag_apsta.bin
│ ├── fw_bcm43752a2_pcie_ag.bin
│ ├── fw_bcm43752a2_pcie_ag_mfg.bin
│ └── nvram_AP6275P.txt
├── BUILD.gn

2.设置WIFI驱动源码目录

2.1 原生驱动与在其中增加以及修改的代码文件位于:
device/board/rockchip/rk3588/wifi/bcmdhd_wifi6
注:在master分支中,原生代码由kernel.patch生成在out/kernel/src_tmp/linux-5.10/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd_wifi6中,这里通过直接复制过来将所有代码放一起使用。
2.2 增加以及修改的代码文件:

├── hdfadapt
│   ├── hdf_bdh_event.c
│   ├── hdf_bdh_event.h
│   ├── hdf_bdh_mac80211.c
│   ├── hdf_driver_bdh_register.c
│   ├── hdfinit_bdh.c
│   ├── hdf_wl_interface.h
│   ├── net_bdh_adpater.c
│   ├── net_bdh_adpater.h
├── hdf_public_ap6275s.h
├── rk_wifi_config.c

其中hdf_bdh_mac80211.c主要对g_bdh6_baseOps所需函数的填充,包括对g_bdh6_staOps、g_bdh6_apOps和g_bdh6_p2pOps所需函数进行填充;
在drivers/framework/include/wifi/wifi_mac80211_ops.h里有对WiFi基本功能所需api的说明。

3.编写WiFi驱动文件

HDF WLAN驱动框架由Module、NetDevice、NetBuf、BUS、HAL、Client 和 Message 这七个部分组成。开发者在WiFi驱动HDF适配过程中主要实现以下几部分功能:
3.1 适配HDF WLAN框架的驱动模块初始化
3.2 HDF WLAN Base控制侧接口的实现
3.3 HDF WLAN STA模式接口的实现
3.4 HDF WLAN AP模式接口的实现
3.5 HDF WLAN P2P模式接口的实现

3.6 HDF WLAN框架事件上报接口的实现

4.配置WIFI编译文件

5.配置WIFI构建文件

6.Foundation层增加产品名宏条件

总结

结合RKXXX EVB HDF WiFi驱动适配的总体方案,并且经过配置操作,HDF-WIFI驱动适配已经完成,实现了AP模式、STA模式、P2P三种主流模式下WiFi功能。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
12
收藏 10
回复
举报
5条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

前排学习,期待后续讲解!

1
回复
2023-1-3 10:17:15
喝一大口可乐
喝一大口可乐

4.5.6后续会更新吗

1
回复
2023-1-5 11:59:36
FlashinMiami
FlashinMiami

感觉是个大工程,插眼学习下

2
回复
2023-1-6 10:51:52
OwenZhang3
OwenZhang3

已收藏

回复
2023-1-13 17:59:35
物联风景
物联风景

不错不错,学到了

回复
2023-1-15 20:43:26
回复
    相关推荐