Subsurface-mobile support request
Linus Torvalds
torvalds at linux-foundation.org
Thu May 21 13:50:57 PDT 2020
On Thu, May 21, 2020 at 1:30 PM Dirk Hohndel <dirk at hohndel.org> wrote:
>
> This looks like we are starting communication, but then all we get back from the OSTC Sport is 0xFFFF
>
> Any ideas?
The BLE side looks good and normal.
>> Service discovery initiated
>> Found service "{00001800-0000-1000-8000-00805f9b34fb}"
>> .. ignoring standard service
>> Found service "{00001801-0000-1000-8000-00805f9b34fb}"
>> .. ignoring standard service
>> Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
>> .. ignoring standard service
>> Found service "{0000fefb-0000-1000-8000-00805f9b34fb}"
>> .. recognized service Heinrichs-Weikamp
>> .. starting discovery
>> Discovery of "{0000fefb-0000-1000-8000-00805f9b34fb}" started
>> .. done discovering services
Ok, so this is triggering the new code that actually recognizes the
service ID, but for the case of the OSTC, that's actually not that
different from what it used to do (HW already had the special UUID
trigger).
And it clearly does pick that service:
>> Service "0000fefb-0000-1000-8000-00805f9b34fb" discovered (start: 10 end: 22 ) QLowEnergyServicePrivate(0x6fd41feb50)
>> Found service "{0000fefb-0000-1000-8000-00805f9b34fb}" "Unknown Service"
>> c: "{00000001-0000-1000-8000-008025000000}"
>> d: "{00002902-0000-1000-8000-00805f9b34fb}"
>> c: "{00000002-0000-1000-8000-008025000000}"
>> d: "{00002902-0000-1000-8000-00805f9b34fb}"
>> c: "{00000003-0000-1000-8000-008025000000}"
>> d: "{00002902-0000-1000-8000-00805f9b34fb}"
>> c: "{00000004-0000-1000-8000-008025000000}"
>> d: "{00002902-0000-1000-8000-00805f9b34fb}"
>> Using service "{0000fefb-0000-1000-8000-00805f9b34fb}" as preferred service
>> .. enabling notifications
looking good so far, and:
>> Write descriptor with handle 22 "0200" (service: "{0000fefb-0000-1000-8000-00805f9b34fb}" )
>> Write characteristic with handle 17 "ff" (service: "{0000fefb-0000-1000-8000-00805f9b34fb}" , writeWithResponse: true , signed: false )
>> Descriptor write confirmation "{0000fefb-0000-1000-8000-00805f9b34fb}" 22 "0200" QLowEnergyService::NoError
>> BLE write completed
>> Descriptor write confirmation "{0000fefb-0000-1000-8000-00805f9b34fb}" 16 "0100" QLowEnergyService::NoError
>> BLE write completed
>> Characteristic write confirmation "{0000fefb-0000-1000-8000-00805f9b34fb}" 17 "ff" QLowEnergyService::NoError
>> Characteristic change notification "{0000fefb-0000-1000-8000-00805f9b34fb}" 20 "17"
Yeah, IO is working and data is transferring. At least to begin with.
The libdivecomputer log is more clear about the actual data transfer,
but they look fine too - all the way until it just starts sending all
FF (with then very occasional noise of other things that again look
like valid data).
But that odd stream of FF doesn't _look_ like our BLE code would be
the cause of it. At least not the core code.
It could be some artifact of the magical HW serial flow control code
(the whole "hw_credit" thing), but I do not know that code at all.
That was all Jan Mulder, I think. But none of that has changed lately.
Till - has this worked before with that OSTC? Does the official HW
downloader work?
And the obvious: does it help to reset the thing by turning it off and
on again with removal of battery?
Linus
More information about the subsurface
mailing list