iOS 16升级后BLE MTU尺寸异常减小的技术咨询
iOS 16 BLE MTU 异常降至77字节问题分析与临时解决办法
问题现象
- iPhone从iOS 15升级到iOS 16后,作为BLE中心设备连接搭载nRF52芯片组的外设时,MTU协商结果从稳定的185字节降至77字节(外设始终发送247字节的MTU请求)
- iOS 15时期的协商日志:

- iOS 16时期的协商日志:

- 重启手机可临时恢复MTU为185字节,但经过几次连接后会再次回落至77字节;仅重启蓝牙无法解决该问题,必须完全重启手机才能临时修复
- 已在iPhone 11、iPhone 13 Pro Max、iPhone 14,iOS 16及iOS 16.0.2版本稳定复现该问题
问题判断
这属于iOS 16系统层面的CoreBluetooth Bug,理由如下:
- 测试使用了与iOS 15时期完全相同的硬件设备和应用代码,排除应用逻辑导致的问题
- CoreBluetooth未提供手动设置MTU的API,MTU协商完全由系统层面处理
- 仅完全重启手机能临时恢复正常,符合系统底层服务异常的特征
临时解决办法
- 当MTU出现异常时,执行iPhone完全重启操作,可临时恢复到最大185字节的MTU
- 目前暂无官方修复方案,建议持续关注iOS后续版本更新,苹果大概率会在后续系统补丁中修复该BLE MTU协商异常问题
内容的提问来源于stack exchange,提问作者Youssif Saeed
相关产品推荐
相关产品推荐

