Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.11.1
-
None
-
WIndows 10 version 1803 build 17134.191
Description
After a BLE device has been paired using the Windows 10 settings devices panel it can not be connected to by the Desktop version of the lowenergyscanner example. The device appears in lowenergyscanner's discovered devices list after scanning but after clicking on it does not show the services and after a while it times out. Inspection of code in the debugger shows that it's timing out at line 199 of device.cpp in the line:
controller->connectToDevice();
By trying various other things I am able to get lowenergyscanner to connect to a device and get the services list but the methods I've tried give inconsistent results. Here's a list of observations:
After pairing a device using the Windows settings panel, it shows as "connected", then after a few seconds that changes to "paired". In this state the Desktop version of lowenergyscanner can not connect to it.
If I then remove the device from the Windows Settings panel list and start the "Bluetooth LE Explorer" app (free in Windows store) it is able to display the services and characteristics of the device without pairing. If I use the "pair" feature in this app then after pairing the device shows as "connected" in the Windows settings devices panel and remains "connected" without reverting to "paired" .
Once the device remains "paired" in the Windows Settings devices panel the The Desktop version of lowenergyscanner is able to connect to it and read the services.
If I remove the device using the Window Settings devices panel and run the UWP version of lowenergyscanner then sometimes on clicking the discovered device it displays a "pair" dialogue. After clicking OK, the device is paired and UWP lowenergyscanner is able to connect to it. Now the device remains paired in the Windows settings devices panel and the Desktop version of lowenergyscanner can connect to it. Sometimes however the pair dialog doesn't appear and in that case the device can't be connected to. I'm not sure how to reproduce that.