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.

[参考译文] CC3235SF:手动漫游问题

Guru**** 2586735 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/813059/cc3235sf-manual-roaming-questions

器件型号:CC3235SF

我目前正在使用类似 VoIP 的无线系统。
为了降低成本和复杂性、不考虑基于 Linux 的系统。
我想试试 CC3235x 芯片。
选择合适无线 IC 的主要标准之一是漫游过程、它必须尽可能快。
在经过精细调节的嵌入式 Linux 系统上、我们能够在50ms 内完成 WPA2关联过程和增量后台扫描、而不会丢失任何语音数据包(@20ms)。

在购买 launchpad 套件之前、我快速查看了简易 SDK 文档、但遗憾的是、API 似乎太有限。
SSID (始终相同)、BSSID 和通道的选择由我们的固件(基于扫描结果)完成,虽然我能够将通道设置为扫描(对于增量扫描),但无法将通道传递到连接函数(sl_WlanConnect ())。
但是、根据 SDK 文档引用:
"连接扫描
(笑声)
此过程的第一步是确定要扫描哪些信道。 此选择由一个等级完成
考虑历史扫描结果、连接雕像、链路质量等的算法。"

因此、连接过程似乎考虑了扫描结果、但如何确保第一个(以及唯一的!) 尝试在正确的通道(BSSID 的通道)上进行连接?

此外,在单次扫描期间发送了多少个探测器,活动扫描超时是多少? 是否可以更改它们?
如何发送定向探测器请求?
我们能否进行完全被动扫描(以降低功耗并在未找到 AP 时使用无用的探头)?

我知道自动漫游功能可用、 但我尚未对其进行测试、但根据我的经验(主要在 Linux 上)、它们对于实时多媒体应用程序来说不够好。

注意:我们使用5GHz 接入点。

谢谢你。

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

    您好!

    您应该能够使用 sl_WlanSet()中的 sl_WLAN_General_Param_opt_scan_Params 来限制扫描的通道。 例如、如果您希望器件仅在通道1上扫描、则应使用以下代码:

    SlWlanScanParamCommand_t ScanParamConfig;
    // 2.4G 通道位顺序:1、2、3、4、5、 6、7、8、9、10、 11、12、13、14
    
    ScanParamConfig.RSsiThreshold =-70;
    ScanParamConfig.ChannelsMask = 0x1;
    SL_WlanSet (SL_WLAN_CFG_General_Param_ID、SL_WLAN_General_Param_opt_scan_Params、sizeof (ScanParamConfig)、(_u8 *)&ScanParamConfig); 

    如果您使用该 API、活动扫描将仅在您指定的通道上运行。 因此,您将能够有效地将 sl_WlanConnect()指向所需的通道。 请注意、对于5GHz 通道、您将使用 SL_WLAN_General_Param_opt_scan_Params_5G 选项。 有关详细信息、请参阅主机驱动程序 API 指南。

    CC3235将仅执行活动扫描。 您可以使用  sl_WlanPolicySet (sl_WLAN_policy_scan、..)更改扫描频率或完全关闭扫描。 API。 探头数量和扫描超时不可调整。

    此致、

    Michael

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

     您好、Michael、

    [引用用户="Michael Reymond "]

    如果您使用该 API、活动扫描将仅在您指定的通道上运行。 因此,您将能够有效地将 sl_WlanConnect()指向所需的通道。

    [/报价]

    因此,要锁定连接信道,我必须将扫描信道设置为所需的信道?

    驱动程序 API 文档中提到的秩算法如何?

    [引用用户="Michael Reymond "]

    CC3235将仅执行活动扫描。

    [/报价]

    我们是否可以针对特定 SSID 进行定向主动扫描?

    无源扫描是否计划用于(近期)未来版本? (我们的目标是真正的低功耗器件、尤其是在未连接时)。

    [引用用户="Michael Reymond "]

    探头数量和扫描超时不可调整。

    [/报价]

    您知道他们的价值观吗?

    谢谢你。

    此致、

    米歇尔

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

    您好、Michel、

    1. 是的、您会将用于有效锁定连接请求的扫描通道限制为您所需的通道。
    2. 排名机制是指 AP 扫描结果的保存方式。 有一个有限的数据池可用于存储扫描结果、一旦该数据池已满、排名算法将根据观察到的 RSSI 从列表中删除项目。
    3. 定向主动扫描是什么意思? 您是指我们的器件在扫描时将如何检查所需的 SSID + BSSID、还是指其他内容?
    4. 否、没有被动扫描机制的计划。
    5. 我们的器件将发送2个探测请求、每个通道的驻留时间至少为10ms、最大为50ms。 最小值-最大值范围是因为 CC3235在一个通道上至少等待10ms、然后在没有响应时停止侦听、 但是、只要仍然收到响应探测请求的响应、就会逐渐将监听时间延长至最大50ms。

    此致、

    Michael

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

    您好、Michael、

    [引用用户="Michael Reymond "]

    定向主动扫描是什么意思? 您是指我们的器件在扫描时将如何检查所需的 SSID + BSSID、还是指其他内容?

    [/报价]

    我将讨论发送包含  SSID 名称的定向探测请求帧、然后只有支持此 SSID 的 AP 才会响应。

    [引用用户="Michael Reymond "]

    否、没有被动扫描机制的计划。

    [/报价]

    我是否可以使用收发器模式接收/解码信标帧,以便在固件中实现静默后台被动扫描?

    [引用用户="Michael Reymond "]

    我们的器件将发送2个探测请求、每个通道的驻留时间至少为10ms、最大为50ms。 最小值-最大值范围是因为 CC3235在一个通道上至少等待10ms、然后在没有响应时停止侦听、 但是、只要仍然收到响应探测请求的响应、就会逐渐将监听时间延长至最大50ms。

    [/报价]

    使用定向主动扫描的另一个原因。 在具有多个 AP/SSID 的位置(我们的客户始终如此)、这是一种浪费功率(有一点)、但最重要的是、它会在漫游扫描期间丢弃几个语音数据包。

    此致、

    米歇尔

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

    您好、Michel、

    如果您使用 sl_Wlanconnect(),CC3235将执行定向探测器请求。 您可以使用 wifi 监听器和网络终端示例、并查看具有 scan 命令和 wlanconnect 命令的探测器之间的区别。

    您应该能够使用收发器模式通过侦听信标进行被动扫描。 不过、根据您正在侦听的信道流量、您必须对相当多的额外帧进行分类、这很可能使该方法的功耗高于活动扫描方法。

    此致、
    Michael

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

    [引用用户="Michael Reymond "]

    如果您使用 sl_Wlanconnect(),CC3235将执行定向探测器请求。  

    [/报价]

    漫游扫描阶段使用定向探测器来列出可用的 AP。 只有在该阶段之后、联接阶段才开始(或不开始)、通常无需额外扫描。

    [引用用户="Michael Reymond "]

    您应该能够使用收发器模式通过侦听信标进行被动扫描。 不过、根据您正在侦听的信道流量、您必须对相当多的额外帧进行分类、这很可能使该方法的功耗高于活动扫描方法。

    [/报价]

    你可能是对的。 要测量(周期性被动扫描与周期性主动扫描)。

    无论如何、我会订购 LaunchPad 套件、但我担心该平台的灵活性会低于我们基于(高耗电) Linux 的系统。

    此致、

    米歇尔

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

    您好、Michel、

    正确的方法是、CC3235的灵活性将低于 Linux 系统。 特别是、高达 TCP/IP 层的大部分 Wi-Fi 堆栈内置在 NWP ROM 固件中、最终用户不可修改。 如果网络堆栈的 NWP 实现中存在不需要的行为、则唯一的选择是尝试解决该问题。 这与您可以自由修改和重建网络组件的 Linux 平台不同。  

    最好使用 LaunchPad 评估 CC3235功能、因为这是查看功能集和堆栈实现是否适合您的应用的最佳方法。 如果您需要进一步了解扫描实现方案、或对 CC3235有任何其他问题、敬请告知。

    此致、
    Michael