Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

BLE on Windows 10 : wrong DataCompleteness value



  • Hello,

    What I am trying to do is filtering BLE devices found by the discoveryAgent. Indeed, I would like to filter by vendor ID, product ID and by ServiceUuid.
    Sadly, I'm not able to get Manufacturer specific data. manufacturerIds().length() always returns 0.
    I saw this : https://bugreports.qt.io/browse/QTBUG-46008. So, it seems that it is not yet implemented fro vendor ID, etc.

    I also saw https://bugreports.qt.io/browse/QTBUG-47550 which says that calling this :

    QBluetoothDeviceInfo::serviceUuids(QBluetoothDeviceInfo::DataCompleteness *completeness = nullptr)
    

    should now work. But when I try the completeness is always = DataUnavailable. Despite this, it seems I can get services.

    Could you tell me if this behavior with serviceUuids is currently the right one ?
    And is there any workaround for the manufacturer Specific data issue ?

    PS : I am using MSVC 2017 with Qt 5.14 on Windows 10.

    Thank you for your time

    Edit : After some work I found out that for my peripheral device (PC software is my central), I was using the wrong advertising data. I needed to put my manufacturer data in the scan response data instead of the advertising data which are similar but one is for the server and the other is for the client basically. I edit to let you know.

    I must add that I still have the problem of data being always unavailable whatever I do. I even used the obsolete function. I didn't find nothing about this parameter. It does look like no one cares.