Priority: P2: Important
Resolution: Out of scope
Affects Version/s: 5.14.0, 5.14.2, 5.15.0
Fix Version/s: None
Component/s: Connectivity: Bluetooth
Environment:Testing done with
- Qt 5.14.0 on Android 10
- Qt 5.14.2 on Fedora 32
- Qt 5.14.0 and 5.15.0 on macOS 10.14
This bug report comes from the Subsurface team. AlexB is familiar with the project. We use the Qt/BT and Qt/BLE stack across Linux, Mac, Windows, Android, and iOS. Our code is reasonably consistent across all of these platforms with small changes to deal with the differences in device discovery.
I received a new dive computer that is very similar to a family of existing dive computers that we already support. BLE GATT device. For the other dive computers in the family our approach works well, but for this new one it fails in an odd way:
Except we never get to that state and things time out.
Trying to access characteristics before we reach the ServiceDiscovered state simply fails. Trying to wait until we finally reach that state results in:
I have reached out to the vendor to find out if they are aware of any BLE oddities with their device, but since their own software happily connects to it on Android (I even have a snoop log for that and it looks quite reasonable), I'm thinking that maybe the Qt/BLE implementation waits for something that it shouldn't be waiting for?