
问题描述:OpenHarmony 5.0.2 release版本,dayu 200开发板,使用自开发测试demo调用start接口后成功建立p2p组,使用安卓、鸿蒙手机可以发现并投屏,但使用windows电脑的无线投屏功能无法发现sink设备,4.1版本镜像中windows电脑可以正常发现并投屏。
问题分析:空口抓包中发现sink设备的beacon帧中没有wfd相关IE(20250527更正,此处为omnipeek解析不全,不是没有wfd IE,使用wireshark解析可以解析到wfd信息,经beyond compare对比,与4.1的wfd字段一致,见后文图),导致windows端未能成功将设备识别为wfd sink。推测可能与5.0三方库中wpa_supplicant中OPEN_HARMONY_MIRACAST_SINK_OPT宏未开启有关,但开启宏后无法编译通过,提示缺少hm_miracast_sink.h文件,下图中可见此宏开启后会在p2p ie中添加部分信息,但此宏开启后无法编译镜像。
想确认下社区5.0是否支持windows作为sink投屏到OH设备的sink端?当前手机支持,但windows不支持的原因是什么?4.1支持但5.0不支持的差异是什么?
20250527补充:
空口抓包对比,5.0与4.1 beacon帧与probe response帧中wifi direct字段完全一致

同一个设备,你用4.1的镜像和5.0的镜像。分别抓个包。看下sink设备的beacon帧和probe response帧有什么明显差异。再针对差一点排查一下





请问,执行这个,wfd_sink_demo.cpp, 第一能投屏成功,之后就失败了,然后重启设备又可以了,这是为什么呢?感谢指导

空口抓包中发现sink设备的beacon帧中没有wfd相关IE,---这个应该是没有设置wfd信息。有借口可以设置wfd信息。SetP2pWfdInfo

