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

multiple devices connected to a Windows 10 Qt software

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 5.15.0
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      I'm developing under Qt Creator on Windows 10 (last release)
      The remote device is a embedded system developped with a chip from u-blox (this is not a Qt code)
    • Platform/s:
      Windows

      Description

      Is it possible to connect multiple peripheral devices to a Qt app on Windows 10 ?

      Using "connectToDevice()" is successful for both devices.
      Then I have no problem exchanging with the first one.
      But when I write in the characteristic of the second remote device, the connection with this device is immediately lost (Invalid service : loss of connection with the underlying device). The connection with the first device remains active.
      My QlowEnergyController(s) are separated for every device. Indeed, I duplicated every Qt Bluetooth class (QlowEnergyController, QLowEnergyService, QBluetoothDeviceDiscoveryAgent...) to confirm it is not the problem.

      Some more information I can give you :

      Here are the messages I got from the Bluetooth stack when I try to send the first message to the second remote device (the first one is already connected) :

      internal\sdk\inc\wil\opensource/wil/winrt.h(1587)\Windows.Devices.Bluetooth.dll!00007FFEE636E54B: (caller: 00007FFEE639262E) Exception(1) tid(3a08) 80004004 Opération abandonnée
      Exception at 0x7fff0a413b29, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in Windows_Devices_Bluetooth
      Exception at 0x7fff0a413b29, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in Windows_Devices_Bluetooth
      onecoreuap\drivers\wdm\bluetooth\user\winrt\gatt\gattcharacteristic.cpp(1119)\Windows.Devices.Bluetooth.dll!00007FFEE643DD9B: (caller: 00007FFEE638FB90) ReturnHr(73) tid(3a08) 80004004 Opération abandonnée
      onecoreuap\drivers\wdm\bluetooth\user\winrt\gatt\gattcharacteristic.cpp(368)\Windows.Devices.Bluetooth.dll!00007FFEE638FC9B: (caller: 00007FFEE63993EC) ReturnHr(74) tid(3a08) 80004004 Opération abandonnée
      

      The signal "QLowEnergyService::stateChanged" is emitted when I write in the characteristic. The state sent is : QLowEnergyService::InvalidService.

      Moreover, I can confirm that I can write in the descriptor of both devices (descriptorWritten signal is emitted) : m_pFifoService->writeDescriptor(notificationDesc, QByteArray::fromHex("0100"));

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            andreasbuhr Andreas Buhr
            Reporter:
            sfeutrier Simon Feutrier
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes