On 28 April 2018 at 00:03, Dirk Hohndel <[email protected]> wrote: > >> On Apr 27, 2018, at 1:48 PM, Lubomir I. Ivanov <[email protected]> wrote: >>> >>> I switched to a newer Qt version - it would be strange for them to disable >>> something as critical as this, but definitely worth investigating further. > > It seems that I DIDN’T switch to a newer Qt after all. Strange. Something is > mixed > up in my build script it seems. > >> i don't see any changes here that disable debugging output: >> https://github.com/qt/qtconnectivity/blob/5.10/src/bluetooth/qlowenergycontroller_android.cpp >> (same goes for 5.10.1 and the 5.11 branches) >> . >> the log entry "Service discovery initiated" can be seen and it's >> visibility is controlled by the same logging rules as those for >> reading and writing of characteristics and descriptors. >> >>> Service "fe25c237-0ece-443c-b0aa-e02033e7029d" discovered (start: 9 end: 9 >>> ) QLowEnergyServicePrivate(0xc5271c00) >> >> ^ so a non-standard service is found here. >> >>> .. done discovering services >>> .. discovering details >>> .. enabling notifications >> >> https://github.com/Subsurface-divelog/subsurface/blob/master/core/qt-ble.cpp#L377 >> >> at this point given this isn't a HW DC (Shearwater instead?) it should >> list the descriptors for this service's last characteristic if the >> service has characteristics. >> i think the list of characteristics is empty. > > It doesn’t seem impossible, given all the issues with their BT/BLE stack > >
> Service "fe25c237-0ece-443c-b0aa-e02033e7029d" discovered (start: 9 end: 9 ) > QLowEnergyServicePrivate(0xc5271c00) just realized that 9 / 9 mean the start and end handle for this service. so i guess that also confirms that the service has no characteristics if they are equal. the origin of the handles comes from the java backend. the file hasn't seen activity since July 2017. it might be hard to figure out what's going on unless some debug code is added in this java file near the callers of this function: https://github.com/qt/qtconnectivity/blob/5.10.1/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothLE.java#L867 the comment on top of the function says: "//TODO function not yet used" yet, i see that's it's being used to make this JNI call "leServiceDetailDiscoveryFinished()" which reaches the C++ methods that trigger the debug messages such as the one above: "Service XXXX discovered (..." >> i guess this can be confirmed by this slot which should trigger when >> we start the service details discovery: >> https://github.com/Subsurface-divelog/subsurface/blob/master/core/qt-ble.cpp#L47 >> >> does the same service UUID have characteristics on iOS? >> if yes, i think this might be a bug in qt-ble-android. >> >> btw, what Qt version is this for Android? > > We are still on 5.9.3. > I need to figure out why 5.10.1 didn’t build as intended > i think that the issue comes from the java backend which hasn't seen new contributions, so this could still be present in the latest Qt too. i would try with another device to narrow down if this is an issue with the Android OS version with the Android device BLE hardware. lubomir -- _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
