Openharmony 5.0 miracast投屏移植过程问题记录
一、背景 miracast投屏功能已在大禹200 rk3568开发版上 基于Openharmony 5.0 release分支代码开发完成。功能完备。现在需要将该功能移植到另一个项目上。 二、遇到的问题记录: 问题1:所有对p2p的操作全部失败,日志如下 问题2:p2p接口被异常移除,日志如下 问题3: 创建群组失败,提示频率不支持,日志如下: 三. 问题1-所有对p2p的操作全部失败分析过
一、背景
miracast投屏功能已在大禹200 rk3568开发版上 基于Openharmony 5.0 release分支代码开发完成。功能完备。现在需要将该功能移植到另一个项目上。
二、遇到的问题记录:
问题1:所有对p2p的操作全部失败,日志如下
问题2:p2p接口被异常移除,日志如下
问题3: 创建群组失败,提示频率不支持,日志如下:
三. 问题1-所有对p2p的操作全部失败分析过程及原因:
1)首先对比rk3568,发现rk3568日志是正常的。ifname也是p2p-dev-wlan0
分析根据关键日志 "FAIL-NO-IFNAME_MATCH" 分析wpa_supplicant的源码,发现原因是p2p-dev-wlan0这个接口没有添加。
2) 分析Openharmony wifi框架层代码p2p-dev-wlan0接口没有添加的原因
对比rk3568发现。这里也没有添加。所以肯定有其他的方式在添加。通过增加日志发现。rk3568是在EnableWifi的时候,添加wlan0接口时顺便一起添加的
wpa_supplicant的关键函数和逻辑是:得出一个结论--二者的WIFI驱动能力不一致!(后来证实虽然不一致,但不是问题硬件平台差异就是不一致)
3)问题分析的转折点:
同一时刻,该项目有其它一位同事在调试图库分析应用,也走的是wifi p2p通道。反馈是p2p是可以扫描到设备的。遂对比其日志发现,其对p2p的操作都是成功的,但是使用的接口时p2p0,日志如下:
根据上面的分析,可以发现,这里显示 NON_SEPERATE_P2P并没有定义。分析代码也发现这个在wifi 框架层确实没有定义.证据如下:
所以分析,出问题的时的代码有修改:遂通过查看本地的所有修改,看是否有相关的修改,发现在一个配置文件中这个wifi_feature_non_seperate_p2p被设置成了true。由于是移植的,所以这个地方就照搬rk3568的修改。
4)将config.json的wifi_feature_non_seperate_p2p重新设置为false。编译验证,发现对p2p的操作都成功了。该问题解决!
四. 问题2-p2p接口被异常移除分析过程及原因:
1)问题的日志及初步分析如下:
2)原因是,上层没有去EnableWifi。 正确EnableWifi后。该问题解决
五. 问题3-创建群组失败,提示频率不支持分析过程及原因:
1)问题相关日志及分析,如下图所示
2)问题解决方案,上层应用在创建组时,不实用5G的频段,改为使用2G。问题解决
更多推荐
所有评论(0)