蓝牙设备工作状态:
- 从机设备广播状态:
Connectable LE Coded -> LE Coded
Connectable LE Coded -> 2M on aux - 主机连接从机过程:
主机在2M PHY 下建立连接
2M PHY切换到1M PHY - 蓝牙MAC地址:
Slave: 0xF0F8F2D2BB7F
Master: F0:F8:F2:1F:57:1B
蓝牙5 PHY层简介:

蓝牙连接
下图是一个请求连接全过程,总共分为6个阶段,1-4阶段为广播,5为请求连接,6为回应连接。
1-4阶段分析请参考上一篇文章:
5,6阶段发生在数据信道上,5为连接请求,因为是专属蓝牙5连接,可以看到其指令为AUX_CONNECT_REQ(主请求),AUX_CONNECT_REQ携带的参数和BT4.2并无太大差异,hopping channel,interval,latency等等。
在接收到信号之后从机会回应一帧AUX_CONNECT_REP。


PHY层更新
如上面所示,Sniffer是在2M PHY下建立的连接,整个抓包实验,我把蓝牙的PHY 从2M PHY更新到1M PHY,最后更新到Coded PHY,三个阶段,如下图所示。

2M -> 1M PHY更新和Coded PHY更新
从下图可以看到,更新PHY阶段有三个阶段,主机发送更新请求:LLCP_PHY_REQUEST,在下图右下可以看到,主机请求更新PHY 层到1M PHY, 从机接收到请求,并回复LLCP_PHY_RESPONSE,RSPONSE中回复主机可以用1M PHY,最后主机发送LLCP_PHY_UPDATE,进过几个数据包的调整之后方能更新到1M PHY上。




1M PHY -> Coded PHY更新




总结


网友评论