TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2642R: CC2642做从机,手机连接之后,CC2642请求更新MTU不成功,重试无效

Part Number:CC2642R

CC2642做从机,手机连接之后,CC2642请求更新MTU,抓包看APP没有应答MTU请求,程序超时500ms会重新调用GATT_ExchangeMTU接口更新MTU,返回

blePending(0x16),没有更新成功每隔500ms再调用1次,重复40次一直都是这个返回值,并且抓包没有发出MTU请求了。必须断开重连才能恢复,这个是不是协议栈没有超时退出机制导致一直在请求MTU更新状态,这个除了断开连接还有其它方法吗

SDK版本:simplelink_cc13x2_26x2_sdk_5_20_00_52

环境:IAR

Nick Sun:

您好,

这看起来是手机不符合蓝牙规范,因为它应该已经回答了 MTU 交换过程,并且在前一个未终止的情况下不应启动新的 MTU 交换过程。

能否请您检查使用其他手机时该问题是否重现?

,

RenLI Wang:

其它手机也有复现,如果请求MTU更新之后,对方没有回复。协议栈不会重试或者超时吗。那样意味着当前连接下MTU永远更新不了了

,

Nick Sun:

您好,

您能否具体说明所测试手机的型号以及操作系统版本?

MTU Exchange 由 BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 3, Part F, §3.4.2定义。如您所见,MTU Exchange 是一个Attribute Protocol PDU。对于 LE 设备,Attribute Protocol PDU 通过 L2CAP 通道发送,该通道的要求明确规定不应刷新数据包(参见BLUETOOTH CORE SPECIFICATION Version 5.3 |Vol 3, Part G, §5.2.2)。

在我看来,重新发送 MTU 请求不是这里的解决方案。我宁愿建议关闭连接并自动重新建立连接或使用默认 MTU。

,

RenLI Wang:

从用户体验看,断连再重连影响连接速率。做手机定位的产品,用户往车辆走近时,如果断连再重连需要更多的时间,然后手机已经到车辆跟前了,定位就失效

,

Nick Sun:

您好,

已帮您同步工程师,您的手机是鸿蒙系统我们不确定国外工程师是否了解相关。

有结论及时联系您。

这边您是否也可以尝试使用其它型号的手机(安卓)去做一下相应测试?

赞(0)
未经允许不得转载:TI中文支持网 » CC2642R: CC2642做从机,手机连接之后,CC2642请求更新MTU不成功,重试无效
分享到: 更多 (0)