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.

[参考译文] CC3235MODSF:软漫游仍无法正常工作

Guru**** 2535150 points
Other Parts Discussed in Thread: CC3235SF

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/998574/cc3235modsf-soft-roaming-is-still-not-working-how-it-should

器件型号:CC3235MODSF
主题中讨论的其他器件:CC3235SF

您好!

我正在创建此新帖子、因为上一个帖子已锁定。 我最近使用最新的 SDK 版本5.10测试了软漫游。

但是、NWP 似乎没有正确管理软漫游功能。 链路质量事件被触发、但 NWP 不管理断开/连接序列。 仅当 AP 非常远时、器件才会断开连接。 只有在这种情况下、才会与距离更近的新 AP 建立新连接。

请告诉我解决此问题的计划是什么。 谢谢。

最棒的

欧格尔肯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    感谢您发帖。 我可以在我的末尾使用最新版本尝试此操作、以查看是否可以重现此问题。

    我最近检查过较旧版本、以验证过去的某些修复程序是否正常工作。 作为完整性检查、您能否在设置中使用 SDK v4.0.8中的 sp_4.8.0.8进行测试、并让我知道您能否在不远且首先断开连接的情况下看到器件转换?

    谢谢、

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、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、

    是的、该功能是去年年底通过服务攻击更新引入的、旨在满足某些商业环境中对网络辅助漫游的需求。 它必须与 sp_4.8.0.8或更高版本一起使用。
    感谢您提供有关代码示例的说明。 我将提交一份报告、并确保我们得到更正。

    请给我几天时间来回顾您的步骤并进行验证。

    此致、

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ben、

    我想问您是否能够了解这一点。

    最棒的

    欧格尔肯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    很抱歉耽误你的时间。 我在过去的一周内不在办公室、因此无法完成有关此方面的其他测试。

    我将在本周再次进行此项工作、并将于星期四为您提供最新信息。

    此致、
    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    好的、我能够在我的环境中测试这一点、我相信我看到的结果与您类似。 我看到后台扫描的触发事件开始、当  我使器件靠近第二个 AP (它当前未连接到的 AP)时、我看到器件会生成断开事件。 我没有使用最新固件重新连接到我的终端。

    我将继续对其进行进一步的调试、以查看正在发生的情况。

    此致、

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ben、

    感谢您的回答。 如果您能找到快速解决方案、请告诉我。 同时、我们开发了应用程序、以便在有具有更高 RSSI 和不同 BSSID 的 SSID 时强制断开连接。 只有在这种情况下、器件才会重新连接到第二个更靠近的 AP。 但是、这并不是最佳选择、因为它在每次扫描操作中消耗的电流过大。

    最棒的

    欧格尔肯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    我很高兴你有一个临时的权变措施。 今天我将更详细地进行调试、并计划在明天再次更新。

    最棒的

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    快速更新、由于设置问题、我的测试昨天没有按预期运行。 用作 AP 的设备配置不正确(MAC 地址相同)、导致我的结果出现问题。 明天我将进行更多测试。

    此致、

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ben、

    我谨提醒此问题、以便获取更新信息。

    最棒的

    欧格尔肯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    对拖延表示歉意。 我 还没有任何具体的结论。 我需要更多时间进行调查、并确保在本周结束前再次向您提供最新信息。

    此致、

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    在测试过程中、我能够对其进行更多测试、并从网络处理器中获得一些非常好的日志。 器件按预期生成断开事件。 器件从存储的配置文件中知道要查找哪个 SSID、并且器件正在运行扫描以查找新 AP。 我看到扫描中显示了多个具有相同 SSID 和不同 RSSI 的结果、因此器件看起来可以看到两个 AP 的探测响应。 由于某种原因、虽然设备认为扫描结果与配置文件不匹配、并且无法在我的测试中重新连接。

    您能否在收集 NWP 日志并将其发送给我的同时运行您的方案、以便我可以确保我们看到同样的情况?

    如果您以前没有从器件收集 NWP 日志、请参阅编程人员指南的第20章: https://www.ti.com/lit/swru455

    谢谢、

    本·M

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ben、

    非常感谢您的回答。 如测试结果所示、触发的漫游似乎不起作用。

    为了收集 NWP 日志、我需要在 Launchpad 上运行该方案。 这可能需要一些时间、但我会尽快将其发送。

    同时,解决这一问题的计划是什么?

    最棒的

    欧格尔肯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ogulcan、

    为了了解根本原因、我需要与我们的开发团队进一步审查该场景并进行进一步调试。 通常、计划是确定根本原因、然后我们将优先考虑将其集成到未来的 SDK 版本中。 此时、相交的下一个可能释放点将是我们的第三季度释放点。  第二季度发布的开发已结束、并正在进行最终测试。  

    我的目标是确保我们能够理解该问题、并为该第三季度发布计划解决该问题。

    此致、

    本·M