Download or upload waypoints or tracks from gps under GNU linux by gpsbabel


I have got a garmin etrex gps which is very old but working pretty well; its major work is for sampling sites navigation in lakes/reservoirs.

By using GPSbabel, I can easily download/upload waypoints/tracks from gps devices under GNU linux.

communication through rs232 protocal

My workstation doesn’t have a serial port, so I use a usb2serial cable for doing this. In my case, I could find my serial device here:


download/upload waypoint

For using GPSbabel, you will need to know how to do at least two things: read data from a file, and write it to another file. There are four basic options you need to know to do those things:

Command             Meaning
-i format           Set input format
-f filename         Read file
-o format           Set output format
-F filename         Write output file

example 1: download from gps (garmin serial) and write to .gpx file

gpsbabel -i garmin -f /dev/ttyUSB0 -o gpx -F waypoint.gpx

or to .kml file

gpsbabel -i garmin -f /dev/ttyUSB0 -o gpx -F waypoint.kml

example 2: upload from .gpx or .kml file to gps

gpsbabel -i garmin -f /dev/ttyUSB0 -o gpx -F waypoint.gpx


gpsbabel -i garmin -f /dev/ttyUSB0 -o gpx -F waypoint.kml