|  |  | Support 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. 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 16 September 2004, 001-000063-00 Revision B, available from the Garmin WWW site. Unfortunately this document does not describe all the protocols, leaving out, for instance, those used for changing the connection speed and 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 list 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.

A problem was detected with a Garmin GPS 12Map that sends some packets twice. This caused havoc in the count of packets and made GPSMan to reset the connection. The solution has been to implement a test for repeated packets that are discarded if a flag is set.

There was also a problem with a Garmin Forerunner 301 that generated some packets with a wrong checksum. A patch to GPSMan is available on request to avoid this.

eMap |  |
eTrex |  | _, Euro, Legend, Legend C, Mariner, Summit, Venture, Vista, Vista C
ForeRunner |  | _, 301
ForeTrex
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 85
GPS 92
GPS 96 |  | _, AVD, XL
GPS 120 |  | _ (Chinese), XL
GPS II |  | _, Plus
GPS III |  | _, Pilot, Plus
GPSCOM |  | 170, 190
GPSMAP |  | 60C, 76, 76S, 135 Sounder, 175, 176, 180, 195, 196,
|  | 205, 210, 215, 220, 235 Sounder, 276C, 295
GPSMAP 130 |  | _ (Chinese)
GPSMAP 230 |  | _ (Chinese)
Quest |  |
Rino |  | 110, 120, 130
StreetPilot |  | 3

|  |  | Support for Garmin receivers