Garmin Forerunner 405 (ANT USB2) in Linux
RE-PUBLISHED FOR FEDORA 16
Today is my birthday… wahey!
Having reached that point in life where you either have to “get fat or get fit”, a few months ago I started running again… on sunny days where I feel vitalised.
My wife kindly has bought me a Garmin Forerunner 405, which comes with a Garmin “ANT+” dongle and per normal no Linux support. After pouring over much of google, I finally got it working in Linux Fedora and here is how.
Making the device be recognised to the system
My device reported (via lsusb) as follows
Bus 003 Device 005: ID 0fcf:1008 Dynastream Innovations, Inc.
Which apparently is a Version 2 Garmin device, and on plugging did not get a /dev/ttyUSB0 as most articles expected. A bit more digging in posts found this valuable snippet
< Fedora 15
sudo modprobe usbserial vendor=0x0fcf product=0x1008
This finally gave me a device in the form of /dev/ttyUSB0
Fedora 16 Onwards
It seems from Fedora 15 the usbserial module is compliled within the Kernel. Then from Fedora 16 we migrated from grub to grub2.
Find the file /etc/default/grub It will probably look like this
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.dm=0 rd.lvm.lv=vg_office/lv_root quiet SYSFONT=latarcyrheb-sun16 rhgb KEYTABLE=uk rd.luks=0 rd.lvm.lv=vg_office/lv_swap LANG=en_US.UTF-8"
On the GRUB_CMDLINE_LINUX add the following to the end “usbserial.vendor=0x0fcf usbserial.product=0×1008″ so that we have something like this
GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.dm=0 rd.lvm.lv=vg_office/lv_root quiet SYSFONT=latarcyrheb-sun16 rhgb KEYTABLE=uk rd.luks=0 rd.lvm.lv=vg_office/lv_swap LANG=en_US.UTF-8 usbserial.vendor=0x0fcf usbserial.product=0x1008"
Update the grub config by issuing
grub2-mkconfig > /boot/grub2/grub.cfg
Reboot!
Connecting and Downloading Software
To do this you need a piece of software called gant and be warned there are two pieces of software out there with the same name, both as of 15 Apr 2012 unable to locate on the internet, so I have put the working one up at https://github.com/jamesarbrown/Gant
So download it,
git clone git://github.com/jamesarbrown/Gant.git cd Gant make clean make
You can now pair the device. On the Forerunner ensure under settings > computer that pairing is on, force send is on and enabled is on. Issue the following command. This will pair the device
./gant -f mydevname -a auth405
Once done you can either use the command line as follows
./gant -nza auth405 > output
Which will create a tcx v2 file which can be imported for instance into Garmin Connect or as follows something more Linux native.
I much prefered the program
./GantMonitor.py
Which Gave a nice icon on my Gnome taskbar
pytrainer
I will skip howto install pytrainer. There is enough out there, but to concentrate on how to import your file.
In pytrainer select File > Import. Select the plugins tab. It will appear as follows
Click the “Garmin Training Center File (v2)” configure button. Select Enabled. Once done you can click run and pick the file you want to import.
References
http://groups.google.com/group/golden-cheetah-users/browse_thread/thread/341ff35f231ee7b2

Hello!
Cheers for that,
It doesn’t seem to work for me though. The modprobe usbserial doesn’t change anything to the way the computer sees the usb stick…
Could the new kernels be the cause of the difference between your setup and mine (I’m running F16 with the latest kernel pushed on the official repos)
Thanks!
Hi Achour,
Yes I think you are right, was already working on why mine no longer works. After a day messing, finally stuck a bug report on RedHat. https://bugzilla.redhat.com/show_bug.cgi?id=785574
Ubuntu did this and reverted. Lets hope RH do something (assuming the bug report is valid and I have done my research correctly!
James
Hi Achour…. fixed it for Fedora16, sorry for the delay
Hi,
Just got a Suunto Quest that uses the same Dynastream Innovations USB device. Cloned the git repo and tried registering for a Garmin id so I could download the patches from the forum, but it keeps saying I’ve failed to login 6 out of 5 times (even from the first attempt). I don’t suppose you could put the contents of the patch up on pastebin or somewhere similar?
Of course, I still have to figure out how to generate the auth file (I doubt the 405 code will work, but don’t want to try ’til I’ve at least had a poke at it on a windows box). :-/
Thanks in advance.
https://github.com/jamesarbrown/Gant