The workaround was (is) to upload FIT files directly to any site that got their plugin connectivity broken. Since the FIT files were deleted with earlier versions of Garmin Express, they could not be found to upload (catch-22). The fix is to extract the files manually with the Garmin-Forerunner-610-Extractor tool - yes, it works on the Garmin 910xt despite the name.
Here are detailed instructions for installing and running the manual extraction tool on an Apple machine running OSX Mavericks or later (and probably Linux). I have no idea how to do this on a win-tel machine. Also note that this how I personally got things working. Your mileage may vary, and I am not responsible for any problems that arise out of the use of these instructions. If you have problems, feel free to post a detailed explanation of what went wrong, and I will try to help.
In your web browser go to http://www.libusb.org/ and click on the link to "Download the latest release tarball" of libusb (Currently libusb-1.0.18).
[Note: A few people have missed the capital "D" in "Development" and "Documents". The OS X HFS+ filesystem is case sensitive, so you must be sure to get the case correct.]
- Open the terminal (You can find this by opening the finder and selecting "Applications" and then "Utilities". Double click on "Terminal").
- Type the following command in the Terminal: mkdir -p ~/Documents/Development && cd ~/Documents/Development
- Type the following command in the Terminal: git clone https://github.com/Tigge/Garmin-Forerunner-610-Extractor
- Type the following command in the Terminal: cd ~/Documents/Development/Garmin-Forerunner-610-Extractor/
- Type the following command in the Terminal: sudo easy_install pyusb
- Type the following command in the Terminal: cp ~/Downloads/libusb* ~/Documents/Development/Garmin-Forerunner-610-Extractor/
- Type the following command in the Terminal: tar -zxvf libusb-*
- Type the following command in the Terminal: cd libusb*
- Type the following command in the Terminal: ./configure && make && sudo make install
- Type the following command in the Terminal: cd ..
- Turn on your Garmin device. Once it is fully started, plug in your ANT USB stick.
- Type the following command in the Terminal: sudo python ~/Documents/Development/Garmin-Forerunner-610-Extractor/garmin.py
- If this is the first time you have done this, your Garmin 910xt should ask if you want to pair with the Garmin Extractor device. Select "Yes" with the arrow button and press the "Enter" button.
- The FIT files will now start downloading (including those that Garmin Express and the ANT Agent will not download).
- When the download is complete, you can find them in ~/.config/garmin-extractor/$NUMBER/activities ($NUMBER is unique to your device, it should be the only numbered directory in ~/.config/garmin-extractor). This is the directory you will select files from when you need to upload them to sites like Strava.
Update:
When running step 12, if you get an error similar to the following, it is probably because you have some other program accessing the ANT USB stick, like Garmin Express, or the old ANT Agent. Simply shut down the program in question, reinsert the ANT USB stick, and attempt step 12 again.
Driver available: [
Update 20Nov2014:
I tested this with a Garmin FR60 and it worked great.
Update 02Jul2015:
If you get the following, error or something like it:
can't open file '/Users/Aaron/documents/development/garmin-forerunner-610-extractor/garmin.py': [Errno 2] No such file or directory
You probably neglected to capitalize the "D" in Documents and/or the "D" in Development. Look through the execution path carefully for "Documents" and "Development" and make sure you capitalize the "D".
17 comments:
Great stuff Chuck, I recovered an 87km ride with your instructions. Thanks a lot! Gael
Glad I could help :)
I get an error:
can't open file '/Users/Aaron/documents/development/garmin-forerunner-610-extractor/garmin.py': [Errno 2] No such file or directory
I've tried re-performing the procedure and get the same thing.
Aaron - I am pretty sure your directory path is wrong. Make sure to capitalize the "D" in Documents.
OS X generally uses a case sensitive file system. You have to make sure everything is capitalized correctly - "documents" is not the same as "Documents".
I get the same error,
can't open file '/Users/Aaron/documents/development/garmin-forerunner-610-extractor/garmin.py': [Errno 2] No such file or directory
When I check the directory, there's no such file there
Maarten - Same advice to you as to Aaron. Your directory path is incorrect. You need to capitalize the "D" in Documents and the "D" in Development.
Already tried that, same message... And I don't find the garmin.py file in the directory
python: can't open file '/Users/administrator/Documents/Development/Garmin-Forerunner-610-Extractor/garmin.py': [Errno 2] No such file or directory
Hello Chuck,
I do get the same error as Maarten. The file garmin.py is simply not in that folder and I checked the spelling of the paths throughout the process...
Thanks for any assistance in advance..
Hoping for this to work, My first Ironman bike and run is not extracting via communicator, had good data and functionality on watch all the race. Starting now using your guide....
same error. there simply is no /garmin.py file.
Seems the Garmin-Forerunner-610-Extractor is updated to antfs-cli. Maybe thats why not working. Im trying to get this to work but have no skills. If you have the time to update your guide I would be very happy.
I am usually hanging out in #linux on irc.taclug.org. If you know how to use IRC, jump in there and ask for help. Once we figure out what the problem is, I can post a solution here.
Trying this out as my file was apparently corrupted and Garmin can't do anything to help. At Step 12 I'm getting the error message others have mentioned - python: can't open file '/Users/keithbnowak/Documents/Development/Garmin-Forerunner-610-Extractor/garmin.py': [Errno 2] No such file or directory. Any suggestions on how to resolve this?
Thanks for making this tool available, Chuck.
I too am getting an error at step 12 (and the garmin.py file is not present in the required folder.)
I believe the garmin.py file is created during step 9. The following is the data from Terminal starting at step 9 which appears to create a warning that prevents the garmin.py from being created? (I know only enough about this stuff to be dangerous!!)
I'm running on an iMac with OS 10.10.3
Here's the dump from Terminal. Maybe this helps a bit:
Yard-iMac:libusb-1.0.9 Chris$ ./configure && make && sudo make install
... a bunch of stuff ...
/Library/Developer/CommandLineTools/usr/bin/make all-recursive
Making all in libusb
CC libusb_1_0_la-core.lo
CC libusb_1_0_la-descriptor.lo
CC libusb_1_0_la-io.lo
CC libusb_1_0_la-sync.lo
CC libusb_1_0_la-darwin_usb.lo
os/darwin_usb.c:1151:27: warning: expression which evaluates to zero treated as a null pointer constant of type 'IOUSBInterfaceInterface300 **'
(aka 'struct IOUSBInterfaceStruct300 **') [-Wnon-literal-null-conversion]
cInterface->interface = IO_OBJECT_NULL;
^~~~~~~~~~~~~~
/System/Library/Frameworks/IOKit.framework/Headers/IOTypes.h:164:24: note: expanded from macro 'IO_OBJECT_NULL'
#define IO_OBJECT_NULL ((io_object_t) 0)
^~~~~~~~~~~~~~~~~
1 warning generated.
CC libusb_1_0_la-threads_posix.lo
CCLD libusb-1.0.la
Making all in doc
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all-am'.
Making install in libusb
test -z "/usr/local/lib" || .././install-sh -c -d "/usr/local/lib"
/bin/sh ../libtool --mode=install /usr/bin/install -c libusb-1.0.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libusb-1.0.0.dylib /usr/local/lib/libusb-1.0.0.dylib
libtool: install: (cd /usr/local/lib && { ln -s -f libusb-1.0.0.dylib libusb-1.0.dylib || { rm -f libusb-1.0.dylib && ln -s libusb-1.0.0.dylib libusb-1.0.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libusb-1.0.lai /usr/local/lib/libusb-1.0.la
libtool: install: /usr/bin/install -c .libs/libusb-1.0.a /usr/local/lib/libusb-1.0.a
libtool: install: chmod 644 /usr/local/lib/libusb-1.0.a
libtool: install: ranlib /usr/local/lib/libusb-1.0.a
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `DYLD_LIBRARY_PATH' environment variable
during execution
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/local/include/libusb-1.0" || .././install-sh -c -d "/usr/local/include/libusb-1.0"
/usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0'
Making install in doc
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/pkgconfig" || ./install-sh -c -d "/usr/local/lib/pkgconfig"
/usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig'
Yard-iMac:libusb-1.0.9 Chris$ cd ..
Yard-iMac:Garmin-Forerunner-610-Extractor Chris$ sudo python ~/Documents/Development/Garmin-Forerunner-610-Extractor/garmin.py
python: can't open file '/Users/Chris/Documents/Development/Garmin-Forerunner-610-Extractor/garmin.py': [Errno 2] No such file or directory
Hi Chuck,
I am afraid I have the same challenge. There is no garmin.py in ./Documents/Development/Garmin-Forerunner-610-Extractor/
I had the same terminal feedback as the previous commenter.
Can the same function be performed by any of the other python scripts that are in some of the subdirectories?
Jason
PS Instructions were follow with respect to the case for Documents and Development.
The reason why garmin.py is not found is because the maker of the software made major updates to the software in 2015 and the new version does not contain garmin.py anymore. https://github.com/Tigge/antfs-cli. It is now called antfs-cli. The old version of the code which contains garmin.py can still be accessed here https://github.com/Tigge/antfs-cli/tree/old
To all of you people how are trying this out 2016; change /garmin.py to setup.py and after that type antfs-cli and just click yes on your garmin device. Simple as that.
When I get to step 6, I am told:..."Downloads/libusb-1.0.9 is a directory (not copied)."
Thanks for your help!
Alan
Post a Comment