统一互联-富对富投屏-wifi p2p必现扫描不到设备问题分析
一问题描述: wifi p2p必现扫描不到设备。应用层已经调用接口startDiscovery去发现p2p 设备。必现发现不了设备。日志中没有关键日志onDeviceFound的打印! 二.分析过程 1.静态代码梳理startDiscovery的流程和扫描结果的上报流程 2.结合日志分析 主要思路是排查1.扫描请求是否正确下发到wpa_supplicant 2.wpa_supplic
一问题描述:
wifi p2p必现扫描不到设备。应用层已经调用接口 startDiscovery去发现p2p 设备。必现发现不了设备。日志中没有关键日志onDeviceFound的打印!
二.分析过程
1.静态代码梳理startDiscovery的流程和扫描结果的上报流程
2.结合日志分析
主要思路是排查1.扫描请求是否正确下发到wpa_supplicant 2.wpa_supplicant有没有扫描到p2p设备并正确上报
1.根据上面梳理的OpenHarmony wifi框架层的DiscoverDevices流程。排查过程中是不是哪一步返回错误了。
经过排查,排查确实是出错返回了。说明命令没有下发到wpa_supplicant中!
3.排查p2pService的启动情况---实际排查结果是p2pserveice启动成功
1.排查,是否有EnableP2p的动作----------排查结果有!
搜索关键字EnableP2p,有相关的日志输出!说明有嗲用接口去EnableP2p
2.EnableP2p是成功还是失败:主要接口函数是WifiP2pManager::AutoStartP2pService()
WIFI_LOGI("AutoStartP2pService, current p2p state:%{public}d", p2pState);
WIFI_LOGE("service EnableP2p failed, ret %{public}d!", static_cast<int>(ret));
能搜索到 "AutoStartP2pService, current p2p state:"说明真的有启动p2pservice
没有搜索到"service EnableP2p failed, ret" 说明p2pserveice启动成功!
4.汇总分析原因----上层调用时序问题
三.解决方案
上层在EnableP2p后,需要等待一段时间再开启扫发现流程。或者发现流程返回错误后,再次StartDiscover
更多推荐
所有评论(0)