<para>
	GPSBabel supports a wide variety of Garmin hardware via serial
	on most operating systems and USB on Windows, Linux, and OS X.
</para>

<para>
	For serial models, be sure the GPS is set for "Garmin
	mode" in setup and that nothing else (PDA hotsync programs, gpsd,
	getty, pppd, etc.) is using the serial port.
</para>

<para>
	Supported Garmin GPS receivers with USB include
	<simplelist columns="4">
<member>Astro</member>
<member>Edge 205</member>
<member>Edge 305</member>
<member>eTrex Legend C</member>
<member>eTrex Legend Cx</member>
<member>eTrex Legend H</member>
<member>eTrex Legend HCx</member>
<member>eTrex Summit Cx</member>
<member>eTrex Summit HC</member>
<member>eTrex Venture C</member>
<member>eTrex Venture Cx</member>
<member>eTrex Venture HC</member>
<member>eTrex Vista C</member>
<member>eTrex Vista Cx</member>
<member>eTrex Vista H</member>
<member>eTrex Vista HCx</member>
<member>Forerunner 205</member>
<member>Forerunner 301</member>
<member>Forerunner 305</member>
<member>Foretrex 201</member>
<member>Foretrex 301</member>
<member>GPS 18<footnote id="posnonly"><para>This model does not support transfer of waypoints, tracks, or routes, but may be used with the <link linkend="tracking">realtime tracking</link> feature.</para></footnote></member>
<member>GPSMAP 195</member>
<member>GPSMAP 276C</member>
<member>GPSMAP 295</member>
<member>GPSMAP 296C</member>
<member>GPSMAP 378</member>
<member>GPSMAP 396</member>
<member>GPSMAP 478</member>
<member>GPSMAP 496</member>
<member>GPSMAP 60C</member>
<member>GPSMAP 60CS</member>
<member>GPSMAP 60CSx</member>
<member>GPSMAP 60Cx</member>
<member>GPSMAP 76C</member>
<member>GPSMAP 76CS</member>
<member>GPSMAP 76CSX</member>
<member>GPSMAP 76Cx</member>
<member>GPSMAP 96</member>
<member>GPSMAP 96C</member>
<member>Quest</member>
<member>Quest II</member>
<member>Rhino 520</member>
<member>Rhino 530</member>
<member>Rhino 520 HCx</member>
<member>Rhino 530 HCx</member>
<member>StreetPilot 2610</member>
<member>StreetPilot 2620</member>
<member>StreetPilot 2650</member>
<member>StreetPilot 2720</member>
<member>StreetPilot 2730</member>
<member>StreetPilot 2820</member>
<member>StreetPilot 7200</member>
<member>StreetPilot 7500</member>
<member>StreetPilot c310</member>
<member>StreetPilot c320</member>
<member>StreetPilot c330</member>
<member>StreetPilot c340</member>
<member>StreetPilot i2</member>
<member>StreetPilot i3</member>
<member>StreetPilot i5</member>
</simplelist>
</para>
<para>the following Bluetooth Garmin products:
<simplelist columns="4">
<member>GPS 10<footnoteref linkend="posnonly"/></member>
</simplelist>
</para>


<para>and most serial Garmin GPS receivers including:
<simplelist columns="4">
<member>eMap</member>
<member>eTrex Camo</member>
<member>eTrex Legend</member>
<member>eTrex Summit</member>
<member>eTrex Venture</member>
<member>eTrex Vista</member>
<member>eTrex (Basic Yellow)</member>
<member>eTrex H</member>
<member>Forerunner 201</member>
<member>Foretrex 201</member>
<member>Geko 201</member>
<member>Geko 301</member>
<member>GPS 12CX </member>
<member>GPS 12Map </member>
<member>GPS 12 </member>
<member>GPS 12XL </member>
<member>GPS III </member>
<member>GPS III+ </member>
<member>GPS II </member>
<member>GPS II+ </member>
<member>GPS V</member>
<member>Rhino 110</member>
<member>Rhino 120</member>
<member>Rhino 130</member>
<member>StreetPilot III</member>
<member>StreetPilot III+</member>
</simplelist>
</para>

