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

multiple devices connected to a Windows 10 Qt software

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.15.0
    • None
    • 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)
    • 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

            cnn Qt Core & Network
            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