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:CC3235MODSF:软漫游-应如何工作

Guru**** 2559770 points
Other Parts Discussed in Thread: UNIFLASH, CC3235MODSF, CC3235SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/952650/cc3235modsf-cc3235modsf-soft-roaming---how-it-should-work

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

最近我询问软漫游应该如何工作、然后我认为问题是由使用"更新"API 而不是删除/添加引起的。

现在、经过几次测量后、我想不是更新 API 导致我的困惑。

因此问题是、我将链路质量触发器设置为 id=1 (软漫游)、并将触发级别设置为-65dB、迟滞= 1

我在配置文件中添加了一些 SSID。 路由器命名为"test_2G4"和"test_2G4_2"、"test_5G"和"test_5G_2"、配置文件设置相应。

路由器#1的位置距离路由器#2 ~50米(SSID ="***_2")

在"SimpleLinkWlanEventHandler"函数中、每当我收到带有"sl_WLAN_EVENT_LINK_PRICE_TRIGGGER 的通知时、我都会打印 sl_WlanGetNetworkList 返回的最新扫描结果以查看 RSSI 值。

在这里、它会令人困惑。 该列表确认设备看到 RSSI 值高得多的#2路由器、但它不会跳到该 SSID。

当您走到路由器#2时、我会收到以下通知:

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-66触发器 Id=1
[SCAN]结果28:
01 -64dB SSID:TEST_2G4
02 -87dB SSID:TEST_5G
25 -74dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-70触发器 Id=1
[SCAN]结果30:
01 -61dB SSID:TEST_2G4
02 -87dB SSID:TEST_5G
24 -71dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-69触发器 Id=1
[SCAN]结果30:
01 -61dB SSID:TEST_2G4
02 -87dB SSID:TEST_5G
24 -71dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-72触发器 Id=1
[SCAN]结果30:
01 -61dB SSID:TEST_2G4
02 -87dB SSID:TEST_5G
24 -71dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-75触发器 Id=1
[SCAN]结果30:
01 -66dB SSID:TEST_2G4
02 -87dB SSID:TEST_5G
24 -66dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-76触发器 Id=1
[SCAN]结果30:
01 -66dB SSID:TEST_2G4
22 -66dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-78触发器 Id=1
[SCAN]结果30:
01 -66dB SSID:TEST_2G4
22 -66dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-79触发器 Id=1
[SCAN]结果30:
01 -77 dB SSID:TEST_2G4
21 -63dB SSID:TEST_2G4_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-82触发器 Id=1
[SCAN]结果27:
01 -77 dB SSID:TEST_2G4
17 -63dB SSID:TEST_2G4_2
27 -83dB SSID:TEST_5G_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-83触发器 Id=1
[SCAN]结果27:
01 -77 dB SSID:TEST_2G4
17 -63dB SSID:TEST_2G4_2
27 -74dB SSID:TEST_5G_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-86触发器 Id=1
[SCAN]结果21:
01 -84dB SSID:TEST_2G4
08 -58dB SSID:TEST_2G4_2
16 -74dB SSID:TEST_5G_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-86触发器 Id=1
[SCAN]结果21:
01 -84dB SSID:TEST_2G4
08 -58dB SSID:TEST_2G4_2
16 -74dB SSID:TEST_5G_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-83触发器 Id=1
[SCAN]结果21:
01 -84dB SSID:TEST_2G4
08 -58dB SSID:TEST_2G4_2
16 -74dB SSID:TEST_5G_2