<para>
The following Garmin GPS receivers are supported, but they do not
support Garmin communication protocol and don't work with the
<option>garmin</option> option.  To use these receivers, read or write
GPX files from the mass storage device as mounted on your computer.
<simplelist columns="4">
<member>eTrex 10<footnoteref linkend="gpx"/></member>
<member>eTrex 20<footnoteref linkend="gpx"/></member>
<member>eTrex 30<footnoteref linkend="gpx"/></member>
<member>Colorado 300<footnoteref linkend="gpx"/></member>
<member>Colorado 400c<footnoteref linkend="gpx"/></member>
<member>Colorado 400i<footnoteref linkend="gpx"/></member>
<member>Colorado 400t<footnoteref linkend="gpx"/></member>
<member>Dakota 10<footnoteref linkend="gpx"/></member>
<member>Dakota 20<footnoteref linkend="gpx"/></member>
<member>GPSMap 62<footnoteref linkend="gpx"/></member>
<member>GPSMap 62sc<footnoteref linkend="gpx"/></member>
<member>GPSMap 62stc<footnoteref linkend="gpx"/></member>
<member>GPSMap 78<footnoteref linkend="gpx"/></member>
<member>GPSMap 78s<footnoteref linkend="gpx"/></member>
<member>GPSMap 78sc<footnoteref linkend="gpx"/></member>
<member>Montana 600<footnoteref linkend="gpx"/></member>
<member>Montana 650<footnoteref linkend="gpx"/></member>
<member>Montana 650t<footnoteref linkend="gpx"/></member>
<member>Nuvi 30<footnoteref linkend="gpx"/></member>
<member>Nuvi 40<footnoteref linkend="gpx"/></member>
<member>Nuvi 50<footnoteref linkend="gpx"/></member>
<member>Nuvi 200<footnoteref linkend="gpx"/></member>
<member>Nuvi 205<footnoteref linkend="gpx"/></member>
<member>Nuvi 200W<footnoteref linkend="gpx"/></member>
<member>Nuvi 205W<footnoteref linkend="gpx"/></member>
<member>Nuvi 250<footnoteref linkend="gpx"/></member>
<member>Nuvi 255<footnoteref linkend="gpx"/></member>
<member>Nuvi 250W<footnoteref linkend="gpx"/></member>
<member>Nuvi 255W<footnoteref linkend="gpx"/></member>
<member>Nuvi 260<footnoteref linkend="gpx"/></member>
<member>Nuvi 265T<footnoteref linkend="gpx"/></member>
<member>Nuvi 265WT<footnoteref linkend="gpx"/></member>
<member>Nuvi 260W<footnoteref linkend="gpx"/></member>
<member>Nuvi 270<footnoteref linkend="gpx"/></member>
<member>Nuvi 275T<footnoteref linkend="gpx"/></member>
<member>Nuvi 300<footnote id="gpx"><para>This unit uses GPX format, not Garmin protocol.  Therefore one should communicate with it by reading and writing GPX files instead of using this format.  Members of this class of products do not support realtime positioning protocol.</para></footnote></member>
<member>Nuvi 310<footnoteref linkend="gpx"/></member>
<member>Nuvi 350<footnoteref linkend="gpx"/></member>
<member>Nuvi 370<footnoteref linkend="gpx"/></member>
<member>Nuvi 465T<footnoteref linkend="gpx"/></member>
<member>Nuvi 500<footnoteref linkend="gpx"/></member>
<member>Nuvi 550<footnoteref linkend="gpx"/></member>
<member>Nuvi 600<footnoteref linkend="gpx"/></member>
<member>Nuvi 650<footnoteref linkend="gpx"/></member>
<member>Nuvi 650FM<footnoteref linkend="gpx"/></member>
<member>Nuvi 660<footnoteref linkend="gpx"/></member>
<member>Nuvi 670<footnoteref linkend="gpx"/></member>
<member>Nuvi 680<footnoteref linkend="gpx"/></member>
<member>Nuvi 750<footnoteref linkend="gpx"/></member>
<member>Nuvi 755T<footnoteref linkend="gpx"/></member>
<member>Nuvi 760<footnoteref linkend="gpx"/></member>
<member>Nuvi 765T<footnoteref linkend="gpx"/></member>
<member>Nuvi 770<footnoteref linkend="gpx"/></member>
<member>Nuvi 775T<footnoteref linkend="gpx"/></member>
<member>Nuvi 780<footnoteref linkend="gpx"/></member>
<member>Nuvi 785T<footnoteref linkend="gpx"/></member>
<member>Nuvi 880<footnoteref linkend="gpx"/></member>
<member>Nuvi 885T<footnoteref linkend="gpx"/></member>
<member>Nuvi 1200<footnoteref linkend="gpx"/></member>
<member>Nuvi 1250<footnoteref linkend="gpx"/></member>
<member>Nuvi 1260T<footnoteref linkend="gpx"/></member>
<member>Nuvi 1300<footnoteref linkend="gpx"/></member>
<member>Nuvi 1350<footnoteref linkend="gpx"/></member>
<member>Nuvi 1370T<footnoteref linkend="gpx"/></member>
<member>Nuvi 1390T<footnoteref linkend="gpx"/></member>
<member>Nuvi 1350<footnoteref linkend="gpx"/></member>
<member>Nuvi 1490T<footnoteref linkend="gpx"/></member>
<member>Nuvi 2250<footnoteref linkend="gpx"/></member>
<member>Nuvi 2250LT<footnoteref linkend="gpx"/></member>
<member>Nuvi 2350<footnoteref linkend="gpx"/></member>
<member>Nuvi 2350LT<footnoteref linkend="gpx"/></member>
<member>Nuvi 2360LT<footnoteref linkend="gpx"/></member>
<member>Nuvi 2405<footnoteref linkend="gpx"/></member>
<member>Nuvi 2450<footnoteref linkend="gpx"/></member>
<member>Nuvi 2450LM<footnoteref linkend="gpx"/></member>
<member>Nuvi 2450LT<footnoteref linkend="gpx"/></member>
<member>Nuvi 2450LMT<footnoteref linkend="gpx"/></member>
<member>Nuvi 2505<footnoteref linkend="gpx"/></member>
<member>Nuvi 1690T<footnoteref linkend="gpx"/></member>
<member>Nuvi 3750<footnoteref linkend="gpx"/></member>
<member>Nuvi 3760T<footnoteref linkend="gpx"/></member>
<member>Nuvi 3790T<footnoteref linkend="gpx"/></member>
<member>Oregon 200<footnoteref linkend="gpx"/></member>
<member>Oregon 300<footnoteref linkend="gpx"/></member>
<member>Oregon 400c<footnoteref linkend="gpx"/></member>
<member>Oregon 400i<footnoteref linkend="gpx"/></member>
<member>Oregon 400t<footnoteref linkend="gpx"/></member>
<member>Oregon 450<footnoteref linkend="gpx"/></member>
<member>Oregon 450t<footnoteref linkend="gpx"/></member>
<member>Oregon 550<footnoteref linkend="gpx"/></member>
<member>Oregon 550t<footnoteref linkend="gpx"/></member>
<member>StreetPilot c510<footnoteref linkend="gpx"/></member>
<member>StreetPilot c530<footnoteref linkend="gpx"/></member>
<member>StreetPilot c550<footnoteref linkend="gpx"/></member>
<member>StreetPilot c580<footnoteref linkend="gpx"/></member>
<member>Road Tech Zumo<footnoteref linkend="gpx"/></member>
<member>Zumo 220<footnoteref linkend="gpx"/></member>
<member>Zumo 450<footnoteref linkend="gpx"/></member>
<member>Zumo 500<footnoteref linkend="gpx"/></member>
<member>Zumo 550<footnoteref linkend="gpx"/></member>
<member>Zumo 660<footnoteref linkend="gpx"/></member>
<member>Zumo 665<footnoteref linkend="gpx"/></member>
<member>Surely any Garmin product that Garmin actually sensibly designed after 2006 or so.<footnoteref linkend="gpx"/></member>
</simplelist>
</para>

