Support for Lowrance, Magellan and Garmin ReceiversSupport for Magellan receiversSupport for Garmin receivers

Support for Garmin receivers

Most Garmin receivers, including recent models using only the Garmin USB protocol in a Linux system, should connect with no problems to GPSMan. Known exceptions are the following models: GNC 250, 250 XL, 300 and 300 XL, and GPS 150.

GPSMan supports the Garmin USB protocol in Linux systems with a kernel having the Garmin USB driver written by Hermann Kneissel, that is standard in kernels 2.6 after (at least) 2.6.11; see the section on installation for information on compiling a custom kernel. WARNING: some recent Garmin receivers will need at least version 0.28 of this driver. This driver also implements the Garmin serial protocol so that a receiver connected to the USB port can also use it. The serial protocol will be much slower than the USB protocol. GPSMan must be set to use one of them by selecting the appropriate entry in the protocol menus of the receiver window or the receiver menu.

The receiver must be set to use one of the Garmin (USB or serial) protocols in case this can be configured. In some receivers there is a Interface display, under Setup, where the Garmin/Garmin or Garmin option must be selected. Alternatively, for real-time logging only, it can be set to use the NMEA 0183 protocol, by selecting the NMEA option. For the use of this protocol see above.

When using a Garmin protocol GPSMan may need to convert between bytes and floating point numbers. Tcl/Tk has no machine-independent way to do these conversions and GPSMan only implements them for little- or big-endian architectures that follow the IEEE floating point standard (this will cover most personal computers and workstations). Some Garmin receivers do not use protocols having floating point numbers and are not affected by this. In any case when connecting to the receiver GPSMan tests whether there are problems with the conversions, in which case the user is asked to confirm or cancel the operation.

GPSMan follows closely the "Garmin GPS Interface Specification", dated 19 May 2006, 001-000063-00 Rev. C, available from the Garmin WWW site, but not (yet) covering some new protocols for fitness-oriented receivers. Unfortunately this document does not describe all the protocols, leaving out, for instance, those used for loading maps.

Some data fields are not directly accessible to the user but are nevertheless kept by GPSMan as hidden information as described above. This is the case with the data on proximity distance, facility name, city, state, country code, and class.

GPSMan identifies the receiver model when connecting to it for the first time in a session. If the receiver implements the Protocol Capabilities protocol the list of protocols it uses is also obtained. This will probably be the case with the more recent models. Otherwise a table of protocols is looked up. At present there are entries in it for the receiver models in the table below.

When GPSMan gets a list of protocols for a receiver not yet listed in the table a file is created in the GPSMan user directory and the user is asked to send it to the author of GPSMan. This file should not be removed until the table is updated so that GPSMan knows these steps were already taken.

Some Garmin protocols allow transfers only in one direction, for instance, from the receiver to the computer. In that case, GPSMan will do nothing and will not warn if the user asks for a unsupported transfer.

When getting waypoints not defined by the user from the receiver, those with the same name but different positions will be renamed instead of overwritten.

The baud rate of the serial communication (not USB!) with some Garmin receivers can be changed from the GPSMan receiver window or menu. The implementation is based on the description of a protocol in the manual Garmin provides for the GPS 15H and 15L receivers and it is in an experimental state. To change the baud rate the serial communication must be reset and for safety reasons this will not be allowed when real-time logging is in effect. If the selected new baud rate is invalid the change request will be ignored silently. When a baud rate change fails either the serial port is kept at 9600, the default used by Garmin, or the connection is closed. GPSMan now uses the option for the default baud rate as follows: if its value is different from 9600 whenever connecting in serial mode to a receiver supporting this protocol there will be an attempt to change the baud rate to the selected value.

EDGE     205, 305
eTrex _, Euro, H, Legend (_, C, Cx, J, H, HC, HCx), Mariner,
Summit (_, HC), Venture (_, HC), Vista (_, C, HCx)
ForeRunner _, 205, 301, 305
Geko 201, 301
GPS 5, 48, 65, 72, 75, 76, 89, 90, 125 Sounder, 126, 128
GPS 12 _ (Arabic), XL (Chinese, Japanese), CX, Map
GPS 38 _ (Chinese, Japanese)
GPS 40 _ (Chinese, Japanese)
GPS 45 _ (Chinese), XL
GPS 50
GPS 55 _, AVD
GPS 60
GPS 72 _, H
GPS 85
GPS 92
GPS 96 _, AVD, XL
GPS 120 _ (Chinese), XL
GPS II _, Plus
GPS III _, Pilot, Plus
GPSCOM 170, 190
GPSMAP 60, 60C, 60CSX, 76, 76S, 76CSX, 135 Sounder, 162, 175, 176, 180,
195, 196, 205, 210, 215, 220, 235 Sounder, 276C, 295, 378 SYS
GPSMAP 130 _ (Chinese)
GPSMAP 230 _ (Chinese)
Rino 110, 120, 130, 530HCx
StreetPilot 3, I, i2, c320, c330, c340, 2720

GPSMan User Manual
Copyright 1998-2013 Miguel Filgueiras,

Creative Commons License
GPSMan User Manual and the GPSMan logo images by Miguel Filgueiras are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Get gpsman at Fast,
secure and Free Open Source software downloads

Support for Lowrance, Magellan and Garmin ReceiversSupport for Magellan receiversSupport for Garmin receivers