Part Number:CC2642R
CC2642做从机,手机连接之后,CC2642请求更新MTU,抓包看APP没有应答MTU请求,程序超时500ms会重新调用GATT_ExchangeMTU接口更新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:
您好,
已帮您同步工程师,您的手机是鸿蒙系统我们不确定国外工程师是否了解相关。
有结论及时联系您。
这边您是否也可以尝试使用其它型号的手机(安卓)去做一下相应测试?