[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-81触发器 Id=1
[SCAN]结果21:
01 -84dB SSID:TEST_2G4
08 -58dB SSID:TEST_2G4_2
16 -74dB SSID:TEST_5G_2

低于 RSSI -75时、使用路由器#1的数据吞吐量极低、最好能使这种漫游工作。

在另一种情况下、当我将#1路由器配置为使用5GHz 降低 TX 功率并切换2G4网络时、将器件连接至5GHz。
然后、我再次激活2G4对讲机、并通过相同的链路质量回调从设备获取通知、即我从5GHz 断开连接并重新连接到2G4原因= 200。
这会转换为"sl_WLAN_DISCONNINNECT 用户启动"我可能会期待"SL_WLAN_DISCONNING_RANING_TRIGGER_LOW_LEASE"?

问题:

1) 1)如果使用链路质量 API 请求漫游功能、迟滞会配置什么?
2) 2)除了使软漫游工作外、我们还需要启用或设置/配置什么?
3) 3)为什么当漫游功能从5G 跃到2G4时、我会得到 reason=200代码?

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

    问题
    4)漫游扫描 SSID 时。 该器件的条目列表有限、只有30个条目? 器件是否更喜欢已知的 SSID、因此如果我们存储了7个配置文件、那么这7个配置文件将始终优先显示在30个 SSID 的列表中、或者是否会出现(在具有60多个 SSID 的城市环境中) 是否没有任何 SSID 能够放入列表中? 如何针对存储的配置文件实施扫描?

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

    您好!

    软漫游是否对您有效?

    1.您的意思是带有链路质量选项的 sl_WlanSet API 吗? 我不知道任何特定的链路质量 API。 我只想确保我们在同一页上。 我不确定我是否理解这个问题。 在 传递给 sl_WlanSet 的 SlWlanRegisterLinkQualityEvents_t 结构中、迟滞将配置为您设置的任何值。

    2.编程 人员指南第4.3.6节中有一个代码摘录 、用于启用软漫游。 我最突出的一点 是确保触发器 ID = 1 (看起来就像您所做的那样)、启用= 1 (显然)、并使用您的其余配置调用 sl_WlanSet API。 如果  在连接策略中启用了快速连接,软漫游将不起作用。 请验证这一点。 如果您不知道如何设置连接策略、请查看程序员指南的 WLAN 部分。  

    3.当您在路由器上执行禁用操作时,它可能会在完全关闭之前断开站点的连接。 您可以使用监听器日志来验证这一点、但这是我经过教育的猜测。 尝试跳跃  

    4.是的,有30个条目是限制的。 扫描将首先根据存储的配置文件的优先级进行选择、然后根据 RSSI 进行选择。

    Jesu

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

    感谢您的回复。 我认为我报告了这个问题、因为我无法判断它是否正常工作、甚至是否正常工作。

    1) 1)我认为这是一个简单的问题。 在结构"SlWlanRegisterLinkQualityEvertes_t"中、您有一个字段"Hysterisation"。
    文档:"阈值附近的迟滞范围。 单位:dB;阈值范围:(0 . 255)"
    我的 CNA 想象、当 TirgerId=0时、迟滞应用于阈值、但 如果 TriggerId=1、它会怎么做?
    我在这里没有看到不同值的差异。
    这是否意味着另一个/候选 SSID 必须使 RSSI = Current + Hyst 更高?  

    2) 2)谢谢、我相信我遵循了那里的指示。 (请参阅下面的)

    3) 3)很抱歉、但我不确定是否理解这些句子。
    我不执行任何操作。 我设置了一个具有漫游功能的应用程序(我相信)、然后我有一个路由器、其中两个接口、一个接口的功率 输出设置较低、因此链路较弱、另一个接口的功率更高。 因此、当器件连接到较弱的接口时、我会收到带有打印输出的回调、确认我的 RSSI 低于 值"RegisterLinkQuality.Threshold"、我预计会发生漫游。 我看到它很少发生、然后我得到代码=200。

    4) 4)我了解30是限制。 我的问题是:如果我的邻居中有60个 SSID、并且我配置了7个配置文件。 在 _storee_scanning 期间、器件是否始终更喜欢存储的已配置 SSID? 或者、它将是随机的、我可能在30个条目的列表中看不到我的7个配置文件 SSID 中的任何一个、即使它们都有7个可见的 SSID 周围有53个其他 SSID?
    或者换句话说:是扫描  
     4/a)只是一  种愚蠢的"在一段时间内寻找 SSID/信标帧"机制   
     4/b)还是 "如果列表项仍然可用、查找我知道的 SSID 并存储剩余的 SSID "?

    我从程序员指南中获取了以下代码示例:

    SlWlanRegisterLinkQualityEvents_t RegisterLinkQuality;
    RegisterLinkQuality.Enable = 1;
    RegisterLinkQuality.TriggerId = 1;
    RegisterLinkQuality.Metric = sl_WLAN_metric_event_RSSI_beacon;
    RegisterLinkQuality.Direction = sl_WLAN_RSSI_EVENT_DIR_LOW;
    RegisterLinkQuality.Threshold =-65;
    RegisterLinkQuality.Hystersis = 1;
    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); 

    在 UNIFLASH 配置中禁用了 FastConnect、我不会在我的应用中覆盖它。

    我还有以下打印输出、可生成上述复制日志:

    void SimpleLinkWlanEventHandler (slWlanEvent_t * pWlanEvent)
    {
    switch (pWlanEvent->ID)
    {
    案例 SL_WLAN_EVENT_LINK_QUALITY_TRIGGER:
    {
    INT8_t RSSI = pWlanEvent->Data.LinkQualityTrigger.Data;
    
    UART_PRINT ("[WiFi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_PRICE_TRIGGER");
    UART_PRINT (" RSSI=%d"、RSSI);
    UART_PRINT ("触发器 Id=%x"、pWlanEvent->Data.LinkQualityTriggerId);
    UART_PRINT ("\r\n");
    
    SlWlanNetworkEntry_t entries [32];
    int32_t RSSI_max =-255;
    uint32_t i = 0;
    
    _i16 resultsCount = sl_WlanGetNetworkList (0、32、&entries [0]);
    
    UART_PRINT ("[scan]结果%d:\r\n"、结果计数);
    
    if (resultsCount >0)
    {
    for (i=0;i < resultsCount;i++)
    {
    UART_PRINT ("%02d "、I + 1);
    UART_PRINT ("%02x:%02x:%02x:%02x:%02x:%02x "、entries [i].BSSID[0]、entries [i].BSSID[1]、entries [i].BSSID[2]、entries [i].BSSID[3]、 entries [i].BSSID[4]、entries [i].BSSID[5]);
    UART_PRINT ("%4D dB "、entries [I].RSSI);
    UART_PRINT ("SSID:%.32s"、entries [i].ssID");
    UART_PRINT ("\r\n");
    }
    }
    中断;
    }
    

    那么、问题再次是:假设上述示例代码正确、快速连接被禁用、并且我的阈值为-65dB、我看到我报告的电流 RSSI=-85dB、我看到存储的配置文件 RSSI=-58dB ->软漫游跳转/跳转如何不发生?

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

    您好!

    对这种混乱表示歉意。

    正如我在前一份答复中提到的那样。  

    扫描将首先根据存储的配置文件的优先级进行选择、然后根据 RSSI 进行选择。 

    换句话说、扫描将首先根据存储的配置文件的优先级填充结果列表、然后通过 RSSI 填充结果列表。 我希望这是清楚的。

    那么、问题再次是:假设上述示例代码正确、快速连接被禁用、并且我的阈值为-65dB、我看到我报告的电流 RSSI=-85dB、我看到存储的配置文件 RSSI=-58dB ->软漫游跳转/跳转如何不发生? 

    我认为您的配置正常。 它类似于编程人员指南中的代码摘录。 我可能必须在这里自己使用相同的配置进行测试设置。 您使用的 SDK 和服务包版本是什么、以便我可以与您的设置相匹配? 幸运的是、我家中有两台路由器、因此我应该能够测试这种情况。

    Jesu

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

    SDK: simplelink_cc32xx_sdk_4_20_00_07

    SP: SP_4.7.0.3_3.1.0.5_3.1.0.26

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

    谢谢。 请给我几天的测试时间。 我想我将仅存储我家中路由器的两个配置文件、禁用快速连接并与您在上面提供的软漫游设置相匹配。 两台路由器都将达到2.4GHz。 我将在周五下班、因此请让我等到下周初回来。

    谢谢、

    Jesu

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

    器件型号:CC3235MODSF

    我在 SimpleLink_quality_trigger 事件时会在 SimpleLinkWlanEventHandler 中打印 SAN 结果(sl_WlanGetNetworkList)的打印输出。
    扫描间隔为默认值。
    触发间隔为5000ms。

    通常、[SCAN] Reulsts 会显示10个以上的 SSID 以及 RSSI 值、但有时一段时间后、我会得到以下结果并保持这种状态:

    [WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-66触发器 Id=1
    [SCAN]结果-2073:
    [WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-65 TriggerId=1
    [SCAN]结果-2073:
    [WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-66触发器 Id=1
    [SCAN]结果-2073:
    [WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-64触发器 Id=1
    [SCAN]结果-2073:

    -2073是以下定义背后的未记录错误代码:SL_ERROR_WLAN_GET_NETWORK_LIST_EAGAIN

    是否有人能向我解释发生了什么以及为什么?

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

    您好!

    我还在关于软漫游的另一个主题上为您提供支持。 我们现在的音量非常大、请大家不要忘记。

    请查看下面的主题以了解您的答案。 您只需要延迟:

    e2e.ti.com/.../605541

    Jesu

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

    谢谢、但我写道:

    扫描间隔是默认值(我认为它是20秒、如果我错了、请更正)。

    LINK_QUALITY_TRIGGER 每隔5秒发生一次。

    因此、它应该报告4-5倍代码-2073、然后它应该至少返回1个结果(因为这是我读取扫描结果的唯一位置)。

    但这不是我写的内容和看到的内容。

    有时、它只返回-2073、不会恢复(意味着它报告-2073几分钟、而不仅仅是几次)。

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

    您是否正在研究修改后的 SDK 示例? 您能否提供代码来重现此问题?

    Jesu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、基础是一个示例项目、我在数周内修改了该项目。
    
    设置/初始化代码:
    
    SlWlanRegisterLinkQualityEvents_t RegisterLinkQuality;
    RegisterLinkQuality.Enable = 1;
    RegisterLinkQuality.TriggerId = 1;
    RegisterLinkQuality.Metric = sl_WLAN_metric_event_RSSI_beacon;
    RegisterLinkQuality.Direction = sl_WLAN_RSSI_EVENT_DIR_LOW;
    RegisterLinkQuality.Threshold =-65;
    RegisterLinkQuality.Hystersis = 1;
    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);
    
    
    倍加器:
    
    void SimpleLinkWlanEventHandler (slWlanEvent_t * pWlanEvent)
    {
    // pWlanEvent->ID,查找“slWlanEventId_e”
    switch (pWlanEvent->ID)
    {
    案例 SL_WLAN_EVENT_LINK_QUALITY_TRIGGER:
    {
    INT8_t RSSI = pWlanEvent->Data.LinkQualityTrigger.Data;
    
    UART_PRINT ("[WiFi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_PRICE_TRIGGER");
    UART_PRINT (" RSSI=%d"、RSSI);
    UART_PRINT ("触发器 Id=%x"、pWlanEvent->Data.LinkQualityTriggerId);
    UART_PRINT ("\r\n");
    
    SlWlanNetworkEntry_t entries [32];
    int32_t RSSI_max =-255;
    uint32_t i = 0;
    
    _i16 resultsCount = sl_WlanGetNetworkList (0、32、&entries [0]);
    
    UART_PRINT ("[scan]结果%d:\r\n"、结果计数);
    
    if (resultsCount >0)
    {
    for (i=0;i < resultsCount;i++)
    {
    UART_PRINT ("%02d "、I + 1);
    UART_PRINT ("%02x:%02x:%02x:%02x:%02x:%02x "、entries [i].BSSID[0]、entries [i].BSSID[1]、entries [i].BSSID[2]、entries [i].BSSID[3]、 entries [i].BSSID[4]、entries [i].BSSID[5]);
    UART_PRINT ("%4D dB "、entries [I].RSSI);
    UART_PRINT ("SSID:%.32s"、entries [i].ssID");
    UART_PRINT ("\r\n");
    }
    }
    中断;
    
    默认值:
    UART_PRINT ("[WIFI] SimpleLinkWlanEventHandler %d \r\n"、pWlanEvent->ID);
    中断;
    }
    } 

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

    您好!

    对拖延表示歉意。 我没有忘记这一点、我最近刚搬到另一个 AP、不再能访问第二个 AP、因此我现在无法测试这一点。 我目前正在测试您在另一个 E2E 上提供的代码、并将立即回复您。 提醒一下、我将尝试测试软漫游。 换句话说、根据 RSSI 值验证我可以从一个 AP 跳到另一个 AP。

    感谢您的耐心等待。

    Jesu

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

    您好!

    感谢您提供此代码。  您不应在事件处理程序内调用 sl_WlanGetNetworkList。 从将调用 sl_WlanGetNetworkList 的事件处理程序发出任务信号对您来说更安全。 我很惊讶、它甚至能为您提供帮助。 出于好奇、我测试了您的代码、并不断获取硬件故障、以便在 事件处理程序内调用 sl_WlanGetNetworkList。 我进行了一些小的优化、但它基本上是您的代码。 如果取消注释 sl_WlanGetNetworkList 调用、我的代码中将出现硬故障错误。 我仍在尝试找出原因、因为我在代码甚至调用 sl_WlanSet 来启用链路质量事件之前遇到硬故障。 但我知道它与 sl_WlanGetNetworkList 有关、因为如果我将它注释掉、代码运行正常。 在收到另一位工程师的反馈后、我会再就此向您回复。 无论如何、您应该尝试在事件处理程序之外处理此问题。 创建一个任务、一个信标、并从链路质量事件向该任务发出信号。  

    使用此代码、触发器对我来说工作正常。 我必须将阈值降至-40、因为我的 AP 更接近我、但结果是相同的。 这是我注释掉 sl_WlanGetNetworkList 调用时的终端输出:

     它只是继续…

    触发:RSSI=-58 triggerId=1
    触发器:RSSI=-58 triggerId=1
    触发器:RSSI=-57 triggerId=1
    触发器:RSSI=-57 triggerId=1 

    请告诉我它是怎么发生的。

    Jesu

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

    我只需使用 OpenWRT 设置 AC1750路由器并在2G4上测试漫游。

    使用这些命令、我可以使用1台路由器的 TX 功率。

    "iw phy1 set txpower fixed 20000 (iw phy1设置 txpower

    "iw phy1设置 txpower 固定值0"

    因此、我有一种相对稳定的方法来重现它。

    我不断收到报告:

    [WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY 触发器 RSSI=-71触发器 Id=1

    我在其中看到路由器:

    06 -72dB SSID:TEST_2G4_2

    18 -46dB SSID:TEST_2G4

    漫游似乎不会发生。
    断开连接会因各种原因而不时发生(这次我得到的原因代码= 40)、然后器件当然会跳转到更强的 AP。

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

    谢谢。 我添加此代码的原因是不将其用于终端应用。 我只是想知道当触发发生时、什么是 RSSI、这似乎是最短且似乎有效的方法。

    我的问题不是打印输出。

    我的问题是、当我获取此类事件 id=sl_WLAN_EVENT_LINK_QUALITY 触发器 Id=1时(由于启用了漫游)、器件应跳转到更强的 AP。 但这不是发生的。

    在您的案例中、我只看到"触发级别"有效。 因此、您将 RSSI 阈值设置为-40、并收到低于此阈值的通知。
    但我看不到您会与电流断开连接并连接到其他 AP。

    请将此代码添加到开关箱:

    案例 SL_WLAN_EVENT_CONNECT:
    UART_PRINT ("[WiFi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_CONNECT");
    UART_PRINT (" CHANNEL =%d "、pWlanEvent->Data.Connect.Channel);
    UART_PRINT (" BSSID");
    UART_PRINT (Mac);
    UART_PRINT (" SSID");
    UART_PRINT (pWlanEvent->Data.Connect.SsidName);
    UART_PRINT ("\r\n");
    中断;
    
    案例 SL_WLAN_EVENT_DISCONNECT:
    UART_PRINT ("[WIFI] SimpleLinkWlanEventHandler SL_WLAN_EVENT_DISCONNECT);
    UART_PRINT (" SSID");
    UART_PRINT (pWlanEvent->Data.Disconnect。SsidName);
    UART_PRINT ("原因=%d"、pWlanEvent->Data.Disconnect ReasonCode);//#sl_WLAN_DISCONNECT 未指定
    UART_PRINT ("\r\n");
    中断; 

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

    您好!

    我的问题不是打印输出。 

    据我了解、您在此 E2E 中遇到的问题是您遇到-2073错误的原因、该错误是调用 sl_WlanGetNetworkList 时出现的错误。  

    如您所知、上周由于新冠疫情、我有 AP 限制。 我仅在存储了一个 AP 配置文件的情况下运行此测试。 我明天将获得另一个 AP。 我将运行该测试并返回给您。

    Jesu

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

    我已经合并了这两个主题、因为问题是相关的。 在我们向前迈进之前、我需要能够自己测试这一点。 请给我一些时间、让我明天掌握另一个 AP。

    Jesu

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

    我的问题:

    1) 1)我看到回调触发和报告 RSSI 低于设置的-60dB 限制、但没有发生漫游(跳转到扫描中显示的更强 AP、并添加到配置文件中)。

    2) 2)有时我会遇到各种错误代码但没有任何"漫游"错误代码的"断开连接"事件。

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

    您好!

    我今天和上周进行了一些测试。 我可以确认我看到的行为与您类似。 明天、我将与团队的其他成员进行核实、以达到这一目的。 感谢您的耐心等待。

    Jesu

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

    你好。

    更新您的信息。 我今天做了更多的测试。  

    测试设置:我在 CC3235SF LP 上运行网络终端示例。 使用 sp_4.8.0.8_3.7.0.1_3.1.0.26.bin 和 SDK v4.3。 我设置2个 AP (Samsung S10上的家庭 AP 和移动热点)。 电话 AP 和家庭 AP 在50-60英尺外。  我为家庭网络和移动热点添加了 AP 配置文件、它们具有相同的安全性(WPA2)和相同的优先级。 我先连接到家庭 AP (NETGEAR34)、然后启用软漫游(SoftRoamingEnable–r 65)。 我可以看到发生了 sl_WLAN_EVENT_LINK_QUALITY 触发事件、但从未发生 AP 更改。 似乎 AP 在超过-85 RSSI 后断开连接、然后在一段时间后、CC3235根据我认为的连接策略(已启用自动连接)决定连接到电话 AP。 似乎没有由于软漫游而发生 AP 更改。

    您可以在日志中看到、在我断开 AP 连接后、我尝试扫描命令、我的电话 AP (S10e_JP)为-59 RSSI、我的家庭 AP 为-89 RSSI、但它仍然没有断开连接。

    我已联系研发部门、了解为什么 AP 更改不是由软漫游触发的。 一旦他们有了答案、我会尽快回复您。

    您这边有什么变化吗? 有新东西吗?

    Jesu

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

    我这边没有变化。 在我报告问题很容易重现后、我没有进一步调查。 最终用户在应用程序级别可以做的事情不多。

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

    明白了。 我从研发部门听到了我的声音,我正被实施这一功能的人所环流。 进展缓慢但稳定。 另外、我将在即将到来的假期中按时休假、因此几周内我不会在这里做出回应。 感谢您的耐心等待。  

    快乐的假期!

    Jesu

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

    实际上、我刚刚再次听到研发部门的声音。 以下是他们的评论:

    只有在超过阈值并找到具有+5个更好 RSSI 的更好 AP (如果您使用-65、那么只有在第二个 AP 具有-60或更多时、它才会连接到它。 

    您是否可以尝试使用 AP 之间至少10dB 的新配置再次测试此方案(只是为了确保功能按预期工作)? 自从我在 PTO 上之后、我没有亲自测试过这一点。 我只是想让您做出回应。

    请确保快速连接已禁用、这是功能要求的一部分。

    Jesu

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

    我在上面发布的代码和日志确切地显示我将阈值设置为-65、并且新拾取的路由器报告为-58?

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

    Ping。

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

    您好!

    我在这里遇到类似的问题。 我将 SDK 4.20与 sp_4.7.0.3_3.1.0.5_3.1.0.26.bin"搭配使用。

    在我的情况下、自动配置也通过自动连接启用、即"sl_WLAN_CONNECT_policy (1、0、0、1)"。 但是、只有当我距离第一个 AP 真的很远时、在我收到几个 RSSI -90或更低的链路触发事件后、我才会收到 SL_WLAN_DISCONNING_RAMING_TRIGGER_BSS_Loss。

    最好有一个解决方案、否则我们必须在应用程序中开发断开/连接功能。

    最棒的

    欧格尔肯

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

    大家好、

    感谢您的耐心等待。 我一直在后台与研发部门合作、并运行其他测试。 我必须收集数据、以便进行我们一直就软漫游功能进行的内部讨论。 我们会在您完成此过程时不断更新、但目前我看到的问题与您相同。 有时我可以触发网络更改、但它不一致。 我将与相关专家分享所有这些信息、以便我们能够识别出这里的问题。  

    如果研发部门同意存在问题、我们可能会承诺在下一个季度 SDK 版本中解决该问题、但这并不是确定性的。  我将把这个话题转移给其他工程师、他们下周将继续为您提供支持。 同时、请耐心等待我们继续进行此项工作。

    Jesu