Add Support for Oceanic Pro Plus X

459 views
Skip to first unread message

Neil Hodgson

unread,
Dec 9, 2017, 10:06:06 AM12/9/17
to Subsurface Divelog
When posting questions you can help us answer you more quickly if you make sure you include some basic information:
  • Which version are you using (hint: look at the About screen)?
  • Which OS are you running?
  • (if applicable) which dive computer are you using?
Feel free to delete this text when posting your question.

Hi,

I am using Subsurface 4.7.5 on windows and 2.0.1 on android..  I have an Oceanic Pro Plus X and was wondering if support for it could be added to subsurface.

As suggested in the FAQ I have tried downloading as a pro plus 3 as a similar model but with no luck. I also tried the atomic cobalt 2 as physically they look the same. I also tried the save libdivecomputer logfile option but this didn't actually produce a logfile.

Regards
Neil Hodgson

 

Dirk Hohndel

unread,
Dec 9, 2017, 11:16:20 AM12/9/17
to 'Subsurface Divelog, Jef Driesen
Hi Neil,

You are correct, the Pro Plus X isn't on our list of supported dive computers, yet. I copied Jef Driesen, the person behind reverse engineering support for the majority of dive computers that we support today.
Oceanic typically doesn't change much from product to product, but often those changes are enough to prevent a new model from working.

I think the Pro Plus X supports both USB and Bluetooth download. When you search for it on your Android device, what name does it show up with?
When you connect it to the Windows box, did you need to install a driver?

Thanks

/D

Neil Hodgson

unread,
Dec 10, 2017, 7:49:18 AM12/10/17
to Subsurface Divelog
Hi Dirk,

Thanks for the reply. I'm no diver computer expert by any stretch of the imagination. However the Pro Plus X looks quite a lot different from any other of their dive computers so I didn't really know which ones to try for the best to get a close match. The closest one physically I could see they do is the pro plus 3 but is an lcd display compared to the TFT  on the PPX but no luck with a download. It looks physically at least just like the atomic cobolt 2 but that had no look either with the download.

On my Windows 10 machine yes it needed a driver installing.  That driver came from the DiverLog software that was recommended by the product.  It wasn't a PPX specific driver it was listed as supporting all these (i750TC, PROPLUS X, SAGE, VTX models). From here http://ediverlog.com/driver.html.  When plugged in it appears as USB serial (COM4)  in the device monitor. 

Yes it is bluetooth and that works fine downloading to my android phone via the diverloglite android app. I am not 100% sure what you mean when you ask what name it shows up as when connecting as I don't see one listed in the software itself. However If I try and pair the device manually it shows up as ER000919 (which is the serial number I think.

When I try bluetooth in the subsurface android app all I get listed is what looks like a load of mac addresses andI just didnt know which to choose. I tried a few but none of them seemed to do anything.

Neil. 

Neil Hodgson

unread,
Dec 10, 2017, 8:11:38 AM12/10/17
to Subsurface Divelog
Hi Dirk, 

I just double checked on the DiverLog Lite androids app. When you select download it lists the computer as PPX-000919  which i am guessing is a name it has constructed itself from the pairing name I sheared in my last post.

Although the free versions of DiverLog works fairly well on both Windows and Android. The lack of ability to easily sync data between the two is frustrating.  Also the limited dive profile graphs offered by the software is defiantly more substandard than subsurface.  I really hope that the PPX download can be added as I really like what I've seen of subsurface so far.  My PPX is a really new piece of equipment for me but I'm really impressed with it so far and feel like it would work well with what subsurface offers.

If there is anything I can do to aid the implementation please let me know.

Neil

Dirk Hohndel

unread,
Dec 10, 2017, 11:03:26 AM12/10/17
to subsurfac...@googlegroups.com
On Dec 10, 2017, at 4:49 AM, Neil Hodgson <neil.a....@gmail.com> wrote:

Thanks for the reply. I'm no diver computer expert by any stretch of the imagination. However the Pro Plus X looks quite a lot different from any other of their dive computers so I didn't really know which ones to try for the best to get a close match. The closest one physically I could see they do is the pro plus 3 but is an lcd display compared to the TFT  on the PPX but no luck with a download. It looks physically at least just like the atomic cobolt 2 but that had no look either with the download.

On my Windows 10 machine yes it needed a driver installing.  That driver came from the DiverLog software that was recommended by the product.  It wasn't a PPX specific driver it was listed as supporting all these (i750TC, PROPLUS X, SAGE, VTX models). From here http://ediverlog.com/driver.html.  When plugged in it appears as USB serial (COM4)  in the device monitor. 

OK, so those are FTDI drivers, based on what the website above indicates. Nothing fancy there.

Yes it is bluetooth and that works fine downloading to my android phone via the diverloglite android app. I am not 100% sure what you mean when you ask what name it shows up as when connecting as I don't see one listed in the software itself. However If I try and pair the device manually it shows up as ER000919 (which is the serial number I think.

This is so frustrating. Dive computer makers are really trying to give their devices the most annoying names possible, it seems.

When I try bluetooth in the subsurface android app all I get listed is what looks like a load of mac addresses andI just didnt know which to choose. I tried a few but none of them seemed to do anything.

If Subsurface-mobile doesn't know the device, download will not work.

I just double checked on the DiverLog Lite androids app. When you select download it lists the computer as PPX-000919  which i am guessing is a name it has constructed itself from the pairing name I sheared in my last post.

Funny.

Although the free versions of DiverLog works fairly well on both Windows and Android. The lack of ability to easily sync data between the two is frustrating.  Also the limited dive profile graphs offered by the software is defiantly more substandard than subsurface.  I really hope that the PPX download can be added as I really like what I've seen of subsurface so far.  My PPX is a really new piece of equipment for me but I'm really impressed with it so far and feel like it would work well with what subsurface offers.

If there is anything I can do to aid the implementation please let me know.

We need to see a trace from a successful download - that will tell us more about the protocol. There are a few ways to do that, but I hope that Jef or one of the other developers will be able to guide you through this.

/D

Neil Hodgson

unread,
Dec 10, 2017, 11:12:05 AM12/10/17
to subsurfac...@googlegroups.com

I do have the dat files from the divers log download folder that. Might help.


--
You received this message because you are subscribed to a topic in the Google Groups "Subsurface Divelog" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/subsurface-divelog/znxxQHIjheU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to subsurface-dive...@googlegroups.com.
To post to this group, send email to subsurfac...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/CED51005-608D-4C72-95BE-1BD52F9A87FE%40hohndel.org.
For more options, visit https://groups.google.com/d/optout.

Jef Driesen

unread,
Dec 10, 2017, 3:48:22 PM12/10/17
to Neil Hodgson, Dirk Hohndel, 'Subsurface Divelog
On 09-12-17 17:16, Dirk Hohndel wrote:
> You are correct, the Pro Plus X isn't on our list of supported dive
> computers, yet. I copied Jef Driesen, the person behind reverse engineering
> support for the majority of dive computers that we support today. Oceanic
> typically doesn't change much from product to product, but often those
> changes are enough to prevent a new model from working.
>
> I think the Pro Plus X supports both USB and Bluetooth download. When you
> search for it on your Android device, what name does it show up with? When
> you connect it to the Windows box, did you need to install a driver?

So far, all the latest Oceanic models are all using the atom2 protocol (or one
of the variants with larger packets). So that would be my first suggestion to try.

In the subsurface download log select the "Oceanic Atom 2.0" (any model from the
atom2 family will do), and enable both the libdivecomputer logfile and dumpfile
check boxes. Send us both files. Even if the download fails, the logfile should
give us some clues.

If the protocol is completely different, or a new variant of the existing
protocl, then you'll need to capture the communication between the diverlog
application and the dive computer. The procedure is explained here:

http://libdivecomputer.org/contribute.html#protocol

Unfortunately portmon only works on 32bit Windows version. If you no
longer have one, then you can use a commercial tool like Eltima. It has
a time limited trial version that can do everything we need.

https://www.eltima.com/products/serial-port-monitor/

Jef

Neil Hodgson

unread,
Dec 11, 2017, 2:35:27 PM12/11/17
to Subsurface Divelog
Hi Jef,

Thank you for the advice.

I tried the Atom2 download but it didn't yeld any dives into subsurface. So I did the logfile and dump file as suggested. I have attached the log file but no dump file was produced.

I am on Windows 10 so opted to use the eltima serial port monitor.  I have attached the .spm and html exports of the table and dump views in the PPX-SerialPortDum.zip file.

I had some dat files (which look like raw dumps) from the download_log directory of the diverlog application. Just in case an outside chance they helped at all. This is in the download_log.zip file.

Neil
subsurface.log
download_log.zip
PPX-SerialPortDump.zip

Neil Hodgson

unread,
Dec 11, 2017, 2:46:29 PM12/11/17
to Subsurface Divelog
I forgot to say that this download consisted of 4 separate dives.  I have attached a print out from the diverlog application of the 4 dives in case you need it to match up any data.

Neil

PPX-Dive Data.pdf

Jef Driesen

unread,
Dec 14, 2017, 10:35:39 AM12/14/17
to subsurfac...@googlegroups.com, Neil Hodgson
Can you try to download a memory dump again with subsurface? But this
time select the Oceanic VTX as the model. That will already enable the
correct baudrate.

And before I forget, enable both the libdivecomputer dumpfile and
logfile checkboxes!

Jef

Neil Hodgson

unread,
Dec 18, 2017, 5:22:54 AM12/18/17
to Subsurface Divelog

I can imagine reversing a comms protocol from a few logs is a very tricky proposal. However did the comport logfiles reveal anything or help at all?

Neil


On Mon, 11 Dec 2017, 19:46 Neil Hodgson, <neil.a....@gmail.com> wrote:
I forgot to say that this download consisted of 4 separate dives.  I have attached a print out from the diverlog application of the 4 dives in case you need it to match up any data.

Neil

--
You received this message because you are subscribed to a topic in the Google Groups "Subsurface Divelog" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/subsurface-divelog/znxxQHIjheU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to subsurface-dive...@googlegroups.com.
To post to this group, send email to subsurfac...@googlegroups.com.

Jef Driesen

unread,
Dec 18, 2017, 7:50:03 AM12/18/17
to subsurfac...@googlegroups.com, Neil Hodgson
On 2017-12-18 11:22, Neil Hodgson wrote:
> I can imagine reversing a comms protocol from a few logs is a very
> tricky
> proposal.

No worries, that's how we reverse engineered most dive computers :-)

> However did the comport logfiles reveal anything or help at all?

Yes, they did. Didn't you get my last email? Where I asked to try to
download a memory dump after selecting the Oceanic VTX as the model?
That will already enable the correct baudrate. Don't forget to enable
both the libdivecomputer dumpfile and logfile checkboxes!

Even better would be to run the libdivecomputer dctool command-line
application:

http://libdivecomputer.org/builds/experimental/windows/ppx.exe

(This build has already a few extra PPX specific changes compared to
subsurface.)

Execute with these options:

dctool.exe -v -l atom2.log -f atom2 -m 0x4552 dump -o atom2.bin COM4

And then email the atom2.log and atom2.bin files.

Jef

Neil Hodgson

