藍(lán)牙設(shè)備工作狀態(tài):
- 從機(jī)設(shè)備廣播狀態(tài):
Connectable LE Coded -> LE Coded
Connectable LE Coded -> 2M on aux - 主機(jī)連接從機(jī)過程:
主機(jī)在2M PHY 下建立連接
2M PHY切換到1M PHY - 藍(lán)牙MAC地址:
Slave: 0xF0F8F2D2BB7F
Master: F0:F8:F2:1F:57:1B
藍(lán)牙5 PHY層簡(jiǎn)介:
藍(lán)牙連接
下圖是一個(gè)請(qǐng)求連接全過程入热,總共分為6個(gè)階段,1-4階段為廣播相叁,5為請(qǐng)求連接放典,6為回應(yīng)連接。
1-4階段分析請(qǐng)參考上一篇文章:
5巡社,6階段發(fā)生在數(shù)據(jù)信道上膛堤,5為連接請(qǐng)求,因?yàn)槭菍偎{(lán)牙5連接晌该,可以看到其指令為AUX_CONNECT_REQ(主請(qǐng)求)肥荔,AUX_CONNECT_REQ攜帶的參數(shù)和BT4.2并無太大差異绿渣,hopping channel,interval燕耿,latency等等中符。
在接收到信號(hào)之后從機(jī)會(huì)回應(yīng)一幀AUX_CONNECT_REP。PHY層更新
如上面所示誉帅,Sniffer是在2M PHY下建立的連接淀散,整個(gè)抓包實(shí)驗(yàn),我把藍(lán)牙的PHY 從2M PHY更新到1M PHY蚜锨,最后更新到Coded PHY档插,三個(gè)階段,如下圖所示亚再。
2M -> 1M PHY更新和Coded PHY更新
從下圖可以看到阀捅,更新PHY階段有三個(gè)階段,主機(jī)發(fā)送更新請(qǐng)求:LLCP_PHY_REQUEST针余,在下圖右下可以看到饲鄙,主機(jī)請(qǐng)求更新PHY 層到1M PHY, 從機(jī)接收到請(qǐng)求,并回復(fù)LLCP_PHY_RESPONSE圆雁,RSPONSE中回復(fù)主機(jī)可以用1M PHY忍级,最后主機(jī)發(fā)送LLCP_PHY_UPDATE,進(jìn)過幾個(gè)數(shù)據(jù)包的調(diào)整之后方能更新到1M PHY上伪朽。