讨论广场 问答详情
【wifi display】5.0.2rls版本,windows做source,无法发现sink端设备
sniglett 2025-05-26 14:05:31
180 评论 分享

问题描述: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字段完全一致

 

180 评论 分享
写回答
全部评论(10)

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

2025-05-27 10:13:02
2025-06-03 09:24:10
引用:“怎么填充的可以贴出来,给社区分享一下。比如具体调用的什么借口。感谢!”
1、空口包中观察到社区5.0.2rls原始版本中manufacturer、device_type、config_methods等字段均为空, 2、日志看到启动wpa_supplicant时,wifi hal使用"-c wpa_supplicant.conf"配置文件启动,而此配置文件中没有设置上述字段, 3、对比代码差异发现在NON_SEP_P2P时,低系统版本中使用"-m p2p_supplicant.conf"配置文件启动wpa_supplicant。 因此在修改代码使用"-m p2p_supplicant.conf"后,空口抓包中的字段被填充,windows端正确识别并解析出p2p wfd设备
2025-06-03 09:24:10
2025-05-30 16:21:30
引用:“完全填写beacon和probe request中wps字段一致后,windows可正常发现sink。”
怎么填充的可以贴出来,给社区分享一下。比如具体调用的什么借口。感谢!
2025-05-30 16:21:30
2025-05-29 14:29:48
完全填写beacon和probe request中wps字段一致后,windows可正常发现sink。
2025-05-29 14:29:48
2025-05-28 17:14:33
引用:“对比过两个版本的空口包,5.0中wps字段缺少设备类型及config methods,已做了填充,现beacon帧与probe帧中wps字段、wifi direct字段完全一致。但5.0版本sink仍不可被windows发现”
这得从source端正面分析了。目前beacon和probe respone已经一致了,windows还不可发现。sink端已没有分析手段了
2025-05-28 17:14:33
2025-05-27 14:46:39
对比过两个版本的空口包,5.0中wps字段缺少设备类型及config methods,已做了填充,现beacon帧与probe帧中wps字段、wifi direct字段完全一致。但5.0版本sink仍不可被windows发现
2025-05-27 14:46:39
4 楼

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

2025-06-09 18:47:33
2025-06-10 12:42:16
已解决
2025-06-10 12:42:16

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

2025-05-26 14:57:13
2025-05-26 15:14:18
有调用SetwfdInfo接口,且wpa_supplicant有成功设置,使用wfd_cli 下发wfd_subelem_get 0 获取结果为 000600111c4400c8。且安卓手机可以正常发现sink
2025-05-26 15:14:18