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.

[参考译文] CC3235S:触发漫游不连接到第二个 AP

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1191169/cc3235s-triggered-roaming-do-not-connect-to-second-ap

器件型号:CC3235S

您好!

尝试使用以下配置使触发漫游正常工作

  SlWlanNetworkAssedRoaming_t roamingTriggeringEnable;

  roamingTriggeringEnable.Enable = 1;

  roamingTriggeringEnable.rssiThreshold =-60;

  sl_WlanSet (sl_WLAN_STA_network_Assisted_roaming、sl_WLAN_roaming_TRIGGING_ENABLE、 sizeof (SlWlanNetworkAssedRoaming_t)、&roamingTriggeringEnable);

只签署一个配置文件

  secParams.Key =(signed char*) ap_sec_key

  secParams.KeyLen = strlen ((const char *) ap_sec_key);

  secParams.Type = ap_sec_type

  状态= sl_WlanProfileAdd (((const signed char *) ap_ssid、 strlen ((const char *) ap_ssid)、0、&secParams、0、 10、0);

和以下策略  

SL_WlanPolicySet (sl_WLAN_policy_connection、 sl_WLAN_connection_policy (1、0、0、1)、 空,0);

从第一个 AP 迁移到第二个 AP 时、我得到了  

15:40:37.128 ->[WLAN 事件]链路质量异步事件、触发器 ID =1检测到 RSSI =-61。
15:40:37.128 ->
15:40:37.128 ->[SoftRoaming]单次后台扫描已启动,搜索 RSSI 高于-61的 AP。
15:40:37.128 ->
15:40:37.484 ->[WLAN 事件]设备已从 AP 断开:xxxx、
15:40:37.484 -> BSSID:XX:xx:xx:xx:xx:xx:xx (根据应用的要求)
15:40:37.484 ->
15:40:37.696->[WLAN 事件]设备已从 AP 断开连接:、
15:40:37.696 -> BSSID:0:0:0:0:0:0:0:0 (根据应用程序的请求)

但器件绝不会连接到第二个 AP

我在 几年前见过触发漫游的问题 、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、 但看不到问题得到解决。

在按上述方式配置器件时、我是否希望器件自动连接到第二个 AP?

使用  

SDK 版本5.20.00.06

 与 NWP 4.11.0.0一起使用

此致 Tomas

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

    您好!

    基本而言、这就是想法。

    您使用的是网络辅助漫游、您提供的链接是指与您使用的软件漫游稍有不同的软漫游。

    根据您配置的阈值(-60)触发触发器,并启动后台扫描。

    现在的问题是、器件是否获得扫描列表中的另一个 AP、以及它是否比您断开的 AP 高9dB。

    您能否触发扫描列表并打印它、以便我们可以看到 RSSI 读数是多少?

    此致、

    Shlomi

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

    您好!

    好的、他们认为稍后在该 e2e 线程中讨论了触发漫游。

    现在我使用阈值

    roamingTriggeringEnable.rssiThreshold =-75

    器件在启动期间连接到第一个 AP

    12:01:27.373 ->[WLAN 事件] STA 连接到 AP:xxxx 、BSSID:A0:e0:af:8e:8c:C1
    12:01:27.373 ->
    12:01:28.231->[NetApp 事件]已获取 IP:IP=xx.xx.xx.xx,Gateway=xx.xx.xx.xx

    当更接近第二个 AP 时、我会得到 如下所示的链路质量异步事件、其中显示了使用  sl_WlanGetNetworkList 的 WiFi 扫描结果

    12:05:10.877 ->[WLAN Event] Link Quality 异步事件、TriggerId =1检测到 RSSI =-76。
    12:05:10.877 ->
    12:05:10.877 ->[SoftRoaming]单次后台扫描已启动,搜索 RSSI 高于-76的 AP。


    12:05:10.877 -> BSSID{...} RSSI{-48}SSID{...}
    12:05:10.877 -> BSSID{a0:e0:af:8e:8c:C1}RSSI{-64}SSID{xxxx}
    12:05:10.877 -> BSSID{2c:d0:2D:b0:b4:01}RSSI{-43}SSID{xxxx}
    12:05:10.877 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:10.914 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:10.914 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:10.914 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:10.914 -> BSSID{...} RSSI{-58}SSID{...}
    12:05:10.914 ->
    12:05:11.290 ->[WLAN 事件]链路质量异步事件、触发器 ID =1检测到 RSSI =-76。
    12:05:11.290 ->
    12:05:11.290 ->[SoftRoaming]单次后台扫描已启动,搜索 RSSI 高于-76的 AP。
    12:05:11.290 -> BSSID{...} RSSI{-48}SSID{...}
    12:05:11.290 -> BSSID{a0:e0:af:8e:8c:C1}RSSI{-64}SSID{HEIMLAB}
    12:05:11.326 -> BSSID{2c:d0:2D:b0:b4:01}RSSI{-43}SSID{HEIMLAB}
    12:05:11.326 -> BSSID{... RSSI{-61}SSID{...}
    12:05:11.326 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:11.326 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:11.326 -> BSSID{...} RSSI{-61}SSID{...}
    12:05:11.326 -> BSSID{...} RSSI{-60}SSID{...}
    12:05:11.326 ->
    12:05:11.601 ->[WLAN 事件]设备已从 AP 断开:xxxx、
    12:05:11.601 -> BSSID:A0:e0:af:8e:8c:C1 (根据应用的要求)
    12:05:11.601 ->
    12:05:11.742 ->[WLAN 事件]设备已从 AP 断开连接:、
    12:05:11.742 -> BSSID:0:0:0:0:0:0:0、根据应用程序的请求

    切勿连接到第二个 AP

    /Tomas

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

    谢谢、

    是否可以获取 NWP 日志?

    您知道怎么做吗?

    Shlomi

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

    我之前没有这么做、也没有运行 Launchpad、我认为它会使它变得更加困难?

    似乎以前发现过与触发漫游类似的问题

    https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1175229/cc3235modsf-triggered-roaming

    只是关于触发式漫游的一些问题、

    •  漫游是否涉及某种类型的无缝切换、还是包括一个中断/连接事件(尽管几乎是无缝的)? 知道它应该可以在 IEEE 标准中找到、但想知道 TI 实现
    • 它是否独立于使用的 AP? 如果"漫游"包括与第一个 AP 断开连接并连接到第二个 AP、则猜测答案是肯定的
    • 通过 使用 RegisterLinkQuality.TriggerId = 0的软漫游、可以实现几乎相同的 sl_WLAN_STA_network_Assisted_roaming;在应用程序代码中、检查扫描的 AP、如果相邻 AP 具有足够高的 RSSI、则断开/连接?

    Tomas

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

    您好、Tomas、

    NWP 日志可以更清楚地说明此问题、因此最好尽可能地说明。

    •  漫游是否涉及某种类型的无缝切换、还是包括一个中断/连接事件(尽管几乎是无缝的)? 知道它应该可以在 IEEE 标准中找到、但想知道 TI 实现

    是的、它应该是自动交车、这就是想法。 但是、正如您在其他线程中看到的、您确实会在触发和断开时收到事件。 如果 AP 也支持80211、则可以进一步探测周围的 AP。 整个过程应如下所示:

    1. 与 AP 关联的客户端(AP1)
    2. 客户端决定漫游(低 RSSI 阈值、手动触发等)
    3. 客户端请求邻居报告
    4. AP 构建报告
      1. 来自 AP、AP、控制器、交换机、基站的信息 (笑声)
    5. AP 使用邻居报告回复
    6. 客户端根据通知信息(信道、RSSI、...)确定最佳选择
    7. 客户端发起漫游
      1. 发送 DIS-Association 到服务 AP (AP1)
      2. 向 AP (AP2)发送验证请求
      3. 接收身份验证响应
      4. 发送重新关联请求
      5. 接收重新关联响应
      6. 打开-连接到所需的 AP (AP2)
      7. 4路握手
    8. 互联
    • 它是否独立于使用的 AP? 如果"漫游"包括与第一个 AP 断开连接并连接到第二个 AP、则猜测答案是肯定的

    如前所述、如果 AP 支持11k、则过程稍有不同、您可以缩短扫描时间并节省电池使用量、但即使没有11k、也可以正常工作。

    • 通过 使用 RegisterLinkQuality.TriggerId = 0的软漫游、可以实现几乎相同的 sl_WLAN_STA_network_Assisted_roaming;在应用程序代码中、检查扫描的 AP、如果相邻 AP 具有足够高的 RSSI、则断开/连接?

    是的、您可以使用软漫游、该功能主要与两个不同的配置文件(以及可能的 SSID)配合使用、并监控应用层中的阈值触发器。 然后、只需扫描自己、根据列表选择更好的 AP。

    Shlomi