Garmin Communicator Plugin for Linux
C++ C Shell
Pull request Compare This branch is 12 commits behind adiesner:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Short description:
GarminPlugin is a browser plugin to support Garmin Devices on Linux. 
Currently (02.12.2010) there is no official browser plugin support for Linux from Garmin.

This plugin has nothing to do with the company Garmin (

Long description:
This browser plugin has the same methods and properties as the official 
Garmin Communicator Plugin (
It can be used to transfer GPX files (Geocache Descriptions) to your garmin
device using the official Garmin Javascript API. Its functionality depends on
the device you use. 
- Edge305/Forerunner305: ReadFitnessData, ReadGpsData, No write support
- Edge705/Oregon/Dakota: ReadFitnessData, ReadGpsData, Write Gpx files
- Edge800: ReadFitnessData, Write Gpx/Tcx Files
- Other devices: Executes external command to write Gpx to device 

Garmin introduced paperless geocaching a while ago on their devices. This
works great using Windows and because a windows plugin is 
available that gives you the possibility to transfer geocaches with one click
to the device. Having to boot Windows every time I wanted to go geocaching
felt like a waste of time. I had many different ideas on how to best transfer
geocaches to my garmin device, but they were all based on parsing the website because they do not offer an official API to access 
the geocaches. The idea of having to update my application every time they 
change their layout did stop me from going that approach. Writing a browser
plugin that simulates the garmin plugin seemed to be the best idea. Using a
javascript debugger soon revealed that the effort of writing such a plugin
wasn't that huge - so I got started...

  - Write a GPX file to disk
  - Call a script after the GPX file was written to disk
  - Read FitnessData from device

GarminPlugin is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GarminPlugin is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
See the GNU General Public License for more details.

This software was written by Andreas Diesner [ andreas.diesner [AT] gmx [DOT] de ]
The project is hosted on
The source code is hosted on GitHub

Dependencies to other projects:
garmintools     -
libusb          -
ticpp           -
zlib            -
gcrypt          -

Thanks goes to 
	- Christian Kurek
	- Bob Trower (
	- Gray Watson (MD5-Code) (
	- Ralf Treinen (solving license issues)	
	- The contributors of the above projects

Howto compile GarminPlugin:

# This example shows how to compile GarminPlugin on a 64bit Ubuntu System

sudo apt-get install build-essential subversion git-core zlib1g-dev libusb-dev libgcrypt11-dev
git clone
svn export garmintools
svn export ticpp

# compile ticpp
tar xvzf premake-4.2.1-linux.tar.gz
cd ticpp
../premake4 --cc=gcc --os=linux --platform=x64 gmake
# if you are not able to execute premake4 on a 64bit machine install ia32-libs and try again
sed --in-place 's/$(CFLAGS)/$(CFLAGS) -fPIC/g' TiCPP.make
make config=release64
cd ..

# compile garmintools
cd garmintools
./configure CXXFLAGS="-fPIC -g -O2" CFLAGS="-g -O2 -fPIC"
cd ..

# compile GarminPlugin
cd GarminPlugin
cd ..

# Install the plugin
sudo cp GarminPlugin/ /usr/lib/mozilla/plugins