全志XR806芯片 执行扫描动作时,偶尔会扫描不到目标的AP如何解决?

1、问题背景
有客户反应,XR系列MCU在连接进行扫描附近AP时,扫描不出所需要的AP,但第二次或者第三次就能扫描出来了。

2. 问题描述
当mcu执行扫描动作时,扫描不出所需要的ap时,可以通过哪些方法来改善这种情况。

3. 问题分析

  • 增加扫描结果的缓存
    如果附近网络环境复杂,AP数量太多时,扫描达到缓存上限值就会忽略掉一些ap数。此时可以通过增加扫描结果的缓存来让目标AP显示出来。具体方法可通过net sta scan result_num指令来查询当前AP的上限值(默认是20个),设置上限则通过net sta bss max count 和net sta scan result 指令来实现(num代表实际所需的AP数量)。函数实现在cmd_wlan.c里面查询相关指令接口。

  • 增加信道停留时间
    同一个信道的信道停留时间也有限,如果附近的AP都挤在同一个的信道,扫描这个信道的时间超时了也会忽略掉一些AP的信息。所以有时候也需要通过增加信道停留时间的方式来改善扫不出目标AP的情况。具体方法可通过以下代码来实现:

param.num_probes = num_probes;
param.probe_delay = probe_delay;
param.min_dwell = min_dwell;
param.max_dwell = max_dwell;
ret = wlan_ext_request(g_wlan_netif, WLAN_EXT_CMD_SET_SCAN_PARAM, (int)(¶m));

其中几个参数的典型值是:n=2 d=100 min=100 max=125 n

原贴链接:https://bbs.aw-ol.com/topic/730
全志在线开发者交流企鹅群(客服机器人24小时在线解答):498263967
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com/
全志及开发者最新动态可以关注全志在线微信公众号

你可能感兴趣的:(全志-XR806,全志-FAQ,XFEL,全志,嵌入式)