unread,
Jan 7, 2018, 3:20:02 AM1/7/18
to Subsurface Divelog
Sorry I didnt get the last two posts. The email notification has been switched off for some reason. I will do the download a little later today and post the results.

Neil

Neil Hodgson

unread,
Jan 7, 2018, 7:35:22 AM1/7/18
to Subsurface Divelog
Hi Jef,

I have done both the subsurface(4.7.6) vtx download and also the ppx.exe download. Please find attached the log files. there was no atom.bin or subsurface.bin files produced 

Hopefully I have reinstated the email notification for this topic so I should see your next reply via email.

Neil
subsurface.log
atom2.log

Jef Driesen

unread,
Jan 12, 2018, 4:23:57 AM1/12/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 2018-01-07 13:35, Neil Hodgson wrote:
> I have done both the subsurface(4.7.6) vtx download and also the
> ppx.exe
> download. Please find attached the log files. there was no atom.bin or
> subsurface.bin files produced

I'm not sure why the download failed. You are getting some unexpected
zero bytes instead of the start byte. This might be a temporary error,
so just try again after unplugging the dive computer.

For the command-line tool, it seems like I forgot to rebuild the windows
version, so I accidentally uploaded an old version without the Pro Plus
X fixes. Oops. I uploaded the correct version now. Can you re-download
it?

> Hopefully I have reinstated the email notification for this topic so I
> should see your next reply via email.

I'm using the email interface instead of the web interface. Since I
CC'ed you on those emails, you should have received the email directly
as well.

Jef

Neil Hodgson

unread,
Jan 23, 2018, 2:49:38 AM1/23/18
to Subsurface Divelog
I'm still not getting emails or notifications. I am out of town atm but will be back tomorrow and I will try again and upload the results.

Neil Hodgson

unread,
Jan 25, 2018, 7:40:24 AM1/25/18
to Subsurface Divelog
Here is the latest download attempt   only a .log file again and no bin file
atom2.log

Neil Hodgson

unread,
Feb 13, 2018, 12:05:08 PM2/13/18
to Subsurface Divelog
Hi any progress on this at all.  is there anything else i can do or provide to help out?

Neil

Neil Hodgson

unread,
Feb 21, 2018, 12:08:40 PM2/21/18
to Subsurface Divelog
Hi Jeff,
Any progress on this at all.  Is there anything else i can do or provide to help out?

Neil

Neil Hodgson

unread,
Mar 11, 2018, 10:48:28 AM3/11/18
to Subsurface Divelog

Hi Jeff,

I really don't want to sound impatient but I've asked a few times about this now and not had kind of response.  I know these things do take time but is there any news on the progress of this at all.  If there is anything else i can do or provide to help out please let me know?  Subsurface seem such a good application and I'd love to use it with my shiny new dive computer.

Thanks
Neil

Jef Driesen

unread,
Mar 12, 2018, 10:53:09 AM3/12/18
to subsurfac...@googlegroups.com, Neil Hodgson
Unfortunately there has not been much progress. Downloading memory dumps
should in theory work fine with the experimental build (because I have
one confirmation from another user). But for some reason it didn't work
for you, and I'm not sure why. Maybe it was just bad luck, and you just
need to try again?

http://libdivecomputer.org/builds/experimental/windows/ppx.exe

ppx -v -l atom2.log -f atom2 -m 0x4552 dump -o atom2.bin COM4

To proceed with the next step, the parsing of the dives, I need both a
memory dump and the corresponding data from the Oceanic application to
compare against. You already send me some data from the Oceanic
application, but without the corresponding raw data (e.g. the memory
dump), I can't do much with it. From the other user I only have the
memory dump, but nothing to compare against.

So I'm kind of stuck at the moment.

Jef

Wade Pinkston

unread,
Apr 30, 2018, 3:01:40 PM4/30/18
to Subsurface Divelog
Hello,

I'm new to the group, SS, and PPX.  I would love to help get them working.  I got the mac PPX from the experimental link above.  Would more dumps help?

Neil Hodgson

unread,
May 3, 2018, 4:53:38 AM5/3/18
to Subsurface Divelog

HI Jef,

I tried again with the version in your last post and that downloaded fine.  I have attached the the log and bin output from the download in a zip file. Hopefully this will help with the investigation.  This download has additional dives compared to the previous oceanic app captures but some will be the same.

Sorry for the slow reply but for some reason Im still not getting all updates from this group for every post made. However I did get notified about Wade Pinkston's post. verry odd. 

Neil
ppx.zip

Jef Driesen

unread,
May 4, 2018, 10:12:31 AM5/4/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 2018-05-03 10:53, Neil Hodgson wrote:
> I tried again with the version in your last post and that downloaded
> fine.
> I have attached the the log and bin output from the download in a zip
> file.
> Hopefully this will help with the investigation. This download has
> additional dives compared to the previous oceanic app captures but some
> will be the same.

One of the reasons why there has not been much progress on the Pro Plus
X support is because I couldn't locate any of the data. But now I
discovered that the Pro Plus X uses a new variant of the communication
protocol. It supports a new command that appears to read data from a
different memory area, that is not accessible with the regular read
command. That explains why I couldn't locate the dives, because they are
simply not present in the normal memory dump!

You dump the contents of the alternate memory area with this build:

https://libdivecomputer.org/builds/experimental/windows/ppx-f6.exe

It takes the same options as before:

ppx-f6 -v -l atom2.log -f atom2 -m 0x4552 dump -o atom2.bin COM4

(The amount of memory is just a guess, but at least this is a start.)

> Sorry for the slow reply but for some reason Im still not getting all
> updates from this group for every post made. However I did get notified
> about Wade Pinkston's post. verry odd.

Very odd indeed. I'm using the email interface, and I'm CC'ing you
directly. So you should at least get may email.

Jef

Neil Hodgson

unread,
May 5, 2018, 4:26:13 PM5/5/18
to Subsurface Divelog
Hi Jef,

Seems like gmail for some reason is marking your email replied as spam. So that is why I wasn't getting any notifications but it didnt say why it was spam, very strange.  I only checked the forums tonight because I'd been diving today and was downloading my logs.

I have done a new download and attached it as ppx-f6.zip. hopefully this will help.
ppx-f6.zip

James Bark

unread,
May 10, 2018, 9:59:07 AM5/10/18
to Subsurface Divelog
Hello Everyone,

I have the Sherwood SAGE computer, which I believe might be using the same protocol as the Pro Plus X.  I would like to assist in anyway that I can to have my SAGE supported in Subsurface software.  Please let me know.

Thank you,
James

Jef Driesen

unread,
May 16, 2018, 5:40:41 AM5/16/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 2018-05-05 22:26, Neil Hodgson wrote:
> I have done a new download and attached it as ppx-f6.zip. hopefully
> this
> will help.

Unfortunately there was a bug in the ppx-f6 build, which I fixed now.
Can you try again with the new build (same link)? Preferably together
with another run of the regular ppx build, in order to have matching
data.

Does the diverlog application support exporting the dives to some human
readable format (csv, txt, xml,...)? That would help reverse engineering
the data format. I need something to match the raw data against.

Jef

Jef Driesen

unread,
May 17, 2018, 9:32:10 AM5/17/18
to subsurfac...@googlegroups.com, James Bark
On 2018-05-10 15:59, James Bark wrote:
> I have the Sherwood SAGE computer, which I believe might be using the
> same
> protocol as the Pro Plus X. I would like to assist in anyway that I
> can to
> have my SAGE supported in Subsurface software. Please let me know.

First I need to get the device model numbers. You may be able to get
that info with subsurface by selecting the Oceanic VTX as the dive
computer and enabling both the libdivecomputer dumpfile and logfile
checkboxes. Download and send me both files.

If that doesn't work, you can use the libdivecomputer test application.
You can download it here:

https://libdivecomputer.org/builds/experimental/windows/ppx.exe

This is a command-line applications, which you need to run with these
options:

ppx -v -l atom2.log -f atom2 -m 0x4552 dump -o atom2.bin COMx

Send back the atom2.log and atom2.bin file.

Jef

Neil Hodgson

unread,
May 17, 2018, 12:36:53 PM5/17/18
to Subsurface Divelog
Hi Jef,

Please find attached a zip file with the files from the new download. Unfortuantly there is no export option in divers log so I have included a freshly downloaded db3 from the app.  I belive the db3 is a sqlite database so you should beable to find a reader to get at the data.  Its the best I could do apart from a printout. 
ppx-f6-2.zip

Neil Hodgson

unread,
May 17, 2018, 12:37:59 PM5/17/18
to Subsurface Divelog

Hi Jef,

Looks like the db3 is encrypted and needs a password to read it. im working on it now. will let you know.

Neil Hodgson

unread,
May 17, 2018, 1:41:57 PM5/17/18
to Subsurface Divelog
Hi Jef,

After a little bit of fiddling I have managed to decrypt the DB3 file and some other things ;).  I have exported all the data from the database into a .xml, .json and .html formats.  Please find them in the attached zip file. The .html file is the most readable if your just after the data.  If you want it in a different format please feel free to contact me directly via email and we can discuss away from the public forum what format or other data you might want.

Regards
Neil
Subsurface-test.zip

Jef Driesen

unread,
Jul 4, 2018, 10:34:17 AM7/4/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 2018-05-17 19:41, Neil Hodgson wrote:
> After a little bit of fiddling I have managed to decrypt the DB3 file
> and
> some other things ;). I have exported all the data from the database
> into
> a .xml, .json and .html formats. Please find them in the attached zip
> file. The .html file is the most readable if your just after the data.
> If
> you want it in a different format please feel free to contact me
> directly
> via email and we can discuss away from the public forum what format or
> other data you might want.

I made some more progress with the Pro Plus X support. I have prepared a
new build, which you can download here:

https://libdivecomputer.org/builds/experimental/windows/ppx-v2.exe

I think I have most of the info right, but we'll need to double check
for errors. For now, the easiest way is to download your dives to an xml
file:

ppx-v2.exe -v -l atom2.log -f atom2 -m 0x4552 download -o atom2.xml COMx

Import the xml file into subsurface, and carefully check the info for
errors.

The second problem is that I have no idea how much profile memory the
Pro Plus X has. So my suggestion is to try and brute force by reading
data until we run into an error.

From your previous attempts, I suspect the device has at least 4Mb of
memory, so this should work:

ppx-v2.exe -v -l atom2.log -f atom2 -m 0x4552 read -o atom2.bin -a
0x40000 -c 0x400000 COMx

But then I don't know, so let's try the next 4Mb:

ppx-v2.exe -v -l atom2.log -f atom2 -m 0x4552 read -o atom2.bin -a
0x440000 -c 0x400000 COMx

And so on, with 0x840000, 0xC40000, 0x1040000 as the -a parameter.

Send me back the log files.

Jef

Neil Hodgson

unread,
Jul 6, 2018, 4:04:44 AM7/6/18
to Subsurface Divelog
Hi Jef,

I have done a quick test on this and managed to do the first download and import of the xml file.  I was unable to do the subsequent downloads ppx-v2 reported and error 

