主题中讨论的其他器件:CC3235SF
您好!
我正在创建此新帖子、因为上一个帖子已锁定。 我最近使用最新的 SDK 版本5.10测试了软漫游。
但是、NWP 似乎没有正确管理软漫游功能。 链路质量事件被触发、但 NWP 不管理断开/连接序列。 仅当 AP 非常远时、器件才会断开连接。 只有在这种情况下、才会与距离更近的新 AP 建立新连接。
请告诉我解决此问题的计划是什么。 谢谢。
最棒的
欧格尔肯
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在创建此新帖子、因为上一个帖子已锁定。 我最近使用最新的 SDK 版本5.10测试了软漫游。
但是、NWP 似乎没有正确管理软漫游功能。 链路质量事件被触发、但 NWP 不管理断开/连接序列。 仅当 AP 非常远时、器件才会断开连接。 只有在这种情况下、才会与距离更近的新 AP 建立新连接。
请告诉我解决此问题的计划是什么。 谢谢。
最棒的
欧格尔肯
您好、Ogulcan、
我刚刚使用 sp_4.10.0.1 (来自 SDK 5.10)在我的环境中的 CC3235SF 上测试了软漫游、我看到它按预期工作。 我使用 network_terminal 应用 程序来设置一个具有两个已保存配置文件的设备、然后使用-65的 RSSI 触发器启用软漫游功能(我还使用-70进行了测试、但我所在的空间有限)。 当我在环境中的两个 AP 之间移动时、器件会生成触发事件并连接到新 AP。
请确保设备能够在正常扫描期间收集您的 AP。 另请注意、对于仅支持11bg 连接的 AP、最多可能需要3个触发器(扫描周期)来获取新 AP。
此致、
本·M
您好 Ben、
非常感谢您的快速响应。 但是、使用 SDK v4.0.8 v4.30中的 sp_4.8.0.8、软漫游对我也不起作用。
我们对软漫游功能的解释可能有所不同。 在空间较大的位置(如工厂)需要软漫游。 在这些位置内、设备需要切换的 WiFi 配置文件是相同的。 因此、我尝试仅使用一个已保存的配置文件进行软漫游。
我想提供我的设置的所有详细信息、以便您重现此问题。
-以下是我的扫描策略,间隔值为10:
/* Set scan policy. */
slRet = sl_WlanPolicySet(SL_WLAN_POLICY_SCAN, \
SL_WLAN_SCAN_POLICY(1,1), \
(_u8 *)&intervalInSeconds, \
sizeof(intervalInSeconds));
-以下是启用软漫游的方法:
SlWlanRegisterLinkQualityEvents_t RegisterLinkQuality;
memset(&RegisterLinkQuality, 0, sizeof(RegisterLinkQuality));
RegisterLinkQuality.TriggerId = 1;
RegisterLinkQuality.Enable = 1;
RegisterLinkQuality.Metric = SL_WLAN_METRIC_EVENT_RSSI_BEACON;
RegisterLinkQuality.Direction = SL_WLAN_RSSI_EVENT_DIR_LOW;
RegisterLinkQuality.Threshold = -75;
RegisterLinkQuality.Hysteresis = 3;
RegisterLinkQuality.Type = SL_WLAN_RX_QUALITY_EVENT_LEVEL;
RegisterLinkQuality.Pacing = 5000;
sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_REGISTER_LINK_QUALITY_EVENT, \
sizeof(SlWlanRegisterLinkQualityEvents_t), (_u8 *)&RegisterLinkQuality);
-以下是我添加唯一要连接的 WiFi 配置文件的方法:
sl_WlanProfileAdd(SSID, strlen(SSID), 0, &secParams, p_ext, 6, 0);
最后,下面是我启用自动连接的方法:
sl_WlanPolicySet(SL_WLAN_POLICY_CONNECTION, \
SL_WLAN_CONNECTION_POLICY(1, 0, 0, 1), \
NULL, 0);
像这样设置器件后、我可以看到链路触发事件、但在因距离而断开连接之前不会发生切换。
请告诉我您是否可以重现此问题。 同时、我将在链路触发事件后执行扫描、以查看器件是否可以看到更接近的新 AP。
最棒的
欧格尔肯
您好、Ogulcan、
感谢您澄清您的设置以及您尝试实现的目标。 软漫游功能旨在使设备能够在两个不同的网络之间转换,每个网络存储在不同的保存配置文件中。
我相信您所寻找的更适合我们的触发式漫游(或网络辅助漫游)功能。 请参阅 我们的网络处理器编程人员指南的第4.3.9节。 它旨在使器件能够从一个 AP 漫游到另一个 AP、该 AP 要么包含在当前服务的 AP 发送的邻居列表中、要么具有与当前服务的 AP 相同的 SSID (即不需要多个配置文件)。
在使用软漫游的情况下、器件应根据 RSSI 触发器进行扫描。 但是、由于它发现它已连接到与存储的配置文件匹配的 AP、因此它不会漫游。
此致、
本·M
您好 Ben、
它看起来像是在2020年10月引入的"触发漫游"、因为它不存在于文档版本 I hhad (swru455l)中。
首先、文档上的示例是错误的、因为 sl_WlanSet 函数需要 roamingTriggeringEnable 变量的地址。 因此、它应该是"(_u8 *)&roamingTriggeringEnable"。
因此、很清楚、我的步骤如下:
SlWlanRegisterLinkQualityEvents_t RegisterLinkQuality;
/* Clear variable. */
memset(&RegisterLinkQuality, 0, sizeof(RegisterLinkQuality));
/* trigger Id 1 is used for soft roaming trigger id 0 is for the host app usage.*/
RegisterLinkQuality.TriggerId = 1;
/* Disable soft roaming. */
sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_REGISTER_LINK_QUALITY_EVENT, \
sizeof(SlWlanRegisterLinkQualityEvents_t), (_u8 *)&RegisterLinkQuality);
RegisterLinkQuality.TriggerId = 0;
sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_REGISTER_LINK_QUALITY_EVENT, \
sizeof(SlWlanRegisterLinkQualityEvents_t), (_u8 *)&RegisterLinkQuality);
SlWlanNetworkAssistedRoaming_t roamingTriggeringEnable;
roamingTriggeringEnable.Enable = 1;
roamingTriggeringEnable.rssiThreshold = -65;
return sl_WlanSet(SL_WLAN_STA_NETWORK_ASSISTED_ROAMING, SL_WLAN_ROAMING_TRIGGERING_ENABLE, \
sizeof(SlWlanNetworkAssistedRoaming_t ), (_u8 *)&roamingTriggeringEnable);
执行这些步骤后、即使 ID 为1 (软漫游)的链接触发回调已被禁用、我也会收到该回调。
此外、当我靠近具有相同 SSID 的第二个 AP 时、我会接收 SL_WLAN_EVENT_DISCONNECT 事件、其中 SL_WLAN_DISCONNING_USER_Initiated 为原因、即使我没有调用 SL_WlanDisconnect。 最后、如果我调用 sl_Stop 和 sl_Start、器件仅重新连接到更靠近的 AP。
请告诉我这是不是应该怎么做的?
最棒的
欧格尔肯
您好、Ogulcan、
在测试过程中、我能够对其进行更多测试、并从网络处理器中获得一些非常好的日志。 器件按预期生成断开事件。 器件从存储的配置文件中知道要查找哪个 SSID、并且器件正在运行扫描以查找新 AP。 我看到扫描中显示了多个具有相同 SSID 和不同 RSSI 的结果、因此器件看起来可以看到两个 AP 的探测响应。 由于某种原因、虽然设备认为扫描结果与配置文件不匹配、并且无法在我的测试中重新连接。
您能否在收集 NWP 日志并将其发送给我的同时运行您的方案、以便我可以确保我们看到同样的情况?
如果您以前没有从器件收集 NWP 日志、请参阅编程人员指南的第20章: https://www.ti.com/lit/swru455
谢谢、
本·M