Garmin Communicator Plugin for Linux

Currently there is no linux support from Garmin. To be able to use paperless geocaching under Linux I wrote a Browser plugin that simulates the Garmin Communicator Plugin. Using this plugin your are able to transfer Geocaches from Geocaching.com using the "Send to Gps" button.
Since v0.2beta it is possible to upload your fitnessdata to websites.

To install the plugin please follow theses instructions
GarminPlugin Ubuntu PPA

After adding the repository you can install the GarminPlugin with the following code:
sudo apt-get update
sudo apt-get install garminplugin


Functionality Status Tested Devices Tested Websites
Send GPX file to GPS Implemented Oregon 300
Edge 705
geocaching.com
Read Fitness Data Implemented Edge 305
Edge 705
Forerunner 205/305
cyclogz.com
connect.garmin.com
www.fetcheveryone.com
Read Fitness Data Planned Oregon 300 connect.garmin.com
Read Fitness Data Planned Forerunner 310XT (ANT USB Stick) connect.garmin.com
cyclogz.com
Write Fitness Data No plan yet    
Unit Software Update No plan yet    
Support for websites In development   gpsies.com
www.runningahead.com

Installation:
1.) Install the plugin:
$ sudo apt-get install garminplugin

2.) Install a "User Agent Switcher" Plugin for Firefox
          The Garmin Communicator API JavaScript checks if the script runs on Windows or Mac and refuses to run the plugin if it dectects Linux *sick* Therefore it is necessary to switch the user agent to "Windows / Firefox".
Download Firefox Plugin User Agent Switcher
Sample configuration file for "User Agent Switcher".
Configure User Agent Switcher with the above XML file

3.) Go to geocaching.com and log yourself in. Navigate to a Geocache and click on "Send to GPS".

4.) The plugin will run the first time and create an initial configuration that sends all GPX files to your home directory. The configuration is a simple XML file and is stored at one of these two locations:
~/.config/garminplugin/garminplugin.xml
~/.garminplugin.xml

5.) Since v0.2 the plugin does autodetect of some garmin devices. If your device gets autodetected nothing must be done. Otherwise modify your configuration so it fits to your system and restart your browser. My configuration looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<GarminPlugin logfile="" level="ERROR">
    <Devices>
        <Device>
            <Name>Home Directory /home/andreas</Name>
            <StoragePath>/home/andreas</StoragePath>
            <StorageCommand></StorageCommand>
            <FitnessDataPath></FitnessDataPath>
        </Device>
    </Devices>
    <Settings>
        <ForerunnerTools enabled="true" />
    </Settings>
</GarminPlugin>
The device will only be visible when the StoragePath exists. If your Garmin device can not be accessed via the file system you can enter any path that exists and use the StorageCommand to execute a command to transfer the GPX file to the device. FitnessDataPath is a directory where the plugin expects tcx files to read fitnessdata.
If you want to execute a command after the file was written to disk (e.g. a transfer to device command) you can specify a program at StorageCommand.
           <StorageCommand>gpsbabel -i gpx -f %1 -o garmin,snlen=14 -F usb:</StorageCommand>
%1 is the placeholder for the filename that you just saved to the disk.
If you have problems with the device permissions (need to be root) you might have to follow these instructions

Sample configuration file for GPSmap 60CSx


================= VERSION HISTORY ========================
2010-06-27 - Version 0.2.2
- Bugfix for Forerunner 305 used with a footpod. Used to report bike cadence, now reports run cadence
- Update version number of garmin plugin from 2.9.1 to 2.9.2

2010-05-30 - Version 0.2.1
- Bugfix for devices like GPSmap 60CSx which turn itself of after a device scan using garmintools (device scan can now be switched of in the xml configuration)

2010-04-20 - Version 0.2.0
- Created repository in Launchpad PPA
- Support for Hardy (8.04) to Lucid (10.04)
- Bugfix for Vista HCx which crashed browser on autodetect of Garmin Edge 305
- Bugfix for Forerunner 205 - read fitness data did not work
- Added support for connect.garmin.com

2010-03-25 - Version 0.2beta
- Autodetect devices like Oregon 300, Edge 705, Edge 305
- Added garmintools to communicate with Edge 305 / Forerunner 305
- Read FitnessData of Edge 705, Edge 305
- Upload FitnessData to pages like www.cyclogz.com

2010-01-31 - Version 0.1
- Send GPX to filesystem (tested on www.geocaching.com)
- Configure several devices using a xml configuration file
- Execute a command after successfully storing a gpx file (like gpsbabel)

==========================================================

FAQ

1.) How do I check if the plugin was installed?
    In Firefox enter "about:plugins" in the adress bar. You should find the following plugin:
Screenshot of installed Plugin

2.) Where is the source code for the plugin?
       The project is hosted on GitHub. Feel free to contribute.
git clone git://github.com/adiesner/GarminPlugin.git
       You will also need:
         - xulrunner-dev (sudo apt-get install xulrunner-dev)
         - Ticpp ( http://code.google.com/p/ticpp/ )
         - garmintools ( http://code.google.com/p/garmintools )
         - libusb ( http://www.libusb.org )

3.) How can I reach you?
       Send an email to andreas.diesner [AT] gmx [DOT] de
       Preferred language: German or English

4.) I found an error! Who should I contact?
       Send me an email... see above.

5.) Your plugin is fantastic, how can I thank you?