[PATCH 00/22] Add AVDTP/A2DP decoding to btmon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Here's series of patches which adds decoding of AVDTP signalling channel
and A2DP codec capabilities information. Few things are missing:
- no fragmentation support
- some rarely used capabilities are not decoded
- ATRAC capabilities are not decoded

Other that above, pretty much everything should be decoded.

And some sample output from decoder:

< ACL Data TX: Handle 256 flags 0x00 dlen 6
      Channel: 1602 len 2 [PSM 25 mode 0] {chan 2}
      AVDTP: Discover (0x01) Command: type 0x00 label 6 nosp 0
> ACL Data RX: Handle 256 flags 0x02 dlen 14
      Channel: 66 len 10 [PSM 25 mode 0] {chan 2}
      AVDTP: Discover (0x01) Response Accept: type 0x00 label 6 nosp 0
        ACP SEID 1
          Media Type: Audio
          SEP Type: SRC
          In use: No
        ACP SEID 5
          Media Type: Audio
          SEP Type: SRC
          In use: No
        ACP SEID 3
          Media Type: Audio
          SEP Type: SRC
          In use: No
        ACP SEID 2
          Media Type: Audio
          SEP Type: SRC
          In use: No


< ACL Data TX: Handle 256 flags 0x00 dlen 7
      Channel: 1602 len 3 [PSM 25 mode 0] {chan 2}
      AVDTP: Get Capabilities (0x02) Command: type 0x00 label 9 nosp 0
        ACP SEID: 3
> ACL Data RX: Handle 256 flags 0x02 dlen 23
      Channel: 66 len 19 [PSM 25 mode 0] {chan 2}
      AVDTP: Get Capabilities (0x02) Response Accept: type 0x00 label 9 nosp 0
        Service Category: Media Transport
        Service Category: Media Codec
          Media Type: Audio
          Media Codec: Non-A2DP
            Vendor ID: 0x0000004f (APT Licensing Ltd.)
            Vendor Specific Codec ID: 0x0001 (aptX)
              Frequency: 0x30
                44100
                48000
              Channel Mode: 0x02
                Stereo
        Service Category: Content Protection
          Content Protection Type: SCMS-T


< ACL Data TX: Handle 256 flags 0x00 dlen 18
      Channel: 1602 len 14 [PSM 25 mode 0] {chan 2}
      AVDTP: Set Configuration (0x03) Command: type 0x00 label 11 nosp 0
        ACP SEID: 1
        INT SEID: 1
        Service Category: Media Transport
        Service Category: Media Codec
          Media Type: Audio
          Media Codec: SBC
            Frequency: 0x20
              44100
            Channel Mode: 0x01
              Joint Channel
            Block Length: 0x10
              16
            Subbands: 0x04
              8
            Allocation Method: 0x01
              Loudness
            Minimum Bitpool: 2
            Maximum Bitpool: 53
> ACL Data RX: Handle 256 flags 0x02 dlen 6
      Channel: 66 len 2 [PSM 25 mode 0] {chan 2}
      AVDTP: Set Configuration (0x03) Response Accept: type 0x00 label 11 nosp 0

> ACL Data RX: Handle 256 flags 0x02 dlen 6
      Channel: 66 len 2 [PSM 25 mode 0] {chan 2}
      AVDTP: Open (0x06) Response Accept: type 0x00 label 12 nosp 0


< ACL Data TX: Handle 256 flags 0x00 dlen 7
      Channel: 1602 len 3 [PSM 25 mode 0] {chan 2}
      AVDTP: Start (0x07) Command: type 0x00 label 13 nosp 0
        ACP SEID: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 6
      Channel: 66 len 2 [PSM 25 mode 0] {chan 2}
      AVDTP: Start (0x07) Response Accept: type 0x00 label 13 nosp 0



Andrzej Kaczmarek (22):
  monitor/l2cap: Add channel sequence number
  monitor/avdtp: Add basic decoding of AVDTP signalling
  monitor/avdtp: Decode AVDTP_DISCOVER
  monitor/avdtp: Decode AVDTP_GET_CAPABILITIES
  monitor/avdtp: Decode AVDTP_SET_CONFIGURATION
  monitor/avdtp: Decode AVDTP_GET_CONFIGURATION
  monitor/avdtp: Decode AVDTP_RECONFIGURE
  monitor/avdtp: Decode AVDTP_OPEN
  monitor/avdtp: Decode AVDTP_START
  monitor/avdtp: Decode AVDTP_CLOSE
  monitor/avdtp: Decode AVDTP_SUSPEND
  monitor/avdtp: Decode AVDTP_ABORT
  monitor/avdtp: Decode AVDTP_SECURITY_CONTROL
  monitor/avdtp: Decode AVDTP_GET_ALL_CAPABILITIES
  monitor/avdtp: Decode AVDTP_DELAYREPORT
  monitor/avdtp: Decode basic Media Codec capabilities
  monitor/avdtp: Decode basic Content Protection capabilities
  monitor/a2dp: Decode SBC capabilities
  monitor/a2dp: Decode MPEG-1,2 capabilities
  monitor/a2dp: Decode AAC capabilities
  monitor/a2dp: Decode aptX capabilities
  monitor/a2dp: Decode LDAC capabilities

 Makefile.tools     |   2 +
 android/Android.mk |   2 +
 monitor/a2dp.c     | 420 +++++++++++++++++++++++++++
 monitor/a2dp.h     |  24 ++
 monitor/avdtp.c    | 819 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 monitor/avdtp.h    |  24 ++
 monitor/l2cap.c    |  48 +++-
 monitor/l2cap.h    |   1 +
 8 files changed, 1327 insertions(+), 13 deletions(-)
 create mode 100644 monitor/a2dp.c
 create mode 100644 monitor/a2dp.h
 create mode 100644 monitor/avdtp.c
 create mode 100644 monitor/avdtp.h

-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux