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.

[参考译文] CC2640R2F:iPhone 意外超时(连接不稳定)

Guru**** 2482225 points
Other Parts Discussed in Thread: CC2640, CC2640R2F

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

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/793071/cc2640r2f-timeout-unexpectedly-with-iphone-connection-instability

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

大家好、

当使用我们的自定义器件(具有 WiFi (cc3220)+ BLE (cc2640)射频共存)让 BLE 连接到 iPhone (iOS 11.x.x)时、由于意外的连接超时(将从 peripheral.c 接收到 GAP_LINK_TERMINATED_EVENT)、它真的不稳定。
我开始使用 simple_peripheral 示例项目(simplelink_cc2640r2_sdk_2_20_00_49)开发定制的 BLE 应用。
下面提供了一些信息、以查看是否有任何故障排除提示:

(1)根据 https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf 修改参数、如下所示   
//自动 参数更新请求的最小连接间隔(单位为1.25ms、80=100ms)
#define DEFAULT_MIVEed_MIN_CONN_INTERVAL 16.
//自动 参数更新请求的最大连接间隔(单位为1.25ms、800=1000ms)
#define DEFAULT_RETOVE_MAX_CONN_INTERVAL 80
//用于自动参数更新请求的从器件延迟
#define DEFAULT_REGLED_SLAVE_LON_1
//自动参数 更新请求的监督超时值(10ms、1000=10s 单位)
#define DEFAULT_MODED_CONN_TIMEOUT 550

(2)检查了存储器大小(堆和任务堆栈= 2048B)、heapmgrMemMax 不超过总堆大小、堆栈大小在 超时发生后似乎没有溢出。

(3)使用 LiteBlue 应用扫描并连接到 DUT、无论 RSSI 范围从-1x 到-9x、仍然发生超时

(4)启用 cache_as RAM。

(5)定制图像也在 CC2640R2F LunchPad 上尝试、但在两小时后仍然意外超时(1分钟到30分钟比 DUT 好)。

(6)一线监听器日志:
e2e.ti.com/.../Capture_2D00_2019_2D00_04_2D00_10_5F00_1507_5F00_fail_2D00_1.zip

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

    WiFi 和 BLE 都在持续运行吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Marie H.

    是的、WiFi 和 BLE 持续运行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否指向(并解释)监听器捕获错误发生的位置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法... 我对一线工具并不是很熟悉(而且不适合分析监听的日志)。
    我之所以发布它、是因为我的现场 TI 支持人员建议我试用它。

    谢谢、
    金华
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tim、
    金华所附的监听日志很短。 数据包#2732、主器件发送最后一个连接事件。 但是、从器件在数据包#2733发送广播。 如果您有发现问题、请提供建议。
    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好。 您所连接的捕获不会解密、因此在终止发生时无法查看正在发送的数据。 是否可以在不加密的情况下复制和捕获此内容?

    此外、GAP_LINK_TERMINATEDE 事件的原因是什么? 通过检查 pkt-->原因,可以在 GAP_LINK_TERMINATED_EVENT 案例中的 gapRole_processGAPMsg()中检查此情况
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tim、

    断开连接时、  GAP_LINK_TERMINATED_EVENT 中 gapRole_processGAPMsg ()的事件为

    ===>LL_supervision 超时项


    对于此问题、我采用 了 e2e.ti.com/.../423259中的权变措施

    它说:“尝试在没有定义 power_cefings 的情况下运行”
    因此我尝试了
    power_setConstraint (PowerCC26XX_SB_disallow);
    power_setConstraint (PowerCC26XX_IDLE_PD_Disallow);
    而 BLE 连接。

    然后尝试
    power_releaseConstraint (PowerCC26XX_SB_disallow);
    POWER_releaseConstraint (PowerCC26XX_IDLE_PD_Disallow);
    而 BLE 断开连接。

    通过这种方式、iPhone 连接不稳定的情况有了很大的改善。
    我当地的 TI 支持者建议这可能是晶体问题-->仍在检查我们的硬件。


    谢谢、
    金华