Updated README. Small fixes.
This commit is contained in:
15
README.md
15
README.md
@ -1,7 +1,7 @@
|
|||||||
GCD Parser
|
Garmin Firmware Tools
|
||||||
==========
|
=====================
|
||||||
|
|
||||||
This is a parser and some tools for working with GCD files (firmware updates from a well-known manufacturer).
|
This is a parser and some tools for working with GCD files (firmware updates).
|
||||||
|
|
||||||
It's in Python, so feel free to add cool new features and submit pull requests.
|
It's in Python, so feel free to add cool new features and submit pull requests.
|
||||||
|
|
||||||
@ -158,3 +158,12 @@ Dumping to fenix5Plus_510_new.gcd
|
|||||||
```
|
```
|
||||||
|
|
||||||
Checksums (in the GCD file, NOT in the binaries!) will be corrected automatically.
|
Checksums (in the GCD file, NOT in the binaries!) will be corrected automatically.
|
||||||
|
|
||||||
|
|
||||||
|
### get_updates.py [hw_id1|sku1] [hw_id2|sku2] .. [hw_idN|skuN]
|
||||||
|
|
||||||
|
Checks Express and WebUpdater for updates for the given hw_ids (1-4 digits) or full SKUs (###-X####-##).
|
||||||
|
|
||||||
|
The first one is used as the main device in the query. Shouldn't make a big difference in the results, though.
|
||||||
|
|
||||||
|
Special thanks to Alex W. for [his update check](https://github.com/AlexWhiter/GarminRelatedStuff).
|
||||||
|
@ -503,7 +503,7 @@ DEVICES = {
|
|||||||
2141: "dezlCam",
|
2141: "dezlCam",
|
||||||
2147: "Edge 25",
|
2147: "Edge 25",
|
||||||
2148: "Forerunner 25",
|
2148: "Forerunner 25",
|
||||||
2150: "vivofit2",
|
2150: "vivofit 2",
|
||||||
2151: "Forerunner 225, OHR",
|
2151: "Forerunner 225, OHR",
|
||||||
2153: "Forerunner 225",
|
2153: "Forerunner 225",
|
||||||
2156: "Forerunner 630",
|
2156: "Forerunner 630",
|
||||||
@ -575,10 +575,10 @@ DEVICES = {
|
|||||||
2338: "vivoactive HR, Sensor Hub",
|
2338: "vivoactive HR, Sensor Hub",
|
||||||
2339: "vivoactive HR, Touchpanel",
|
2339: "vivoactive HR, Touchpanel",
|
||||||
2340: "vivoactive HR, Display",
|
2340: "vivoactive HR, Display",
|
||||||
2347: "vivosmart HR plus",
|
2347: "vivosmart HR+",
|
||||||
2348: "vivosmart HR",
|
2348: "vivosmart HR",
|
||||||
2361: "vivosmart HR APAC",
|
2361: "vivosmart HR APAC",
|
||||||
2362: "vivosmart HR plus APAC",
|
2362: "vivosmart HR+ APAC",
|
||||||
2368: "vivomove",
|
2368: "vivomove",
|
||||||
2369: "Forerunner 235, Sensor Hub",
|
2369: "Forerunner 235, Sensor Hub",
|
||||||
2379: "Varia Tail Light",
|
2379: "Varia Tail Light",
|
||||||
@ -590,7 +590,7 @@ DEVICES = {
|
|||||||
2400: "aera 660",
|
2400: "aera 660",
|
||||||
2403: "Approach S20, nrF51",
|
2403: "Approach S20, nrF51",
|
||||||
2405: "Approach X40, BT_BLE",
|
2405: "Approach X40, BT_BLE",
|
||||||
2406: "vivofit3",
|
2406: "vivofit 3",
|
||||||
2407: "fenix 3, K65, Korea",
|
2407: "fenix 3, K65, Korea",
|
||||||
2408: "fenix 3, K65, SEA",
|
2408: "fenix 3, K65, SEA",
|
||||||
2413: "fenix 3 HR",
|
2413: "fenix 3 HR",
|
||||||
@ -664,7 +664,7 @@ DEVICES = {
|
|||||||
2630: "Edge 820 SEA",
|
2630: "Edge 820 SEA",
|
||||||
2635: "Dash Cam 45-S",
|
2635: "Dash Cam 45-S",
|
||||||
2636: "Dash Cam 55",
|
2636: "Dash Cam 55",
|
||||||
2639: "vivosmart HR plus Israel",
|
2639: "vivosmart HR+ Israel",
|
||||||
2641: "Xero A1(i)",
|
2641: "Xero A1(i)",
|
||||||
2650: "Forerunner 35 Israel",
|
2650: "Forerunner 35 Israel",
|
||||||
2652: "Approach G30",
|
2652: "Approach G30",
|
||||||
@ -807,7 +807,7 @@ DEVICES = {
|
|||||||
3009: "Forerunner 645 Music APAC, Sensor Hub",
|
3009: "Forerunner 645 Music APAC, Sensor Hub",
|
||||||
3011: "Edge Explore",
|
3011: "Edge Explore",
|
||||||
3013: "fenix 5S Plus, Sensor Hub",
|
3013: "fenix 5S Plus, Sensor Hub",
|
||||||
3014: "fenix 5 Plus, Sensor Hub",
|
3014: "fenix 5 Plus/D2 Delta, Sensor Hub",
|
||||||
3015: "fenix 5X Plus, Sensor Hub",
|
3015: "fenix 5X Plus, Sensor Hub",
|
||||||
3018: "Edge 130 Nordic Software",
|
3018: "Edge 130 Nordic Software",
|
||||||
3028: "GPSMAP 66",
|
3028: "GPSMAP 66",
|
||||||
@ -929,7 +929,7 @@ DEVICES = {
|
|||||||
3417: "Forerunner 245M APAC, Sensor Hub",
|
3417: "Forerunner 245M APAC, Sensor Hub",
|
||||||
3420: "MARQ Driver APAC",
|
3420: "MARQ Driver APAC",
|
||||||
3421: "MARQ Aviator APAC",
|
3421: "MARQ Aviator APAC",
|
||||||
3428: "Vivolife",
|
3428: "vivolife",
|
||||||
3431: "GPSMAP 64sx",
|
3431: "GPSMAP 64sx",
|
||||||
3432: "GPSMAP 64csx",
|
3432: "GPSMAP 64csx",
|
||||||
3441: "Forerunner 945 ASIA",
|
3441: "Forerunner 945 ASIA",
|
||||||
|
@ -12,7 +12,7 @@ import requests
|
|||||||
|
|
||||||
PROTO_API_GETALLUNITSOFTWAREUPDATES_URL = "http://omt.garmin.com/Rce/ProtobufApi/SoftwareUpdateService/GetAllUnitSoftwareUpdates"
|
PROTO_API_GETALLUNITSOFTWAREUPDATES_URL = "http://omt.garmin.com/Rce/ProtobufApi/SoftwareUpdateService/GetAllUnitSoftwareUpdates"
|
||||||
WEBUPDATER_SOFTWAREUPDATE_URL = "https://www.garmin.com/support/WUSoftwareUpdate.jsp"
|
WEBUPDATER_SOFTWAREUPDATE_URL = "https://www.garmin.com/support/WUSoftwareUpdate.jsp"
|
||||||
GRMN_CLIENT_VERSION = "5.7.0.2"
|
GRMN_CLIENT_VERSION = "6.17.0.0"
|
||||||
|
|
||||||
class UpdateServer:
|
class UpdateServer:
|
||||||
|
|
||||||
@ -123,9 +123,9 @@ class UpdateServer:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
#print(r.content)
|
#print(r.content)
|
||||||
with open("protoreply.bin", "wb") as f:
|
#with open("protoreply.bin", "wb") as f:
|
||||||
f.write(r.content)
|
# f.write(r.content)
|
||||||
f.close()
|
# f.close()
|
||||||
|
|
||||||
reply = GetAllUnitSoftwareUpdates_pb2.GetAllUnitSoftwareUpdatesReply()
|
reply = GetAllUnitSoftwareUpdates_pb2.GetAllUnitSoftwareUpdatesReply()
|
||||||
reply.ParseFromString(r.content)
|
reply.ParseFromString(r.content)
|
||||||
@ -148,8 +148,8 @@ class UpdateServer:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
#print(r.content)
|
#print(r.content)
|
||||||
with open("webupdaterreply.xml", "wb") as f:
|
#with open("webupdaterreply.xml", "wb") as f:
|
||||||
f.write(r.content)
|
# f.write(r.content)
|
||||||
f.close()
|
# f.close()
|
||||||
|
|
||||||
return r.content
|
return r.content
|
||||||
|
Reference in New Issue
Block a user