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
