Bluetooth A2DP HCI 封包分析之channel 的建立

抓取Android TV 与蓝牙音箱之间重连过程中的HCI 封包,分析连接建立阶段所需要的重要channel:

1.    ACL DATA channel creation:

(1) Create a ACL data channel with remote peer device, creation request packet as below, sent via HCICOMMAND packet.


(2) Creation success with a HANDLE ID (0x004b), which represents the ACL connection for data channel.


2.    AVDTPSIGNAL channel creation:

(1)  Upper layer request to create an AVDTP signal channel via L2CAP signaling channel, CID: 0x0001, Which is also a ACL data packet for HCI, using the Connection Handle: 0x004b. This signal channel is used to send and receive AVDTP signal (Discover, GetAllCapabilities,SetConfiguration, Open, Start, Suspend, Reconfiguration, Close). Also with the PSM: AVDTP and Service: Audio Sink, to indicate the channel usage.


(2)   Received the Connection success packet, with the Channel ID: 0x005a. So now a signal channel is created between peered two devices, and each device bounded a Channel ID(CID),Source side:  0x0043 <-> Sink side: 0x005a.

(3) A Discover command is sent via the signal channel which is created on above step, thedestination CID is 0x5a, which represents the Sink side.

 

3.    AVDTP DATA channel creation:

(1) Upper layer request to create an AVDTP data channel via L2CAP signaling channel, CID:0x0001, Which is also a ACL data packet for HCI, using the Connection Handle:0x004b. This data channel is used to send and receive AVDTP media data packet.Also with the PSM: AVDTP and Service: Audio Sink to indicate the usage.


(2) Received the Connection success packet, with the Channel ID: 0x005b. So now a media data channel is created between peered two devices, and each device bounded a Channel ID(CID), Source side: 0x0044 <-> Sink side: 0x005b.


(3) A typical media data packet is sent via the data channel which is created on above step. The destination CID is 0x005b.


4.    AVRCP channel creation:

(1) Remote device send request to create an AVRCP channel via L2CAP signaling channel,CID: 0x0001, Which is also an ACL data packet for HCI, using the Connection Handle: 0x004b. This channel is used to send and receive remote control packet.Also with the PSM: AVCTP-Control and Service: Audio Sink to indicate the usage.


(2) Received the Connection success packet, with the Channel ID: 0x005c. So now a remote control data channel is created between peered two devices, and each device bounded a Channel ID(CID),

Source side:  0x0045 <-> Sink side: 0x005c.


 

(3) A typical remote control data packet is send via AVRCP channel which is created on above step,The destination CID is 0x0045, which is the Audio Source side


 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值