First shot at a Gcd class.
This commit is contained in:
parent
c0ec316023
commit
701966277f
@ -1,4 +1,4 @@
|
||||
"""Library for firmware reading/writing."""
|
||||
|
||||
#from .gcd import *
|
||||
from .gcd import *
|
||||
from .chksum import *
|
||||
|
676
grmn/devices.py
Normal file
676
grmn/devices.py
Normal file
@ -0,0 +1,676 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
DEVICES = {
|
||||
111: "eMap",
|
||||
126: "GPSMAP 168 Sounder",
|
||||
128: "GPSMAP 295",
|
||||
130: "eTrex",
|
||||
136: "GPSMAP 176",
|
||||
141: "eTrex Summit",
|
||||
144: "GPSMAP 176C",
|
||||
145: "GPSMAP 196",
|
||||
151: "StreetPilot III",
|
||||
154: "eTrex Venture/Mariner",
|
||||
155: "GPS V",
|
||||
156: "eTrex Camo/Euro",
|
||||
168: "NavTalk GSM",
|
||||
169: "eTrex Vista rev A",
|
||||
173: "GPS 76 Rev A",
|
||||
177: "GPSMAP 76 Rev. A",
|
||||
179: "eTrex Legend Rev A",
|
||||
194: "GPSMAP 76S Rev. A",
|
||||
197: "Rino 110",
|
||||
209: "Rino 120",
|
||||
210: "StreetPilot 26xx",
|
||||
231: "Quest",
|
||||
247: "GPS 72 Rev A",
|
||||
248: "Geko 201",
|
||||
256: "Geko 301",
|
||||
260: "GPSMAP 296",
|
||||
264: "Rino 130/120/110",
|
||||
273: "GPS 18",
|
||||
282: "Forerunner 201",
|
||||
283: "Forerunner 301",
|
||||
285: "GPSMAP 276C",
|
||||
289: "GPS 60",
|
||||
291: "GPSMAP 60C/60CS/76C/76CS",
|
||||
292: "GPSMAP 60Cx/60CSx/76Cx/76CSx",
|
||||
295: "eTrex Camo",
|
||||
308: "GPSMAP 60",
|
||||
314: "Foretrex 101/201",
|
||||
315: "eTrex Legend C/Vista C",
|
||||
364: "GPSMAP 96",
|
||||
365: "GPSMAP 96C",
|
||||
381: "Rino 520/530",
|
||||
382: "StreetPilot c320/c330",
|
||||
402: "GPSMAP 396",
|
||||
404: "StreetPilot 27xx",
|
||||
406: "GPSMAP 376C",
|
||||
410: "GPSMAP 276C Plus",
|
||||
411: "eTrex Legend Rev B",
|
||||
412: "StreetPilot 7200/7500",
|
||||
418: "GPSMAP 76CS Plus",
|
||||
420: "eTrex Vista rev B",
|
||||
421: "eTrex Legend Cx/Vista Cx/Venture Cx",
|
||||
426: "Firmware Update for GXM30 Receiver",
|
||||
429: "StreetPilot i3",
|
||||
430: "GPS 72 Rev B",
|
||||
439: "GPSMAP 76 Rev. B",
|
||||
444: "GPS 76 Rev B",
|
||||
450: "Edge 205/305",
|
||||
463: "Quest 2",
|
||||
476: "nuvi 300/350",
|
||||
478: "GPS Chipset Type G",
|
||||
480: "GPS 60",
|
||||
481: "StreetPilot c340",
|
||||
484: "Forerunner 205/305",
|
||||
497: "StreetPilot c310/c320/c330",
|
||||
505: "StreetPilot i3/i5",
|
||||
520: "StreetPilot 2820",
|
||||
530: "Marine Network Minimum",
|
||||
532: "StreetPilot i2",
|
||||
537: "Chartplotters",
|
||||
539: "StreetPilot c5xx",
|
||||
553: "Firmware Update for c550 Bluetooth Module",
|
||||
557: "GPSMAP 378",
|
||||
558: "GPSMAP 478",
|
||||
566: "nuvi 310/360/370",
|
||||
570: "Astro 220",
|
||||
574: "Geko 201/301",
|
||||
577: "Rino 520HCx/530HCx",
|
||||
580: "zumo 4xx/5xx",
|
||||
583: "Firmware Update for STP2820 / BMW Navigator III Bluetooth Module",
|
||||
584: "GPSMAP 76S Rev. B",
|
||||
585: "GPSMAP 278",
|
||||
595: "GPSMAP 496",
|
||||
596: "nuvi 6xx",
|
||||
600: "Where2 c550",
|
||||
601: "StreetPilot c5xx Smart",
|
||||
602: "StreetPilot c5xx Mopar",
|
||||
603: "StreetPilot c5xx Mercedes",
|
||||
609: "Rino 520 Australia",
|
||||
617: "GPS Chipset Type G2",
|
||||
625: "Edge 605/705",
|
||||
660: "nuvi 2xx",
|
||||
661: "Colorado",
|
||||
672: "nuvi 350 Toyota DIO",
|
||||
673: "nuvi 360 MINI",
|
||||
675: "nuvi 360 BMW3",
|
||||
680: "GPS Chipset Type B",
|
||||
681: "nuvi 350 Honda Access",
|
||||
682: "nuvi 360 Honda Access",
|
||||
683: "nuvi 350 Toyota PIO",
|
||||
689: "DC20/DC30/DC40",
|
||||
694: "eTrex Legend HCx/Vista HCx",
|
||||
695: "eTrex Summit HC/Venture HC",
|
||||
696: "eTrex H",
|
||||
697: "BMW Motorrad Navigator III plus",
|
||||
698: "Zumo BMW",
|
||||
711: "Zumo Honda",
|
||||
717: "Forerunner 405",
|
||||
723: "nuvi 5xx",
|
||||
726: "nuvi 8xx",
|
||||
732: "StreetPilot c5xx Mercedes Phase2",
|
||||
733: "GPS Chipset Type M",
|
||||
737: "nuvi 2xxW",
|
||||
739: "GPS Chipset Type M2",
|
||||
743: "Nuvi 5000",
|
||||
745: "GPSMAP 695/696",
|
||||
754: "nuvi 7xx",
|
||||
775: "GPS Chipset Type B",
|
||||
781: "GPS 17x HVS",
|
||||
786: "eTrex Venture HC/Summit HC",
|
||||
788: "nuvi 7x0 Mercedes/Smart",
|
||||
795: "Oregon",
|
||||
796: "GPS 15x|15xH/xL|16x|18x OEM",
|
||||
811: "GPS 18x USB/GPS 20x USB",
|
||||
814: "nuvi 900T",
|
||||
827: "nuvi 2x5W",
|
||||
832: "GPSMAP 6x0",
|
||||
834: "nuvi 2xx",
|
||||
835: "nuvi 2xxW",
|
||||
836: "nuvi 760 TWN",
|
||||
851: "nuvi 2x5",
|
||||
853: "StreetPilot C5XX Cendant-Avis Australia",
|
||||
855: "nuvi 300/350 MLC",
|
||||
856: "nuvi 310/360/370 MLC",
|
||||
861: "GolfLogix Black",
|
||||
862: "GXM40 Software",
|
||||
865: "GPS 18x 5Hz",
|
||||
870: "nuvi 7x5",
|
||||
887: "GPSMAP 495",
|
||||
896: "Oregon x50",
|
||||
897: "Colorado TWN",
|
||||
901: "Firmware Update for GTMxx Traffic Receiver Type 3",
|
||||
913: "Aera GPS Software",
|
||||
924: "BMW Motorrad Navigator IV/zumo 660",
|
||||
930: "nuvi 255W SG",
|
||||
932: "nuvi 2x5W TWN",
|
||||
943: "nuvi 465T",
|
||||
956: "Honda Navi Gen3",
|
||||
960: "Dakota",
|
||||
969: "Firmware Update for FMI Cables with Traffic",
|
||||
970: "Mount Software",
|
||||
971: "nuvi 12xx",
|
||||
972: "nuvi 13xx and 14xx",
|
||||
977: "Firmware Update for Bluetooth",
|
||||
978: "nuvi 7x5 DSP Software",
|
||||
979: "GPS Chipset Type M3",
|
||||
983: "Oregon TWN",
|
||||
988: "FR60",
|
||||
1005: "Approach G5",
|
||||
1007: "nuvi 765 TWN",
|
||||
1018: "Forerunner 310XT",
|
||||
1020: "Foretrex 301/401",
|
||||
1033: "zumo 66x Echo Cancellation Software",
|
||||
1036: "Edge 500",
|
||||
1039: "Forerunner 405CX",
|
||||
1046: "nuvi 16xx NA",
|
||||
1058: "Nuvi 5xx TWN",
|
||||
1059: "GPS Chipset Type M3",
|
||||
1063: "aera 5xx",
|
||||
1073: "Firmware Update for ecoRoute HD",
|
||||
1074: "nuvi 2x5 MTK",
|
||||
1091: "nuvi 2x5W MTK",
|
||||
1095: "GPS 72H",
|
||||
1101: "nuvi 37xx",
|
||||
1103: "Nuvi 13xx TWN",
|
||||
1104: "nuvi 13xx and 14xx MTK",
|
||||
1106: "nuvi 12xx MTK",
|
||||
1113: "GPSMAP 62/78",
|
||||
1118: "KNA-G600",
|
||||
1120: "Oregon x50 TWN",
|
||||
1124: "Forerunner 110",
|
||||
1128: "Aera DSP Software",
|
||||
1132: "nuvi 16xx EU",
|
||||
1136: "Approach G3",
|
||||
1137: "Nuvi 1480 TWN",
|
||||
1138: "zumo 2x0",
|
||||
1142: "Oregon 550 Thai",
|
||||
1147: "zumo 665",
|
||||
1156: "nuvi 16xx AU",
|
||||
1157: "nuvi 16xx CA",
|
||||
1161: "Nuvi 16xx TWN",
|
||||
1169: "Edge 800",
|
||||
1186: "nuvi 22xx",
|
||||
1187: "nuvi 23xx",
|
||||
1188: "nuLink 1695",
|
||||
1196: "nuvi 1490TV",
|
||||
1201: "GTU 10 US",
|
||||
1204: "Dakota TWN",
|
||||
1209: "Oregon 550 Korea",
|
||||
1211: "Firmware Update for Touchscreen Module - Nuvi 37xx",
|
||||
1213: "Edge 500 JPN",
|
||||
1247: "Rino 6xx",
|
||||
1250: "Forerunner 410",
|
||||
1252: "Oregon 450tc Japan",
|
||||
1254: "nuLink 23xx",
|
||||
1258: "nuvi 35xx",
|
||||
1259: "Nuvi 37xx, Taiwan",
|
||||
1264: "Forerunner 210",
|
||||
1266: "Nuvi 2585 TWN",
|
||||
1269: "dezl 560",
|
||||
1271: "Approach S1",
|
||||
1273: "nuvi 24xx",
|
||||
1275: "Montana",
|
||||
1301: "GPSMAP 62SJ Japan",
|
||||
1304: "eTrex 10",
|
||||
1305: "eTrex 20/30",
|
||||
1318: "GPSMAP Series with SDCard",
|
||||
1325: "Edge 200",
|
||||
1327: "Nuvi 24x5 Taiwan",
|
||||
1328: "Forerunner 910XT",
|
||||
1331: "GTU 10 EU",
|
||||
1334: "Edge 800 JPN",
|
||||
1339: "Astro 320",
|
||||
1340: "GPSMAP 62sc/62stc",
|
||||
1343: "GDL 39",
|
||||
1344: "GTU 10 CA",
|
||||
1345: "Forerunner 610",
|
||||
1349: "nuvi 30",
|
||||
1350: "nuvi 40 and 50",
|
||||
1352: "Nuvi 25x5 Taiwan",
|
||||
1353: "GPSMAP 62S Korea",
|
||||
1354: "GPSMAP 62S/78S Thai & Indonesia",
|
||||
1364: "aera 7xx",
|
||||
1371: "nuvi 24x5 and 25x5",
|
||||
1376: "nuvi 34xx",
|
||||
1379: "GPS Chipset Type M3",
|
||||
1381: "Vector",
|
||||
1389: "Nuvi 2585LT EU",
|
||||
1392: "GPS 19x HVS",
|
||||
1400: "DC20/DC30/DC40",
|
||||
1405: "Approach G10",
|
||||
1420: "Chrysler RHB15 v4/RHB17 v2/RHB17 v4/RHB18 v1",
|
||||
1422: "Edge 500 Korea",
|
||||
1425: "Chrysler CTP16 v3/CTP17 v4/CTP18 v1",
|
||||
1429: "Montana 650t Taiwan",
|
||||
1431: "Montana Korea",
|
||||
1441: "nuvi 3595,JPN",
|
||||
1443: "Nuvi 40/50 China",
|
||||
1445: "nuvi 2495 LT GLONASS",
|
||||
1446: "Forerunner 310XT",
|
||||
1452: "Approach G6",
|
||||
1461: "UAT 163",
|
||||
1463: "Nuvi 2585 Russia",
|
||||
1468: "FujiMY16 v1/Fuji MY17 ",
|
||||
1469: "Approach S3",
|
||||
1471: "eTrex 20/30 JPN",
|
||||
1472: "eTrex 10 JPN",
|
||||
1473: "zumo 3x0",
|
||||
1475: "fleet 590 U.S.",
|
||||
1482: "Forerunner 10",
|
||||
1484: "GPS Chipset Type M4",
|
||||
1485: "GPS Chipset Type M4",
|
||||
1490: "GLO",
|
||||
1497: "Edge 800 Korea",
|
||||
1498: "eTrex 20/30 SEA",
|
||||
1499: "Garmin Swim",
|
||||
1504: "eTrex 10 SEA",
|
||||
1506: "Nordic Rino650",
|
||||
1510: "Nuvi 40/50 Taiwan",
|
||||
1516: "dezl 760",
|
||||
1517: "nuvi 27x7 and 27x8",
|
||||
1521: "Nuvi 35xx Taiwan",
|
||||
1522: "Nuvi 2460 India",
|
||||
1525: "Oregon 550 China",
|
||||
1532: "GPSMAP 62sc China",
|
||||
1533: "GPSMAP 62sc Japan",
|
||||
1535: "Nuvi 2580 South America",
|
||||
1536: "Oregon 550tc Japan",
|
||||
1537: "Forerunner 910XT China",
|
||||
1541: "BMW Motorrad Navigator V",
|
||||
1545: "TT10",
|
||||
1546: "Firmware Update for GTMxx Digital Radio Type S",
|
||||
1548: "Yushan",
|
||||
1550: "Zumo 660 Taiwan",
|
||||
1551: "Fenix/D2/tactix",
|
||||
1556: "eTrex 20/30 China",
|
||||
1561: "Edge 510",
|
||||
1562: "Alpha 100",
|
||||
1563: "Nuvi 3595 Taiwan",
|
||||
1566: "Garmin Swim Strings",
|
||||
1567: "Edge 810",
|
||||
1582: "nuvi 2xx7 and 2xx8",
|
||||
1587: "Rino 6xx China",
|
||||
1593: "Nuvi 2568 India",
|
||||
1594: "eTrex 20/30 Taiwan",
|
||||
1595: "nuvi 140/150",
|
||||
1597: "Approach S3 APAC",
|
||||
1599: "GPSmap 62stc Taiwan",
|
||||
1600: "ForeAthlete 910XTJ Japan",
|
||||
1603: "nuvi 35x7 and 35x8",
|
||||
1613: "nuvi x2 and x4",
|
||||
1617: "Nuvi c155/c165/c175 China",
|
||||
1619: "GPS Chipset Type M5",
|
||||
1620: "GPS Chipset Type M5",
|
||||
1621: "GPS Chipset Type M5",
|
||||
1623: "Forerunner 620",
|
||||
1624: "GPS Chipset Type M426",
|
||||
1628: "Garmin HUD",
|
||||
1630: "Forerunner 620/920, Wi-Fi",
|
||||
1632: "Forerunner 220",
|
||||
1635: "Montana 650t China",
|
||||
1649: "Approach S2",
|
||||
1651: "Oregon 6x0",
|
||||
1664: "Forerunner 910XT, Korea",
|
||||
1676: "Fenix China",
|
||||
1677: "Fenix Japan",
|
||||
1678: "Fenix Korea",
|
||||
1679: "Fenix Taiwan",
|
||||
1681: "Nuvi 2795 Japan",
|
||||
1688: "ForeAthlete 10J",
|
||||
1689: "GPS Chipset Type M426",
|
||||
1692: "quatix",
|
||||
1696: "DC 50",
|
||||
1697: "nuvi 53/55/56",
|
||||
1708: "fleet 590 EU",
|
||||
1711: "Nuvi 2795 South America",
|
||||
1712: "Nuvi 42/52 SGMY",
|
||||
1714: "Nuvi 42/52 Taiwan",
|
||||
1716: "Monterra",
|
||||
1719: "GPSMAP 62sc SEA",
|
||||
1721: "Edge 810, Japan",
|
||||
1722: "Nuvi 24x7/25x7 Taiwan",
|
||||
1723: "Nuvi 3590 CHN",
|
||||
1724: "Nuvi 3592 SGMY",
|
||||
1725: "Nuvi 3592 THAI",
|
||||
1726: "Monterra Outdoor Software",
|
||||
1730: "RV and Camper 760",
|
||||
1731: "Nuvi 3590 TWN",
|
||||
1735: "VIRB China",
|
||||
1736: "Edge Touring",
|
||||
1739: "GPSMAP 629sc CHN",
|
||||
1740: "Nuvi 1690 lite Taiwan",
|
||||
1741: "eTrex 20S SG",
|
||||
1742: "Edge 510, Japan",
|
||||
1749: "nuvi 65/66",
|
||||
1758: "nuvi 25x9",
|
||||
1765: "Forerunner 920XT",
|
||||
1766: "Nuvi 42/52 India",
|
||||
1769: "SIRIUS/XM Weather Support File",
|
||||
1772: "nuvi 26x9",
|
||||
1786: "GPS 15x|15xH/xL|16x|18x OEM/5Hz 1786",
|
||||
1796: "zumo 590",
|
||||
1811: "Approach S4",
|
||||
1815: "Carmax 310A/310V",
|
||||
1817: "UAT-1817",
|
||||
1820: "eTrex 209/309 China",
|
||||
1821: "Edge 510 China & Taiwan",
|
||||
1822: "Edge 810 China",
|
||||
1823: "Edge 810, Taiwan",
|
||||
1836: "Edge 1000",
|
||||
1837: "vivofit",
|
||||
1842: "Approach G7",
|
||||
1843: "Oregon 6xx System, SEA",
|
||||
1850: "Forerunner 620/220 Display",
|
||||
1851: "Forerunner 620/220 ANT",
|
||||
1857: "Oregon 6xx System, JPN",
|
||||
1859: "GPSMAP 64",
|
||||
1876: "Rino 6xx Korea",
|
||||
1878: "GPSMAP 7x08",
|
||||
1879: "GPSMAP 7x10/7x12",
|
||||
1884: "Nuvi 2798",
|
||||
1885: "vivoki",
|
||||
1891: "Approach S2 JPN",
|
||||
1895: "Monterra, GPS/BeiDou CHN",
|
||||
1903: "Forerunner 15",
|
||||
1907: "vivoactive",
|
||||
1908: "vivoactive Display",
|
||||
1909: "VivoActive, Fenix3 ANT | ANT / BLE N4",
|
||||
1917: "Approach G8",
|
||||
1918: "Edge 510, Korea",
|
||||
1925: "Approach S6 Display",
|
||||
1928: "ForeAthlete 620J",
|
||||
1929: "Forerunner 620 China",
|
||||
1930: "ForeAthlete 220J",
|
||||
1931: "Forerunner 220 China",
|
||||
1932: "nuvi 27x9",
|
||||
1936: "Approach S6",
|
||||
1939: "Virb CHN",
|
||||
1940: "Virb System ASIA",
|
||||
1942: "Forerunner 920XT Display",
|
||||
1947: "nuvi 25x9 C4",
|
||||
1948: "nuvi 26x9 C4",
|
||||
1955: "vivosmart ANT",
|
||||
1956: "VivoSmart",
|
||||
1958: "nuvi C255 China",
|
||||
1959: "nuvi C265 China",
|
||||
1966: "Nuvi 55TV Brazil",
|
||||
1967: "Fenix 2",
|
||||
1969: "Forerunner 15, ANT",
|
||||
1982: "MWNavV Japan",
|
||||
1987: "Epix Display",
|
||||
1988: "Epix",
|
||||
1999: "Approach S2 APAC",
|
||||
2002: "dezl 770",
|
||||
2003: "dezl 570",
|
||||
2005: "vivosmart, PSOC",
|
||||
2024: "Quatix China",
|
||||
2030: "HAC 2CT",
|
||||
2032: "T 5, TT 15",
|
||||
2035: "Approach S4 APAC",
|
||||
2043: "nuviCam",
|
||||
2044: "nuviCam Camera Firmware",
|
||||
2047: "ANT/BLE N1 Firmware",
|
||||
2050: "fenix 3/tactix Bravo/quatix 3",
|
||||
2051: "fenix 3/tactix Bravo/quatix 3, Display",
|
||||
2052: "Edge 1000, Taiwan",
|
||||
2053: "Edge 1000, Japan",
|
||||
2054: "Fenix 2 China",
|
||||
2061: "ForeAthlete 15J",
|
||||
2062: "Fleet 660 GPS",
|
||||
2063: "Fleet 670 GPS",
|
||||
2067: "Edge 520",
|
||||
2068: "SW,HondaPH",
|
||||
2070: "Edge 1000, China",
|
||||
2077: "nuvi 2xx7/2xx8 C4",
|
||||
2079: "Vector S",
|
||||
2081: "GPSMAP 7x07",
|
||||
2087: "nuvi 57/58",
|
||||
2088: "nuvi 67/68",
|
||||
2094: "Fenix 2 Japan",
|
||||
2100: "Edge 1000, Korea",
|
||||
2108: "fenix 3/tactix Bravo/quatix 3, Wi-Fi",
|
||||
2112: "Firmware Update for the BC30 RX",
|
||||
2123: "GPSMAP 64S, SEA",
|
||||
2124: "GPSMAP 64SJ, Japan",
|
||||
2130: "Forerunner 920XT Taiwan",
|
||||
2131: "Forerunner 920XT China",
|
||||
2132: "Forerunner 920XT Japan",
|
||||
2134: "VIRB X",
|
||||
2135: "VivoSmart APAC",
|
||||
2140: "eTrex Touch 25/35",
|
||||
2141: "dezlCam",
|
||||
2147: "Edge 25",
|
||||
2148: "Forerunner 25",
|
||||
2150: "vivofit2",
|
||||
2151: "Forerunner 225, OHR",
|
||||
2153: "Forerunner 225",
|
||||
2156: "Forerunner 630",
|
||||
2157: "Forerunner 230",
|
||||
2158: "Forerunner 735XT",
|
||||
2159: "Forerunner Display A1 Firmware",
|
||||
2160: "vivoactive APAC",
|
||||
2161: "Vector 2",
|
||||
2162: "Vector 2S",
|
||||
2172: "VIRB XE",
|
||||
2173: "Forerunner 620 Taiwan",
|
||||
2175: "TruSwing",
|
||||
2182: "Approach S5",
|
||||
2188: "fenix 3, K65, China",
|
||||
2189: "fenix 3, Taiwan",
|
||||
2190: "T5/TT15 Mini",
|
||||
2192: "Varia Headlight",
|
||||
2194: "Approach S6 APAC",
|
||||
2196: "Wi-Fi A1 Firmware",
|
||||
2197: "Forerunner 630 Touchscreen",
|
||||
2198: "Dash Cam 30",
|
||||
2199: "Dash Cam 35",
|
||||
2201: "GPS 12H",
|
||||
2204: "Edge Explore 1000",
|
||||
2219: "Forerunner 225 Asia",
|
||||
2220: "ForeAthlete 225J",
|
||||
2225: "Varia Radar Tail Light",
|
||||
2226: "Varia Radar Display Unit",
|
||||
2228: "Forerunner 225 Display",
|
||||
2231: "Oregon 650TCJ2, JPN",
|
||||
2232: "SW,Captain",
|
||||
2235: "SW,Storm",
|
||||
2237: "Camper/RV 660",
|
||||
2238: "Edge 20",
|
||||
2250: "eTrex 20x/30x",
|
||||
2260: "Edge 520 Asia",
|
||||
2261: "Edge 520 Japan",
|
||||
2262: "D2 Bravo",
|
||||
2266: "Approach S20",
|
||||
2267: "Drive and DriveSmart 40/50",
|
||||
2268: "Drive, DriveSmart 60/70 and DriveTrack 70",
|
||||
2269: "DriveLuxe 50",
|
||||
2270: "DriveAssist 50",
|
||||
2273: "ANT/BLE N2 Firmware",
|
||||
2274: "Edge 1000, Thai",
|
||||
2281: "GPSMAP 64s, KOR",
|
||||
2285: "GPSMAP 64st, TWN",
|
||||
2288: "Edge 25 Asia",
|
||||
2289: "Edge 25 Japan",
|
||||
2290: "Edge 20 Asia",
|
||||
2292: "Approach X40",
|
||||
2293: "fenix 3, K65, Japan",
|
||||
2296: "nuviCam APAC",
|
||||
2297: "nuvi 57, APAC",
|
||||
2298: "nuvi 67, APAC",
|
||||
2299: "Montana 610/680",
|
||||
2302: "eTrex 20x/30x China OPM & TWN",
|
||||
2310: "Forerunner 630 APAC",
|
||||
2311: "ForeAthlete 630J",
|
||||
2313: "ForeAthlete 230J",
|
||||
2316: "eTrex 20x/30x JPN",
|
||||
2317: "eTrex 20x/30x SEA",
|
||||
2325: "UAT-B2325-00",
|
||||
2329: "VIRBXE APAC System",
|
||||
2332: "Epix JPN",
|
||||
2337: "vivoactive HR",
|
||||
2338: "vivoactive HR Sensor Hub",
|
||||
2340: "vivoactive HR Display",
|
||||
2347: "vivosmart HR plus",
|
||||
2348: "vivosmart HR",
|
||||
2361: "vivosmart HR APAC",
|
||||
2362: "vivosmart HR plus APAC",
|
||||
2368: "Vivomove",
|
||||
2369: "Forerunner 235 Sensor Hub",
|
||||
2379: "Varia Tail Light",
|
||||
2392: "fenix Chronos, Display",
|
||||
2393: "fenix Chronos, Sensor Hub",
|
||||
2396: "Forerunner 235 APAC",
|
||||
2397: "ForeAthlete 235J",
|
||||
2398: "Varia Vision",
|
||||
2400: "aera 660",
|
||||
2405: "Approach X40 BLE Firmware",
|
||||
2406: "vivofit3",
|
||||
2407: "fenix 3, K65, Korea",
|
||||
2408: "fenix 3, K65, SEA",
|
||||
2413: "fenix 3 HR",
|
||||
2414: "fenix 3 HR, Display",
|
||||
2415: "fenix 3 HR, Sensor Hub",
|
||||
2417: "Virb Ultra 30",
|
||||
2423: "ANT/BLE N3 Firmware",
|
||||
2429: "Index Smart Scale",
|
||||
2431: "Forerunner 235",
|
||||
2432: "fenix Chronos",
|
||||
2435: "Zumo 3x5",
|
||||
2436: "Zumo 595",
|
||||
2440: "GDR E350/C300",
|
||||
2442: "Astro 430/Alpha 50",
|
||||
2444: "Rino 7xx",
|
||||
2449: "PRO Control 2 RR",
|
||||
2450: "Delta Smart",
|
||||
2467: "D2 Bravo, K65, China",
|
||||
2470: "GDR C530",
|
||||
2471: "Varia Vision, APAC",
|
||||
2473: "fenix 3 HR, K26, CHN",
|
||||
2478: "zumo 590, APAC",
|
||||
2479: "GPSMAP 276cx",
|
||||
2485: "GDR E350 Japan",
|
||||
2495: "DriveAssist 50 Camera FW",
|
||||
2496: "Garmin Nautix",
|
||||
2497: "vivoactive HR APAC",
|
||||
2503: "Forerunner 35",
|
||||
2510: "Forerunner 735XT, Sensor Hub",
|
||||
2512: "Oregon 7xx",
|
||||
2517: "zumo 590 JPN",
|
||||
2530: "Edge 820",
|
||||
2531: "Edge Explore 820",
|
||||
2533: "Forerunner 735XT APAC",
|
||||
2534: "ForeAthlete 735XTJ",
|
||||
2544: "fenix 5S",
|
||||
2545: "Dash Cam 30",
|
||||
2546: "Dash Cam 35",
|
||||
2547: "D2 Bravo Titanium",
|
||||
2559: "Approach S20 APAC",
|
||||
2560: "D2 Bravo Titanium, Sensor Hub",
|
||||
2561: "DriveSmart 50 APAC",
|
||||
2563: "eTrex Touch 35 APAC",
|
||||
2569: "fleet 660 8G, GPS",
|
||||
2570: "fleet 670 8G, GPS",
|
||||
2576: "eTrex Venture Mariner",
|
||||
2583: "Delta Smart nRF51",
|
||||
2584: "BMW Motorrad Navigator VI",
|
||||
2586: "Drive and DriveSmart 51",
|
||||
2587: "Drive 61",
|
||||
2588: "DriveSmart 61",
|
||||
2589: "DriveLuxe 51",
|
||||
2590: "DriveAssist 51",
|
||||
2596: "DriveAssist 50, APAC",
|
||||
2599: "Edge 820 China",
|
||||
2600: "Edge 820 Japan",
|
||||
2604: "fenix 5X",
|
||||
2606: "vivofit jr",
|
||||
2614: "GPSMAP 64sc",
|
||||
2622: "vivosmart 3",
|
||||
2623: "vivosport",
|
||||
2624: "fenix 3 HR APAC, Sensor Hub",
|
||||
2628: "Edge 820 Taiwan",
|
||||
2629: "Edge 820 Korea",
|
||||
2630: "Edge 820 SEA",
|
||||
2639: "vivosmart HR plus Israel",
|
||||
2641: "Xero A1(i)",
|
||||
2650: "Forerunner 35 Israel",
|
||||
2652: "Approach G30",
|
||||
2653: "FR235, NFC CIB",
|
||||
2655: "FR235 Sensor Hub",
|
||||
2656: "Approach S60",
|
||||
2667: "Forerunner 35 APAC",
|
||||
2668: "Forerunner 35 JPN",
|
||||
2675: "fenix CHRONOS APAC",
|
||||
2681: "Oregon 7xx APAC",
|
||||
2684: "RV/Camper 770",
|
||||
2691: "Forerunner 935",
|
||||
2697: "fenix 5",
|
||||
2700: "vivoactive 3",
|
||||
2705: "Avtex Tourer One Plus",
|
||||
2713: "Edge 1030",
|
||||
2725: "aera 79x China",
|
||||
2726: "aera 660 China",
|
||||
2727: "Forerunner 35 SEA",
|
||||
2733: "FR235, NFC, ExpressPay",
|
||||
2763: "GPSMAP 64sc JPN",
|
||||
2764: "GPSMAP 64sc SEA",
|
||||
2769: "Foretrex 601/701",
|
||||
2771: "Impact",
|
||||
2772: "vivomove HR",
|
||||
2777: "Rino 700",
|
||||
2796: "Fenix 5 APAC",
|
||||
2797: "Fenix 5S APAC",
|
||||
2798: "Fenix 5X APAC",
|
||||
2803: "Drive and DriveSmart 51, APAC",
|
||||
2807: "echoMAP Plus 4x",
|
||||
2808: "echoMAP Plus 6x",
|
||||
2809: "echoMAP Plus 7x/9x",
|
||||
2810: "echoMAP Plus 63",
|
||||
2814: "Forerunner 35 KOR",
|
||||
2819: "D2 Charlie",
|
||||
2826: "UAT-2826",
|
||||
2831: "Vivosmart 3, APAC",
|
||||
2832: "Vivosport, APAC",
|
||||
2833: "Forerunner 935 APAC",
|
||||
2859: "Descent Mk1",
|
||||
2886: "Forerunner 645",
|
||||
2888: "Forerunner 645 Music",
|
||||
2891: "Forerunner 30",
|
||||
2893: "Atemos 50",
|
||||
2894: "Atemos 100",
|
||||
2900: "Fenix 5 Plus",
|
||||
2907: "Approach S60, Host, APAC",
|
||||
2924: "Edge 1030 APAC",
|
||||
2927: "vivosmart 4",
|
||||
2945: "vivomove HR, APAC",
|
||||
2956: "Alpha 50 CHN",
|
||||
2962: "Approach X10",
|
||||
2976: "vivoactive 3, APAC",
|
||||
2977: "Forerunner 30 APAC",
|
||||
2991: "Descent APAC",
|
||||
2994: "D2 Charlie, APAC",
|
||||
2996: "DriveSmart 61, APAC",
|
||||
2997: "eTrex 302 CHN",
|
||||
3003: "Forerunner 645 APAC",
|
||||
3004: "Forerunner 645M APAC",
|
||||
3028: "GPSMAP 66",
|
||||
3049: "Approach S10",
|
||||
3089: "Fenix 5 Plus APAC",
|
||||
3092: "Edge 130 APAC",
|
||||
3095: "Edge 1030 Bontrager",
|
||||
3109: "DriveAssist 51, APAC",
|
||||
3112: "Edge 520 Plus",
|
||||
3115: "GPSMAP 64sc SiteSurvey",
|
||||
3134: "Fenix 5S Plus APAC",
|
||||
3135: "Fenix 5X Plus APAC",
|
||||
3139: "zumo 396, APAC",
|
||||
3142: "Edge 520 Plus, APAC",
|
||||
3144: "Forerunner 235 Lite APAC",
|
||||
3163: "vivoactive 3M, WiFi, APAC",
|
||||
3196: "D2 Delta",
|
||||
3197: "D2 Delta S",
|
||||
3198: "D2 Delta PX",
|
||||
3218: "Vivosmart 4, APAC",
|
||||
}
|
163
grmn/gcd.py
Normal file
163
grmn/gcd.py
Normal file
@ -0,0 +1,163 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Thanks to TurboCCC and kunix for all your work!
|
||||
|
||||
from . import chksum
|
||||
from . import devices
|
||||
from binascii import hexlify
|
||||
from struct import pack, unpack
|
||||
import sys
|
||||
|
||||
GCD_SIG = b"G\x41RM\x49Nd\00"
|
||||
DEFAULT_COPYRIGHT = b"Copyright 1996-2017 by G\x61rm\x69n Ltd. or its subsidiaries."
|
||||
DEFAULT_FIRST_PADDING = 21
|
||||
DEFAULT_ALIGN = 0x1000
|
||||
|
||||
TLV_TYPES = {
|
||||
0x0001: "Checksum rectifier",
|
||||
0x0002: "Padding",
|
||||
0x0003: "Part number?",
|
||||
0x0005: "Copyright notice",
|
||||
0x0006: "Block Type 7 format definition",
|
||||
0x0007: "Binary descriptor",
|
||||
0x0008: "Binary Region 0C (boot.bin)",
|
||||
0x0401: "Binary Component Firmware (SensorHub, ANT_BLE_BT, GPS, WiFi)",
|
||||
0x0505: "Binary Region 05",
|
||||
0x0555: "Binary Region 55",
|
||||
0x0557: "Binary Region 57",
|
||||
0x02bd: "Binary Region 0E (fw_all.bin)",
|
||||
0xffff: "EOF marker",
|
||||
}
|
||||
|
||||
class TLV:
|
||||
def __init__(self, type_id: int, expected_length: int, value=None):
|
||||
self.type_id = type_id
|
||||
self.comment = TLV_TYPES.get(type_id, "Type {:04x} / {:d}".format(type_id, type_id))
|
||||
self.length = expected_length
|
||||
self.value = None
|
||||
if value is not None:
|
||||
self.value = bytes(value)
|
||||
|
||||
@staticmethod
|
||||
def factory(header: bytes):
|
||||
(type_id, length) = unpack("<HH", payload)
|
||||
if type_id == 0x0006:
|
||||
return TLV6(type_id, length)
|
||||
elif type_id == 0x0007:
|
||||
return TLV7(type_id, length)
|
||||
return TLV(type_id, length)
|
||||
|
||||
def set_value(self, new_value: bytes):
|
||||
self.value = new_value
|
||||
|
||||
def get_length(self):
|
||||
return self.length
|
||||
|
||||
def get_actual_length(self):
|
||||
if self.value is None:
|
||||
return 0
|
||||
return len(self.value)
|
||||
|
||||
def get_record_length(self):
|
||||
# Length including record definition
|
||||
return self.get_actual_length() + 4
|
||||
|
||||
def get_value(self):
|
||||
return self.value
|
||||
|
||||
def get(self):
|
||||
header = pack("HH", self.type_id, self.get_actual_length())
|
||||
if self.value is None:
|
||||
return header
|
||||
return header + self.value
|
||||
|
||||
class TLV6(TLV):
|
||||
"""
|
||||
Describes following TLV7:
|
||||
http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=137838&whichpage=12
|
||||
"""
|
||||
|
||||
# Field ids in Type 6 payloads (describe Type 7 data format)
|
||||
# First nibble might be data type: 0 = B, 1 = H, 2 = L
|
||||
FIELD_TYPES = {
|
||||
0x000a: ["B", "XOR flag/value"],
|
||||
0x000b: ["B", "Reset/Downgrade flag"],
|
||||
0x1009: ["H", "Device hw_id"],
|
||||
0x100a: ["H", "Block type"],
|
||||
0x100d: ["H", "Firmware version"],
|
||||
0x1014: ["H", "Field 1014"],
|
||||
0x1015: ["H", "Field 1015"],
|
||||
0x1016: ["H", "Field 1016 (WiFi fw)"],
|
||||
0x2015: ["L", "Block size"],
|
||||
0x5003: ["", "End of definition marker"],
|
||||
}
|
||||
|
||||
def __init__(self, type_id: int, expected_length: int, value=None):
|
||||
super.__init__(type_id, expected_length, value)
|
||||
self.is_parsed = False
|
||||
|
||||
def parse(self):
|
||||
if len(self.value) % 2 != 0:
|
||||
raise Exception("Invalid TLV6 payload length!")
|
||||
|
||||
self.fids = []
|
||||
self.format = ""
|
||||
self.fields = []
|
||||
|
||||
for i in range(0, len(self.value), 2):
|
||||
fid = unpack("H", self.value[i:i+2])[0]
|
||||
fdef = self.FIELD_TYPES[fid]
|
||||
self.fids.append(fid)
|
||||
self.format += fdef[0]
|
||||
self.fields.append(fdef[1])
|
||||
|
||||
self.is_parsed = True
|
||||
|
||||
class TLV7(TLV):
|
||||
def set_tlv6(self, tlv6: TLV6):
|
||||
self.tlv6 = tlv6
|
||||
|
||||
def parse(self):
|
||||
if not self.tlv6.is_parsed:
|
||||
# Make sure we have the structure analysed
|
||||
self.tlv6.parse()
|
||||
values = unpack("<" + self.tlv6.format, self.value)
|
||||
for i, v in enumerate(values):
|
||||
fid = self.tlv6.fids[i]
|
||||
fdesc = self.tlv6.fields[i]
|
||||
if fid == 0x1009:
|
||||
print(" - {:>20}: 0x{:04x} / {:d} ({})".format(fdesc, v, v, devices.DEVICES.get(v, "Unknown device")))
|
||||
elif fid == 0x2015:
|
||||
print(" - {:>20}: {} Bytes".format(fdesc, v))
|
||||
else:
|
||||
print(" - {:>20}: 0x{:04x} / {:d}".format(fdesc, v, v))
|
||||
|
||||
class Gcd:
|
||||
def __init__(self, filename: str=None):
|
||||
self.filename = filename
|
||||
self.struct = []
|
||||
if filename is not None:
|
||||
self.load()
|
||||
|
||||
def load(self):
|
||||
if self.filename is None:
|
||||
return False
|
||||
last_tlv6 = None
|
||||
with open(self.filename, "rb") as f:
|
||||
sig = f.read(8)
|
||||
if sig != GCD_SIG:
|
||||
raise Exception("Signature mismatch ({}, should be {})!".format(repr(sig), repr(GCD_SIG)))
|
||||
while True:
|
||||
header = f.read(4)
|
||||
tlv = TLV.factory(header)
|
||||
self.struct.append(tlv)
|
||||
if tlv.type_id == 0xFFFF:
|
||||
# End of file reached
|
||||
break
|
||||
tlength = tlv.get_length()
|
||||
payload = f.read(tlength)
|
||||
tlv.set_value(payload)
|
||||
if tlv.type_id == 0x0006:
|
||||
last_tlv6 = tlv
|
||||
elif tlv.type_id == 0x0007:
|
||||
tlv.set_tlv6(last_tlv6)
|
||||
f.close()
|
671
hwids.txt
671
hwids.txt
@ -1,671 +0,0 @@
|
||||
111=eMap
|
||||
126=GPSMAP 168 Sounder
|
||||
128=GPSMAP 295
|
||||
130=eTrex
|
||||
136=GPSMAP 176
|
||||
141=eTrex Summit
|
||||
144=GPSMAP 176C
|
||||
145=GPSMAP 196
|
||||
151=StreetPilot III
|
||||
154=eTrex Venture/Mariner
|
||||
155=GPS V
|
||||
156=eTrex Camo/Euro
|
||||
168=NavTalk GSM
|
||||
169=eTrex Vista rev A
|
||||
173=GPS 76 Rev A
|
||||
177=GPSMAP 76 Rev. A
|
||||
179=eTrex Legend Rev A
|
||||
194=GPSMAP 76S Rev. A
|
||||
197=Rino 110
|
||||
209=Rino 120
|
||||
210=StreetPilot 26xx
|
||||
231=Quest
|
||||
247=GPS 72 Rev A
|
||||
248=Geko 201
|
||||
256=Geko 301
|
||||
260=GPSMAP 296
|
||||
264=Rino 130/120/110
|
||||
273=GPS 18
|
||||
282=Forerunner 201
|
||||
283=Forerunner 301
|
||||
285=GPSMAP 276C
|
||||
289=GPS 60
|
||||
291=GPSMAP 60C/60CS/76C/76CS
|
||||
292=GPSMAP 60Cx/60CSx/76Cx/76CSx
|
||||
295=eTrex Camo
|
||||
308=GPSMAP 60
|
||||
314=Foretrex 101/201
|
||||
315=eTrex Legend C/Vista C
|
||||
364=GPSMAP 96
|
||||
365=GPSMAP 96C
|
||||
381=Rino 520/530
|
||||
382=StreetPilot c320/c330
|
||||
402=GPSMAP 396
|
||||
404=StreetPilot 27xx
|
||||
406=GPSMAP 376C
|
||||
410=GPSMAP 276C Plus
|
||||
411=eTrex Legend Rev B
|
||||
412=StreetPilot 7200/7500
|
||||
418=GPSMAP 76CS Plus
|
||||
420=eTrex Vista rev B
|
||||
421=eTrex Legend Cx/Vista Cx/Venture Cx
|
||||
426=Firmware Update for GXM30 Receiver
|
||||
429=StreetPilot i3
|
||||
430=GPS 72 Rev B
|
||||
439=GPSMAP 76 Rev. B
|
||||
444=GPS 76 Rev B
|
||||
450=Edge 205/305
|
||||
463=Quest 2
|
||||
476=nuvi 300/350
|
||||
478=GPS Chipset Type G
|
||||
480=GPS 60
|
||||
481=StreetPilot c340
|
||||
484=Forerunner 205/305
|
||||
497=StreetPilot c310/c320/c330
|
||||
505=StreetPilot i3/i5
|
||||
520=StreetPilot 2820
|
||||
530=Marine Network Minimum
|
||||
532=StreetPilot i2
|
||||
537=Chartplotters
|
||||
539=StreetPilot c5xx
|
||||
553=Firmware Update for c550 Bluetooth Module
|
||||
557=GPSMAP 378
|
||||
558=GPSMAP 478
|
||||
566=nuvi 310/360/370
|
||||
570=Astro 220
|
||||
574=Geko 201/301
|
||||
577=Rino 520HCx/530HCx
|
||||
580=zumo 4xx/5xx
|
||||
583=Firmware Update for STP2820 / BMW Navigator III Bluetooth Module
|
||||
584=GPSMAP 76S Rev. B
|
||||
585=GPSMAP 278
|
||||
595=GPSMAP 496
|
||||
596=nuvi 6xx
|
||||
600=Where2 c550
|
||||
601=StreetPilot c5xx Smart
|
||||
602=StreetPilot c5xx Mopar
|
||||
603=StreetPilot c5xx Mercedes
|
||||
609=Rino 520 Australia
|
||||
617=GPS Chipset Type G2
|
||||
625=Edge 605/705
|
||||
660=nuvi 2xx
|
||||
661=Colorado
|
||||
672=nuvi 350 Toyota DIO
|
||||
673=nuvi 360 MINI
|
||||
675=nuvi 360 BMW3
|
||||
680=GPS Chipset Type B
|
||||
681=nuvi 350 Honda Access
|
||||
682=nuvi 360 Honda Access
|
||||
683=nuvi 350 Toyota PIO
|
||||
689=DC20/DC30/DC40
|
||||
694=eTrex Legend HCx/Vista HCx
|
||||
695=eTrex Summit HC/Venture HC
|
||||
696=eTrex H
|
||||
697=BMW Motorrad Navigator III plus
|
||||
698=Zumo BMW
|
||||
711=Zumo Honda
|
||||
717=Forerunner 405
|
||||
723=nuvi 5xx
|
||||
726=nuvi 8xx
|
||||
732=StreetPilot c5xx Mercedes Phase2
|
||||
733=GPS Chipset Type M
|
||||
737=nuvi 2xxW
|
||||
739=GPS Chipset Type M2
|
||||
743=Nuvi 5000
|
||||
745=GPSMAP 695/696
|
||||
754=nuvi 7xx
|
||||
775=GPS Chipset Type B
|
||||
781=GPS 17x HVS
|
||||
786=eTrex Venture HC/Summit HC
|
||||
788=nuvi 7x0 Mercedes/Smart
|
||||
795=Oregon
|
||||
796=GPS 15x|15xH/xL|16x|18x OEM
|
||||
811=GPS 18x USB/GPS 20x USB
|
||||
814=nuvi 900T
|
||||
827=nuvi 2x5W
|
||||
832=GPSMAP 6x0
|
||||
834=nuvi 2xx
|
||||
835=nuvi 2xxW
|
||||
836=nuvi 760 TWN
|
||||
851=nuvi 2x5
|
||||
853=StreetPilot C5XX Cendant-Avis Australia
|
||||
855=nuvi 300/350 MLC
|
||||
856=nuvi 310/360/370 MLC
|
||||
861=GolfLogix Black
|
||||
862=GXM40 Software
|
||||
865=GPS 18x 5Hz
|
||||
870=nuvi 7x5
|
||||
887=GPSMAP 495
|
||||
896=Oregon x50
|
||||
897=Colorado TWN
|
||||
901=Firmware Update for GTMxx Traffic Receiver Type 3
|
||||
913=Aera GPS Software
|
||||
924=BMW Motorrad Navigator IV/zumo 660
|
||||
930=nuvi 255W SG
|
||||
932=nuvi 2x5W TWN
|
||||
943=nuvi 465T
|
||||
956=Honda Navi Gen3
|
||||
960=Dakota
|
||||
969=Firmware Update for FMI Cables with Traffic
|
||||
970=Mount Software
|
||||
971=nuvi 12xx
|
||||
972=nuvi 13xx and 14xx
|
||||
977=Firmware Update for Bluetooth
|
||||
978=nuvi 7x5 DSP Software
|
||||
979=GPS Chipset Type M3
|
||||
983=Oregon TWN
|
||||
988=FR60
|
||||
1005=Approach G5
|
||||
1007=nuvi 765 TWN
|
||||
1018=Forerunner 310XT
|
||||
1020=Foretrex 301/401
|
||||
1033=zumo 66x Echo Cancellation Software
|
||||
1036=Edge 500
|
||||
1039=Forerunner 405CX
|
||||
1046=nuvi 16xx NA
|
||||
1058=Nuvi 5xx TWN
|
||||
1059=GPS Chipset Type M3
|
||||
1063=aera 5xx
|
||||
1073=Firmware Update for ecoRoute HD
|
||||
1074=nuvi 2x5 MTK
|
||||
1091=nuvi 2x5W MTK
|
||||
1095=GPS 72H
|
||||
1101=nuvi 37xx
|
||||
1103=Nuvi 13xx TWN
|
||||
1104=nuvi 13xx and 14xx MTK
|
||||
1106=nuvi 12xx MTK
|
||||
1113=GPSMAP 62/78
|
||||
1118=KNA-G600
|
||||
1120=Oregon x50 TWN
|
||||
1124=Forerunner 110
|
||||
1128=Aera DSP Software
|
||||
1132=nuvi 16xx EU
|
||||
1136=Approach G3
|
||||
1137=Nuvi 1480 TWN
|
||||
1138=zumo 2x0
|
||||
1142=Oregon 550 Thai
|
||||
1147=zumo 665
|
||||
1156=nuvi 16xx AU
|
||||
1157=nuvi 16xx CA
|
||||
1161=Nuvi 16xx TWN
|
||||
1169=Edge 800
|
||||
1186=nuvi 22xx
|
||||
1187=nuvi 23xx
|
||||
1188=nuLink 1695
|
||||
1196=nuvi 1490TV
|
||||
1201=GTU 10 US
|
||||
1204=Dakota TWN
|
||||
1209=Oregon 550 Korea
|
||||
1211=Firmware Update for Touchscreen Module - Nuvi 37xx
|
||||
1213=Edge 500 JPN
|
||||
1247=Rino 6xx
|
||||
1250=Forerunner 410
|
||||
1252=Oregon 450tc Japan
|
||||
1254=nuLink 23xx
|
||||
1258=nuvi 35xx
|
||||
1259=Nuvi 37xx, Taiwan
|
||||
1264=Forerunner 210
|
||||
1266=Nuvi 2585 TWN
|
||||
1269=dezl 560
|
||||
1271=Approach S1
|
||||
1273=nuvi 24xx
|
||||
1275=Montana
|
||||
1301=GPSMAP 62SJ Japan
|
||||
1304=eTrex 10
|
||||
1305=eTrex 20/30
|
||||
1318=GPSMAP Series with SDCard
|
||||
1325=Edge 200
|
||||
1327=Nuvi 24x5 Taiwan
|
||||
1328=Forerunner 910XT
|
||||
1331=GTU 10 EU
|
||||
1334=Edge 800 JPN
|
||||
1339=Astro 320
|
||||
1340=GPSMAP 62sc/62stc
|
||||
1343=GDL 39
|
||||
1344=GTU 10 CA
|
||||
1345=Forerunner 610
|
||||
1349=nuvi 30
|
||||
1350=nuvi 40 and 50
|
||||
1352=Nuvi 25x5 Taiwan
|
||||
1353=GPSMAP 62S Korea
|
||||
1354=GPSMAP 62S/78S Thai & Indonesia
|
||||
1364=aera 7xx
|
||||
1371=nuvi 24x5 and 25x5
|
||||
1376=nuvi 34xx
|
||||
1379=GPS Chipset Type M3
|
||||
1381=Vector
|
||||
1389=Nuvi 2585LT EU
|
||||
1392=GPS 19x HVS
|
||||
1400=DC20/DC30/DC40
|
||||
1405=Approach G10
|
||||
1420=Chrysler RHB15 v4/RHB17 v2/RHB17 v4/RHB18 v1
|
||||
1422=Edge 500 Korea
|
||||
1425=Chrysler CTP16 v3/CTP17 v4/CTP18 v1
|
||||
1429=Montana 650t Taiwan
|
||||
1431=Montana Korea
|
||||
1441=nuvi 3595,JPN
|
||||
1443=Nuvi 40/50 China
|
||||
1445=nuvi 2495 LT GLONASS
|
||||
1446=Forerunner 310XT
|
||||
1452=Approach G6
|
||||
1461=UAT 163
|
||||
1463=Nuvi 2585 Russia
|
||||
1468=FujiMY16 v1/Fuji MY17
|
||||
1469=Approach S3
|
||||
1471=eTrex 20/30 JPN
|
||||
1472=eTrex 10 JPN
|
||||
1473=zumo 3x0
|
||||
1475=fleet 590 U.S.
|
||||
1482=Forerunner 10
|
||||
1484=GPS Chipset Type M4
|
||||
1485=GPS Chipset Type M4
|
||||
1490=GLO
|
||||
1497=Edge 800 Korea
|
||||
1498=eTrex 20/30 SEA
|
||||
1499=Garmin Swim
|
||||
1504=eTrex 10 SEA
|
||||
1506=Nordic Rino650
|
||||
1510=Nuvi 40/50 Taiwan
|
||||
1516=dezl 760
|
||||
1517=nuvi 27x7 and 27x8
|
||||
1521=Nuvi 35xx Taiwan
|
||||
1522=Nuvi 2460 India
|
||||
1525=Oregon 550 China
|
||||
1532=GPSMAP 62sc China
|
||||
1533=GPSMAP 62sc Japan
|
||||
1535=Nuvi 2580 South America
|
||||
1536=Oregon 550tc Japan
|
||||
1537=Forerunner 910XT China
|
||||
1541=BMW Motorrad Navigator V
|
||||
1545=TT10
|
||||
1546=Firmware Update for GTMxx Digital Radio Type S
|
||||
1548=Yushan
|
||||
1550=Zumo 660 Taiwan
|
||||
1551=Fenix/D2/tactix
|
||||
1556=eTrex 20/30 China
|
||||
1561=Edge 510
|
||||
1562=Alpha 100
|
||||
1563=Nuvi 3595 Taiwan
|
||||
1566=Garmin Swim Strings
|
||||
1567=Edge 810
|
||||
1582=nuvi 2xx7 and 2xx8
|
||||
1587=Rino 6xx China
|
||||
1593=Nuvi 2568 India
|
||||
1594=eTrex 20/30 Taiwan
|
||||
1595=nuvi 140/150
|
||||
1597=Approach S3 APAC
|
||||
1599=GPSmap 62stc Taiwan
|
||||
1600=ForeAthlete 910XTJ Japan
|
||||
1603=nuvi 35x7 and 35x8
|
||||
1613=nuvi x2 and x4
|
||||
1617=Nuvi c155/c165/c175 China
|
||||
1619=GPS Chipset Type M5
|
||||
1620=GPS Chipset Type M5
|
||||
1621=GPS Chipset Type M5
|
||||
1623=Forerunner 620
|
||||
1624=GPS Chipset Type M426
|
||||
1628=Garmin HUD
|
||||
1630=Forerunner 620/920, Wi-Fi
|
||||
1632=Forerunner 220
|
||||
1635=Montana 650t China
|
||||
1649=Approach S2
|
||||
1651=Oregon 6x0
|
||||
1664=Forerunner 910XT, Korea
|
||||
1676=Fenix China
|
||||
1677=Fenix Japan
|
||||
1678=Fenix Korea
|
||||
1679=Fenix Taiwan
|
||||
1681=Nuvi 2795 Japan
|
||||
1688=ForeAthlete 10J
|
||||
1689=GPS Chipset Type M426
|
||||
1692=quatix
|
||||
1696=DC 50
|
||||
1697=nuvi 53/55/56
|
||||
1708=fleet 590 EU
|
||||
1711=Nuvi 2795 South America
|
||||
1712=Nuvi 42/52 SGMY
|
||||
1714=Nuvi 42/52 Taiwan
|
||||
1716=Monterra
|
||||
1719=GPSMAP 62sc SEA
|
||||
1721=Edge 810, Japan
|
||||
1722=Nuvi 24x7/25x7 Taiwan
|
||||
1723=Nuvi 3590 CHN
|
||||
1724=Nuvi 3592 SGMY
|
||||
1725=Nuvi 3592 THAI
|
||||
1726=Monterra Outdoor Software
|
||||
1730=RV and Camper 760
|
||||
1731=Nuvi 3590 TWN
|
||||
1735=VIRB China
|
||||
1736=Edge Touring
|
||||
1739=GPSMAP 629sc CHN
|
||||
1740=Nuvi 1690 lite Taiwan
|
||||
1741=eTrex 20S SG
|
||||
1742=Edge 510, Japan
|
||||
1749=nuvi 65/66
|
||||
1758=nuvi 25x9
|
||||
1765=Forerunner 920XT
|
||||
1766=Nuvi 42/52 India
|
||||
1769=SIRIUS/XM Weather Support File
|
||||
1772=nuvi 26x9
|
||||
1786=GPS 15x|15xH/xL|16x|18x OEM/5Hz 1786
|
||||
1796=zumo 590
|
||||
1811=Approach S4
|
||||
1815=Carmax 310A/310V
|
||||
1817=UAT-1817
|
||||
1820=eTrex 209/309 China
|
||||
1821=Edge 510 China & Taiwan
|
||||
1822=Edge 810 China
|
||||
1823=Edge 810, Taiwan
|
||||
1836=Edge 1000
|
||||
1837=vivofit
|
||||
1842=Approach G7
|
||||
1843=Oregon 6xx System, SEA
|
||||
1850=Forerunner 620/220 Display
|
||||
1851=Forerunner 620/220 ANT
|
||||
1857=Oregon 6xx System, JPN
|
||||
1859=GPSMAP 64
|
||||
1876=Rino 6xx Korea
|
||||
1878=GPSMAP 7x08
|
||||
1879=GPSMAP 7x10/7x12
|
||||
1884=Nuvi 2798
|
||||
1885=vivoki
|
||||
1891=Approach S2 JPN
|
||||
1895=Monterra, GPS/BeiDou CHN
|
||||
1903=Forerunner 15
|
||||
1907=vivoactive
|
||||
1908=vivoactive Display
|
||||
1909=VivoActive, Fenix3 ANT | ANT / BLE N4
|
||||
1917=Approach G8
|
||||
1918=Edge 510, Korea
|
||||
1925=Approach S6 Display
|
||||
1928=ForeAthlete 620J
|
||||
1929=Forerunner 620 China
|
||||
1930=ForeAthlete 220J
|
||||
1931=Forerunner 220 China
|
||||
1932=nuvi 27x9
|
||||
1936=Approach S6
|
||||
1939=Virb CHN
|
||||
1940=Virb System ASIA
|
||||
1942=Forerunner 920XT Display
|
||||
1947=nuvi 25x9 C4
|
||||
1948=nuvi 26x9 C4
|
||||
1955=vivosmart ANT
|
||||
1956=VivoSmart
|
||||
1958=nuvi C255 China
|
||||
1959=nuvi C265 China
|
||||
1966=Nuvi 55TV Brazil
|
||||
1967=Fenix 2
|
||||
1969=Forerunner 15, ANT
|
||||
1982=MWNavV Japan
|
||||
1987=Epix Display
|
||||
1988=Epix
|
||||
1999=Approach S2 APAC
|
||||
2002=dezl 770
|
||||
2003=dezl 570
|
||||
2005=vivosmart, PSOC
|
||||
2024=Quatix China
|
||||
2030=HAC 2CT
|
||||
2032=T 5, TT 15
|
||||
2035=Approach S4 APAC
|
||||
2043=nuviCam
|
||||
2044=nuviCam Camera Firmware
|
||||
2047=ANT/BLE N1 Firmware
|
||||
2050=fenix 3/tactix Bravo/quatix 3
|
||||
2051=fenix 3/tactix Bravo/quatix 3, Display
|
||||
2052=Edge 1000, Taiwan
|
||||
2053=Edge 1000, Japan
|
||||
2054=Fenix 2 China
|
||||
2061=ForeAthlete 15J
|
||||
2062=Fleet 660 GPS
|
||||
2063=Fleet 670 GPS
|
||||
2067=Edge 520
|
||||
2068=SW,HondaPH
|
||||
2070=Edge 1000, China
|
||||
2077=nuvi 2xx7/2xx8 C4
|
||||
2079=Vector S
|
||||
2081=GPSMAP 7x07
|
||||
2087=nuvi 57/58
|
||||
2088=nuvi 67/68
|
||||
2094=Fenix 2 Japan
|
||||
2100=Edge 1000, Korea
|
||||
2108=fenix 3/tactix Bravo/quatix 3, Wi-Fi
|
||||
2112=Firmware Update for the BC30 RX
|
||||
2123=GPSMAP 64S, SEA
|
||||
2124=GPSMAP 64SJ, Japan
|
||||
2130=Forerunner 920XT Taiwan
|
||||
2131=Forerunner 920XT China
|
||||
2132=Forerunner 920XT Japan
|
||||
2134=VIRB X
|
||||
2135=VivoSmart APAC
|
||||
2140=eTrex Touch 25/35
|
||||
2141=dezlCam
|
||||
2147=Edge 25
|
||||
2148=Forerunner 25
|
||||
2150=vivofit2
|
||||
2151=Forerunner 225, OHR
|
||||
2153=Forerunner 225
|
||||
2156=Forerunner 630
|
||||
2157=Forerunner 230
|
||||
2158=Forerunner 735XT
|
||||
2159=Forerunner Display A1 Firmware
|
||||
2160=vivoactive APAC
|
||||
2161=Vector 2
|
||||
2162=Vector 2S
|
||||
2172=VIRB XE
|
||||
2173=Forerunner 620 Taiwan
|
||||
2175=TruSwing
|
||||
2182=Approach S5
|
||||
2188=fenix 3, K65, China
|
||||
2189=fenix 3, Taiwan
|
||||
2190=T5/TT15 Mini
|
||||
2192=Varia Headlight
|
||||
2194=Approach S6 APAC
|
||||
2196=Wi-Fi A1 Firmware
|
||||
2197=Forerunner 630 Touchscreen
|
||||
2198=Dash Cam 30
|
||||
2199=Dash Cam 35
|
||||
2201=GPS 12H
|
||||
2204=Edge Explore 1000
|
||||
2219=Forerunner 225 Asia
|
||||
2220=ForeAthlete 225J
|
||||
2225=Varia Radar Tail Light
|
||||
2226=Varia Radar Display Unit
|
||||
2228=Forerunner 225 Display
|
||||
2231=Oregon 650TCJ2, JPN
|
||||
2232=SW,Captain
|
||||
2235=SW,Storm
|
||||
2237=Camper/RV 660
|
||||
2238=Edge 20
|
||||
2250=eTrex 20x/30x
|
||||
2260=Edge 520 Asia
|
||||
2261=Edge 520 Japan
|
||||
2262=D2 Bravo
|
||||
2266=Approach S20
|
||||
2267=Drive and DriveSmart 40/50
|
||||
2268=Drive, DriveSmart 60/70 and DriveTrack 70
|
||||
2269=DriveLuxe 50
|
||||
2270=DriveAssist 50
|
||||
2273=ANT/BLE N2 Firmware
|
||||
2274=Edge 1000, Thai
|
||||
2281=GPSMAP 64s, KOR
|
||||
2285=GPSMAP 64st, TWN
|
||||
2288=Edge 25 Asia
|
||||
2289=Edge 25 Japan
|
||||
2290=Edge 20 Asia
|
||||
2292=Approach X40
|
||||
2293=fenix 3, K65, Japan
|
||||
2296=nuviCam APAC
|
||||
2297=nuvi 57, APAC
|
||||
2298=nuvi 67, APAC
|
||||
2299=Montana 610/680
|
||||
2302=eTrex 20x/30x China OPM & TWN
|
||||
2310=Forerunner 630 APAC
|
||||
2311=ForeAthlete 630J
|
||||
2313=ForeAthlete 230J
|
||||
2316=eTrex 20x/30x JPN
|
||||
2317=eTrex 20x/30x SEA
|
||||
2325=UAT-B2325-00
|
||||
2329=VIRBXE APAC System
|
||||
2332=Epix JPN
|
||||
2337=vivoactive HR
|
||||
2338=vivoactive HR Sensor Hub
|
||||
2340=vivoactive HR Display
|
||||
2347=vivosmart HR plus
|
||||
2348=vivosmart HR
|
||||
2361=vivosmart HR APAC
|
||||
2362=vivosmart HR plus APAC
|
||||
2368=Vivomove
|
||||
2369=Forerunner 235 Sensor Hub
|
||||
2379=Varia Tail Light
|
||||
2392=fenix Chronos, Display
|
||||
2393=fenix Chronos, Sensor Hub
|
||||
2396=Forerunner 235 APAC
|
||||
2397=ForeAthlete 235J
|
||||
2398=Varia Vision
|
||||
2400=aera 660
|
||||
2405=Approach X40 BLE Firmware
|
||||
2406=vivofit3
|
||||
2407=fenix 3, K65, Korea
|
||||
2408=fenix 3, K65, SEA
|
||||
2413=fenix 3 HR
|
||||
2414=fenix 3 HR, Display
|
||||
2415=fenix 3 HR, Sensor Hub
|
||||
2417=Virb Ultra 30
|
||||
2423=ANT/BLE N3 Firmware
|
||||
2429=Index Smart Scale
|
||||
2431=Forerunner 235
|
||||
2432=fenix Chronos
|
||||
2435=Zumo 3x5
|
||||
2436=Zumo 595
|
||||
2440=GDR E350/C300
|
||||
2442=Astro 430/Alpha 50
|
||||
2444=Rino 7xx
|
||||
2449=PRO Control 2 RR
|
||||
2450=Delta Smart
|
||||
2467=D2 Bravo, K65, China
|
||||
2470=GDR C530
|
||||
2471=Varia Vision, APAC
|
||||
2473=fenix 3 HR, K26, CHN
|
||||
2478=zumo 590, APAC
|
||||
2479=GPSMAP 276cx
|
||||
2485=GDR E350 Japan
|
||||
2495=DriveAssist 50 Camera FW
|
||||
2496=Garmin Nautix
|
||||
2497=vivoactive HR APAC
|
||||
2503=Forerunner 35
|
||||
2510=Forerunner 735XT, Sensor Hub
|
||||
2512=Oregon 7xx
|
||||
2517=zumo 590 JPN
|
||||
2530=Edge 820
|
||||
2531=Edge Explore 820
|
||||
2533=Forerunner 735XT APAC
|
||||
2534=ForeAthlete 735XTJ
|
||||
2544=fenix 5S
|
||||
2545=Dash Cam 30
|
||||
2546=Dash Cam 35
|
||||
2547=D2 Bravo Titanium
|
||||
2559=Approach S20 APAC
|
||||
2560=D2 Bravo Titanium, Sensor Hub
|
||||
2561=DriveSmart 50 APAC
|
||||
2563=eTrex Touch 35 APAC
|
||||
2569=fleet 660 8G, GPS
|
||||
2570=fleet 670 8G, GPS
|
||||
2576=eTrex Venture Mariner
|
||||
2583=Delta Smart nRF51
|
||||
2584=BMW Motorrad Navigator VI
|
||||
2586=Drive and DriveSmart 51
|
||||
2587=Drive 61
|
||||
2588=DriveSmart 61
|
||||
2589=DriveLuxe 51
|
||||
2590=DriveAssist 51
|
||||
2596=DriveAssist 50, APAC
|
||||
2599=Edge 820 China
|
||||
2600=Edge 820 Japan
|
||||
2604=fenix 5X
|
||||
2606=vivofit jr
|
||||
2614=GPSMAP 64sc
|
||||
2622=vivosmart 3
|
||||
2623=vivosport
|
||||
2624=fenix 3 HR APAC, Sensor Hub
|
||||
2628=Edge 820 Taiwan
|
||||
2629=Edge 820 Korea
|
||||
2630=Edge 820 SEA
|
||||
2639=vivosmart HR plus Israel
|
||||
2641=Xero A1(i)
|
||||
2650=Forerunner 35 Israel
|
||||
2652=Approach G30
|
||||
2653=FR235, NFC CIB
|
||||
2655=FR235 Sensor Hub
|
||||
2656=Approach S60
|
||||
2667=Forerunner 35 APAC
|
||||
2668=Forerunner 35 JPN
|
||||
2675=fenix CHRONOS APAC
|
||||
2681=Oregon 7xx APAC
|
||||
2684=RV/Camper 770
|
||||
2691=Forerunner 935
|
||||
2697=fenix 5
|
||||
2700=vivoactive 3
|
||||
2705=Avtex Tourer One Plus
|
||||
2713=Edge 1030
|
||||
2725=aera 79x China
|
||||
2726=aera 660 China
|
||||
2727=Forerunner 35 SEA
|
||||
2733=FR235, NFC, ExpressPay
|
||||
2763=GPSMAP 64sc JPN
|
||||
2764=GPSMAP 64sc SEA
|
||||
2769=Foretrex 601/701
|
||||
2771=Impact
|
||||
2772=vivomove HR
|
||||
2777=Rino 700
|
||||
2796=Fenix 5 APAC
|
||||
2797=Fenix 5S APAC
|
||||
2798=Fenix 5X APAC
|
||||
2803=Drive and DriveSmart 51, APAC
|
||||
2807=echoMAP Plus 4x
|
||||
2808=echoMAP Plus 6x
|
||||
2809=echoMAP Plus 7x/9x
|
||||
2810=echoMAP Plus 63
|
||||
2814=Forerunner 35 KOR
|
||||
2819=D2 Charlie
|
||||
2826=UAT-2826
|
||||
2831=Vivosmart 3, APAC
|
||||
2832=Vivosport, APAC
|
||||
2833=Forerunner 935 APAC
|
||||
2859=Descent Mk1
|
||||
2886=Forerunner 645
|
||||
2888=Forerunner 645 Music
|
||||
2891=Forerunner 30
|
||||
2893=Atemos 50
|
||||
2894=Atemos 100
|
||||
2907=Approach S60, Host, APAC
|
||||
2924=Edge 1030 APAC
|
||||
2927=vivosmart 4
|
||||
2945=vivomove HR, APAC
|
||||
2956=Alpha 50 CHN
|
||||
2962=Approach X10
|
||||
2976=vivoactive 3, APAC
|
||||
2977=Forerunner 30 APAC
|
||||
2991=Descent APAC
|
||||
2994=D2 Charlie, APAC
|
||||
2996=DriveSmart 61, APAC
|
||||
2997=eTrex 302 CHN
|
||||
3003=Forerunner 645 APAC
|
||||
3004=Forerunner 645M APAC
|
||||
3028=GPSMAP 66
|
||||
3049=Approach S10
|
||||
3089=Fenix 5 Plus APAC
|
||||
3092=Edge 130 APAC
|
||||
3095=Edge 1030 Bontrager
|
||||
3109=DriveAssist 51, APAC
|
||||
3112=Edge 520 Plus
|
||||
3115=GPSMAP 64sc SiteSurvey
|
||||
3134=Fenix 5S Plus APAC
|
||||
3135=Fenix 5X Plus APAC
|
||||
3139=zumo 396, APAC
|
||||
3142=Edge 520 Plus, APAC
|
||||
3144=Forerunner 235 Lite APAC
|
||||
3163=vivoactive 3M, WiFi, APAC
|
||||
3196=D2 Delta
|
||||
3197=D2 Delta S
|
||||
3198=D2 Delta PX
|
||||
3218=Vivosmart 4, APAC
|
Loading…
x
Reference in New Issue
Block a user