ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【MSC】规范精讲[5]: ACL连接建立后的八把钥匙——加密、换钥、探特性全流程拆解

【MSC】规范精讲[5]: ACL连接建立后的八把钥匙——加密、换钥、探特性全流程拆解

ACL 链路建好、配对鉴权完成,蓝牙连接就算彻底跑通了吗?远没有。协议栈在连接建立之后还有一系列可选活动,从加密开关到密钥更新,从对端特性探测到时钟偏移记录,每一步都直接关系到后续业务能否顺畅跑起来。这些流程藏在协议规范的消息序列图里,平时很少有人系统梳理,但一旦出问题——比如重连后没加密、通话建立后 eSCO 协商失败——根因往往就藏在这里。


目录

一、链路监督超时:给连接装一个心跳闹钟

1.1 流程拆解

1.2 log对照

1.3 为什么要关注

二、加密开关:一键加锁,一键解锁

2.1 开启加密

2.2 关闭加密

2.3 实测对照

三、换钥不换锁:连接密钥的两种更新方式

3.1 直接换钥

3.2 暂停加密后换钥

3.3 与角色切换加密恢复的关系

四、临时密钥:用完即弃的一次性通行证

4.1 切换到临时密钥

4.2 切回半永久密钥

五、摸清对端底细:读取远程特性

5.1 基础特性读取

5.2 扩展特性读取

六、时钟偏移:为下次寻呼预留捷径

6.1 Central 发起读取

6.2 Peripheral 发起读取

6.3 实测log

七、实战串联:一次 HFP 通话的完整建立

八、知识图谱:八个流程的关系

九、测验


本文覆盖链路监督超时、加密控制、连接密钥更换、临时密钥切换、远程特性读取和时钟偏移获取共八个流程,并结合真实 HCI snoop 和空口日志进行对照解读。


一、链路监督超时:给连接装一个心跳闹钟

蓝牙连接不是建好就一劳永逸的。链路层通过轮询机制持续确认对端在线,一旦长时间收不到对方响应,就得主动断开——这个判定阈值就是 Link Supervision Timeout。

1.1 流程拆解

Central 侧的 Host 通过 HCI_Write_Link_Supervision_Timeout 命令设定超时值。<

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进