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 :
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:
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
Since Ubuntu 8.10 (Intrepid) this is already the default 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.
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
First go to the cache page and scroll down to the section "Additional Waypoints", there should be all WP's in the correct format.
For each WP cut the coordinates and paste them into Google Earth search section "Fly To" and press enter. This should navigate you to the position. Then rename this location to the proper name, i.e. GC15YBN 03.
Repeat this for all WP's. Now you should see them all on your Google Earth, and you should get an idea of how your route will be like.
Now they have te be transferred to your GPS device, do the following:
right click on WP and save them in My places, do this for every WP
goto My places, and create a folder (by the name of the cache)
drag all WP's to this Map
right click on the Map and choose Save as, choose the kml format and choose a file name like gc15ybn.kml
now you have an xml file that containts all wp's that can be transferred to your GPS device by :
gpsbabel -i kml -o garmin gc10vj0.kml usb:
all WP's should be in your GPS device now
if you want your WP's to have the GeoCache icon, then use the extra deficon option: gpsbabel -i kml -o garmin,deficon='Geocache' gc10vj0.kml usb:
If you plan to do a Cache that has a lot of WP's but the coordinates are not known in advance, you normally have to enter them while walking the cache.
I always enter them with the name of the cache like GC15YBN 06, but this takes quite some time to enter on your GPS 60.
To solve this mostly I have made a model.loc file with 15 dummy names and locations. Just edit this file :
change all occurrences of -UNKNCACHE- with the cache name
change all occurrences of --UNKNOWN CACHE-- with the cache description
delete or add entries if needed
save the file as <cachename>.loc
gpsbabel -i geo -o garmin <<cachename>>.loc usb:
This way you already have the WP's in your gps, and only have to enter the coordinates once you have them.
GPS Support#
Table of Contents
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
Since Ubuntu 8.10 (Intrepid) this is already the defaultTo make sure it doesn't get loaded after the next reboot, add the following to /etc/modprobe.d/blacklist:
After plugging in my USB-connector, the following is displayed by lsusb:
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 :
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#
Man page GPSBabel#
How to quickly get WP's from cache to GPS device#
First go to the cache page and scroll down to the section "Additional Waypoints", there should be all WP's in the correct format.
For each WP cut the coordinates and paste them into Google Earth search section "Fly To" and press enter. This should navigate you to the position. Then rename this location to the proper name, i.e. GC15YBN 03.
Repeat this for all WP's. Now you should see them all on your Google Earth, and you should get an idea of how your route will be like.
Now they have te be transferred to your GPS device, do the following:
How to quickly get model WP's in your GPS.#
If you plan to do a Cache that has a lot of WP's but the coordinates are not known in advance, you normally have to enter them while walking the cache.
I always enter them with the name of the cache like GC15YBN 06, but this takes quite some time to enter on your GPS 60.
To solve this mostly I have made a model.loc file with 15 dummy names and locations. Just edit this file :
This way you already have the WP's in your gps, and only have to enter the coordinates once you have them.
The model file can be downloaded here
.
Sizes of Garmin maps#
GPS coordinate conversions#
Portable GPX Converter
GPS Visualizer (convert files)
Resources#
http://www.topografix.com/gpx_resources.asp