<para>
	None of the GPSBabel developers has access to every model on that
	list, but we've received reports of success and/or have reasonable
	expectations that the above models work. If you succeed with
	a model that is not on that list, please send a message to the
	gpsbabel-misc mailing list with the details so that we may add it.
</para>

<para>
	Not every feature on every model is supported.  For example,
	while we do extract data such as heart rate and temperature from
	tracks on the sporting models like Edge and Forerunner, GPSBabel
	is not a fitness program at its core and does not support features
	like workouts or calorie/fitness zone data. Furthermore, sporting
	models don't support track upload. When trying to upload tracks to
	these devices, GPSBabel converts them to courses on the fly and
	uploads these instead. When uploading waypoints at the same
	time, these are converted to course points by mapping them to the
	nearest track point on the track/course (no matter how far away from
	the track they are). Since course point creation requires time
	stamps for the track points, they are created automatically assuming
	a speed of 10 km/h for tracks that lack them.
</para>

<para>
	To communicate with a Garmin GPS serially, use the name of that
	serial port such as <filename>COM1</filename> or  <filename>/dev/cu.serial</filename>.
</para>
<para>
	To communicate via USB use <filename>usb:</filename> as the filename on all OSes.
	Thus, to read the waypoints from a Garmin USB receiver and write
	them to a GPX file:
