On 5/12/2022 09:42, Henrik B A wrote:
I'm having problems downloading dives from my Shearwater Predator, so I decided to try dctool:
dctool -l predator-download.log -f predator download -f raw -o predator-download.raw /dev/tty.Predator
This worked fine! But when I try again, all subsequent tries gives me an error:
DATETIME 2022-12-05T08:31:28Z (1670229088) VERSION 0.7.0 Opening the I/O stream (serial, /dev/tty.Predator). Opening the device (Shearwater Predator). Registering the event handler. Registering the cancellation handler. Downloading the dives. Event: progress 0.00% (0/10000) ERROR: Failed to receive the packet. [in shearwater_common.c:239 (shearwater_common_slip_read)] ERROR: Failed to receive the response packet. [in shearwater_common.c:358 (shearwater_common_transfer)] ERROR: Error downloading the dives. [in dctool_download.c:228 (download)] ERROR: Timeout
You didn't enable verbose mode (-v), so I can't see the communication in the above log. I looks like you're experiencing a timeout on the very first request that gets send to the dive computer. That means there is no response from the dive computer.
I've also tried xml output and dump, with the same results. I've used these commands:
dctool -l predator-download-xml.log -f predator download -o predator-download.xml /dev/tty.Predator
dctool -l predator-dump.log -f predator dump -o predator-dump /dev/tty.Predator
For the Predator, under the hood downloading a memory dump or dives are exactly the same operations. So it's expected that if downloading a memory dump fails, downloading dives will fail too.
What can be the issue here?
I'm on macOS 12.6.1. Predator has latest firmware (v63). I can send the one working raw download if needed.
After a successful download, we send a disconnect command to the dive computer. That causes the bluetooth mode to terminate. Did you re-enabled the bluetooth connection on your Predator before re-trying? I don't really know when and how the /dev/tty.Predator device node appears on Mac, but maybe you also have to re-connect at the OS level, to re-create the device node as well?
Jef