D:\DL\Apps\diving>ppx-v2.exe -v -l atom2-40000.log -f atom2 -m 0x4552 download -o atom2-40000.xml -a 0x40000 -c 0x400000 COM4
DATETIME
2018-07-06T07:43:04Z (1530862984)
VERSION
0.7.0-devel (d3c3fb7cd3a1da8e09b92c07e65b62490362b334)
ppx
-v2.exe: unknown option -- a


I have not done a full check of the data imported into subsurface however the dive profile graphs generally look quite good. I have noticed a couple of anomalies. the oldest dive 2 Dec 2017 10:31am is reporting a max depth of 78m which should be 29.7m  also  a low temp of -8.9C wher it should have been 5,6C.

This is only a quick look at the data and I will have a better look later.  It seems like that max depth and min temp might be caused by some values at the end of the dive profile graph but it is hard to tell with a quick look. 

Jef Driesen

unread,
Jul 6, 2018, 4:14:28 AM7/6/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 2018-07-06 10:04, Neil Hodgson wrote:
> I have done a quick test on this and managed to do the first download
> and
> import of the xml file. I was unable to do the subsequent downloads
> ppx-v2
> reported and error
>
> D:\DL\Apps\diving>ppx-v2.exe -v -l atom2-40000.log -f atom2 -m 0x4552
> download -o atom2-40000.xml -a 0x40000 -c 0x400000 COM4
> DATETIME 2018-07-06T07:43:04Z (1530862984)
> VERSION 0.7.0-devel (d3c3fb7cd3a1da8e09b92c07e65b62490362b334)
> ppx-v2.exe: unknown option -- a

You made a mistake in the command. You need to use the "read" action,
not the "download" action:

ppx-v2.exe -v -l atom2-40000.log -f atom2 -m 0x4552 read -o
atom2-40000.bin -a 0x40000 -c 0x400000 COM4

> I have not done a full check of the data imported into subsurface
> however
> the dive profile graphs generally look quite good. I have noticed a
> couple
> of anomalies. the oldest dive 2 Dec 2017 10:31am is reporting a max
> depth
> of 78m which should be 29.7m also a low temp of -8.9C wher it should
> have
> been 5,6C.
>
> This is only a quick look at the data and I will have a better look
> later.
> It seems like that max depth and min temp might be caused by some
> values at
> the end of the dive profile graph but it is hard to tell with a quick
> look.

Okay, good to hear that most of the data is correct already! I'll take a
closer look at those wrong values as well.

Jef

Neil Hodgson

unread,
Jul 6, 2018, 4:42:56 AM7/6/18
to Subsurface Divelog

sorry forgot to attache the first download file
ppx-v2-1st-dl.zip

Neil Hodgson

unread,
Jul 6, 2018, 9:38:25 AM7/6/18
to Subsurface Divelog
Here are the read tests.  looks like it failed on the second one
ppx-v2-ReadTest.zip

Jef Driesen

unread,
Jul 10, 2018, 9:03:14 AM7/10/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 06-07-18 15:38, Neil Hodgson wrote:
> Here are the read tests.  looks like it failed on the second one

Excellent, that confirms the 4M limit!

Can you do another full memory dump with the updated version:

https://libdivecomputer.org/builds/experimental/windows/ppx.exe

ppx.exe -v -l atom2.log -f atom2 -m 0x4552 dump -o atom2.bin COM4

I haven't found the cause of the incorrect maxdepth and negative temperature
yet. But everything else is starting to look good now!

Jef

Neil Hodgson

unread,
Sep 3, 2018, 11:20:42 AM9/3/18
to Subsurface Divelog
Hi Jef,

I apologize again for the lateness of my response. Combination of moving home and just still not getting the update from the forum I think it is just hotmail that is putting it in the junk folder. However I get so much junk mail its just getting lost.   However please find attached the output from the last version you posted.

Neil
diving.7z

Jef Driesen

unread,
Sep 24, 2018, 3:26:09 PM9/24/18
to subsurfac...@googlegroups.com, Neil Hodgson
On 03-09-18 17:20, Neil Hodgson wrote:
> I apologize again for the lateness of my response. Combination of moving home
> and just still not getting the update from the forum I think it is just hotmail
> that is putting it in the junk folder. However I get so much junk mail its just
> getting lost.   However please find attached the output from the last version
> you posted.

The file you attached is a log from a normal dive download, not a memory dump.
You used the wrong command-line options. The correct options are:

dctool.exe -v -l atom2.log -f atom2 -m 0x4552 dump -o atom2.bin COM4

In the meantime the Pro Plus X support has been integrated, so you can use the
stable build now:

http://www.libdivecomputer.org/builds/stable/windows/dctool.exe

Jef

Neil Hodgson

unread,
Oct 2, 2018, 9:18:50 AM10/2/18
to Subsurface Divelog
Hi Jef,

I have redone the dump with dctool link you provided.

I have also tried doing a dl with the stable app 4.8.2.  However there is definitely something odd going on with the interperation of the download data as there are differences when compared to the diverlog application. As you can see from the two examples there is a blip in the data at the end of the dive that shouldn't be there. This affects multiple tbits of data. the dive time, surface interval, max depth and max temp etc.  This happens on all the other dives downloaded in a very similar way but the bip isn't always identical. 

ss-dl-comparison2.PNG

ss-dlcomparison.PNG 


Neil
dctool-ppx-dump.zip

Brett Woods

unread,
Dec 3, 2018, 1:19:15 PM12/3/18
to Subsurface Divelog
Hello, and thank you for all you guys do with Subsurface.  I'm writing to ask about support for the Pro Plus X in Subsurface-Mobile.  Any update on this?


Linus Torvalds

unread,
Dec 3, 2018, 1:44:41 PM12/3/18
to subsurfac...@googlegroups.com
On Mon, Dec 3, 2018 at 10:19 AM Brett Woods <br...@jeepswag.com> wrote:
>
> Hello, and thank you for all you guys do with Subsurface. I'm writing to ask about support for the Pro Plus X in Subsurface-Mobile. Any update on this?

The Pro Plus X does apparently support bluetooth, but I have no idea
what kind. I'm assuming it's BLE - since Oceanic claims iOS
compatibility - but I haven't actually seen the dive computer
personally, and I haven't seen a BLE scan of it.

If you have the "nRF Connect" app from Nordic Semicondutctor, and
could scan the bluetooth GATT characteristics and send a screenshot of
the result to me, I might be able to at least guess if it looks the
same as the Aqualung i770R (which is, afaik, designed by the same
people - it's all Pelagic).

But no promises. Remote-debugging BLE is a nightmare, and so far I've
had to have actual hw access to really get it working.

Linus
Message has been deleted

Brett Woods

unread,
Dec 11, 2018, 2:05:41 PM12/11/18
to Subsurface Divelog
Linus,

Sent an email, but maybe it didn't go through.  If you're locate in the USA, then maybe I can send you a Pro Plus X to work with.  

LMK

Thanks,

Brett

Brett Woods

unread,
Dec 14, 2018, 4:14:52 PM12/14/18
to Subsurface Divelog
I don't have any idea if I did this correctly, but here are some screen shots from nRF Connect;

Screenshot_20181214-113938_nRF Connect.jpg


Screenshot_20181214-113934_nRF Connect.jpg  

Screenshot_20181214-113948_nRF Connect.jpg

Screenshot_20181214-113959_nRF Connect.jpg



On Monday, December 3, 2018 at 10:44:41 AM UTC-8, Linus Torvalds wrote:

Linus Torvalds

unread,
Dec 14, 2018, 4:54:14 PM12/14/18
to subsurfac...@googlegroups.com, Brett Woods, Dirk Hohndel
Hi Brett,

On Fri, Dec 14, 2018 at 1:14 PM Brett Woods <br...@jeepswag.com> wrote:
>
> I don't have any idea if I did this correctly, but here are some screen shots from nRF Connect;

This actually looks quite promising.

In particular, the fact that the bluetooth name for that device is
ER001299 almost certainly means that it uses the same Oceanic Atom2
handshake as the i770R does: I suspect that the serial number for that
device is "001299", and the "ER" is the ASCII representation of
0x4552, which is the model number for the PROPLUSX.

So with any luck, the code we have for this might just work as-is. I
just pushed out a libdivecomputer one-liner update to enable that BLE
code for the Pro Plus X, so we could get some daily builds to test
with. Dirk?

No guarantees, but let's just try it. And if this doesn't work, I
guess you can send me the computer as a loaner, and I'll try to debug
why it doesn't work. I checked with my local dive shop, and they don't
carry the Pro Plus X, so I can't test it that way.

But let's get that trivial one-liner tested before we go do that..

Linus

Dirk Hohndel

unread,
Dec 14, 2018, 7:42:51 PM12/14/18
to Linus Torvalds, subsurfac...@googlegroups.com, Brett Woods

On Dec 14, 2018, at 1:53 PM, Linus Torvalds <torv...@linux-foundation.org> wrote:
So with any luck, the code we have for this might just work as-is. I
just pushed out a libdivecomputer one-liner update to enable that BLE
code for the Pro Plus X, so we could get some daily builds to test
with. Dirk?

Brett Woods

unread,
Dec 17, 2018, 12:00:44 PM12/17/18
to Subsurface Divelog
I do not have any dives on this DC.

I did the following;
- installed this subsurface apk and opened it 
- used nRF to determine the DC mac address  
- turned on the DC, activated the Bluetooth and got a  "Connection Made" on the DC
- selected manufacturer, model and correct mac address
- got a message "Info: No new dives downloaded from the dive computer"

The following is from the "Copy logs to clipboard"


---------- subsurface.log ----------
Empty filename passed to function
"0.005: Failed to open logfile /storage/emulated/0/subsurface.log at Mon Dec 17 08:50:15 2018 error: Permission denied"
"0.005: Failed to open logfile /storage/emulated/0/Documents/subsurface.log at Mon Dec 17 08:50:15 2018 error: No such file or directory"
"0.006: Successfully opened logfile /storage/emulated/0/Android/data/org.subsurfacedivelog.mobile/files/Documents/subsurface.log at Mon Dec 17 08:50:15 2018"
"0.006: Starting Subsurface-mobile:2.1.5(4.8.4.64):Android Oreo (8.0):arm:en-US"
"0.007: built with libdivecomputer v0.7.0-devel-Subsurface-NG (b082a96ebb825a9564a3d5c138434e8ae2835f63)"
"0.007: built with Qt Version 5.11.1, runtime from Qt Version 5.11.1"
"0.007: built with libgit2 0.26.0"
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"
"Created position source android"
"0.025: Created position source android"
"Set GPS service update interval to 300 s"
"0.025: Set GPS service update interval to 300 s"
"0.025: location service is available"
qrc:/org/kde/kirigami/Page.qml:276:5: QML Loader: Binding loop detected for property "active"
"0.647: Synchronising data file"
"0.655: Load dives from local cache"
"0.665: Successfully opened dive data"
"0.666: 13 dives loaded from cache"
"0.667: have cloud credentials, but user asked not to connect to network"
checkPendingIntents 
Using the following font: Roboto at 17pt with mobile_scale: 1.15
qqwindow devicePixelRatio 2.62591 2.62591
Supported dive computers:
"Aeris: 500 AI (SERIAL), A300 (SERIAL), A300 AI (SERIAL), A300CS (SERIAL), Atmos 2 (SERIAL), Atmos AI (SERIAL), Atmos AI 2 (SERIAL), Compumask (SERIAL), Elite (SERIAL), Elite T3 (SERIAL), Epic (SERIAL), F10 (SERIAL), F11 (SERIAL), Manta (SERIAL), XR-1 NX (SERIAL), XR-2 (SERIAL)"
"Aqualung: i200 (SERIAL), i300 (SERIAL), i300C (SERIAL, BLE), i450T (SERIAL), i550 (SERIAL), i750TC (SERIAL, BT), i770R (SERIAL, BLE)"
"Atomic Aquatics: Cobalt (USB), Cobalt 2 (USB)"
"Beuchat: Mundial 2 (SERIAL), Mundial 3 (SERIAL), Voyager 2G (SERIAL)"
"Cochran: Commander I (SERIAL), Commander II (SERIAL), Commander TM (SERIAL), EMC-14 (SERIAL), EMC-16 (SERIAL), EMC-20H (SERIAL)"
"Cressi: Drake (SERIAL), Giotto (SERIAL), Leonardo (SERIAL), Newton (SERIAL)"
"Garmin: Descent Mk1 (USBSTORAGE)"
"Genesis: React Pro (SERIAL), React Pro White (SERIAL)"
"Heinrichs Weikamp: Frog (SERIAL, BT), OSTC (SERIAL), OSTC 2 (SERIAL, BT, BLE), OSTC 2 TR (SERIAL, BT, BLE), OSTC 2C (SERIAL), OSTC 2N (SERIAL), OSTC 3 (SERIAL), OSTC 4 (SERIAL, BT, BLE), OSTC Mk2 (SERIAL), OSTC Plus (SERIAL, BT, BLE), OSTC Sport (SERIAL, BT, BLE), OSTC cR (SERIAL)"
"Hollis: DG02 (SERIAL), DG03 (SERIAL), TX1 (SERIAL)"
"Mares: Puck Pro (SERIAL, BLE), Quad (SERIAL, BLE), Quad Air (SERIAL, BLE), Smart (SERIAL, BLE), Smart Air (SERIAL, BLE)"
"Oceanic: Atom 1.0 (SERIAL), Atom 2.0 (SERIAL), Atom 3.0 (SERIAL), Atom 3.1 (SERIAL), Datamask (SERIAL), F10 (SERIAL), F11 (SERIAL), Geo (SERIAL), Geo 2.0 (SERIAL), OC1 (SERIAL), OCS (SERIAL), OCi (SERIAL), Pro Plus 2 (SERIAL), Pro Plus 2.1 (SERIAL), Pro Plus 3 (SERIAL), Pro Plus X (SERIAL, BLE), VT 4.1 (SERIAL), VT Pro (SERIAL), VT3 (SERIAL), VT4 (SERIAL), VTX (SERIAL), Veo 1.0 (SERIAL), Veo 180 (SERIAL), Veo 2.0 (SERIAL), Veo 200 (SERIAL), Veo 250 (SERIAL), Veo 3.0 (SERIAL), Versa Pro (SERIAL)"
"Scubapro: Aladin Sport Matrix (BLE), Aladin Square (USBHID), G2 (USBHID, BLE), G2 Console (USBHID, BLE)"
"Seemann: XP5 (SERIAL)"
"Shearwater: Nerd (SERIAL, BT), Nerd 2 (BLE), Perdix (SERIAL, BT, BLE), Perdix AI (BLE), Petrel (SERIAL, BT), Petrel 2 (SERIAL, BT, BLE), Predator (SERIAL, BT), Teric (BLE)"
"Sherwood: Amphos (SERIAL), Amphos Air (SERIAL), Insight (SERIAL), Insight 2 (SERIAL), Vision (SERIAL), Wisdom (SERIAL), Wisdom 2 (SERIAL), Wisdom 3 (SERIAL)"
"Subgear: XP-Air (SERIAL)"
"Suunto: Cobra (SERIAL), Cobra 2 (SERIAL), Cobra 3 (SERIAL), D3 (SERIAL), D4 (SERIAL), D4f (SERIAL), D4i (SERIAL), D6 (SERIAL), D6i (SERIAL), D9 (SERIAL), D9tx (SERIAL), DX (SERIAL), EON Core (USBHID, BLE), EON Steel (USBHID, BLE), Eon (SERIAL), Gekko (SERIAL), HelO2 (SERIAL), Mosquito (SERIAL), Solution (SERIAL), Solution Alpha (SERIAL), Solution Nitrox (SERIAL), Spyder (SERIAL), Stinger (SERIAL), Vyper (SERIAL), Vyper 2 (SERIAL), Vyper Air (SERIAL), Vyper Novo (SERIAL), Vytec (SERIAL), Zoop (SERIAL), Zoop Novo (SERIAL)"
"Tecdiving: DiveComputer.eu (SERIAL, BT)"
"Tusa: Element II (IQ-750) (SERIAL), Zen (IQ-900) (SERIAL), Zen Air (IQ-950) (SERIAL)"
"Uwatec: Aladin Air Twin (SERIAL), Aladin Air Z (SERIAL), Aladin Air Z Nitrox (SERIAL), Aladin Air Z O2 (SERIAL), Aladin Pro (SERIAL), Aladin Pro Ultra (SERIAL), Aladin Sport Plus (SERIAL), Memomouse (SERIAL)"
qqwindow screen has ldpi/pdpi 71.975 149.579
"1.636: AppState changed to active with no save ongoing and no unsaved changes"
qrc:/org/kde/kirigami/GlobalDrawer.qml:258: TypeError: Cannot read property 'length' of undefined
qrc:/org/kde/kirigami/GlobalDrawer.qml:293: TypeError: Cannot read property 'length' of undefined
qrc:/org/kde/kirigami/GlobalDrawer.qml:292: TypeError: Cannot read property 'length' of undefined
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"
"35.171: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc79c8ff0)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc790d870)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xc2b47700)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xc2b47a40)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("08:50:52.810") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("08:50:52.816") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
QTime("08:50:53.823") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("08:50:53.831") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("08:50:53.896") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000231c4"
QTime("08:50:53.897") packet RECV "cdc1000231c4"
QTime("08:50:53.897") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("08:50:53.898") packet READ "cdc1000231c4"
QTime("08:50:53.899") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("08:50:53.903") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a040108050418000045520012990000"
QTime("08:50:53.946") packet RECV "cde001105a040108050418000045520012990000"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc101020070"
QTime("08:50:53.947") packet RECV "cdc101020070"
QTime("08:50:53.947") packet READ "cde001105a040108050418000045520012990000"
QTime("08:50:53.948") packet READ "cdc101020070"
"38.288: model=Pro Plus X firmware=0 serial=1299"
QTime("08:50:53.949") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("08:50:53.954") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a80058005f0fff0ff00000000140200"
QTime("08:50:53.988") packet RECV "cde002105a80058005f0fff0ff00000000140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc102020200"
QTime("08:50:53.989") packet RECV "cdc102020200"
QTime("08:50:53.990") packet READ "cde002105a80058005f0fff0ff00000000140200"
QTime("08:50:53.990") packet READ "cdc102020200"
QTime("08:50:53.991") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"38.335: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"38.362: DCDownloadThread finished"



---------- libdivecomputer.log ----------
Subsurface: v4.8.4-64-g99561484adfc, built with libdivecomputer v0.7.0-devel-Subsurface-NG (b082a96ebb825a9564a3d5c138434e8ae2835f63)
INFO: Open: transport=32
INFO: Configure: baudrate=115200, databits=8, parity=0, stopbits=0, flowcontrol=0
INFO: Timeout: value=1000
INFO: DTR: value=1
INFO: RTS: value=0
INFO: Sleep: value=100
INFO: RTS: value=1
INFO: Sleep: value=100
INFO: Purge: direction=3
INFO: Write: size=5, data=CD40000184
INFO: Read: size=0, data=
INFO: Write: size=5, data=CD40000184
INFO: Read: size=20, data=CDE000105A4F4345414E4F435820314220303030
INFO: Read: size=6, data=CDC1000231C4
WARNING: Unsupported device detected! [in /data/android/subsurface/libdivecomputer/src/oceanic_atom2.c:986 (oceanic_atom2_device_open)]
Event: vendor=4F4345414E4F43582031422030303031
INFO: Write: size=7, data=CD400103B10000
INFO: Read: size=20, data=CDE001105A040108050418000045520012990000
INFO: Read: size=6, data=CDC101020070
Event: model=17746 (0x00004552), firmware=0 (0x00000000), serial=1299 (0x00000513)
INFO: Write: size=7, data=CD400203B10004
INFO: Read: size=20, data=CDE002105A80058005F0FFF0FF00000000140200
INFO: Read: size=6, data=CDC102020200
ERROR: Invalid logbook end pointer detected (0xfff0). [in /data/android/subsurface/libdivecomputer/src/oceanic_common.c:224 (oceanic_common_device_logbook)]
INFO: Write: size=7, data=CD4003036A05A5
---------- finish ----------

Linus Torvalds

unread,
Dec 17, 2018, 12:36:56 PM12/17/18
to subsurfac...@googlegroups.com, Jef Driesen, Dirk Hohndel, Brett Woods
On Mon, Dec 17, 2018 at 9:00 AM Brett Woods <br...@jeepswag.com> wrote:
>
> I do not have any dives on this DC.

Ok, that makes it a bit harder to verify that everything is really working, but:

> I did the following;
> - installed this subsurface apk and opened it
> - used nRF to determine the DC mac address
> - turned on the DC, activated the Bluetooth and got a "Connection Made" on the DC
> - selected manufacturer, model and correct mac address
> - got a message "Info: No new dives downloaded from the dive computer"

On the whole, everything seems fine.

We're talking to the thing, and it's replying. We get the serial
number back correctly, so it's pretty much all good.

But since there are no dives, there's no real testing that we parse
things correctly, and I actually suspect we don't really. In
particular:

> Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
> Not recognized as dive computer

Ok, that's just because the mobile auto-recognition isn't complete.
Not a big deal, it just means that we won't pick up the manufacturer
and device name automatically.

I'm attaching a subsurface patch that may fix it.

You just picked the correct device manually instead:

> "35.171: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
> Starting download from BT
... all the BLE communication looks good.

The libdivecomputer logs are a bit more specific to just the actual
data transfer stuff, and show:

> INFO: Write: size=5, data=CD40000184
> INFO: Read: size=0, data=
> INFO: Write: size=5, data=CD40000184
> INFO: Read: size=20, data=CDE000105A4F4345414E4F435820314220303030
> INFO: Read: size=6, data=CDC1000231C4
> Event: vendor=4F4345414E4F43582031422030303031

This is the initial handshake, and it reports

"OCEANOCX 1B 0001"

as the version string. All good from a communication standpoint. But we get

> WARNING: Unsupported device detected! [in /data/android/subsurface/libdivecomputer/src/oceanic_atom2.c:986 (oceanic_atom2_device_open)]

because the libdivecomputer expects that "0001" to be "2048".

This is something we've seen before. The serial transport has the
memory size in the last four digits, but the BLE transport reports
some other version.

> INFO: Write: size=7, data=CD400103B10000
> INFO: Read: size=20, data=CDE001105A040108050418000045520012990000
> INFO: Read: size=6, data=CDC101020070
> Event: model=17746 (0x00004552), firmware=0 (0x00000000), serial=1299 (0x00000513)
> INFO: Write: size=7, data=CD400203B10004
> INFO: Read: size=20, data=CDE002105A80058005F0FFF0FF00000000140200
> INFO: Read: size=6, data=CDC102020200
> ERROR: Invalid logbook end pointer detected (0xfff0). [in /data/android/subsurface/libdivecomputer/src/oceanic_common.c:224 (oceanic_common_device_logbook)]
> INFO: Write: size=7, data=CD4003036A05A5

Ok, all good, that "invalid logbook end pointer" is because of the
above issue, and I already pushed out the obvious fix for it to
libdivecomputer. But if you don't actually have any dives on that dive
computer, the end result will be the same, just without those two
warnings.

Regardless, everything looks sane, and I see no reason that I'd need
to actually play with that dive computer personally. I am pretty sure
that my libdivecomputer updates will make it all work once you have
dives on it, and the untested patch attached will probably make
subsurface-mobile pick up the device name automatically too.

Linus
patch.diff

Linus Torvalds

unread,
Dec 17, 2018, 1:25:25 PM12/17/18
to subsurfac...@googlegroups.com, Jef Driesen, Dirk Hohndel, Brett Woods
On Mon, Dec 17, 2018 at 9:36 AM Linus Torvalds
<torv...@linux-foundation.org> wrote:
>
> On the whole, everything seems fine.
>
> We're talking to the thing, and it's replying. We get the serial
> number back correctly, so it's pretty much all good.

Hmm. I just noticed that we never sent the BLE handshake packet that
the i770R wants.

Apparently the Oceanic Pro Plus X doesn't need it (and perhaps doesn't
even want it), but it's worrying me that the logs don't even show it
being sent.

I wonder if this is due to the mobile app never setting btname when
downloading. If that's the case, then the i770R won't download on
mobile. I guess I need to check.

Dirk, you know the mobile BLE code. I can't follow the magic
DC_devBluetoothName -> DC_setDevBluetoothName -> setDevBluetoothName
code flow. Might the mobile code never end up doing that setting?

Linus

Dirk Hohndel

unread,
Dec 17, 2018, 2:46:16 PM12/17/18
to subsurfac...@googlegroups.com, Jef Driesen, Brett Woods


Hmm. I just noticed that we never sent the BLE handshake packet that
the i770R wants.

Apparently the Oceanic Pro Plus X doesn't need it (and perhaps doesn't
even want it), but it's worrying me that the logs don't even show it
being sent.

I wonder if this is due to the mobile app never setting btname when
downloading. If that's the case, then the i770R won't download on
mobile. I guess I need to check.

Dirk, you know the mobile BLE code. I can't follow the magic
DC_devBluetoothName -> DC_setDevBluetoothName -> setDevBluetoothName
code flow. Might the mobile code never end up doing that setting?

I thought we had success reports for the i770R on Android.
But as I tried to find that email, my search came up empty, so I must be imagining that.

The way the mobile app was supposed to set this was to assign the value to
DC_devBluetoothName
in QML code - but it appears that never got implemented (or got lost when merging
the code - not sure.
Which value should be written to that variable - the BT device name that we found
scanning, I assume?

Thanks

/D

Brett Woods

unread,
Dec 17, 2018, 3:13:02 PM12/17/18
to Subsurface Divelog
Guess I need to go for a dive.  

If there's another version of the app that I need to use, LMK and I'll load it up.

Linus Torvalds

unread,
Dec 17, 2018, 3:14:22 PM12/17/18
to subsurfac...@googlegroups.com, Jef Driesen, Brett Woods
On Mon, Dec 17, 2018 at 11:46 AM Dirk Hohndel <di...@hohndel.org> wrote:
>
> I thought we had success reports for the i770R on Android.

Just checked my i770R.

It doesn't work on Android, and the logs show that not only do we not
transfer the handshake packet, the end result is that the i770R just
replies with NAK.

> Which value should be written to that variable - the BT device name that we found
> scanning, I assume?

Yes.

That said, this does show that it looks like the Pro Plus X does not
need the handshake at all. I think Janice said that the i300C _does_
need the handshake, but I don't think anybody has ever reported on it.

It may be that the Pro Plus X would be confused by us doing the
handshake, so fixing the mobile downloading to fill in the btname will
mean that Brett will need to re-test the Pro Plus X. But it should be
pretty simple to add a per-device flag to say "needs BT handshake or
not" once we have that data.

Linus

Linus Torvalds

unread,
Dec 17, 2018, 3:25:50 PM12/17/18
to subsurfac...@googlegroups.com, Jef Driesen, Brett Woods
On Mon, Dec 17, 2018 at 12:14 PM Linus Torvalds
<torv...@linux-foundation.org> wrote:
>
> It may be that the Pro Plus X would be confused by us doing the
> handshake, so fixing the mobile downloading to fill in the btname will
> mean that Brett will need to re-test the Pro Plus X. But it should be
> pretty simple to add a per-device flag to say "needs BT handshake or
> not" once we have that data.

.. another possibility is that the handshake is only needed after
you've set up the dive computer using the vendor app (which I did for
my i770R because I needed the traces to see the communication in the
first place).

That said, I don't see any way to tell the i770R to "unpair" (you can
turn BLE on and off, you can't reset a pairing like the Suunto EON
Steel/Core), so I suspect not.

It may be an issue of "Aqualung wanted the fake pairing, Oceanic didn't".

Brett? Have you tried the Oceanic Android App? It's called "Pelagic
DiverLog", and there is a free "Lite" version you can test.

Honestly, from what I've seen, the DiverLog app is horrid garbage, but
I am not only biased, I also only tried it with the A300CS, which
failed miserably. It might not be the app, it might be the (incredibly
bad) A300CS.

If you haven't even tried DiverLog, don't worry about it. It's not
worth it, and as long as you're able to do a bit of testing with new
subsurface-mobile versions and send us the logs like you did, we'll
get this working fine.

And by the way - you don't need to go diving - do you have a neighbor
with a pool, or some other body of water that is more than 4ft deep?
Tie a string to the dive computer and just dip it in for a couple of
minutes.

Sadly, a bathtub or a hot tub is not deep enough.

Linus

Brett Woods

unread,
Dec 18, 2018, 12:20:46 AM12/18/18
to Subsurface Divelog
But I want to go for a dive ;)  I actually have to do some weight testing for a new drysuit and might be able to get in the water tomorrow.  If I can't dive tomorrow, I'll get the computer in a pool.

BTW, I have two Pro Plus X's.  One has been paired, the other has not.  

Brett Woods

unread,
Dec 19, 2018, 12:37:52 AM12/19/18
to Subsurface Divelog
Got my dive in tonight.  

In Subsurface-mobile, I;
 
- changed my subsurface to "No cloud mode".

- pressed dive computer button.

- Pressed Oceanic - Pro Plus X (under Previously used dive computers)

- Pressed download and the DC shows a message of Pairing made, then Connection made

The dive does not appear in the dive log on my phone.  Here is the log file;

---------- subsurface.log ----------
Empty filename passed to function
"0.009: Failed to open logfile /storage/emulated/0/subsurface.log at Tue Dec 18 20:48:37 2018 error: Permission denied"
"0.009: Failed to open logfile /storage/emulated/0/Documents/subsurface.log at Tue Dec 18 20:48:37 2018 error: No such file or directory"
"0.010: Successfully opened logfile /storage/emulated/0/Android/data/org.subsurfacedivelog.mobile/files/Documents/subsurface.log at Tue Dec 18 20:48:37 2018"
"0.010: Starting Subsurface-mobile:2.1.5(4.8.4.64):Android Oreo (8.0):arm:en-US"
"0.010: built with libdivecomputer v0.7.0-devel-Subsurface-NG (b082a96ebb825a9564a3d5c138434e8ae2835f63)"
"0.010: built with Qt Version 5.11.1, runtime from Qt Version 5.11.1"
"0.010: built with libgit2 0.26.0"
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"
"Created position source android"
"0.030: Created position source android"
"Set GPS service update interval to 300 s"
"0.031: Set GPS service update interval to 300 s"
"0.031: location service is available"
qrc:/org/kde/kirigami/Page.qml:276:5: QML Loader: Binding loop detected for property "active"
"0.534: Switching to no cloud mode"
"0.582: working in no-cloud mode"
"0.583: Unable to look up revision 'master'"
"0.583: Unable to look up revision 'master'"
"1.153: AppState changed to active with no save ongoing and no unsaved changes"
qrc:/org/kde/kirigami/GlobalDrawer.qml:258: TypeError: Cannot read property 'length' of undefined
qrc:/org/kde/kirigami/GlobalDrawer.qml:293: TypeError: Cannot read property 'length' of undefined
qrc:/org/kde/kirigami/GlobalDrawer.qml:292: TypeError: Cannot read property 'length' of undefined
"20.258: AppState changed to inactive with no save ongoing and no unsaved changes"
"20.346: AppState changed to suspended with no save ongoing and no unsaved changes"
"888.937: AppState changed to active with no save ongoing and no unsaved changes"
"893.399: AppState changed to inactive with no save ongoing and no unsaved changes"
"893.426: AppState changed to suspended with no save ongoing and no unsaved changes"
"895.328: AppState changed to active with no save ongoing and no unsaved changes"
"902.189: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc67ffa80)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc67ffb60)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Cannot find/update descriptor "{00002902-0000-1000-8000-00805f9b34fb}" "{a60b8e5c-b267-44d7-9764-837caf96489e}" "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xc686c800)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xc686c8c0)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
 .. ignoring service without read characteristic "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
Using service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" as preferred service
 .. enabling notifications
Using read characteristic "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  32 "0100" (service: "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" )
QTime("21:15:15.852") packet SEND "cd40000184"
Write characteristic with handle  30 "cd40000184" (service: "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" , writeWithResponse: true , signed: false )
QTime("21:15:15.854") packet WAIT
QTime("21:15:16.858") packet SEND "cd40000184"
Write characteristic with handle  30 "cd40000184" (service: "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" , writeWithResponse: true , signed: false )
QTime("21:15:16.860") packet WAIT
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
Connection updated: error: QLowEnergyController::Error(ConnectionError) oldState: QLowEnergyController::ControllerState(DiscoveredState) newState: QLowEnergyController::ControllerState(UnconnectedState)
serviceStateChanged
"{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" QLowEnergyService::ServiceState(InvalidService)
QTime("21:15:17.868") packet SEND "cd40000184"
QTime("21:15:17.869") packet WAIT
Deleting BLE object
Finishing download thread: "Error opening the device LE:E0:00:00:00:07:BB Oceanic (Pro Plus X).\nIn most cases, in order to debug this issue, it is useful to send the developers the log files. You can copy them to the clipboard in the About dialog."
no new dives downloaded
"911.876: DCDownloadThread finished"
"921.652: requested dive list with credential status 4"
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
"localDevice SAMSUNG-SM-G955U is valid, starting discovery"
paired BT classic device type 1 with address "F8:DF:15:A3:FE:96"
paired BT classic device type 1 with address "74:5E:1C:52:F8:F7"
paired BT classic device type 1 with address "00:22:A0:5B:F1:74"
paired BLE device type 2 with address "LE:E0:00:00:00:07:BB"
paired BT classic device type 1 with address "1C:48:F9:DD:0F:60"
paired BT classic device type 1 with address "E0:EE:1B:FC:DB:53"
Found new device: "JBL Flip 3" "F8:DF:15:A3:FE:96"
Not recognized as dive computer
Found new device: "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Not recognized as dive computer
Found new device: "Uconnect" "00:22:A0:5B:F1:74"
Not recognized as dive computer
Found new device: "ER001299" "LE:E0:00:00:00:07:BB"
Not recognized as dive computer
Found new device: "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Not recognized as dive computer
Found new device: "Uconnect" "E0:EE:1B:FC:DB:53"
Not recognized as dive computer
Paired = "JBL Flip 3" "F8:DF:15:A3:FE:96"
Paired = "DEH-X6600BT  " "74:5E:1C:52:F8:F7"
Paired = "Uconnect" "00:22:A0:5B:F1:74"
Paired = "ER001299" "LE:E0:00:00:00:07:BB"
Paired = "Jabra FREEWAY v3.30.3" "1C:48:F9:DD:0F:60"
Paired = "Uconnect" "E0:EE:1B:FC:DB:53"



---------- libdivecomputer.log ----------
Subsurface: v4.8.4-64-g99561484adfc, built with libdivecomputer v0.7.0-devel-Subsurface-NG (b082a96ebb825a9564a3d5c138434e8ae2835f63)
INFO: Open: transport=32
INFO: Configure: baudrate=115200, databits=8, parity=0, stopbits=0, flowcontrol=0
INFO: Timeout: value=1000
INFO: DTR: value=1
INFO: RTS: value=0
INFO: Sleep: value=100
INFO: RTS: value=1
INFO: Sleep: value=100
INFO: Purge: direction=3
INFO: Write: size=5, data=CD40000184
INFO: Read: size=0, data=
INFO: Write: size=5, data=CD40000184
INFO: Read: size=0, data=
INFO: Write: size=5, data=CD40000184
INFO: Read: size=0, data=
---------- finish ----------


Linus Torvalds

unread,
Dec 19, 2018, 12:42:54 AM12/19/18
to subsurfac...@googlegroups.com


On Tue, Dec 18, 2018, 21:37 Brett Woods <br...@jeepswag.com wrote:
Got my dive in tonight.  

In Subsurface-mobile, I;
 
- changed my subsurface to "No cloud mode".

- pressed dive computer button.

- Pressed Oceanic - Pro Plus X (under Previously used dive computers)

- Pressed download and the DC shows a message of Pairing made, then Connection made

The dive does not appear in the dive log on my phone.  Here is the log file;

Now it's not taking to us at all. No reply.

That's possibly just temporary. Try again, and maybe do the device scan again. 

         Linus

Brett Woods

unread,
Dec 19, 2018, 12:58:30 AM12/19/18
to Subsurface Divelog
Tried again - in cloud mode.  Still not showing any new dives.

Log;

qrc:/org/kde/kirigami/templates/ApplicationHeader.qml:266: TypeError: Cannot read property 'x' of undefined
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
"943.607: AppState changed to inactive with no save ongoing and no unsaved changes"
"943.630: AppState changed to suspended with no save ongoing and no unsaved changes"
"1695.512: AppState changed to active with no save ongoing and no unsaved changes"
qrc:/org/kde/kirigami/templates/ApplicationHeader.qml:266: TypeError: Cannot read property 'x' of undefined
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
"1721.776: Switching to no cloud mode"
"1721.816: Unable to look up revision 'master'"
"1721.816: Unable to look up revision 'master'"
"1721.816: loading dives from cache failed -1"
"1721.818: have cloud credentials, but user asked not to connect to network"
"1762.396: AppState changed to inactive with no save ongoing and no unsaved changes"
"1762.455: AppState changed to suspended with no save ongoing and no unsaved changes"
"1765.404: AppState changed to active with no save ongoing and no unsaved changes"
"1795.622: AppState changed to inactive with no save ongoing and no unsaved changes"
"1795.671: AppState changed to suspended with no save ongoing and no unsaved changes"
"1809.426: AppState changed to active with no save ongoing and no unsaved changes"
"1811.506: AppState changed to inactive with no save ongoing and no unsaved changes"
"1811.532: AppState changed to suspended with no save ongoing and no unsaved changes"
"1832.872: AppState changed to active with no save ongoing and no unsaved changes"
"1841.117: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc817e800)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc80a5200)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xc7f31040)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xc7cdc500)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:34:16.541") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:34:16.544") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
QTime("21:34:17.545") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:34:17.549") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
QTime("21:34:18.553") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:34:18.557") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Deleting BLE object
Finishing download thread: "Error opening the device LE:E0:00:00:00:07:BB Oceanic (Pro Plus X).\nIn most cases, in order to debug this issue, it is useful to send the developers the log files. You can copy them to the clipboard in the About dialog."
no new dives downloaded
"1847.020: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
"1871.767: AppState changed to inactive with no save ongoing and no unsaved changes"
"1871.838: AppState changed to suspended with no save ongoing and no unsaved changes"
"1873.759: AppState changed to active with no save ongoing and no unsaved changes"
"1877.836: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc80a5420)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc80a5640)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xc7b19540)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xc7b19640)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:34:52.386") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:34:52.392") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("21:34:52.458") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000431e101a6"
QTime("21:34:52.461") packet RECV "cdc1000431e101a6"
QTime("21:34:52.462") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("21:34:52.462") packet READ "cdc1000431e101a6"
QTime("21:34:52.463") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:34:52.470") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a04010805041801014552001299bbb8"
QTime("21:34:52.503") packet RECV "cde001105a04010805041801014552001299bbb8"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1010201e6"
QTime("21:34:52.504") packet RECV "cdc1010201e6"
QTime("21:34:52.504") packet READ "cde001105a04010805041801014552001299bbb8"
QTime("21:34:52.504") packet READ "cdc1010201e6"
"1879.944: model=Pro Plus X firmware=0 serial=1299"
QTime("21:34:52.507") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:34:52.511") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a800580020010001000000f00140200"
QTime("21:34:52.544") packet RECV "cde002105a800580020010001000000f00140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc10202024e"
QTime("21:34:52.545") packet RECV "cdc10202024e"
QTime("21:34:52.545") packet READ "cde002105a800580020010001000000f00140200"
QTime("21:34:52.545") packet READ "cdc10202024e"
QTime("21:34:52.546") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"1879.988: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"1879.996: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
The item DownloadFromDiveComputer_QMLTYPE_70(0xcbed9300) is already in the PageRow
"1923.068: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc80a54f0)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc80a59a0)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xd98366c0)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xd98367c0)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:35:38.224") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:35:38.229") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
QTime("21:35:39.234") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:35:39.244") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("21:35:39.301") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000431e101a6"
QTime("21:35:39.302") packet RECV "cdc1000431e101a6"
QTime("21:35:39.303") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("21:35:39.303") packet READ "cdc1000431e101a6"
QTime("21:35:39.304") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:35:39.311") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a04010805041802014552001299bbb8"
QTime("21:35:39.344") packet RECV "cde001105a04010805041802014552001299bbb8"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1010201e7"
QTime("21:35:39.344") packet RECV "cdc1010201e7"
QTime("21:35:39.345") packet READ "cde001105a04010805041802014552001299bbb8"
QTime("21:35:39.345") packet READ "cdc1010201e7"
"1926.785: model=Pro Plus X firmware=0 serial=1299"
QTime("21:35:39.345") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:35:39.348") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a800580020010001000000f00140200"
QTime("21:35:39.390") packet RECV "cde002105a800580020010001000000f00140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc10202024e"
QTime("21:35:39.391") packet RECV "cdc10202024e"
QTime("21:35:39.391") packet READ "cde002105a800580020010001000000f00140200"
QTime("21:35:39.391") packet READ "cdc10202024e"
QTime("21:35:39.391") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"1926.833: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"1926.848: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
"1984.477: AppState changed to inactive with no save ongoing and no unsaved changes"
"1984.539: AppState changed to suspended with no save ongoing and no unsaved changes"
"2007.110: AppState changed to active with no save ongoing and no unsaved changes"
"2008.956: AppState changed to inactive with no save ongoing and no unsaved changes"
"2008.980: AppState changed to suspended with no save ongoing and no unsaved changes"
"2142.444: AppState changed to active with no save ongoing and no unsaved changes"
The item DownloadFromDiveComputer_QMLTYPE_70(0xcbed9300) is already in the PageRow
"2164.143: DCDownloadThread started for Oceanic Pro Plus X on FTDI"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2164.152: Out of memory"
no new dives downloaded
"2164.201: DCDownloadThread finished"
"2169.540: DCDownloadThread started for Oceanic Pro Plus X on ftdi"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2169.542: Out of memory"
no new dives downloaded
"2169.543: DCDownloadThread finished"
"2170.744: DCDownloadThread started for Oceanic Pro Plus X on ftdi"
Starting download from  ftdi
"2170.746: Out of memory"
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
no new dives downloaded
"2170.747: DCDownloadThread finished"
"2172.664: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc6d58610)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc6d58700)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xc6adb7c0)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xc6adb880)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:45:50.911") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:45:50.921") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("21:45:50.973") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000231c4"
QTime("21:45:50.973") packet RECV "cdc1000231c4"
QTime("21:45:50.974") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("21:45:50.974") packet READ "cdc1000231c4"
QTime("21:45:50.974") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:45:50.977") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a04010805041801014552001299bbb8"
QTime("21:45:51.009") packet RECV "cde001105a04010805041801014552001299bbb8"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1010201e6"
QTime("21:45:51.010") packet RECV "cdc1010201e6"
QTime("21:45:51.010") packet READ "cde001105a04010805041801014552001299bbb8"
QTime("21:45:51.010") packet READ "cdc1010201e6"
"2175.538: model=Pro Plus X firmware=0 serial=1299"
QTime("21:45:51.014") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:45:51.019") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a800580020010001000000f00140200"
QTime("21:45:51.052") packet RECV "cde002105a800580020010001000000f00140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc10202024e"
QTime("21:45:51.052") packet RECV "cdc10202024e"
QTime("21:45:51.052") packet READ "cde002105a800580020010001000000f00140200"
QTime("21:45:51.052") packet READ "cdc10202024e"
QTime("21:45:51.052") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"2175.580: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"2175.613: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
The item DownloadFromDiveComputer_QMLTYPE_70(0xcbed9300) is already in the PageRow
"2213.224: DCDownloadThread started for Oceanic Pro Plus X on FTDI"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2213.226: Out of memory"
no new dives downloaded
"2213.295: DCDownloadThread finished"
"2218.029: DCDownloadThread started for Oceanic Pro Plus X on ftdi"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2218.031: Out of memory"
no new dives downloaded
"2218.032: DCDownloadThread finished"
qrc:/org/kde/kirigami/templates/ApplicationHeader.qml:266: TypeError: Cannot read property 'x' of undefined
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
"2279.006: AppState changed to inactive with no save ongoing and no unsaved changes"
"2279.071: AppState changed to suspended with no save ongoing and no unsaved changes"
"2336.341: AppState changed to active with no save ongoing and no unsaved changes"
"2341.708: local save requested with no unsaved changes"
"2341.717: Synchronising data file"
"2341.724: Load dives from local cache"
"2341.735: Successfully opened dive data"
"2341.740: 13 dives loaded from cache"
"2341.741: have cloud credentials, trying to connect"
"2341.742: Have credentials, let's see if they are valid"
Completed connection with cloud storage backend, response "[OK]"
"2342.861: Synchronising data file"
"2342.874: Sync with cloud storage"
"2343.299: Successful cloud connection, fetch remote"
"2343.632: Done syncing with cloud storage"
"2343.637: Cloud sync shows local cache was current"
"2349.722: DCDownloadThread started for Oceanic Pro Plus X on FTDI"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2349.724: Out of memory"
no new dives downloaded
"2349.725: DCDownloadThread finished"
"2354.549: DCDownloadThread started for Oceanic Pro Plus X on ftdi"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2354.553: Out of memory"
no new dives downloaded
"2354.554: DCDownloadThread finished"
"2357.971: exit DCDownload screen"
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
"2363.454: DCDownloadThread started for Oceanic Pro Plus X on FTDI"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2363.456: Out of memory"
no new dives downloaded
"2363.457: DCDownloadThread finished"
"2383.096: exit DCDownload screen"
"2390.960: DCDownloadThread started for Oceanic Pro Plus X on FTDI"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2390.962: Out of memory"
no new dives downloaded
"2390.963: DCDownloadThread finished"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
"2427.248: DCDownloadThread started for Oceanic Pro Plus X on ftdi"
Starting download from  ftdi
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
"2427.251: Out of memory"
no new dives downloaded
"2427.251: DCDownloadThread finished"
The item Settings_QMLTYPE_42(0xcbe2b540, "Settings") is already in the PageRow
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
qrc:/org/kde/kirigami/PageRow.qml:679:9: QML MouseArea: Binding loop detected for property "height"
"2470.571: Adding new dive."
there's no current page
qrc:/org/kde/kirigami/AbstractApplicationHeader.qml:57: TypeError: Cannot read property 'header' of null
The item DiveDetails_QMLTYPE_130(0xcdab2ba0, "DiveDetails") is already in the PageRow
"2504.080: DCDownloadThread started for Oceanic Pro Plus X on FTDI"
Starting download from  ftdi
"2504.082: Out of memory"
Finishing download thread: "Unable to open ftdi Oceanic (Pro Plus X)"
no new dives downloaded
"2504.083: DCDownloadThread finished"
"2526.554: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc62ed6e0)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc62ed7e0)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xc6713dc0)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xc673e000)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:53:17.785") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:53:17.787") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("21:53:17.851") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000231c4"
QTime("21:53:17.851") packet RECV "cdc1000231c4"
QTime("21:53:17.852") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("21:53:17.852") packet READ "cdc1000231c4"
QTime("21:53:17.852") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:53:17.854") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a04010805041801014552001299bbb8"
QTime("21:53:17.897") packet RECV "cde001105a04010805041801014552001299bbb8"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1010201e6"
QTime("21:53:17.898") packet RECV "cdc1010201e6"
QTime("21:53:17.898") packet READ "cde001105a04010805041801014552001299bbb8"
QTime("21:53:17.898") packet READ "cdc1010201e6"
"2529.802: model=Pro Plus X firmware=0 serial=1299"
QTime("21:53:17.899") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:53:17.901") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a800580020010001000000f00140200"
QTime("21:53:17.944") packet RECV "cde002105a800580020010001000000f00140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc10202024e"
QTime("21:53:17.944") packet RECV "cdc10202024e"
QTime("21:53:17.945") packet READ "cde002105a800580020010001000000f00140200"
QTime("21:53:17.945") packet READ "cdc10202024e"
QTime("21:53:17.945") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"2529.851: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"2529.916: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
The item DownloadFromDiveComputer_QMLTYPE_70(0xcbed9300) is already in the PageRow
"2583.794: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xc6a7d380)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xc6a7d870)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xcbaea980)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xcbaeaa80)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:54:13.848") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:54:13.853") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("21:54:13.918") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000331b074"
QTime("21:54:13.919") packet RECV "cdc1000331b074"
QTime("21:54:13.919") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("21:54:13.920") packet READ "cdc1000331b074"
QTime("21:54:13.921") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:54:13.926") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a04010805041801014552001299bbb8"
QTime("21:54:13.961") packet RECV "cde001105a04010805041801014552001299bbb8"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1010201e6"
QTime("21:54:13.962") packet RECV "cdc1010201e6"
QTime("21:54:13.962") packet READ "cde001105a04010805041801014552001299bbb8"
QTime("21:54:13.962") packet READ "cdc1010201e6"
"2585.866: model=Pro Plus X firmware=0 serial=1299"
QTime("21:54:13.964") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:54:13.969") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a800580020010001000000f00140200"
QTime("21:54:14.001") packet RECV "cde002105a800580020010001000000f00140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc10202024e"
QTime("21:54:14.001") packet RECV "cdc10202024e"
QTime("21:54:14.002") packet READ "cde002105a800580020010001000000f00140200"
QTime("21:54:14.002") packet READ "cdc10202024e"
QTime("21:54:14.002") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"2585.908: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"2585.998: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"
"2598.688: exit DCDownload screen"
"2607.437: DCDownloadThread started for Oceanic Pro Plus X on LE:E0:00:00:00:07:BB"
Starting download from  BT
Creating Android Central/Client support for BTLE
qt_ble_open( E0:00:00:00:07:BB )
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_CONNECTED"
Connection updated: error: QLowEnergyController::Error(NoError) oldState: QLowEnergyController::ControllerState(ConnectingState) newState: QLowEnergyController::ControllerState(ConnectedState)
connected to the controller for device E0:00:00:00:07:BB
  .. discovering services
Service discovery initiated
Found service "{00001801-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001801-0000-1000-8000-00805f9b34fb}"
Found service "{00001800-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{00001800-0000-1000-8000-00805f9b34fb}"
Found service "{0000180a-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180a-0000-1000-8000-00805f9b34fb}"
Found service "{0000180f-0000-1000-8000-00805f9b34fb}"
 .. ignoring standard service "{0000180f-0000-1000-8000-00805f9b34fb}"
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}"
 .. created service object QLowEnergyService(0xcba99e60)
Discovery of "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" started
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}"
 .. created service object QLowEnergyService(0xcbab34c0)
Discovery of "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" started
 .. done discovering services
Service "cb3c4555-d670-4670-bc20-b61dbc851e9a" discovered (start: 17 end: 28 ) QLowEnergyServicePrivate(0xcbb93440)
Service "9e5d1e47-5c13-43a0-8635-82ad38a1386f" discovered (start: 29 end: 36 ) QLowEnergyServicePrivate(0xcbb93500)
Found service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" "Unknown Service"
   c: "{5ee30931-ccaa-4870-ab32-6b87ef1f78ed}"
   c: "{17738114-18db-467c-b15f-a5bdb84025be}"
   c: "{6606ab42-89d5-4a00-a8ce-4eb5e1414ee0}"
   c: "{a60b8e5c-b267-44d7-9764-837caf96489e}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{a60b8e5c-b267-44d7-9d65-857bad95479f}"
Found service "{9e5d1e47-5c13-43a0-8635-82ad38a1386f}" "Unknown Service"
   c: "{e3dd50bf-f7a7-4e99-838e-570a086c666b}"
        d: "{00002902-0000-1000-8000-00805f9b34fb}"
   c: "{92e86c7a-d961-4091-b74f-2409e72efe36}"
   c: "{347f7608-2e2d-47eb-913b-75d4edc4de3b}"
Using service "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" as preferred service
 .. enabling notifications
Using read characteristic "{a60b8e5c-b267-44d7-9764-837caf96489e}"
now writing "0x0100" to the descriptor "{00002902-0000-1000-8000-00805f9b34fb}"
Write descriptor with handle  26 "0100" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" )
Descriptor write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 26 "0100" QLowEnergyService::ServiceError(NoError)
BLE write completed
QTime("21:54:37.876") packet SEND "cd40000184"
Write characteristic with handle  22 "cd40000184" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:54:37.881") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd40000184" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde000105a4f4345414e4f435820314220303030"
QTime("21:54:37.934") packet RECV "cde000105a4f4345414e4f435820314220303030"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1000231c4"
QTime("21:54:37.935") packet RECV "cdc1000231c4"
QTime("21:54:37.936") packet READ "cde000105a4f4345414e4f435820314220303030"
QTime("21:54:37.937") packet READ "cdc1000231c4"
QTime("21:54:37.937") packet SEND "cd400103b10000"
Write characteristic with handle  22 "cd400103b10000" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:54:37.942") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400103b10000" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde001105a04010805041801014552001299bbb8"
QTime("21:54:37.986") packet RECV "cde001105a04010805041801014552001299bbb8"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc1010201e6"
QTime("21:54:37.988") packet RECV "cdc1010201e6"
QTime("21:54:37.988") packet READ "cde001105a04010805041801014552001299bbb8"
QTime("21:54:37.989") packet READ "cdc1010201e6"
"2609.893: model=Pro Plus X firmware=0 serial=1299"
QTime("21:54:37.992") packet SEND "cd400203b10004"
Write characteristic with handle  22 "cd400203b10004" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
QTime("21:54:38.000") packet WAIT
Characteristic write confirmation "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 22 "cd400203b10004" QLowEnergyService::ServiceError(NoError)
BLEObject::characteristicWritten
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cde002105a800580020010001000000f00140200"
QTime("21:54:38.044") packet RECV "cde002105a800580020010001000000f00140200"
Characteristic change notification "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" 24 "cdc10202024e"
QTime("21:54:38.045") packet RECV "cdc10202024e"
QTime("21:54:38.046") packet READ "cde002105a800580020010001000000f00140200"
QTime("21:54:38.046") packet READ "cdc10202024e"
QTime("21:54:38.046") packet SEND "cd4003036a05a5"
Write characteristic with handle  22 "cd4003036a05a5" (service: "{cb3c4555-d670-4670-bc20-b61dbc851e9a}" , writeWithResponse: false , signed: false )
"2609.955: No new dives downloaded from dive computer"
Deleting BLE object
Finishing download thread: "Dive data import error"
no new dives downloaded
"2609.977: DCDownloadThread finished"
"LocalDeviceBroadcastReceiver::onReceive() - event: android.bluetooth.device.action.ACL_DISCONNECTED"



---------- libdivecomputer.log ----------
Subsurface: v4.8.4-64-g99561484adfc, built with libdivecomputer v0.7.0-devel-Subsurface-NG (b082a96ebb825a9564a3d5c138434e8ae2835f63)
INFO: Open: transport=32
INFO: Configure: baudrate=115200, databits=8, parity=0, stopbits=0, flowcontrol=0
INFO: Timeout: value=1000
INFO: DTR: value=1
INFO: RTS: value=0
INFO: Sleep: value=100
INFO: RTS: value=1
INFO: Sleep: value=100
INFO: Purge: direction=3
INFO: Write: size=5, data=CD40000184
INFO: Read: size=20, data=CDE000105A4F4345414E4F435820314220303030
INFO: Read: size=6, data=CDC1000231C4
WARNING: Unsupported device detected! [in /data/android/subsurface/libdivecomputer/src/oceanic_atom2.c:986 (oceanic_atom2_device_open)]
Event: vendor=4F4345414E4F43582031422030303031
INFO: Write: size=7, data=CD400103B10000
INFO: Read: size=20, data=CDE001105A04010805041801014552001299BBB8
INFO: Read: size=6, data=CDC1010201E6
Event: model=17746 (0x00004552), firmware=0 (0x00000000), serial=1299 (0x00000513)
INFO: Write: size=7, data=CD400203B10004
INFO: Read: size=20, data=CDE002105A800580020010001000000F00140200
INFO: Read: size=6, data=CDC10202024E
ERROR: Invalid logbook end pointer detected (0x1000). [in /data/android/subsurface/libdivecomputer/src/oceanic_common.c:224 (oceanic_common_device_logbook)]
INFO: Write: size=7, data=CD4003036A05A5
---------- finish ----------

Linus Torvalds

unread,
Dec 19, 2018, 1:40:51 AM12/19/18
to subsurfac...@googlegroups.com


On Tue, Dec 18, 2018, 21:58 Brett Woods <br...@jeepswag.com wrote:
Tried again - in cloud mode.  Still not showing any new dives.

Log;

Ok, now it answers and there are replies from the dive computer.

But we're obviously not happy yet. I'll try to see what goes wrong.

         Linus

Linus Torvalds

unread,
Dec 19, 2018, 1:56:28 AM12/19/18
to subsurfac...@googlegroups.com
On Tue, Dec 18, 2018 at 10:40 PM Linus Torvalds
<torv...@linux-foundation.org> wrote:
>
> Ok, now it answers and there are replies from the dive computer.
>
> But we're obviously not happy yet. I'll try to see what goes wrong.

Oh, I realize that it looks like Dirk didn't make a new APK with the
fixed matching for the Pro Plus X.

So I siill see

WARNING: Unsupported device detected! [in
/data/android/subsurface/libdivecomputer/src/oceanic_atom2.c:986
(oceanic_atom2_device_open)]

in the libdivecomputer logfile, and then (because it uses the wrong
layout due to that), we get

ERROR: Invalid logbook end pointer detected (0x1000). [in
/data/android/subsurface/libdivecomputer/src/oceanic_common.c:224
(oceanic_common_device_logbook)]

and no dive downloads.

And in fact I can see that it's using the pre-fix libdivecomputer:

Subsurface: v4.8.4-64-g99561484adfc, built with libdivecomputer
v0.7.0-devel-Subsurface-NG (b082a96ebb825a9564a3d5c138434e8ae2835f63)

because that b082a96ebb82 version is the one that enabled BLE for the
Pro Plus X, but doesn't have the fixed Pro Plus X BLE version pattern
matching.

So this is just because there's another libdivecomputer update that you need.

I'll see Dirk tomorrow, he'll get a new APK built, and I bet it will
JustWork(tm) after that.

Famous last words.

Linus

Dirk Hohndel

unread,
Dec 19, 2018, 10:48:14 AM12/19/18
to subsurfac...@googlegroups.com

> On Dec 18, 2018, at 10:56 PM, Linus Torvalds <torv...@linux-foundation.org> wrote:
>
> On Tue, Dec 18, 2018 at 10:40 PM Linus Torvalds
> <torv...@linux-foundation.org> wrote:
>>
>> Ok, now it answers and there are replies from the dive computer.
>>
>> But we're obviously not happy yet. I'll try to see what goes wrong.
>
> Oh, I realize that it looks like Dirk didn't make a new APK with the
> fixed matching for the Pro Plus X.

Oops, I must have missed the request to make a new one.

http://subsurface-divelog.org/downloads/test/Subsurface-mobile-4.8.4.72-arm.apk

/D

Brett Woods

unread,
Dec 19, 2018, 11:23:13 AM12/19/18
to Subsurface Divelog
It JustWorked.  Dive added to Subsurface-mobile

Brett Woods

unread,
Dec 19, 2018, 8:53:05 PM12/19/18
to Subsurface Divelog
Probably not the place for this issue, but just in case it is.  I see the dive info. in subsurface-mobile, it's not showing in Subsurface (using Windows 7 version), or on cloud.subsurface-divelog.org.  Subsurface-mobile cloud status shows "Credentials Verified".  Subsurface-mobile is set to Enable auto cloud sync and I have manually synced with cloud.  Manual give a message of Done syncing with cloud storage. 

Searched around the forum a little and didn't see any issue of Subsurface-mobile not syncing with cloud.subsurface...

Dirk Hohndel

unread,
Dec 19, 2018, 9:05:37 PM12/19/18
to subsurfac...@googlegroups.com
Hi Brett,

There are a number of possible issues. Your description seems to indicate
that you addressed the typical ones...

Can you try again, specifically doing the manual sync with the cloud, and
then send me the log file?

Thanks

/D
Message has been deleted

Brett Woods

unread,
Dec 19, 2018, 11:46:31 PM12/19/18
to Subsurface Divelog
Scrub this issue.  I double checked my password in Subsurface-mobile and it worked.  Didn't think I need to as the status read; Credentials verified.  The new dive is now showing in both cloud.subsurface and Subsurface Windows.  Seems all good now.

Thanks again for all the help guys.

Peter Rivers

unread,
Feb 9, 2019, 3:28:22 AM2/9/19
to Subsurface Divelog
Hi
The apk #72 above worked for me but appears to have been uninstalled with the latest update? It is no longer available from that link?
Any chance this functionality can new restored please? I was enjoying subsurface.
Regards
Pete

Dirk Hohndel

unread,
Feb 9, 2019, 1:13:08 PM2/9/19
to subsurfac...@googlegroups.com

On Feb 9, 2019, at 12:28 AM, Peter Rivers <peterr...@gmail.com> wrote:
The apk #72 above worked for me but appears to have been uninstalled with the latest update? It is no longer available from that link?
Any chance this functionality can new restored please? I was enjoying subsurface.

I have not the slightest idea what you are trying to ask about.
Can you try to explain in more detail which "apk #72" you are talking about (my guess is some random test build of something)?
And what worked with it that no longer works?

Thanks

/D

Andrew Pegge

unread,
Feb 9, 2019, 10:44:58 PM2/9/19
to subsurfac...@googlegroups.com
I’m about to leave the Maldives and have been logging my dives from an Aladin Matrix to my iphone. The first few dives numbered sequentially with earlier dives. Then i seemed to lose connection to the cloud and subsequently are numbered in sequence with only the Aladin dives.

Any top tips?

 

From: subsurfac...@googlegroups.com on behalf of Dirk Hohndel <di...@hohndel.org>
Sent: Saturday, February 9, 2019 23:13
To: subsurfac...@googlegroups.com
Subject: Re: Subsurface-Mobile Add Support for Oceanic Pro Plus X
 
______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.

--
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 post to this group, send email to subsurfac...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/0C176C81-AA09-4E11-B087-ADE4DEACD8D2%40hohndel.org.
For more options, visit https://groups.google.com/d/optout.

Registered in the Isle of Man Company No: 93741C
Directors: C Bruce; M Haxby; C Kingsnorth; I Melvin; C D Parrish; A Pegge.
Licensed by the Isle of Man Financial Services Authority.
IMPORTANT NOTICE
This communication and attachment contain information which is confidential. They are for the exclusive use of the intended recipient(s). By opening the attached file you are agreeing not to distribute or copy the contents beyond that required for your personal immediate use. If the above undertaking cannot be given, please advise the sender by return and delete the original mail and any copies made.
If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. Please advise the sender by return of the incorrect transmission and delete the original mail and any copies made.

Licensed by the Isle of Man Financial Services Authority.
Registered office: Laxey Partners Ltd, Derby House, 64 Athol Street, Douglas, Isle of Man, IM1 1JD.
Telephone 01624 690900.

Laxey Partners (UK) Ltd is registered in England and Wales No. 04030014
Registered office: Laxey Partners (UK) Limited, Princes House, 38 Jermyn Street, London SW1Y 6DN, Telephone 020 7494 6380.

Andrew Pegge

unread,
Feb 9, 2019, 10:47:27 PM2/9/19
to subsurfac...@googlegroups.com
Just downloaded from cloud to iPad and the issue persists so must have infected the cloud record.

 

From: subsurfac...@googlegroups.com on behalf of Andrew Pegge <andrew...@laxeypartners.com>
Sent: Sunday, February 10, 2019 08:45
To: subsurfac...@googlegroups.com; subsurfac...@googlegroups.com
Subject: Numbering in iOS app.
 

For more options, visit https://groups.google.com/d/optout.

Miika Turkia

unread,
Feb 10, 2019, 12:57:28 AM2/10/19
to subsurfac...@googlegroups.com
there is an option to renumber the dives automatically. This works at least in the desktop version. 

Andrew Pegge

unread,
Feb 10, 2019, 1:27:31 AM2/10/19
to subsurfac...@googlegroups.com
Thanks will try when home and report back.

 

From: subsurfac...@googlegroups.com on behalf of Miika Turkia <miika....@gmail.com>
Sent: Sunday, February 10, 2019 10:57 am
To: subsurfac...@googlegroups.com
Subject: Re: Numbering in iOS app.
 

For more options, visit https://groups.google.com/d/optout.

Andrew Pegge

unread,
Feb 11, 2019, 4:18:17 AM2/11/19
to subsurfac...@googlegroups.com
Tried it and the problem persists. Computer logged dives start at 221. Go to 1252. Then there’s a break and the next number is 31 and on....

 

Sent: Sunday, February 10, 2019 6:27 am
To: subsurfac...@googlegroups.com; subsurfac...@googlegroups.com

For more options, visit https://groups.google.com/d/optout.

Miika Turkia

unread,
Feb 11, 2019, 5:15:11 AM2/11/19
to Subsurface Divelog
There are 2 ways you can renumber the dives. I suggest you go via: Log -> Renumber, and choose the start (221) on the opening dialog.

Other option is to select all dives and do renumbering from right mouse button, but choosing all dives on my log seems to take forever...

You could also choose only the incorrectly numbered dives and renumber only them from the mouse menu.

These options are working for me, but it is possible that in your case, there is something different that triggers a bug somewhere.

HTH

Andrew Pegge

unread,
Feb 11, 2019, 6:24:01 AM2/11/19
to subsurfac...@googlegroups.com

Hi Miika et al

 

Thanks for that. I already had the start set to 221. Manually renumbering all the recent dives seems to have worked.

 

Will be interesting to see if it behaves when I next Bluetooth a dive over. I would reckon so….

 

Andy


For more options, visit https://groups.google.com/d/optout.

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.

Reply all
Reply to author
Forward
0 new messages