Halcyon Symbios Connection

52 views
Skip to first unread message

Balazs

unread,
Nov 13, 2025, 4:07:58 AM (9 days ago) Nov 13
to Subsurface Divelog
Hello,

I'm trying to connect with Android version 6.0.5436 to a Halcyon Symbios Handset. I can connect to it with the Halcyon App.
First, if I don't have the option activated, that shows all bluetooth devices regardless if they are a dive computer, then I cannot connect at all.
Next, if I activate that option I can select out of all devices my phone has ever seen one connection that looks promising, it starts with the same number as the Halcyon has as serial ID in systeminfo.
But then, when I try to download information I get Info: Import error. Timeout.
I don't see a way to export the app protocol, to post here, and the log doesn't show anything (only a popup "not persistent").

Any ideas what else I can try?

Thanks

Balazs

Jef Driesen

unread,
Nov 13, 2025, 5:04:36 AM (9 days ago) Nov 13
to subsurfac...@googlegroups.com, Balazs
On 11/13/25 10:02, Balazs wrote:
> I'm trying to connect with Android version 6.0.5436 to a Halcyon Symbios
> Handset. I can connect to it with the Halcyon App.
> First, if I don't have the option activated, that shows all bluetooth devices
> regardless if they are a dive computer, then I cannot connect at all.

That's expected at the moment because the subsurface discovery hasn't been
updated to recognize the Halcyon bluetooth name as a dive computer. Note that
this only affects the auto-discovery, not the actual communication with the dive
computer.

I already created a draft PR to use the libdivecomputer built-in filter:

https://github.com/subsurface/subsurface/pull/4470

But so far I didn't have time to investigate what extra changes might be needed.

> Next, if I activate that option I can select out of all devices my phone has
> ever seen one connection that looks promising, it starts with the same number as
> the Halcyon has as serial ID in systeminfo.

Unfortunately the Halcyon bluetooth device name isn't a very recognizable one.
The details are available here:

https://github.com/libdivecomputer/libdivecomputer/commit/b3d20fd74e2275d915d01c76ee121f208cae04dd

> But then, when I try to download information I get Info: Import error. Timeout.
> I don't see a way to export the app protocol, to post here, and the log doesn't
> show anything (only a popup "not persistent").

You can find instructions to generate a debug log here:

https://libdivecomputer.org/subsurface.html#mobile

Jef

Balazs

unread,
Nov 13, 2025, 5:53:09 AM (9 days ago) Nov 13
to Subsurface Divelog
I could create the logs, libdivecomputer.log is just one line:
Subsurface: v6.0.5436.0, built with libdivecomputer v0.9.0-devel-Subsurface-NG (64ecef5b3ee7342159349391c8b55281bebad2c2)
And I attached the other log, I also tried to turn on location services, since that was an error but I get the same timeout error.
subsurface.log

Jef Driesen

unread,
Nov 13, 2025, 6:41:42 AM (9 days ago) Nov 13
to subsurfac...@googlegroups.com, Balazs
On 11/13/25 11:51, Balazs wrote:
> I could create the logs, libdivecomputer.log is just one line:
> Subsurface: v6.0.5436.0, built with libdivecomputer v0.9.0-devel-Subsurface-NG
> (64ecef5b3ee7342159349391c8b55281bebad2c2)
> And I attached the other log, I also tried to turn on location services, since
> that was an error but I get the same timeout error.

After turning on the locations service, the bluetooth device was successfully
discovered:

> Found service {00000001-8c3b-4f2c-a59e-8c08224f3253} Unknown Service
> c: {00000101-8c3b-4f2c-a59e-8c08224f3253}
> d: {00002902-0000-1000-8000-00805f9b34fb}
> d: {00002901-0000-1000-8000-00805f9b34fb}
> c: {00000201-8c3b-4f2c-a59e-8c08224f3253}
> d: {00002902-0000-1000-8000-00805f9b34fb}
> d: {00002901-0000-1000-8000-00805f9b34fb}
> Using service {00000001-8c3b-4f2c-a59e-8c08224f3253} as preferred service

But enabling the notifications fails:

> Using read characteristic {00000201-8c3b-4f2c-a59e-8c08224f3253}
> now writing "0x0100" to the descriptor {00002902-0000-1000-8000-00805f9b34fb}
> Write descriptor with handle 30 "0100" (service: "{00000001-8c3b-4f2c-a59e-8c08224f3253}" )
> Descriptor write confirmation "{00000001-8c3b-4f2c-a59e-8c08224f3253}" 30 "0100" QLowEnergyService::DescriptorWriteError
> error discovering service details 3
> Bluetooth: Failed to enable notifications for characteristic {00000201-8c3b-4f2c-a59e-8c08224f3253}
> Bluetooth: Failed to enable notifications.
> Deleting BLE object
> 353.992: Bluetooth: Failed to enable notifications.

Since notifications are required for receiving data packets, this is a fatal
error. Unfortunately I have no idea why this fails. It's is something that goes
wrong in the QT framework, or in the underlying bluetooth stack itself.

Jef

Balazs

unread,
Nov 13, 2025, 9:37:33 AM (8 days ago) Nov 13
to Subsurface Divelog
I enabled notifications for the app, but I think that permission is something else than the notifications required for receiving data packets. I also restarted the phone and made subsurface forget all dive computers. I got the second log now, it still seems to be related to notifications.
subsurface2.log

Balazs

unread,
Nov 13, 2025, 9:37:33 AM (8 days ago) Nov 13
to Subsurface Divelog
Thanks for your help, I'm one step further, the App had no notification permissions. Now I get the following error log:

Which seems to me again in the Qt stack something related to lowEnergy (which the LE stands for in BTLE?). But it also still cannot enable notifications which I don't understand. I tried restarting the phone but no change.
subsurface2.log

Jef Driesen

unread,
Nov 14, 2025, 5:47:19 AM (8 days ago) Nov 14
to subsurfac...@googlegroups.com, Balazs
On 2025-11-13 14:06, Balazs wrote:
> I enabled notifications for the app, but I think that permission is
> something else than the notifications required for receiving data
> packets. I also restarted the phone and made subsurface forget all dive
> computers. I got the second log now, it still seems to be related to
> notifications.

This is about bluetooth notifications and has indeed nothing to do with
the permissions for the application notifications.

Do you have another phone or PC were you could try to download? That
would already help to rule out problems with the dive computer.

Jef

Balazs

unread,
Nov 14, 2025, 5:55:25 AM (8 days ago) Nov 14
to Subsurface Divelog
I installed subsurface for windows 6.0.5436-CICD-release. I get the red error on the bottom "Bluetooth: Failed to enable notifications."
Reply all
Reply to author
Forward
0 new messages