Uwatec Smart Z data download takes 1.5 hours for only 4 dives

Jef Driesen jef at libdivecomputer.org
Mon Dec 23 13:21:14 UTC 2013


On 23-12-13 12:46, s.sikkema at telfort.nl wrote:
> I became a great fan of Subsurface, especially since Uwatec's own SmartTrak no
> longer works fine with Wine. Subsurface is getting better and better each time.
>
> I just updated to 4.0-41. Problem I have is that the download from my Smart Z
> dive computer takes about one and a half hours for the last four dives. The data
> transfer is thru an IR dongle, a SigmaTel STIR4200. The connected port is
> therefore irda0

1.5 hours? That doesn't sound right. Should be at most a couple of minutes. Can 
you download the libdivecomputer universal application:

http://www.libdivecomputer.org/builds/linux/universal

run it with these arguments:

chmod +x universal
./universal -v -l output.log -m output.bin -n "Uwatec Smart Z"

and then send me the two output.log and output.bin files.

> I suspect the full memory is downloaded every time, in spite having the two
> options in the dive download dialogue window not checked. Else, the data
> transmission is dead slow. Nevertheless, it consumes quite some battery power.
> Is there a way I can check how many bytes have been transferred? Is there a way
> I can check the data transmission speed? Is something being logged?

Unfortunately that's a limitation of how subsurface implements the "download 
only new dives" feature. Subsurface starts downloading dives, and aborts the 
download once a previously downloaded dive is recognized. But the Uwatec 
protocol forces you to always download ALL dives at once, unless you tell it not 
to do that. This works by sending a device timestamp to the device during 
handshaking, and then the device will only return those dives that are more 
recent than the timestamp (e.g. only the new dives). This is available in 
libdivecomputer through the fingerprint feature, but subsurface doesn't use it.

@Dirk: This is one of those cases where a custom "download only new dives" 
implementation will always be less efficient than libdivecomputer's built-in 
fingerprint based implementation.

> Another small issue I encountered: the dive download dialogue window does not
> remember the irda0 port setting, but returns to /dev/ttyS31.

Doesn't matter, because the device node isn't used. IrDA communication uses 
sockets, which don't need a device node at all.

Jef


More information about the subsurface mailing list