Divesoft Freedom+ import not working

244 views
Skip to first unread message

Daniel Schmid

unread,
Sep 23, 2023, 3:59:29 PM9/23/23
to Subsurface Divelog
Hi all, 
I just got a Divesoft Freedom+ Computer. I cannot import the .dlf logfiles into Subsurface. It seems the new Freedom+ uses a different file format than the older Freedom.
I asked Divesoft already about it but didn't get an answer yet.
Is the Freedom+ supported? Or can that functionality added to Subsurface?
Thanks
Daniel

Michael Keller

unread,
Sep 24, 2023, 3:11:46 PM9/24/23
to subsurfac...@googlegroups.com
Hi Daniel
Which version of Subsurface are you trying with?


Cheers

  Michael Keller

Daniel Schmid

unread,
Sep 24, 2023, 3:48:20 PM9/24/23
to Subsurface Divelog
Hi Michael,
I'm using 5.0.10.
I got it working now. I changed the capital 'V' in the beginning of the .dlf file to a small 'v'. Now it is working (see attached file). I compared it to a working .dlf file that I found in the internet, that is how I found it.
I guess the issue is solved for me.
BR
Daniel
Freedom Logfile richtig_2.png

Michael Keller

unread,
Sep 24, 2023, 4:59:09 PM9/24/23
to subsurfac...@googlegroups.com
Hi Daniel.

Thanks for providing feedback.

On Mon, 25 Sept 2023 at 08:48, 'Daniel Schmid' via Subsurface Divelog <subsurfac...@googlegroups.com> wrote:
Hi Michael,
I'm using 5.0.10.
I got it working now. I changed the capital 'V' in the beginning of the .dlf file to a small 'v'. Now it is working (see attached file). I compared it to a working .dlf file that I found in the internet, that is how I found it.
I guess the issue is solved for me.

Unfortunately we haven't done an official release since 5.0.10 was released quite a while ago, so there is a chance that this has been fixed, but not released yet.
If you are willing to share an example .dlf file that you've got from your dive computer I can test this against a current build of Subsurface to see if this is working now, and otherwise add a fix for it.

Cheers
  Michael Keller
--
GCS$/CC/E/IT d- s+ a C++ UL+++/S++ P L++ E-
W++ N o? K? w O(++) M-- V+ PS+ PE+ Y? PGP+ t
5? X R tv b++ DI++ D++ G e+++ h---- r+++ y+++

Daniel Schmid

unread,
Sep 25, 2023, 3:44:45 AM9/25/23
to Subsurface Divelog
Hi Michael,
sure, I can provide the files.
Attached you find 00000008_Freedom_plus.DLF which is from my Divesoft Freedom+ Computer and doesn't work without the modification described above.
The second file sample_20191015.DLF I found it in the Internet and it works without modification. It is probably from the older Divesoft Freedom Computer.
I use Subsurface on a Win 11 PC, if that is worth to mention.
Thanks for your quick replies and your support!
Gruß
Daniel
sample_20191015.DLF
00000008_Freedom_plus.DLF

Michael Keller

unread,
Sep 25, 2023, 5:20:48 AM9/25/23
to subsurfac...@googlegroups.com, Jakub Hečko

Hi Daniel.

On 25/09/23 19:44, 'Daniel Schmid' via Subsurface Divelog wrote:
Hi Michael,
sure, I can provide the files.
Attached you find 00000008_Freedom_plus.DLF which is from my Divesoft Freedom+ Computer and doesn't work without the modification described above.
The second file sample_20191015.DLF I found it in the Internet and it works without modification. It is probably from the older Divesoft Freedom Computer.
I use Subsurface on a Win 11 PC, if that is worth to mention.
Thanks for your quick replies and your support!


Thanks for the files. So the way it looks even the latest development version of Subsurface requires the 'V' -> 'v' modification to be able to parse the file. But even then the resulting data does look suspect. Is this how the profile and gas information should look?


There is a possibility that support for this format has been added to libdivecomputer, which is what Subsurface is using to parse most of the supported formats, but the update has yet to be pulled into Subsurface. Jef <j...@libdivecomputer.org> will know more.

If this format is not yet supported at all then Jakub Hečko <jakub...@divesoft.com> seems to be involved in the development of the parser for divesoft computer formats from the manufacturer side - he might be able to provide insights on when support for this format should become available, or supply a specification of the format.