</para>

      <para><userinput>gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</userinput></para>

<para>
	If you have multiple units attached via USB, you may provide
	a unit number, with zero being the implied default.  So if you
	have three USB models on your system, they can be addressed as
	<filename>usb:0</filename>, <filename>usb:1</filename>, and <filename>usb:2</filename>.  To get a list of recognized devices,
	specify a negative number such as:
</para>
	<para><userinput>gpsbabel -i garmin -f usb:-1</userinput></para>

<para>
When reporting problems with the Garmin format, be sure to include
the full unit model, firmware version, and be prepared to offer
debugging dumps by adding <option>-D9</option> to the command line, like:
</para>

      <para><userinput> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</userinput></para>

<para>
Custom icons are supported on units that support that.
Neither GPSBabel nor your firmware know what is associated with any
given slot number.  They don't know that the picture you placed in the
first slot is a happy face, they only know they're in the lowest
numbered slot.  GPSBabel names the them consistently with Mapsource,
so they are named 'Custom 0' through 'Custom 511'.
</para>
<para>
	For models where the connection on the GPS is a serial interface,
	be sure the GPS is set for "Garmin
	mode" in setup and that nothing else (PDA hotsync programs, gpsd,
	getty, pppd, etc.) is using the serial port.
</para>
<para>
	For models connected via USB, we recommend use of the <filename>usb:</filename>
	filename.   For this to work on Windows, you must install
	the Garmin driver.  For Linux, this will fail if you have the garmin_gps
	kernel module loaded.
	See the <ulink url="/osnotes.html">Operating System Notes</ulink> for details.
</para>

<para>
This module also supports <link linkend="tracking">realtime tracking</link>
which allows realtime position reports from a Garmin GPS receiver over USB
or serial.
</para>

<important>
<para>The following Garmin units do not follow the standard Garmin
communications protocol and are <emphasis>not supported</emphasis>
by GPSBabel.</para>
<para>
Marine plotters:
<simplelist columns="4">
<member>GPSMap 420</member>
<member>GPSMap 430</member>
<member>GPSMap 440</member>
<member>GPSMap 450</member>
<member>GPSMap 520</member>
<member>GPSMap 525</member>
<member>GPSMap 530</member>
<member>GPSMap 535</member>
<member>GPSMap 540</member>
<member>GPSMap 545</member>
<member>GPSMap 550</member>
<member>GPSMap 555</member>
</simplelist>
</para>

<para>The PDA products
<simplelist>
<member>iQue 3000</member>
<member>iQue 3200</member>
<member>iQue 3600</member>
<member>iQue M3</member>
<member>iQue M4</member>
<member>iQue M5</member>
</simplelist>
</para>
</important>
