New HWIDs for Marine Software OTAs and new TLV binary fields. Fixes #40

This commit is contained in:
Markus Birth 2024-05-27 02:24:10 +01:00
parent b5c1e956eb
commit 5be4c66ac0
Signed by: mbirth
GPG Key ID: A9928D7A098C3A9A
2 changed files with 40 additions and 3 deletions

View File

@ -282,6 +282,7 @@ DEVICES = {
1120: {0: "Oregon x50 TWN"},
1124: {0: "Forerunner 110"},
1128: {0: "Aera DSP Software"},
1129: {0: "Marine Software - OTA - 006-B1129-00"},
1132: {0: "nuvi 16xx EU"},
1136: {0: "Approach G3"},
1137: {0: "nuvi 1480 TWN"},
@ -360,6 +361,8 @@ DEVICES = {
1396: {0: "Kenwood GVN60, ???"},
1400: {0: "DC20/DC30/DC40"},
1405: {0: "Approach G10"},
1412: {0: "Marine Software - OTA - 006-B1412-00"},
1413: {0: "Marine Software - OTA - 006-B1413-00"},
1420: {0: "Chrysler RHB15 v4/RHB17 v2/RHB17 v4/RHB18 v1"},
1422: {0: "Edge 500 Korea"},
1425: {0: "Chrysler CTP16 v3/CTP17 v4/CTP18 v1"},
@ -578,6 +581,7 @@ DEVICES = {
1956: {0: "vivosmart"},
1958: {0: "nuvi C255 China / nuvi 55 India/Indonesia/SGMY"},
1959: {0: "nuvi C265 China"},
1960: {0: "Marine Software - OTA - 006-B1960-00"},
1966: {0: "nuvi 55TV Brazil"},
1967: {0: "fenix 2"},
1968: {0: "fenix 2, ???"},
@ -585,6 +589,7 @@ DEVICES = {
1982: {0: "BMW Navigator V Japan/China"},
1987: {0: "Epix, Display"},
1988: {0: "Epix"},
1998: {0: "Marine Software - OTA - 006-B1998-00"},
1999: {0: "Approach S2 APAC"},
2000: {0: "Approach S2 APAC, ???"},
2002: {0: "dezl 770"},
@ -606,6 +611,7 @@ DEVICES = {
70: "Flight Stream 510 v2.70",
71: "Flight Stream 510 v2.71",
},
2022: {0: "Marine Software - OTA - 006-B2022-00"},
2024: {0: "Quatix China"},
2030: {0: "HAC 2CT"},
2032: {0: "T 5, TT 15"},
@ -635,9 +641,13 @@ DEVICES = {
2087: {0: "nuvi 57/58"},
2088: {0: "nuvi 67/68"},
2094: {0: "fenix 2 Japan"},
2096: {0: "Marine Software - OTA - 006-B2096-00"},
2100: {0: "Edge 1000, Korea"},
2101: {0: "Marine Software - OTA - 006-B2101-00"},
2108: {0: "fenix 3/tactix Bravo/quatix 3/D2 Bravo, Wi-Fi"},
2112: {0: "Firmware Update for the BC30 RX"},
2120: {0: "Marine Software - OTA - 006-B2120-00"},
2121: {0: "Marine Software - OTA - 006-B2121-00"},
2123: {0: "GPSMAP 64S, SEA"},
2124: {0: "GPSMAP 64SJ, Japan"},
2127: {0: "Touchscreen E1 Firmware"},
@ -778,8 +788,12 @@ DEVICES = {
2413: {0: "fenix 3 HR"},
2414: {0: "fenix 3 HR/D2 Bravo Titanium, Display"},
2415: {0: "fenix 3 HR, Sensor Hub"},
2416: {0: "Marine Software - OTA - 006-B2416-00"},
2417: {0: "VIRB Ultra 30"},
2423: {0: "ANT/BLE N3 Firmware"},
2426: {0: "Marine Software - OTA - 006-B2426-00"},
2427: {0: "Marine Software - OTA - 006-B2427-00"},
2428: {0: "Marine Software - OTA - 006-B2428-00"},
2429: {0: "Index Smart Scale"},
2431: {0: "Forerunner 235"},
2432: {0: "fenix Chronos"},
@ -791,6 +805,7 @@ DEVICES = {
2447: {0: "Varia Vision/Nautix, ???"},
2449: {0: "PRO Control 2 RR"},
2450: {0: "Delta Smart"},
2463: {0: "Marine Software - OTA - 006-B2463-00"},
2467: {0: "D2 Bravo, K65, China"},
2470: {0: "GDR C530"},
2471: {0: "Varia Vision APAC"},
@ -813,6 +828,8 @@ DEVICES = {
2531: {0: "Edge Explore 820"},
2533: {0: "Forerunner 735XT APAC"},
2534: {0: "ForeAthlete 735XTJ"},
2535: {0: "Marine Software - OTA - 006-B2535-00"},
2536: {0: "Marine Software - OTA - 006-B2536-00"},
2544: {0: "fenix 5S"},
2545: {0: "Dash Cam 30 (2545)"},
2546: {0: "Dash Cam 35 (2546)"},
@ -852,6 +869,7 @@ DEVICES = {
2628: {0: "Edge 820 Taiwan"},
2629: {0: "Edge 820 Korea"},
2630: {0: "Edge 820 SEA"},
2631: {0: "Marine Software - OTA - 006-B2631-00"},
2632: {0: "Delta Smart, ???"},
2635: {0: "Dash Cam 45-S"},
2636: {0: "Dash Cam 55"},
@ -877,6 +895,7 @@ DEVICES = {
2675: {0: "fenix Chronos APAC"},
2680: {0: "Spectre, Touchpanel"},
2681: {0: "Oregon 7xx APAC"},
2682: {0: "Marine Software - OTA - 006-B2682-00"},
2684: {0: "RV/Camper 770"},
2687: {0: "VIRB 360"},
2689: {0: "CAN µC AOER, APGC18"},
@ -888,6 +907,7 @@ DEVICES = {
2705: {0: "Avtex Tourer One Plus"},
2708: {0: "Approach S60, ???"},
2713: {0: "Edge 1030"},
2718: {0: "Marine Software - OTA - 006-B2718-00"},
2721: {0: "Edge 1030/Edge 1030 Bontrager, ???"},
2725: {
0: "aera 79x China",
@ -926,6 +946,7 @@ DEVICES = {
0: "vivomove HR, Touchpanel",
1: "vivomove HR Premium, Cap Touch Panel (CTP)",
},
2775: {0: "Marine Software - OTA - 006-B2775-00"},
2776: {0: "Approach G30, Touchscreen"},
2777: {0: "Rino 700"},
2778: {0: "GPS Chipset Type M4"},
@ -1001,6 +1022,7 @@ DEVICES = {
2909: {0: "Edge 130"},
2910: {0: "dezl 780"},
2911: {0: "dezlCam 785"},
2912: {0: "Marine Software - OTA - 006-B2912-00"},
2924: {0: "Edge 1030 APAC"},
2925: {0: "GPS 12H India"},
2927: {0: "vivosmart 4"},
@ -1064,6 +1086,7 @@ DEVICES = {
3077: {0: "Forerunner 245 Music"},
3078: {0: "Forerunner 245, Sensor Hub"},
3079: {0: "Forerunner 245 Music, Sensor Hub"},
3082: {0: "Marine Software - OTA - 006-B3082-00"},
3085: {0: "Approach G80"},
3089: {0: "fenix 5 Plus APAC"},
3091: {0: "PRO 550 Plus, Sensor Hub"},
@ -1137,6 +1160,7 @@ DEVICES = {
3206: {0: "GLO 2"},
3211: {0: "ALT1160 LTE Modem Firmware"},
3216: {0: "Xero S1 Trapshooting Trainer"},
3217: {0: "Marine Software - OTA - 006-B3217-00"},
3218: {0: "vivosmart 4 APAC"},
3220: {0: "NFC 3rd Party Applets"},
3224: {0: "vivoactive 4 Small"},
@ -1384,6 +1408,7 @@ DEVICES = {
10: "RV-85x/RV-105x",
50: "RV-5x Stereo Update",
},
3580: {0: "Marine Software - OTA - 006-B3580-00"},
3589: {0: "Forerunner 745"},
3590: {0: "Forerunner 745, Sensor Hub"},
3591: {0: "Forerunner 745, BLE_BT_ANT"},
@ -1445,6 +1470,7 @@ DEVICES = {
3695: {0: "fleet 790 EU LTE, GPS"},
3698: {0: "Bounce CTP"},
3700: {0: "Approach S62 ASIA"},
3701: {0: "Marine Software - OTA - 006-B3701-00"},
3702: {0: "Descent Mk2i ASIA"},
3703: {0: "venu 2"},
3704: {0: "venu 2S"},
@ -1457,6 +1483,7 @@ DEVICES = {
3711: {0: "Group Ride Radio"},
3715: {0: "fleet 790 SA, GPS"},
3717: {0: "STRIKER Cast, GPS"},
3719: {0: "Marine Software - OTA - 006-B3719-00"},
3720: {0: "Lily, CTP Controller"},
3725: {0: "GPSMAP 65/65s"},
3737: {0: "venu Daimler ASIA"},

View File

@ -21,6 +21,13 @@ TLV_TYPES = {
0x051b: "Binary Region 1b",
0x052b: "Binary Region 2b",
0x0533: "Binary Region 33 (dskimg)",
0x0534: "Binary Region 34",
0x0535: "Binary Region 35",
0x0536: "Binary Region 36",
0x0537: "Binary Region 37",
0x0538: "Binary Region 38",
0x0539: "Binary Region 39",
0x053a: "Binary Region 3a",
0x0549: "Binary Region 49",
0x0555: "Binary Region 55 (fw)",
0x0556: "Binary Region 56",
@ -33,6 +40,8 @@ TLV_TYPES = {
0x0599: "Binary Region 99",
0x059e: "Binary Region 9e (resources)",
0x05a2: "Binary Region a2",
0x05a4: "Binary Region a4",
0x05a5: "Binary Region a5",
0x05ab: "Binary Region ab",
0x05f5: "Binary Region f5",
0x05f9: "Binary Region f9",
@ -47,9 +56,10 @@ TLV_TYPES = {
0xffff: "EOF marker",
}
BINARY_TLVS = [ 0x0008, 0x02bd, 0x0505, 0x0510, 0x051b, 0x052b, 0x0533, 0x0549, 0x0555, 0x0556,
0x0557, 0x0566, 0x057f, 0x0588, 0x0590, 0x0595, 0x0599, 0x059e, 0x05a2, 0x05ab,
0x05f5, 0x05f9, 0x05fa, 0x05fb, 0x05fc, 0x05fd, 0x05fe, 0x07d1, 0x07d2, 0x07d3 ]
BINARY_TLVS = [ 0x0008, 0x02bd, 0x0505, 0x0510, 0x051b, 0x052b, 0x0533, 0x0534, 0x0535, 0x0536,
0x0537, 0x0538, 0x0539, 0x053a, 0x0549, 0x0555, 0x0556, 0x0557, 0x0566, 0x057f,
0x0588, 0x0590, 0x0595, 0x0599, 0x059e, 0x05a2, 0x05a4, 0x05a5, 0x05ab, 0x05f5,
0x05f9, 0x05fa, 0x05fb, 0x05fc, 0x05fd, 0x05fe, 0x07d1, 0x07d2, 0x07d3 ]
class TLV:
def __init__(self, type_id: int, expected_length: int, value=None, offset: int=None):