issues connecting to Suunto Eon Core after FW upgrade

294 views
Skip to first unread message

Wim Cuypers

unread,
Apr 2, 2021, 7:16:05 AM4/2/21
to Subsurface Divelog
I recently upgraded my Suunto Eon Core to the new 2.0 firmware, and now it's almost impossible to sync with Subsurface as my Eon Core is not recognized ..
Only after several attempts of rescanning, removing BT connection, restarting the app, show all BT devices, etc ... I can connect. But then the next time I launch the app, it all starts over again ...

Anybody else seeing this ?

Wim Cuypers

unread,
Apr 8, 2021, 1:15:17 PM4/8/21
to Subsurface Divelog
Did some further investigations ...

Eon Core is connected via BT to my iphone
-> Suunto apps connects without issues
-> Subsurface doesn’t show the device in the device list
Only after I remove the Eon Core from the BT list, it shows up in SubSurface again. After filling in the BT Pin, I’m able to connect and sync. When I try to connect a second time, it doesn’t work anymore ...

Anything I can check / verify in the logs ?

Wim Cuypers

unread,
Apr 26, 2022, 10:13:45 AM4/26/22
to Subsurface Divelog
Suunto recently released FW 3.0 for their EON computers ... installed it, but issue remains ...
SubSurface is not re-connecting to existing computers... it always requires to recreate the BT connection, before it downloads the dives.

Dirk Hohndel

unread,
Apr 27, 2022, 1:33:01 AM4/27/22
to Subsurface Divelog
I haven't had a chance to play with the 3.0 firmware for my EON Steel. Is there anything interesting / new in there?

Subsurface uses the Qt libraries to connect with BLE dive computers - and the Suuntos make this a bit tricky because they at times hide their BLE name when they think they are already paired.

I haven't observed the behavior that you describe. 
Which OS are you running Subsurface on?

Thanks

/D

Wim Cuypers

unread,
Apr 27, 2022, 4:50:51 AM4/27/22
to Subsurface Divelog
I'm using SubSurface on IOS (15.4.1)

The biggest change was with FW 2.0, where they added a new algorithm and improvements to the logbook. For the EON Steel they added Buhlmann in version 2.5
FW 3.0 has some fixes and allows customization of the dive mode via the Suunto app... so nothing significant, but I installed it hoping my issues would be solved ...

I guess the problem is linked to what you wrote : "they at times hide their BLE name when they think they are already paired", cause I checked the App log after rescanning for dive computers, and I saw almost all BT devices around me, but not the Suunto :-( ...

Linus Torvalds

unread,
Apr 27, 2022, 12:30:15 PM4/27/22
to Subsurface Divelog
On Wed, Apr 27, 2022 at 1:51 AM Wim Cuypers <w...@cuypers.net> wrote:
>
> I guess the problem is linked to what you wrote : "they at times hide
> their BLE name when they think they are already paired", cause I
> checked the App log after rescanning for dive computers, and I saw
> almost all BT devices around me, but not the Suunto :-( ...

The original Suunto EON Steel firmware made them rather hard to
discover, because they set this odd combination in the bluetooth
management packets that they send out (technical details: it didn't
set the "discoverable" bits in the inquiry response packets).

That made some bluetooth stacks then ignore them and not show them in
the list of pairable devices, even if the EON Steel otherwise was
fine.

I was in contact with Suunto engineers, and I thought Suunto fixed
that. But I was also in contact with the Linux bluetooth people, and
it may be that the "fix" was on the Linux side.

Anyway, the modern Suunto BLE devices do seem to do everything right,
they just do a few things that are rather unusual, and have tripped up
bluetooth stacks. For example, they also enable most of the stronger
security things, including per-device keys etc (IRK - "Identity
Resolving Key" with private MAC address generation).

Which is a good thing, but again, something that can be a bit more
complex to handle in a bluetooth stack.

This is very different from the Shearwater devices: they went the
other way, and their BLE stack is really quite bad and simplistic. No
security, no proper connection management, no nothing. Which is why
the Shearwaters have to be explicitly put into bluetooth mode: it
really seems to be implemented as a hacky kind of serial line
replacement, rather than as a true bluetooth device.

The advantage of the Shearwater model is that "simple and stupid"
tends to be fragile and have odd issues (like having to constantly
re-pair because the connection management is broken, and getting
*really* confused if two different devices talk to the Shearwater over
bluetooth), but because it's simple, you can usually have simple
workarounds for the brokenness.

Example: if there are *lots* of bluetooth devices around, forget
pairing with the Shearwater devices entirely. The bluetooth stack on
that thing gets too confused and you may never succeed. Solution: walk
away to a more private area with only a couple of active bluetooth
devices.

Most other dive computers are somewhere in that spectrum of "simple
and stupid" and "full BLE stack with lots of features".

Anyway, the Suunto EON Steel (and Core) tend to be very good on the
BLE side, but yes, the fact that they are using more than the usual
set of BLE features does sometimes cause issues.

One thing to do is to make sure that you do that "General >
Connectivity > Forget mobile" whenever you change devices. Then
explicitly unpair it from any old device, and only then try to connect
and pair with it again from the new device.

And exactly because the Suunto EON Steel (and Core, and D5) actually
have that special "private host key" security, "change devices" may be
about more than an actual physical device change. Things like OS
upgrades etc might cause the old IRK to be forgotten on the device
that connects to the Suunto, and then you'd need to do that "Forget
mobile" and re-pair in order to create a new secure pairing.

So "Forget mobile" and "repair" is the first thing to check.

Linus
Reply all
Reply to author
Forward
0 new messages