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.

[参考译文] CC2541:在 stackupdate 从1.4.0到1.4.2.2之后、Sony Xperia、Android 7.0无法连接

Guru**** 2578945 points
Other Parts Discussed in Thread: CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/590047/cc2541-sony-xperia-android-7-0-cannot-connect-after-stackupdate-from-1-4-0-to-1-4-2-2

器件型号:CC2541

对于基于 CC2541的 BLE 外设、我们已将 BLE 堆栈从1.4.0更新为1.4.2.2。 为了简化最终用户的更新过程、我们决定通过设置 OAD_KET_NV_PAGES 编译器指令来保留绑定信息、如 SBL wiki 中所述。  

虽然此配置适用于所有测试过的手机、但没有任何问题、但在更新到 Android 7.0后尝试连接 Sony Xperia 时、我们遇到了问题。 再也无法连接。  

有一个小分析表明、如果我们完全擦除闪存并重新编程芯片(这意味着 SNV 区域被堆栈重新初始化)、一切都正常。

我们的印象是、新堆栈存在无效或未定义的 SNV 项(在与 Xperia/Android 7.0连接时会用到这些项)。

请注意、我们将讨论仅为堆栈保留的 SNV 项目(SNV ID <= BLE_NVID_GATT_CFG_END)。

在所有条件下、堆栈版本1.4.2.2能否与堆栈版本1.4.0的引导 SNV 区域正常工作? 是否提供了完全兼容性?

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

    Daniel、您好!

    出于好奇、您是否应用了固定"CC254x with Android 6.x Marshmallow & 7.x [2016年10月更新]"帖子中建议的 findItem 修复程序? 该补丁对 SNV 有了性能提升。

    祝你一切顺利

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

    感谢您的信息。 我们尚未应用此补丁、但我们将执行此操作。 一旦他取得结果,我们将在这里发言。

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

    您好 JXS  

    经过一周的测试、我们在从 Sony Xperia 连接时未看到任何阻塞情况。 很显然、该补丁解决了问题。 如果我正确地解释了它、补丁程序会在访问 NV 数据时添加一个关键部分。 当与 Sony Xperia 和 Android 7.0连接时、这会变得相关。

    由于我的第一个关于不同 stackversion 上的 SNV 兼容性的问题尚未得到解答、我假设对于版本1.4.2.2、提供了使用1.4.0启动的 SNV 映像的完全兼容性。 (您可能需要确认这一点。)

    感谢您的支持。

    BR Daniel

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

    感谢您确认您的运行 Android 7的 Sony 手机已成功安装补丁程序。

    关于 SNV 兼容性、BLE 1.4.0和未修改的 BLE 1.4.2.2之间的 osal_SNV.c 或协议栈将配对记录存储到 SNV 的方式没有变化。 所有这些代码均以源代码形式提供、因此您可以进行确认。 当然、我也建议您测试您的应用配置。

    祝你一切顺利