Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-76615

Advertised manufacturer data inaccessible when split across advertising packet and scan response

    XMLWordPrintable

Details

    • Android

    Description

      Hi,

      On Android (9) with BLE, the function "manufacturerData()" of "QBluetoothDeviceInfo" only returns the manufacturer data of the scan response, if both the advertising packet and the scan response include manufacturer data with the same company id. The data in the advertisement packet seems inaccesible.

      I verified with other tools, that the data is advertised correctly. It should also be conform with the Bluetooth spec (see CSS Part A, "Data Types defintions and formats"), which explicitly allows to use multiple manufacturer data fields (There is also no limit like "one per company id" mentioned).

      Pre 2015 iOS had the same issue. It got fixed/changed in iOS 9 and the manufacturer data has been concatenated since then, when split.  (source: https://forums.developer.apple.com/thread/25580). I highly suspect that the Qt Bluetooth API will generally be inconsistent in this case, as the iOS 9 behavior should affect it as well. I have no iOS device at hand to verify this.

      A simple fix would involve to concat the data on Android as well.

      Attachments

        For Gerrit Dashboard: QTBUG-76615
        # Subject Branch Project Status CR V

        Activity

          People

            ablasche Alex Blasche
            larsee Lars E
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes