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.

[参考译文] 使用白名单并连接远程中央器件时、CC2564C 变得无响应。

Guru**** 2391105 points
Other Parts Discussed in Thread: CC2564C, CC2564

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1314989/cc2564c-becomes-unresponsive-when-using-a-whitelist-and-connecting-with-a-remote-central-device

主题中讨论的其他器件:CC2564CCC2564

我正在参与一个需要 BLE 发挥双重作用并使用多个外设的项目。  我的设备可以是计算机的外围设备、也可以是许多外围设备的中央设备。  我将通过 TI cc2564c 使用 Bluekicket 协议栈和 STM32L4处理器。  

遇到问题、TI 芯片在尝试连接计算机后就没有响应。  有趣的是、它第一次工作、但在断开连接和重新连接第二次后失败。  重新连接的唯一方法是重新启动整个系统。   

如果我禁用了管理与外设连接的白名单、则 不会出现问题。  我可以多次重新连接、没有问题。  将白名单与连接到中央设备相结合似乎存在问题。  

我已经尝试放松一些连接和广告参数,但没有找到任何解决这个问题的东西。

谢谢。

注意: 输入蓝牙芯片 cc2564c 时、论坛的滤波选择是 wifi、而不是蓝牙。  

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

    你(们)好

    我能够重现此问题、即使用具有 Init 脚本 v1.5的 CC2564C 在 macOS 上运行 BTstack

    重现的步骤: 首先 使用白名单在中央角色中启动与不存在的设备的连接。 然后、启用广播并从其他设备进行连接、例如智能手机或 PC。 首次验证连接是否正常运行。 从远程设备断开并再次从远程设备连接后、在 建立连接后、控制器似乎崩溃/挂起。 当 REMOVE 再次断开时、不会发生进一步的 HCI 事件、甚至不会断开 HCI。

    请查看此处 Wireshark 的附加 HCI 数据包日志: https://bluekitchen-gmbh.com/files/intox/peripheral-connections-while-connect-with-whitelist.pklg

    其他观察结果:如果我们在 CC2564C 充当远程器件的外围设备时通过白名单启动并取消连接、则会按预期工作。 因此、当使用白名单进行连接时、它看起来像是在外设模式下设置或关闭连接会导致错误行为。

    要在 macOS/Linux 上重现:

    - Git 克隆 github.com/.../btstack.git

    -将 example/Gatt_counter.c 替换为以下内容: https://bluekitchen-gmbh.com/files/intox/gatt_counter.c

    - CD 端口/POSIX-H4

    -编译并运行自述文件中说明的修改后的 GATT_COUNTER 示例: https://github.com/bluekitchen/btstack/blob/master/port/posix-h4/README.md

    -连接远程设备,断开连接,重新连接

    - HCI 日志将位于/tmp/hci_dump.pklg

     这是已知/预期的行为吗? 是否有更新的 init 脚本可用?

    谢谢。

     Matthias Ringwald,BlueKitchen GmbH

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

    您好!

    我将尝试重现此问题并在下周跟进。

    谢谢。

    罗格利奥

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

    您好!

    我无法使用 bluetootopia 堆栈和使用 sppledemo 来重现问题。

    我的测试用例使用了3 cc2564c

    一个是外设(0x C8DF8425643A )、另一个是中央/外设(0x C8DF8425682B )使用白名单,第三个中央(0x C8DF84256424 )。

    这一系列的步骤如下。

    *外设广告  

    *Cen/PER 连接至已启用白名单的外围设备

    *数据在它们之间发送

    *每条广告

    *中央连接到 CN/PER

    *数据在 CN/PER 和 Central 之间发送

    *在 Cen/PER 和外围设备之间发送数据

    *从 CEN/PER 的中心断开连接

    *每条广告

    *中央连接到 CN/PER

    *数据在 CN/PER 和 Central 之间发送

    *在 Cen/PER 和外围设备之间发送数据

    当用作外设以及重新连接中央设备时、该器件未挂起。

    我添加了(Cen/PER)的 UART 日志和固件日志、以便可以查看发送的确切 HCI 命令。

    如果您可以使用 Debug 引脚通过 logger 向我发送固件日志、我们可以尝试找出两者之间的差异。

    e2e.ti.com/.../Peripheral.txt e2e.ti.com/.../2806.Central.txte2e.ti.com/.../CC2564c_2800_Peripheral_5F00_Central_2900_.txt  e2e.ti.com/.../whitelist-test.lgr

    要获取 lgr 日志、请遵循本指南。

    https://www.ti.com/lit/ug/swau058d/swau058d.pdf

    https://www.ti.com/tool/WILINK-BT_WIFI-WIRELESS_TOOLS 

    此致!

    罗格利奥

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

    您好:Rogelio。 感谢您设置类似的环境来查看我们的问题报告并分享详细步骤。

    我们观察到的问题发生在 CC2564C 同时尝试连接到已知器件列表(例如绑定的 LE HID 键盘)、并且存在使其进入外设角色的传入连接时。

    您是否可以移除 外设(0x C8DF8425643A )、然后按照之前的大致步骤重新执行。 这将是:

    *Cen/per 启动以连接启用白名单的外设(因为在  测试期间没有外设,所以不会有连接)

    *每条广告

    *中央连接到 CN/PER

    *数据在 CN/PER 和 Central 之间发送

    *从 CEN/PER 的中心断开连接

    *每条广告

    *中央连接到 CN/PER

    *数据在 CN/PER 和 Central 之间发送

    最后一步在我们的测试中失败。

    或许还有一个快速动机:该设备可以连接到 LE HID 键盘等外围设备、还应该可以通过 LE 从移动电话应用进行连接。 由于不会始终使用 LE HID 键盘、该器件会将所有绑定的外围器件添加到白名单、并开始与白名单进行连接。

    谢谢

     马蒂亚斯

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

    我明白了、

    我将尝试按照这个新的事件顺序进行测试。

    此致!

    罗格利奥

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

    您好!

    我已经能够通过新的步骤重现该问题。

    从日志来看、Central 似乎正在从 Cen/per 的视图中终止连接。 我需要更多地关注这个问题以完全支持。 似乎当启用广播和白名单时、外设将不会响应中心设备... 通过更深入地查看我在下面的主题中发现的问题、  

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/377682/cc2541-hci-errors-0x3d-and-0x3e

    您的中央设备是否也因为建立连接(3E)时出错而无法连接?

    此致!

    罗格利奥

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

    大家好。 感谢重现此问题。  

    在我们的测试中、CC2564C 似乎已崩溃-我们看不到任何进一步的 HCI 事件、甚至在远程中心设备关闭时也看不到 HCI 断开事件。

     您所遇到的问题在行为上可能类似、但它与仅限 LE 的 CC254x 有关、据我所知、这与 CC2564大不相同。

    此致、

     马蒂亚斯

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

    有任何相关更新?  

    谢谢。

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


    我发现即使不使用白名单也会出现此问题。  只是与一个外设建立开放连接也会导致芯片没有响应。   同样、它第一次运行、但第二次失败。   

    步骤:

    *Cen/per 开始连接外围设备 (因为  测试期间没有外围设备)

    *每条广告

    *中央连接到 CN/PER

    *数据在 CN/PER 和 Central 之间发送

    *从 CEN/PER 的中心断开连接

    *每条广告

    *中央连接到 CN/PER

    *数据在 CN/PER 和 Central 之间发送

    最后一步在我们的测试中失败。


    如果外设成功连接、那么我的器件可以正常连接/重新连接到中央设备。 仅在器件正在扫描外设时发生。

    通过无线嗅探器在第二次尝试时显示以下内容: