Ratio iX3M connection fails

Jef Driesen jef at libdivecomputer.org
Sun May 14 23:42:19 PDT 2017


On 2017-05-15 05:13, Miika Turkia wrote:
> On Sun, May 7, 2017 at 10:22 AM, Jef Driesen <jef at libdivecomputer.org> 
> wrote:
>> On 07-05-17 07:07, Miika Turkia wrote:
>>> 
>>> We have a bug report that iX3M download does not work after latest
>>> firmware update. Do you Jef (or anyone else) have ideas what is going
>>> on?
>>> 
>>> https://github.com/Subsurface-divelog/subsurface/issues/387
>> 
>> 
>> The ix3m protocol doesn't support memory dumps. It will fail 
>> immediately
>> with DC_STATUS_UNSUPPORTED with doing any communication. That's why 
>> the log
>> file doesn't show anything useful. Instead of downloading a memory 
>> dump,
>> just do a normal download with only the logfile checkbox enabled, and 
>> attach
>> that logfile to the bug report. That should tell us more.
> 
> Now we have a new log attached to the bug report. The loading ends
> with unexpected packet length...

I received several similar reports. Apparently the new firmware changed 
the data format. The size of the samples changed from 0x36 bytes to 0xC0 
bytes, and that causes the download to fail.

I already patched a version of the dctool application available to fix 
the download part:

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

It's a command-line application which you need to run with these
options:

ix3m -v -l ix3m.log -f idive -m 0x24 download -f raw -o dive.%n.bin COM3

Send back the ix3m.log and (if present) all dive.*.bin files.


I still need to figure out some way to detect the firmware version, to 
support both the old and new firmware. Can you tell me which version 
your ix3m has?

And I also need to verify whether the parser needs any changes or not. 
Most likely the first 0x36 bytes of the new sample is backwards 
compatible and the extra data contains new info, but I don't know for 
sure. To verify that, I'll probably need the database of the ratio 
software to compare against. The Ratio applications stores its data as a 
set of xml files in a directory named "dives-divelogger" in the 
installation directory. (This might be different depending on the 
windows version you have.) Just zip the entire directory.

Jef


More information about the subsurface mailing list