!!! GPS Support
[{TableOfContents}]
\\I have a Garmin GPSMap 60 CSX that I use for both Geocaching and as a Car navigation system.
\\Unfortunately, Garmin is reluctant to supply proper software for the linux platform, and now Garmin MapSource is the only reason for me to keep a Windows environment at hand.
I also needed a more convenient way to transfer waypoints to my Garmin device with Linux. Here a log of actions done in order to achieve that :
!! Install software
! GPSBabel
This comes standard in the Ubuntu distribution and can be installed the usual way.
! Garmin USB driver
Some more info on [http://www.gpsbabel.org/os/Linux_Hotplug.html]
To allow the USB devices to be read and written by a non-privileged user, create a file called ''/etc/udev/rules.d/51-garmin.rules'' with the following contents:
{{{SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0003", MODE="666"}}}
This driver (''garmin_gps'') is also included in the kernel, but in order for GPSBabel to work properly, it must be uninstalled: {{{ sudo rmmod garmin_gps }}}
\\To make sure it doesn't get loaded after the next reboot, add the following to /etc/modprobe.d/blacklist:
{{{# this driver is in the way for GPSBabel
blacklist garmin_gps}}}
\\After plugging in my USB-connector, the following is displayed by lsusb:
{{{
root@bismarck:~/gc# lsusb
Bus 005 Device 003: ID 05e1:0501 Syntek Semiconductor Co., Ltd
Bus 005 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 004: ID 091e:0003 Garmin International GPSmap (various models)
Bus 002 Device 003: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
}}}
Now I can transfer waypoints, for example : {{{gpsbabel -i garmin -f usb: -o geo -F test.loc}}} copies all the waypoints from the Garmin device to the file test.loc. Nice !
\\However, only when you're root, if you're not root, you get :
{{{
metskem@bismarck:~/gc$ gpsbabel -i garmin -f usb: -o geo -F waypoints.loc
usb_set_configuration failed, probably because kernel driver ''
is blocking our access to the USB device.
For more information see http://www.gpsbabel.org/os/Linux_Hotplug.html
}}}
So I first rebooted, to make sure that the garmin_gps driver is not loaded, and that the permissions for the usb device files are correct. After that I can also transfer waypoints to/from my Garmin device without the need to use root privileges.
!!A few examples:
* Send (just downloaded .loc file to usb device __gpsbabel -i geo -o garmin gcjpq0.loc usb:__
* Download (backup) all WP's from usb device to local file __gpsbabel -i garmin -o geo usb: allwaypoints.loc__
* Download (backup) all WP's, tracks and routes from usb device to local file (with some debugging) __gpsbabel -r -t -D1 -i garmin -o geo usb: allstuff.loc__
{{{
metskem@bismarck:~/gc$ gpsbabel -r -t -D1 -i garmin -o geo usb: allstuff.loc
GPSBabel Version: 1.3.3
Unit: GPSMap60CSX Software Version 3.30
ID: 292
Version: 3.30
Capability A10:
Capability A100: D110
Capability A201: D202 D110 D210
Capability A301: D312 D302
Capability A400: D110
Capability A500: D501
Capability A600: D600
Capability A601: D601
Capability A700: D700
Capability A800: D800
Capability A801: D801
Capability A900:
Capability A902:
Capability A903:
Capability A904:
Capability A907: D907 D908 D909 D910
Capability A908: D911
Capability A914:
Capability A916:
Capability A917: D917
Capability A918: D918
Capability A1010:
Capability A1011:
Link_type 1 Device_command 0
Waypoint: Transfer 100 Type 110
Route: Transfer 201 Header 202 Type 110
Track: Transfer 301 Type 302
Waypoint type: 110
Chosen waypoint length 14
cet_util: Converting from "CP1252" to "UTF-8", done.
}}}