My primary (recently only) OS is Ubuntu Linux, and I’ve been struggling to set up device sync with my Garmin 910XT on Linux. Figured it out today, and thought I’d post it here for reference. (This post refers to getting the data off the device and on to the system. In 2nd post of the series, will add instructions to then upload it using Garmin Connect).
Here’s what I did:
- Downloaded the drivers branch of ‘Garmin Forerunner 610 Extractor’ from Github as a zip file, and extracted it to a folder on my drive. For me, this folder was at ‘
- As suggested in the notes on Github (and included README), ran the following command to make it easy to run the sync without using sudo. Didn’t work for me, but your results may vary:
sudo cp resources/ant-usbstick2.rules /etc/udev/rules.d
- Installed pyusb. I used pip to install:
pip install pyusb
- Connected the ANT+ USB stick at
/dev/ttyUSB0. Inserted the USB stick, and ran the command below:
lsusb | grep Dynastream
This gives an output of the form like: ‘
Bus 003 Device 002: ID 0fcf:1009 Dynastream Innovations, Inc.‘.
Used the information from this output in the next command:
sudo modprobe usbserial vendor=0x0fcf product=0x1009
- Everything is now setup, so switched on the Forerunner watch, with pairing switched on. After a short wait to allow for pairing, ran the Forerunner extractor1:
sudo python garmin.py
That’s it. The final command initiated a complete download from my Forerunner 910XT, files being stored in ‘
~/.config/garmin-extractor/XXXXXXX/', XXXXXXX being a number that varies from device to device.
Most instructions on the web say root access isn’t required for running garmin.py, but for me it didn’t work without the sudo. Got the error:
DriverException: could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0'
Interrupted: could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0'