Ngā mihi

  Michael Keller

Daniel Schmid

unread,
Sep 25, 2023, 5:41:52 AM9/25/23
to Subsurface Divelog
Hi Michael,
yes, what you see looks a bit strange but is almost correct. It was the first dive with that Computer and I played around with it a lot, including gas changes (that didn't really happen).
The only thing that is not correct is the continuation of the dive profile way beyond the end of the dive. It was a 102 minutes dive, but the profile goes much longer.
BR
Daniel

Michael Keller

unread,
Sep 26, 2023, 7:10:25 AM9/26/23
to subsurfac...@googlegroups.com
Hi Daniel.


On 25/09/23 22:20, Michael Keller wrote:
>
> There is a possibility that support for this format has been added to
> libdivecomputer, which is what Subsurface is using to parse most of
> the supported formats, but the update has yet to be pulled into
> Subsurface. Jef <j...@libdivecomputer.org> will know more.
>
> If this format is not yet supported at all then Jakub Hečko
> <jakub...@divesoft.com> seems to be involved in the development of
> the parser for divesoft computer formats from the manufacturer side -
> he might be able to provide insights on when support for this format
> should become available, or supply a specification of the format.
>

I got some feedback from Jakub, and had another look at the Subsurface
sources - and as it turns out the code that is used to parse divesoft
logs when read from a file is not the code in libdivecomputer, and it
does not yet support the log format of the Freedom+:
https://github.com/subsurface/subsurface/blame/master/core/parse-xml.c#L1807


Jakub was able to confirm that the data format in the .dlf file is
identical to the format sent by the dive computer over bluetooth, so I
think ideally the file parser should be switched to be using
libdivecomputer, for consistency and to avoid duplication of work when
maintaining the parser.

So I'll have a go at some point to see if it is feasible to use the
parser from libdivecomputer to parse .dlf files in Subsurface.


Cheers

  Michael Keller

Jef Driesen

unread,
Sep 26, 2023, 11:36:09 AM9/26/23
to subsurfac...@googlegroups.com
On 24/09/2023 21:48, 'Daniel Schmid' via Subsurface Divelog wrote:
> I got it working now. I changed the capital 'V' in the beginning of the .dlf
> file to a small 'v'. Now it is working (see attached file). I compared it to a
> working .dlf file that I found in the internet, that is how I found it.
> I guess the issue is solved for me.

The reason why the import failed is because the data format has changed somewhat
for the new models. Changing the uppercase V into a lowercase v changes the
version identifier back to the V1 format. Subsurface may no longer complain, but
I suspect there will also be some (subtle) errors in the resulting data because
some fields changed location.

Support for both variants (and also the bluetooth communication) is already
available in libdivecomputer:

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

Jef

Daniel Schmid

unread,
Sep 26, 2023, 12:28:31 PM9/26/23
to Subsurface Divelog
Hi Jef and Michael,
thanks for the investigation.
What it the libdivecomputer? I understand that it is some SW to download data from the dive computer via Bluetooth, right? I was not able to establish a bluetooth connection to my Freedom+ yet, not with my phone (Android), and not with the Windows PC and a Bluetooth dongle. How can I use libdivecomputer?
BR
Daniel

Jef Driesen

unread,
Sep 27, 2023, 3:32:44 AM9/27/23
to subsurfac...@googlegroups.com
On 26/09/2023 18:28, 'Daniel Schmid' via Subsurface Divelog wrote:
> What it the libdivecomputer? I understand that it is some SW to download data
> from the dive computer via Bluetooth, right? I was not able to establish a
> bluetooth connection to my Freedom+ yet, not with my phone (Android), and not
> with the Windows PC and a Bluetooth dongle. How can I use libdivecomputer?

Libdivecomputer is the library used by subsurface for downloading dives from
various dive computers. As an end-user you can't use it directly. It's
integrated in the host application (subsurface) by the developers, so you use it
behind the scenes when using the application.

The functionality to download directly from your Divesoft computer over
bluetooth is not available yet in subsurface because it was added after the
latest subsurface release.

Jef

Daniel Schmid

unread,
Sep 28, 2023, 6:03:41 AM9/28/23
to Subsurface Divelog
Hi Jef and Michael,
thanks for the info, than I will wait for the next release of Subsurface and hope that this sulution will be part of it.
You're all doing a great job, many thanks!
BR
Daniel

Daniel Schmid

unread,
Nov 2, 2023, 5:56:39 AM11/2/23
to Subsurface Divelog
Hi Jef and Michael,
I have another logfile with some different behaviour. The changing of the uppercase V into a lowercase v does enable the import, but doen't show correct numbers. E.g. the depth is 476m, watertemp is -51.1°C.
In case you don' t have a fiel like that already, you find the file 00000009.DLF attached.
BR
Daniel
00000009.DLF

Paiaso San

unread,
Apr 9, 2024, 5:39:00 AMApr 9
to Subsurface Divelog
The import still not working. The changing of the uppercase V does enable the import but my dives has incorrect depth (679meters instead of 33m for example).

I've asked to Divesoft and this is the reply

"Hello Davide,
Correct, Freedom+ has a slightly new format. We already sent it to the Subsurface so please try to update your Subsurface or contact their customer support. They should have all the necessary data from us.

Kind regards

Jakub Šimánek
Factory Instructor Trainer
+420 416857057
Divesoft s.r.o."

Michael Keller

unread,
Apr 9, 2024, 7:58:39 PMApr 9
to subsurfac...@googlegroups.com
Hi Paiaso.

On Tue, 9 Apr 2024 at 21:38, Paiaso San <dav9...@gmail.com> wrote:
The import still not working. The changing of the uppercase V does enable the import but my dives has incorrect depth (679meters instead of 33m for example).

Have you tried with the latest version of Subsurface (from https://subsurface-divelog.org/)?
The dive computer import functionality has been updated in the time since this thread was started.

Cheers
  Michael Keller

Jef Driesen

unread,
Apr 11, 2024, 5:30:26 AMApr 11
to subsurfac...@googlegroups.com, Michael Keller
On 2024-04-10 01:58, Michael Keller wrote:
> On Tue, 9 Apr 2024 at 21:38, Paiaso San <dav9...@gmail.com> wrote:
>
>> The import still not working. The changing of the uppercase V does
>> enable the import but my dives has incorrect depth (679meters instead
>> of 33m for example).
>
> Have you tried with the latest version of Subsurface (from
> https://subsurface-divelog.org/)?
> The dive computer import functionality has been updated in the time
> since this thread was started.

When downloading dives from the Freedom+ over bluetooth, the new format
is indeed already supported in the latest version, but the DLF file
based import does not support the new format yet. The easiest solution
is probably to re-write the DLF importer to use the libdivecomputer
parser.

Jef

Thomas Strozyk

unread,
Apr 24, 2024, 6:51:40 AMApr 24
to Subsurface Divelog
As I am a simple User, I bought the divest Freedom+ with the information that connection via BT to Subsurface is easy possible. Special as Subsurface shows it within the dive computer list. 
Tried BT and import the DLF file via wetnotes webpage. none is working. 
are there any other cloud based logbooks to import the old dives from subsurface and connecting direkt to the freedom+?
thanks
thomas

Jef Driesen

unread,
Apr 24, 2024, 10:03:10 AMApr 24
to subsurfac...@googlegroups.com, Thomas Strozyk
On 24/04/2024 10:31, Thomas Strozyk wrote:
> As I am a simple User, I bought the divest Freedom+ with the information that
> connection via BT to Subsurface is easy possible. Special as Subsurface shows it
> within the dive computer list.
> Tried BT and import the DLF file via wetnotes webpage. none is working.
> are there any other cloud based logbooks to import the old dives from subsurface
> and connecting direkt to the freedom+?

Downloading over bluetooth should work. If not, enable the "Save libdivecomputer
logfile" and send me the log file.

Importing the DLF file will not work, because the new DLF format is not
supported in the subsurface importer at the moment.

Jef

Thomas Strozyk

unread,
Apr 24, 2024, 12:33:59 PMApr 24
to Subsurface Divelog
Working with MAC OS, I tried downloading the DLF via USB, import -> nothing.
Import via BT -> doesn't find any device. Log attached

THX!!

subsurface.log

Jef Driesen

unread,
Apr 25, 2024, 3:04:33 AMApr 25
to subsurfac...@googlegroups.com, Thomas Strozyk
On 2024-04-24 18:00, Thomas Strozyk wrote:
> Working with MAC OS, I tried downloading the DLF via USB, import ->
> nothing.
> Import via BT -> doesn't find any device. Log attached

If subsurface doesn't find the bluetooth device, then we'll need the
subsurface output instead. Setting up the bluetooth connection is done
by subsurface and not libdivecomputer.

On mac you'll have to run subsurface from the command-line and redirect
the output to a file:

subsurface -v > subsurface.log 2>&1

Jef

Jim E

unread,
Apr 25, 2024, 3:13:59 AMApr 25
to subsurfac...@googlegroups.com, Thomas Strozyk
Is this an Intel or Apple Silicon Mac?   My G2 works fine with and older Intel Mac, but not with a M2.  I had to install driver's on both for USB downloads.

--
You received this message because you are subscribed to the Google Groups "Subsurface Divelog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to subsurface-dive...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/452592be0e2a95d2e1db7adec0b3d29d%40libdivecomputer.org.

Thomas Strozyk

unread,
Apr 25, 2024, 4:15:03 PMApr 25
to Subsurface Divelog
It is a M2
enter the command you wrote into terminal has no effect, nothin happens. import via BT still does not work. 
same for import via USB, while importing the dlf no new dive shows up.

Jef Driesen

unread,
Apr 26, 2024, 2:14:53 AMApr 26
to subsurfac...@googlegroups.com, Thomas Strozyk
On 25/04/2024 22:15, Thomas Strozyk wrote:
> It is a M2
> enter the command you wrote into terminal has no effect, nothin happens. import
> via BT still does not work.

The command doesn't magically fix the problem. It simply enables logging in
subsurface and writes that to a file. If you send that file, we can have a look
and try to find out what and where things go wrong. Without the detailed logging
we have no clue.

> same for import via USB, while importing the dlf no new dive shows up.

As explained before, importing the new DLF format does not work at the moment.
This needs to be implemented in the code first.

Jef

jme

unread,
Apr 26, 2024, 2:22:08 AMApr 26
to Subsurface Divelog
I will share what I have found regarding the M2 (using a G2):
1. Bluetooth does not detect the G2.   It works fine on my old Intel Mac.     Both Bluetility and BLEScanner do find the G2, but not SubSurface.
2. redirecting subsurface -v to a logfile doesn't show anything obviously wrong - I let it scan until the G2 timed out:
INFO: validateGL(): created OpenGLContext.
INFO: validateGL(): obtained QOpenGLFunctions.
INFO: validateGL(): detected OpenGL version 2.1.
INFO: loading en-US translations
QObject::connect(QQuickWindow, QDeclarativeGeoMap_QML_6): invalid nullptr parameter
Populating font family aliases took 52 ms. Replace uses of missing font family "Bookman URW" with one that exists to avoid this cost.
INFO: DivePixmaps DPR: 1.000000 metrics: 24 16 sz_bigger: 40
INFO: loading dive data from: /Users/...
INFO: Profile calculation for dive 1694 took 11 ms -- calculated ceiling preference is 0
INFO: Profile calculation for dive 1694 took 13 ms -- calculated ceiling preference is 0
INFO: returning cloud URL https://ssrf-cloud-eu.subsurface-divelog.org/git/...
INFO: IP used for cloud server access 84.67.109.177
2024-04-26 07:05:40.242 Subsurface[83700:1504006] -[IOBluetoothDeviceInquiry initWithDelegate:] -  0x6000000f3200
2024-04-26 07:08:32.835 Subsurface[83700:1504006] -[IOBluetoothDeviceInquiry dealloc] -  0x0
INFO: Profile calculation for dive 1694 took 12 ms -- calculated ceiling preference is 0
Subsurface v6.0.5148-CICD-release,
built with libdivecomputer v0.9.0-devel-Subsurface-NG (62a29eea15137ba7b0f2e10fae095517cc9d8341)
built with Qt Version 5.15.2, runtime from Qt Version 5.15.2
built with libgit2 1.0.1

File locations:

Cloud email:***
Local git storage: /Users/...
Cloud URL: https://ssrf-cloud-eu.subsurface-divelog.org/git/***
Image filename table: /Users/...
-stop, success (waiting for 'inquiryComplete')

Thomas Strozyk

unread,
Apr 26, 2024, 10:41:45 AMApr 26
to Subsurface Divelog
Hi Jef, 
ok, got that wrong regard the command.

I tried it on an older Mac with Intel processor. but the same, does not connect to the freedom+ 
subsurface.log

Daniel Schmid

unread,
May 1, 2024, 1:40:47 PMMay 1
to Subsurface Divelog
Hi Jef, 
I use a Windows 11 PC, here is the log. Bluetooth connection to the Freedom+ doesn't work with Subsurface. It does however work with the Divesoft.Center Software. 
BR
Daniel

subsurface.log

Jef Driesen

unread,
May 2, 2024, 2:54:11 AMMay 2
to subsurfac...@googlegroups.com
On 2024-05-01 19:39, 'Daniel Schmid' via Subsurface Divelog wrote:
> I use a Windows 11 PC, here is the log. Bluetooth connection to the
> Freedom+ doesn't work with Subsurface. It does however work with the
> Divesoft.Center Software.

The log file shows this error:

Found device: "OpenRun by Shokz" "20:74:CF:C2:A4:91"
Found device: "Jabra Evolve2 65" "08:C8:C2:1C:48:6B"
Starting download from ""
downloading only new dives
ERROR: Dive computer transport not supported
ERROR: Unsupported operation

Normally that means you are using a build with no bluetooth support. But
a few lines higher in the log, there are results from a bluetooth
discovery. The Freedom is however not listed, so it looks like it is not
being found.

I suspect the problem is that you did not first pair your Freedom using
the Windows bluetooth tools. The Windows api used by subsurface requires
the bluetooth device to be paired, otherwise it can't be discovered or
connect.

Jef

Jef Driesen

unread,
May 2, 2024, 3:00:33 AMMay 2
to subsurfac...@googlegroups.com, Thomas Strozyk
On 2024-04-26 16:41, Thomas Strozyk wrote:
> ok, got that wrong regard the command.
>
> I tried it on an older Mac with Intel processor. but the same, does not
> connect to the freedom+

Your log file is (almost) empty. I guess you attached the
libdivecomputer logfile? If the problem is establishing the bluetooth
connection, then I'll need the subsurface debug output instead. You need
to run subsurface from the command-line and redirect the output to a
file:

subsurface -v > subsurface.log 2>&1

Libdivecomputer only comes into play after the bluetooth connection is
established.

Jef

Daniel Schmid

unread,
May 2, 2024, 3:04:06 PMMay 2
to Subsurface Divelog
Yes, the Freedom was not paired to Windows, that was the reason, thanks for the tip! 
The problem was only, that the Windows "onboard" Bluetooth didn't find the Freedom+. So I installed the Bluetooth LE Explorer, which could pair it wo Windows. Now the BLE download works. Unfortunately I found two other issues: 
  • The dive duration is not correct. It is shown a few minutes too short, but in the dive profile it is correctly shown. E.g. the dive duration in the "Information" tab shows 116 minutes (wrong) and in the profile I can go all to the end at 122 minutes (which is correct). 
  • The time of the dive is always shown in UTC time. It seems to not recognize the time zone and daylight saving time. Maybe that is a wrong setting by me in the program? 
BR
Daniel

Jef Driesen

unread,
May 3, 2024, 7:59:20 AMMay 3
to subsurfac...@googlegroups.com
On 2/05/2024 21:04, 'Daniel Schmid' via Subsurface Divelog wrote:
> Yes, the Freedom was not paired to Windows, that was the reason, thanks for the
> tip!
> The problem was only, that the Windows "onboard" Bluetooth didn't find the
> Freedom+. So I installed the Bluetooth LE Explorer, which could pair it wo
> Windows. Now the BLE download works. Unfortunately I found two other issues:
>
> * The dive duration is not correct. It is shown a few minutes too short, but
> in the dive profile it is correctly shown. E.g. the dive duration in the
> "Information" tab shows 116 minutes (wrong) and in the profile I can go all
> to the end at 122 minutes (which is correct).
> * The time of the dive is always shown in UTC time. It seems to not recognize
> the time zone and daylight saving time. Maybe that is a wrong setting by me
> in the program?

To investigate those issues, you need to enable the logging as explained here,
and send me the log file:

https://libdivecomputer.org/subsurface.html#desktop-dives

Jef
Reply all
Reply to author
Forward
0 new messages