Cleaned up and rebased "libdivecomputer-NG" branch

Lubomir I. Ivanov neolit123 at gmail.com
Fri Apr 27 13:48:14 PDT 2018


On 27 April 2018 at 22:46, Dirk Hohndel <dirk at hohndel.org> wrote:
>
>> On Apr 27, 2018, at 11:46 AM, Linus Torvalds <torvalds at linux-foundation.org> wrote:
>>
>> Hmm. I'm not seeing any errors here either, but I'm surprised to not see
>> any actual *communication* debugging.
>>
>> I wonder if that got turned off in your version of Qt? Because all the
>> messages above are our _own_ qdebug output.
>>
>> The actual *data* transfer debugging is from qt itself, and we turn it on
>> and off with
>>
>>     QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* =
>> true"));
>>     QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* =
>> false"));
>>
>> and I wonder if maybe Qt itself stopped doing those debug messages?
>>
>> For example, on my desktop, I see not just the "Found service" messages
>> that we output, I also see a lot of other debug data from Qt itself:
>>
>>   ..
>>   Sending read_by_group_type request, startHandle: b endHandle: ffff 2800
>>   Received size: 22 data: "11140b00ffff9d02e73320e0aab03c44ce0e37c225fe"
>>   Found uuid: "{fe25c237-0ece-443c-b0aa-e02033e7029d}" start handle: b end
>> handle: ffff
>>   Found service "{fe25c237-0ece-443c-b0aa-e02033e7029d}"
>>   ..
>>
>> and your log doesn't have any of that. So then the fact that you *also*
>> don't have the actual IO debugging actually makes sense.
>
> 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.
>

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.

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?

lubomir
--


More information about the subsurface mailing list