How To Setup Garmin 310XT To Work With Linux

In this post I intent to provide a overview of the steps that need to be performed to setup Garmin 310XT GPS Sports Watch to work with Linux (Ubuntu).

(This tutorial should also apply to other similar Garmin GPS Watches -Garmin Forerunner 60 – 405CX – 310XT – 610 – 910XT)

Install Required Packages

sudo apt-get install python-pip python-qt

sudo pip install pyusb

Install GFrun

GFrun is the program that you can use to download recorded workouts from your watch. This program has it’s own installation script:

wget -N https://github.com/xonel/GFrun/raw/GFrun/GFrun/GFrun.sh && chmod a+x GFrun.sh && sudo bash ./GFrun.sh


But I have discovered that running it as root is not required.

Configure udev Rules

At first you need to plug in your ANT+ stick and run lsusb |grep ANTUSB

In my case this was the result:

Bus 001 Device 031: ID 0fcf:1009 Dynastream Innovations, Inc. ANTUSB-m Stick

Now you just need to create file `/etc/udev/rules.d/51-garmin.rules` and set following content:

ATTRS{idVendor}=="0fcf", ATTRS{idProduct}=="1009", MODE="666"

After that you need to restart udev by running

/etc/init.d/udev restart

And re-plug your ANT+ stick.

Running GFrun

To simply extract workouts from device I only run command:

/home/w/GFrun/GFrun.sh -el

This will download FIT files from the device to

/home/w/GFrun/forerunners/{ID}/activities

The downloaded files are ready to be uploaded anywhere you like (for example Endomondo or Strava – both services accept them without issues).

  • Mikkle

    If you want to update your firmware, try installing the mobile app (e.g. for Android)! That’s what I did and forced sync and it found a “software” update and send it over via bluetooth. Watch has to support bluetooth of course.