Drivers

In the past, manufacturers provided a serial (RS-232) interface to download data from their dive computers. Nowadays, recent systems do not have serial ports anymore, and almost all manufacturers have switched to USB interfaces. In contrast to the legacy serial interfaces, these cables require a driver to operate.

On Windows systems, you can simply install the drivers that are provided with the Windows application.

On Linux and Mac OS X, the situation is more complicated because most manufacturers do not provide a driver for non-Windows systems. However, most USB interfaces contain a serial-to-usb chip from one of the companies listed below, and you can obtain a driver from their website. Note that some Linux distributions or Mac OS X systems, already have these drivers included by default.

In some cases, the generic driver from the chip manufacturer does not recognize the USB interface automatically and you need to perform some additional steps.

Manufacturer VID PID
FTDI 0x0403 0x6001
Heinrichs-Weikamp 0x0403 0x6001
Ratio 0x0403 0x6015
Oceanic 0x0403 0xF460
Suunto 0x0403 0xF680
Suunto (Smartinterface) 0x0403 0x6001 ?
0x6010 ?
0x6011 ?
Cressi (leonardo) 0x0403 0x87D0
Silicon Labs 0x10C4 0xEA60
Suunto (CustomIdea) 0x10C4 0xEA60
Mares 0x10C4 0xEA60
Prolific 0x067B 0x2303
Reefnet 0x067B 0x2303
Mares (Nemo Sport) 0x04B8 0x0521
Cressi 0x04B8 0x0521
Zeagle 0x04B8 0x0522
Freescale Semiconductor ? ?
Mares (Icon HD) 0xFFFF 0x0005

Suunto

The FTDI driver is included in the Linux kernel. The device node (usually /dev/ttyUSBx) will appear automatically once you plug in the USB cable.

Pelagic (Oceanic, ...)

The standard FDTI driver works just fine, but the custom Oceanic VID/PID (Vendor ID/Product ID) is not recognized automatically.

Linux

You need to load the driver manually, by executing the following command (as root):

modprobe ftdi_sio vendor=0x0403 product=0xF460

To make the change permanent, you can add the parameters to the file /etc/modprobe.d/options (or modify the source code and recompile the driver, but that is beyond the scope of this document):

options ftdi_sio vendor=0x0403 product=0xF460

An alternative approach for binding the Oceanic VID/PID to the FTDI driver is executing the following command (as root):

echo 0403 F460 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

Mac OS X

Note: The latest FTDI driver (version 2.2.14 or higher) recognizes the Oceanic cable automatically and the procedure below is not necessary anymore.

Follow these steps to make the FTDI driver recognize the Oceanic cable:

  1. Locate the file /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
  2. Alter the permissions to make it writeable, but BE SURE TO SET THEM BACK EXACTLY THE SAME AFTER YOU'RE DONE
  3. Open it, and search for "Oceanic". You'll find a Pelagic Oceanic entry (which is apparently something else). Change the idProduct from 62566 to 62560.
  4. Save, quit and restore the permissions.
  5. Reload the driver by running the following commands (as root):
kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext

Seiko (Cressi, Zeagle, ...)

The standard Prolific driver works just fine, but the custom Cressi VID/PID (Vendor ID/Product ID) is not recognized automatically.

Windows

Update: More detailed instructions are available here.

The Cressi software installs a USB only driver that does not provide a serial interface. Follow this procedure to modify the generic prolific driver to work with the Cressi interface.

  1. Download and install the generic pl2303 driver from the Prolific website.
  2. After installing the driver, a new oemXX.inf file (with XX being the last number available) will appear under c:\windows\inf.
  3. Open this file and substitute the original vid/pid (067b 2303) with the "new" ones (04b8 0521).
  4. After saving the file, the interface gets recognized as a standard pl2303 usb-to-serial interface.

Note that it's not possible to have two drivers installed for the same device. You'll have to uninstall the usb only driver first. You can always re-install it again.

Linux

Use the Oceanic procedure, with this command (as root):

echo 04b8 PID > /sys/bus/usb-serial/drivers/pl2303/new_id

Replace PID with 0521 (cressi) or 0522 (zeagle).

Mac OS X

Update: I made a bash script to automate the driver patching. Download the script, start a terminal and run the command: sudo bash seiko.sh The sudo command is to run the script with root priviliges. You'll have to enter your password when asked.

Use the Pelagic procedure.

The Prolific driver you need to modify is named "ProlificUsbSerial.kext". Search for the keys idVendor and idProduct, and change the idVendor value from 1659 to 1208, and the idProduct value from 8963 to 1313 (cressi and mares) or 1314 (zeagle).