diff --git a/selfdrive/car/fw_versions.py b/selfdrive/car/fw_versions.py index 399284844f..9155c4c679 100755 --- a/selfdrive/car/fw_versions.py +++ b/selfdrive/car/fw_versions.py @@ -86,8 +86,7 @@ def match_fw_to_car(fw_versions): addr = ecu[1:] found_version = fw_versions_dict.get(addr, None) - # TODO: RAV4, COROLLA esp sometimes doesn't show up - if ecu_type == Ecu.esp and candidate in [TOYOTA.RAV4, TOYOTA.COROLLA] and found_version is None: + if ecu_type == Ecu.esp and candidate in [TOYOTA.RAV4, TOYOTA.COROLLA, TOYOTA.HIGHLANDER] and found_version is None: continue # TODO: COROLLA_TSS2 engine can show on two different addresses diff --git a/selfdrive/car/honda/values.py b/selfdrive/car/honda/values.py index 3b9b6b0600..01ba4174ed 100644 --- a/selfdrive/car/honda/values.py +++ b/selfdrive/car/honda/values.py @@ -125,30 +125,41 @@ for c in FINGERPRINTS: FW_VERSIONS = { CAR.ACCORD: { (Ecu.unknown, 0x18da10f1, None): [ + b'37805-6A0-A640\x00\x00', b'37805-6B2-A550\x00\x00', b'37805-6B2-A650\x00\x00', - b'37805-6A0-A640\x00\x00', + b'37805-6B2-M520\x00\x00', ], (Ecu.unknown, 0x18da0bf1, None): [b'54008-TVC-A910\x00\x00'], - (Ecu.unknown, 0x18da1ef1, None): [b'28102-6B8-A560\x00\x00'], + (Ecu.unknown, 0x18da1ef1, None): [b'28102-6B8-A560\x00\x00', b'28102-6B8-M520\x00\x00'], (Ecu.unknown, 0x18da2bf1, None): [b'46114-TVA-A060\x00\x00'], (Ecu.unknown, 0x18da28f1, None): [b'57114-TVA-C050\x00\x00'], - (Ecu.eps, 0x18da30f1, None): [b'39990-TVA-A150\x00\x00', b'39990-TVA-A160\x00\x00'], + (Ecu.eps, 0x18da30f1, None): [ + b'39990-TVA-A150\x00\x00', + b'39990-TVA-A160\x00\x00', + b'39990-TVA-X030\x00\x00', + ], (Ecu.unknown, 0x18da3af1, None): [b'39390-TVA-A020\x00\x00'], - (Ecu.unknown, 0x18da53f1, None): [b'77959-TVA-A460\x00\x00'], - (Ecu.unknown, 0x18da60f1, None): [b'78109-TVC-A210\x00\x00', b'78109-TVA-A210\x00\x00', b'78109-TVC-A010\x00\x00'], + (Ecu.unknown, 0x18da53f1, None): [b'77959-TVA-A460\x00\x00', b'77959-TVA-X330\x00\x00'], + (Ecu.unknown, 0x18da60f1, None): [ + b'78109-TVA-A210\x00\x00', + b'78109-TVC-A010\x00\x00', + b'78109-TVC-A110\x00\x00', + b'78109-TVC-A210\x00\x00', + b'78109-TVC-M510\x00\x00', + ], (Ecu.unknown, 0x18da61f1, None): [b'78209-TVA-A010\x00\x00'], - (Ecu.unknown, 0x18dab0f1, None): [b'36802-TVA-A160\x00\x00'], - (Ecu.unknown, 0x18dab5f1, None): [b'36161-TVA-A060\x00\x00'], + (Ecu.unknown, 0x18dab0f1, None): [b'36802-TVA-A160\x00\x00', b'36802-TWA-A070\x00\x00'], + (Ecu.unknown, 0x18dab5f1, None): [b'36161-TVA-A060\x00\x00', b'36161-TWA-A070\x00\x00'], (Ecu.unknown, 0x18daeff1, None): [b'38897-TVA-A010\x00\x00'], }, CAR.ACCORD_15: { (Ecu.unknown, 0x18da10f1, None): [ + b'37805-6A0-9620\x00\x00' b'37805-6A0-A640\x00\x00', b'37805-6A0-A740\x00\x00', b'37805-6A0-A840\x00\x00', b'37805-6A0-A850\x00\x00', - b'37805-6A0-9620\x00\x00' ], (Ecu.unknown, 0x18da1ef1, None): [ b'28101-6A7-A220\x00\x00', @@ -156,7 +167,11 @@ FW_VERSIONS = { b'28101-6A7-A510\x00\x00', ], (Ecu.unknown, 0x18daeff1, None): [b'38897-TVA-A230\x00\x00'], - (Ecu.unknown, 0x18da2bf1, None): [b'46114-TVA-A060\x00\x00', b'46114-TVA-A120\x00\x00'], + (Ecu.unknown, 0x18da2bf1, None): [ + b'46114-TVA-A050\x00\x00', + b'46114-TVA-A060\x00\x00', + b'46114-TVA-A120\x00\x00', + ], (Ecu.unknown, 0x18da60f1, None): [ b'78109-TVA-A010\x00\x00', b'78109-TVA-A210\x00\x00', @@ -190,28 +205,36 @@ FW_VERSIONS = { b'78109-TWA-A010\x00\x00', b'78109-TWA-A120\x00\x00', b'78109-TWA-A210\x00\x00', + b'78109-TWA-A110\x00\x00', ], (Ecu.unknown, 0x18da0bf1, None): [b'54008-TWA-A910\x00\x00'], (Ecu.unknown, 0x18da61f1, None): [b'78209-TVA-A010\x00\x00'], (Ecu.unknown, 0x18dab5f1, None): [b'36161-TWA-A070\x00\x00'], (Ecu.unknown, 0x18dab0f1, None): [b'36802-TWA-A080\x00\x00', b'36802-TWA-A070\x00\x00'], - (Ecu.eps, 0x18da30f1, None): [b'39990-TVA-A160\x00\x00'], + (Ecu.eps, 0x18da30f1, None): [b'39990-TVA-A160\x00\x00', b'39990-TVA-A150\x00\x00'], }, CAR.CIVIC: { (Ecu.unknown, 0x18da10f1, None): [ b'37805-5AA-A640\x00\x00', b'37805-5AA-A650\x00\x00', + b'37805-5AA-A670\x00\x00', + b'37805-5AA-A680\x00\x00', b'37805-5AA-A810\x00\x00', b'37805-5AA-L660\x00\x00', + b'37805-5AJ-A610\x00\x00', + b'37805-5BA-A510\x00\x00', b'37805-5BA-L940\x00\x00', b'37805-5BA-L960\x00\x00', ], (Ecu.unknown, 0x18da1ef1, None): [ b'28101-5CG-A040\x00\x00', b'28101-5CG-A050\x00\x00', + b'28101-5CG-A070\x00\x00', + b'28101-5CG-A080\x00\x00', b'28101-5CG-A810\x00\x00', b'28101-5DJ-A040\x00\x00', b'28101-5DJ-A060\x00\x00', + b'28101-5DJ-A510\x00\x00', ], (Ecu.unknown, 0x18da28f1, None): [ b'57114-TBA-A550\x00\x00', @@ -219,72 +242,114 @@ FW_VERSIONS = { b'57114-TBA-A570\x00\x00' ], (Ecu.eps, 0x18da30f1, None): [ - b'39990-TBA-A030\x00\x00', b'39990-TBA,A030\x00\x00', - b'39990-TBG-A030\x00\x00' + b'39990-TBA-A030\x00\x00', + b'39990-TBG-A030\x00\x00', + b'39990-TEG-A010\x00\x00', + ], + (Ecu.unknown, 0x18da53f1, None): [ + b'77959-TBA-A030\x00\x00', + b'77959-TBA-A040\x00\x00', + b'77959-TBG-A030\x00\x00', ], - (Ecu.unknown, 0x18da53f1, None): [b'77959-TBA-A030\x00\x00', b'77959-TBG-A030\x00\x00'], (Ecu.unknown, 0x18da60f1, None): [ b'78109-TBC-A310\x00\x00', + b'78109-TBC-A320\x00\x00', b'78109-TBC-A510\x00\x00', - b'78109-TBH-A530\x00\x00', b'78109-TBC-A520\x00\x00', + b'78109-TBC-A530\x00\x00', + b'78109-TBH-A530\x00\x00', + b'78109-TEG-A310\x00\x00', ], (Ecu.unknown, 0x18dab0f1, None): [ + b'36161-TBA-A030\x00\x00', b'36161-TBC-A020\x00\x00', b'36161-TBC-A030\x00\x00', - b'36161-TBA-A030\x00\x00', + b'36161-TEG-A010\x00\x00', ], (Ecu.unknown, 0x18daeff1, None): [ + b'36161-TBA-A030\x00\x00', b'38897-TBA-A010\x00\x00', b'38897-TBA-A020\x00\x00', - b'36161-TBA-A030\x00\x00', ], }, CAR.CIVIC_BOSCH: { (Ecu.unknown, 0x18da10f1, None): [ + b'37805-5AA-A950\x00\x00', + b'37805-5AA-L950\x00\x00', b'37805-5AN-A750\x00\x00', b'37805-5AN-A830\x00\x00', b'37805-5AN-A930\x00\x00', + b'37805-5AN-L940\x00\x00', + b'37805-5AZ-E850\x00\x00', b'37805-5BB-L640\x00\x00', ], (Ecu.unknown, 0x18da1ef1, None): [ + b'28101-5CG-A920\x00\x00', b'28101-5CK-A130\x00\x00', + b'28101-5CK-A140\x00\x00', b'28101-5CK-A150\x00\x00', b'28101-5CK-C130\x00\x00', b'28101-5DJ-A710\x00\x00', + b'28101-5DV-E330\x00\x00', + ], + (Ecu.unknown, 0x18da28f1, None): [ + b'57114-TBG-A340\x00\x00', + b'57114-TGG-A340\x00\x00', + b'57114-TGL-G330\x00\x00', ], - (Ecu.unknown, 0x18da28f1, None): [b'57114-TBG-A340\x00\x00', b'57114-TGG-A340\x00\x00'], (Ecu.eps, 0x18da30f1, None): [ b'39990-TBA-C020\x00\x00', + b'39990-TBA-C120\x00\x00', b'39990-TGG-A020\x00\x00', b'39990-TGG-A120\x00\x00', + b'39990-TGL-E130\x00\x00', + ], + (Ecu.unknown, 0x18da53f1, None): [ + b'77959-TBA-A060\x00\x00', + b'77959-TGG-A020\x00\x00', + b'77959-TGG-G010\x00\x00', ], - (Ecu.unknown, 0x18da53f1, None): [b'77959-TBA-A060\x00\x00', b'77959-TGG-A020\x00\x00'], (Ecu.unknown, 0x18da60f1, None): [ b'78109-TBA-A910\x00\x00', + b'78109-TBC-A740\x00\x00', b'78109-TGG-A210\x00\x00', b'78109-TGG-A310\x00\x00', b'78109-TGG-A810\x00\x00', + b'78109-TGL-G120\x00\x00', + ], + (Ecu.unknown, 0x18dab0f1, None): [ + b'36802-TBA-A150\x00\x00', + b'36802-TGG-A050\x00\x00', + b'36802-TGL-G040\x00\x00', + ], + (Ecu.unknown, 0x18dab5f1, None): [ + b'36161-TBA-A130\x00\x00', + b'36161-TGG-A060\x00\x00', + b'36161-TGL-G050\x00\x00', ], - (Ecu.unknown, 0x18dab0f1, None): [b'36802-TBA-A150\x00\x00', b'36802-TGG-A050\x00\x00'], - (Ecu.unknown, 0x18dab5f1, None): [b'36161-TBA-A130\x00\x00', b'36161-TGG-A060\x00\x00'], (Ecu.unknown, 0x18daeff1, None): [b'38897-TBA-A110\x00\x00', b'38897-TBA-A020\x00\x00'], }, CAR.CRV_5G: { (Ecu.unknown, 0x18da10f1, None): [ b'37805-5PA-3080\x00\x00', - b'37805-5PA-A670\x00\x00', - b'37805-5PA-A850\x00\x00', + b'37805-5PA-4050\x00\x00', + b'37805-5PA-6530\x00\x00', b'37805-5PA-6630\x00\x00', + b'37805-5PA-A670\x00\x00', b'37805-5PA-A680\x00\x00', + b'37805-5PA-A850\x00\x00', + b'37805-5PA-A870\x00\x00', + b'37805-5PA-A890\x00\x00', ], (Ecu.unknown, 0x18da1ef1, None): [ b'28101-5RG-A020\x00\x00', + b'28101-5RG-A030\x00\x00', b'28101-5RG-A040\x00\x00', + b'28101-5RG-A120\x00\x00', b'28101-5RH-A030\x00\x00', - b'28101-5RH-A120\x00\x00', b'28101-5RH-A040\x00\x00', + b'28101-5RH-A120\x00\x00', ], (Ecu.unknown, 0x18da28f1, None): [ b'57114-TLA-A040\x00\x00', @@ -296,6 +361,7 @@ FW_VERSIONS = { (Ecu.unknown, 0x18da60f1, None): [ b'78109-TLA-A110\x00\x00', b'78109-TLA-A210\x00\x00', + b'78109-TLA-C210\x00\x00', b'78109-TLB-A110\x00\x00', b'78109-TLB-A210\x00\x00', ], @@ -307,31 +373,54 @@ FW_VERSIONS = { ], (Ecu.unknown, 0x18dab5f1, None): [ b'36161-TLA-A060\x00\x00', + b'36161-TLA-A070\x00\x00', b'36161-TLA-A080\x00\x00', ], - (Ecu.unknown, 0x18da53f1, None): [b'77959-TLA-A240\x00\x00', b'77959-TLA-A250\x00\x00'], + (Ecu.unknown, 0x18da53f1, None): [ + b'77959-TLA-A240\x00\x00', + b'77959-TLA-A250\x00\x00', + b'77959-TLA-A320\x00\x00', + ], }, CAR.ODYSSEY: { (Ecu.unknown, 0x18daeff1, None): [b'38897-THR-A010\x00\x00', b'38897-THR-A020\x00\x00'], (Ecu.unknown, 0x18da10f1, None): [ b'37805-5MR-A250\x00\x00', - b'37805-5MR-C620\x00\x00', b'37805-5MR-A310\x00\x00', + b'37805-5MR-A750\x00\x00', + b'37805-5MR-A840\x00\x00', + b'37805-5MR-C620\x00\x00', ], (Ecu.eps, 0x18da30f1, None): [b'39990-THR-A020\x00\x00', b'39990-THR-A030\x00\x00'], (Ecu.unknown, 0x18da53f1, None): [b'77959-THR-A010\x00\x00', b'77959-THR-A110\x00\x00'], (Ecu.unknown, 0x18dab0f1, None): [ b'36161-THR-A030\x00\x00', - b'36161-THR-C010\x00\x00', b'36161-THR-A110\x00\x00', + b'36161-THR-A720\x00\x00', + b'36161-THR-A810\x00\x00', + b'36161-THR-C010\x00\x00', + ], + (Ecu.unknown, 0x18da1ef1, None): [ + b'28101-5NZ-A310\x00\x00', + b'28101-5NZ-C310\x00\x00', + b'28102-5MX-A001\x00\x00', + b'28102-5MX-A610\x00\x00', + b'28102-5MX-A710\x00\x00', + b'28102-5MX-A910\x00\x00', + b'28103-5NZ-A300\x00\x00', ], - (Ecu.unknown, 0x18da1ef1, None): [b'28101-5NZ-A310\x00\x00', b'28102-5MX-A910\x00\x00'], (Ecu.unknown, 0x18da28f1, None): [b'57114-THR-A040\x00\x00', b'57114-THR-A110\x00\x00'], (Ecu.unknown, 0x18da60f1, None): [ b'78109-THR-A230\x00\x00', b'78109-THR-A430\x00\x00', - b'78109-THR-AL10\x00\x00', + b'78109-THR-A820\x00\x00', + b'78109-THR-AB20\x00\x00', + b'78109-THR-AB20\x00\x00', + b'78109-THR-AB40\x00\x00', b'78109-THR-AC40\x00\x00', + b'78109-THR-AE40\x00\x00', + b'78109-THR-AL10\x00\x00', + b'78109-THR-C330\x00\x00', ], (Ecu.unknown, 0x18da0bf1, None): [b'54008-THR-A020\x00\x00'], }, @@ -341,21 +430,26 @@ FW_VERSIONS = { (Ecu.unknown, 0x18dab0f1, None): [ b'36161-TG7-A630\x00\x00', b'36161-TG7-A930\x00\x00', - b'36161-TGS-A130\x00\x00', b'36161-TG8-A630\x00\x00', + b'36161-TGS-A130\x00\x00', + b'36161-TGT-A030\x00\x00', ], (Ecu.unknown, 0x18da53f1, None): [b'77959-TG7-A210\x00\x00', b'77959-TGS-A010\x00\x00'], (Ecu.unknown, 0x18da60f1, None): [ b'78109-TG7-AJ20\x00\x00', + b'78109-TG7-AP10\x00\x00', b'78109-TG7-AP20\x00\x00', - b'78109-TGS-AP20\x00\x00', b'78109-TG8-AJ20\x00\x00', + b'78109-TGS-AK20\x00\x00', + b'78109-TGS-AP20\x00\x00', + b'78109-TGT-AJ20\x00\x00', ], (Ecu.unknown, 0x18da28f1, None): [ b'57114-TG7-A630\x00\x00', b'57114-TG7-A730\x00\x00', - b'57114-TGS-A530\x00\x00', b'57114-TG8-A630\x00\x00', + b'57114-TGS-A530\x00\x00', + b'57114-TGT-A530\x00\x00', ], }, CAR.RIDGELINE: { diff --git a/selfdrive/car/toyota/values.py b/selfdrive/car/toyota/values.py index 08930f4ff6..2e451a0aca 100644 --- a/selfdrive/car/toyota/values.py +++ b/selfdrive/car/toyota/values.py @@ -254,61 +254,85 @@ FW_VERSIONS = { CAR.CAMRY: { (Ecu.engine, 0x700, None): [ b'\x018966333P4200\x00\x00\x00\x00', + b'\x018966333P4300\x00\x00\x00\x00', + b'\x018966333P4400\x00\x00\x00\x00', + b'\x018966333P4500\x00\x00\x00\x00', b'\x018966333P4700\x00\x00\x00\x00', ], (Ecu.dsu, 0x791, None): [ b'8821F0607200 ', b'8821F0601300 ', + b'8821F0603300 ', ], (Ecu.esp, 0x7b0, None): [ b'F152606210\x00\x00\x00\x00\x00\x00', + b'F152606230\x00\x00\x00\x00\x00\x00', b'F152606290\x00\x00\x00\x00\x00\x00', + b'F152633540\x00\x00\x00\x00\x00\x00', ], (Ecu.eps, 0x7a1, None): [b'8965B33540\x00\x00\x00\x00\x00\x00'], - (Ecu.fwdRadar, 0x750, 0xf): [ - b'8821F0607200 ', + (Ecu.fwdRadar, 0x750, 0xf): [ # Same as 0x791 b'8821F0601300 ', + b'8821F0603300 ', + b'8821F0607200 ', ], (Ecu.fwdCamera, 0x750, 0x6d): [ b'8646F0601200 ', b'8646F0601300 ', + b'8646F0603400 ', ], }, CAR.CAMRYH: { (Ecu.engine, 0x700, None): [ + b'\x028966306B2100\x00\x00\x00\x00897CF3302002\x00\x00\x00\x00', b'\x028966306N8200\x00\x00\x00\x00897CF3302002\x00\x00\x00\x00', b'\x028966306R5000\x00\x00\x00\x00897CF3302002\x00\x00\x00\x00', ], (Ecu.esp, 0x7b0, None): [ + b'F152633712\x00\x00\x00\x00\x00\x00', b'F152633713\x00\x00\x00\x00\x00\x00', b'F152633B51\x00\x00\x00\x00\x00\x00', ], (Ecu.dsu, 0x791, None): [ + b'8821F0601200 ', b'8821F0601300 ', b'8821F0607200 ', ], (Ecu.eps, 0x7a1, None): [b'8965B33540\x00\x00\x00\x00\x00\x00'], - (Ecu.fwdRadar, 0x750, 0xf): [ + (Ecu.fwdRadar, 0x750, 0xf): [ # Same as 0x791 + b'8821F0601200 ', b'8821F0601300 ', b'8821F0607200 ', ], (Ecu.fwdCamera, 0x750, 0x6d): [ + b'8646F0601200 ', b'8646F0601300 ', b'8646F0605000 ', ], }, CAR.COROLLA: { (Ecu.engine, 0x7e0, None): [ + b'\x01896630E88000\x00\x00\x00\x00', + b'\x0230ZC2100\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x0230ZC2200\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x0230ZC2300\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x0230ZC3000\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x0230ZC3200\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x0230ZC3300\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x0330ZC1200\x00\x00\x00\x00\x00\x00\x00\x0050212000\x00\x00\x00\x00\x00\x00\x00\x00895231203202\x00\x00\x00\x00', - ], - (Ecu.dsu, 0x791, None): [b'881510201100\x00\x00\x00\x00'], - (Ecu.esp, 0x7b0, None): [b'F152602190\x00\x00\x00\x00\x00\x00'], + (Ecu.dsu, 0x791, None): [ + b'881510201100\x00\x00\x00\x00', + b'881510201200\x00\x00\x00\x00', + ], + (Ecu.esp, 0x7b0, None): [ + b'F152602190\x00\x00\x00\x00\x00\x00', + b'F152602191\x00\x00\x00\x00\x00\x00', + ], (Ecu.eps, 0x7a1, None): [ b'8965B02181\x00\x00\x00\x00\x00\x00', b'8965B02191\x00\x00\x00\x00\x00\x00', + b'8965B48150\x00\x00\x00\x00\x00\x00', ], (Ecu.fwdRadar, 0x750, 0xf): [ b'8821F4702100\x00\x00\x00\x00', @@ -317,21 +341,25 @@ FW_VERSIONS = { (Ecu.fwdCamera, 0x750, 0x6d): [ b'8646F0201101\x00\x00\x00\x00', b'8646F0201200\x00\x00\x00\x00', + b'8646F0E01300\x00\x00\x00\x00', ], }, CAR.COROLLA_TSS2: { (Ecu.engine, 0x700, None): [ b'\x01896630ZG5000\x00\x00\x00\x00', b'\x01896630ZG5100\x00\x00\x00\x00', + b'\x01896630ZG5200\x00\x00\x00\x00', b'\x01896630ZQ5000\x00\x00\x00\x00', b'\x018966312L8000\x00\x00\x00\x00', b'\x018966312P9000\x00\x00\x00\x00', b'\x018966312P9100\x00\x00\x00\x00', + b'\x018966312P9200\x00\x00\x00\x00', b'\x018966312R1000\x00\x00\x00\x00', b'\x018966312R1100\x00\x00\x00\x00', b'\x018966312R3100\x00\x00\x00\x00', ], (Ecu.engine, 0x7e0, None): [ + b'\x03312N6000\x00\x00\x00\x00\x00\x00\x00\x00A0202000\x00\x00\x00\x00\x00\x00\x00\x00895231203202\x00\x00\x00\x00', b'\x03312N6000\x00\x00\x00\x00\x00\x00\x00\x00A0202000\x00\x00\x00\x00\x00\x00\x00\x00895231203302\x00\x00\x00\x00', ], (Ecu.eps, 0x7a1, None): [ @@ -341,12 +369,13 @@ FW_VERSIONS = { b'\x018965B12530\x00\x00\x00\x00\x00\x00', ], (Ecu.esp, 0x7b0, None): [ + b'F152602191\x00\x00\x00\x00\x00\x00', b'\x01F152602280\x00\x00\x00\x00\x00\x00', b'\x01F152602560\x00\x00\x00\x00\x00\x00', b'\x01F152612641\x00\x00\x00\x00\x00\x00', b'\x01F152612B10\x00\x00\x00\x00\x00\x00', - b'\x01F152612B90\x00\x00\x00\x00\x00\x00', b'\x01F152612B60\x00\x00\x00\x00\x00\x00', + b'\x01F152612B90\x00\x00\x00\x00\x00\x00', ], (Ecu.fwdRadar, 0x750, 0xf): [ b'\x018821F3301100\x00\x00\x00\x00', @@ -364,36 +393,64 @@ FW_VERSIONS = { CAR.COROLLAH_TSS2: { (Ecu.engine, 0x700, None): [ b'\x018966342M5000\x00\x00\x00\x00', + b'\x02896630ZQ3000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', + b'\x02896630ZR2000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', + b'\x028966312Q4000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', b'\x038966312N1000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF1203001\x00\x00\x00\x00', ], (Ecu.eps, 0x7a1, None): [ - b'\x018965B12350\x00\x00\x00\x00\x00\x00', + b'8965B12361\x00\x00\x00\x00\x00\x00', + b'8965B12451\x00\x00\x00\x00\x00\x00', b'8965B42170\x00\x00\x00\x00\x00\x00', + b'\x018965B12350\x00\x00\x00\x00\x00\x00', + b'\x018965B12470\x00\x00\x00\x00\x00\x00', + b'\x018965B12500\x00\x00\x00\x00\x00\x00', ], (Ecu.esp, 0x7b0, None): [ + b'F152612590\x00\x00\x00\x00\x00\x00', b'F152612691\x00\x00\x00\x00\x00\x00', + b'F152612700\x00\x00\x00\x00\x00\x00', + b'F152612800\x00\x00\x00\x00\x00\x00', + b'F152612840\x00\x00\x00\x00\x00\x00', b'F152642540\x00\x00\x00\x00\x00\x00', ], (Ecu.fwdRadar, 0x750, 0xf): [ + b'\x018821F3301200\x00\x00\x00\x00', b'\x018821F3301300\x00\x00\x00\x00', b'\x018821F3301400\x00\x00\x00\x00', - b'\x018821F3301200\x00\x00\x00\x00', ], (Ecu.fwdCamera, 0x750, 0x6d): [ b'\x028646F1201100\x00\x00\x00\x008646G26011A0\x00\x00\x00\x00', + b'\x028646F1202000\x00\x00\x00\x008646G2601200\x00\x00\x00\x00', b'\x028646F4203400\x00\x00\x00\x008646G2601200\x00\x00\x00\x00', ], }, CAR.HIGHLANDER: { (Ecu.engine, 0x700, None): [ + b'\x01896630E43100\x00\x00\x00\x00', + b'\x01896630E45200\x00\x00\x00\x00', b'\x01896630E83000\x00\x00\x00\x00', + b'\x01896630E84000\x00\x00\x00\x00', b'\x01896630E85000\x00\x00\x00\x00', + b'\x01896630E88000\x00\x00\x00\x00', + ], + (Ecu.eps, 0x7a1, None): [ + b'8965B48140\x00\x00\x00\x00\x00\x00', + b'8965B48150\x00\x00\x00\x00\x00\x00', ], - (Ecu.eps, 0x7a1, None): [b'8965B48140\x00\x00\x00\x00\x00\x00'], (Ecu.esp, 0x7b0, None): [b'F15260E011\x00\x00\x00\x00\x00\x00'], - (Ecu.dsu, 0x791, None): [b'881510E01200\x00\x00\x00\x00'], - (Ecu.fwdRadar, 0x750, 0xf): [b'8821F4702300\x00\x00\x00\x00'], - (Ecu.fwdCamera, 0x750, 0x6d): [b'8646F0E01200\x00\x00\x00\x00'], + (Ecu.dsu, 0x791, None): [ + b'881510E01100\x00\x00\x00\x00', + b'881510E01200\x00\x00\x00\x00', + ], + (Ecu.fwdRadar, 0x750, 0xf): [ + b'8821F4702100\x00\x00\x00\x00', + b'8821F4702300\x00\x00\x00\x00', + ], + (Ecu.fwdCamera, 0x750, 0x6d): [ + b'8646F0E01200\x00\x00\x00\x00', + b'8646F0E01300\x00\x00\x00\x00', + ], }, CAR.LEXUS_IS: { (Ecu.engine, 0x700, None): [b'\x018966353Q2300\x00\x00\x00\x00'], @@ -407,9 +464,12 @@ FW_VERSIONS = { (Ecu.engine, 0x700, None): [ b'\x02896634761000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', b'\x02896634761100\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', + b'\x02896634763000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', b'\x02896634769100\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', b'\x02896634774000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', b'\x02896634774100\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', + b'\x02896634774200\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', + b'\x02896634782000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00', b'\x03896634759200\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4701003\x00\x00\x00\x00', b'\x03896634759300\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4701004\x00\x00\x00\x00', b'\x03896634760000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4701002\x00\x00\x00\x00', @@ -418,6 +478,7 @@ FW_VERSIONS = { b'\x03896634768000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4703001\x00\x00\x00\x00', b'\x03896634768000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4703002\x00\x00\x00\x00', b'\x03896634768100\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4703002\x00\x00\x00\x00', + b'\x03896634785000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4705001\x00\x00\x00\x00', b'\x03896634786000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4710001\x00\x00\x00\x00', b'\x03896634789000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4703002\x00\x00\x00\x00', b'\x038966347A3000\x00\x00\x00\x008966A4703000\x00\x00\x00\x00897CF4707001\x00\x00\x00\x00', @@ -438,6 +499,7 @@ FW_VERSIONS = { b'F152647417\x00\x00\x00\x00\x00\x00', b'F152647490\x00\x00\x00\x00\x00\x00', b'F152647684\x00\x00\x00\x00\x00\x00', + b'F152647862\x00\x00\x00\x00\x00\x00', b'F152647863\x00\x00\x00\x00\x00\x00', b'F152647864\x00\x00\x00\x00\x00\x00', b'F152647865\x00\x00\x00\x00\x00\x00', @@ -454,43 +516,62 @@ FW_VERSIONS = { b'8821F4702300\x00\x00\x00\x00', ], (Ecu.fwdCamera, 0x750, 0x6d): [ + b'8646F4201200\x00\x00\x00\x00', + b'8646F4701300\x00\x00\x00\x00', b'8646F4702001\x00\x00\x00\x00', b'8646F4702100\x00\x00\x00\x00', b'8646F4702200\x00\x00\x00\x00', b'8646F4705000\x00\x00\x00\x00', b'8646F4705200\x00\x00\x00\x00', - b'8646F4701300\x00\x00\x00\x00', ], }, CAR.RAV4: { (Ecu.engine, 0x7e0, None): [ + b'\x02342Q1100\x00\x00\x00\x00\x00\x00\x00\x0054212000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x02342Q1300\x00\x00\x00\x00\x00\x00\x00\x0054212000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x02342Q2000\x00\x00\x00\x00\x00\x00\x00\x0054213000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x02342Q2100\x00\x00\x00\x00\x00\x00\x00\x0054213000\x00\x00\x00\x00\x00\x00\x00\x00', - b'\x02342Q1100\x00\x00\x00\x00\x00\x00\x00\x0054212000\x00\x00\x00\x00\x00\x00\x00\x00', ], - (Ecu.eps, 0x7a1, None): [b'8965B42083\x00\x00\x00\x00\x00\x00'], - (Ecu.esp, 0x7b0, None): [b'F15260R103\x00\x00\x00\x00\x00\x00'], + (Ecu.eps, 0x7a1, None): [ + b'8965B42082\x00\x00\x00\x00\x00\x00', + b'8965B42083\x00\x00\x00\x00\x00\x00', + ], + (Ecu.esp, 0x7b0, None): [ + b'F15260R103\x00\x00\x00\x00\x00\x00', + b'F152642493\x00\x00\x00\x00\x00\x00', + ], (Ecu.dsu, 0x791, None): [ b'881514201300\x00\x00\x00\x00', b'881514201400\x00\x00\x00\x00', ], - (Ecu.fwdRadar, 0x750, 0xf): [b'8821F4702100\x00\x00\x00\x00'], + (Ecu.fwdRadar, 0x750, 0xf): [ + b'8821F4702000\x00\x00\x00\x00', + b'8821F4702100\x00\x00\x00\x00', + b'8821F4702300\x00\x00\x00\x00', + ], (Ecu.fwdCamera, 0x750, 0x6d): [ - b'8646F4202100\x00\x00\x00\x00', + b'8646F4201200\x00\x00\x00\x00', b'8646F4202001\x00\x00\x00\x00', + b'8646F4202100\x00\x00\x00\x00', ], }, CAR.RAV4H: { (Ecu.engine, 0x7e0, None): [ b'\x02342N9000\x00\x00\x00\x00\x00\x00\x00\x00A4701000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x02342N9100\x00\x00\x00\x00\x00\x00\x00\x00A4701000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x02342P0000\x00\x00\x00\x00\x00\x00\x00\x00A4701000\x00\x00\x00\x00\x00\x00\x00\x00', b'\x02342Q2000\x00\x00\x00\x00\x00\x00\x00\x0054213000\x00\x00\x00\x00\x00\x00\x00\x00', ], (Ecu.eps, 0x7a1, None): [ - b'8965B42163\x00\x00\x00\x00\x00\x00', + b'8965B42103\x00\x00\x00\x00\x00\x00', b'8965B42162\x00\x00\x00\x00\x00\x00', + b'8965B42163\x00\x00\x00\x00\x00\x00', + ], + (Ecu.esp, 0x7b0, None): [ + b'F152642090\x00\x00\x00\x00\x00\x00', + b'F152642120\x00\x00\x00\x00\x00\x00', + b'F152642400\x00\x00\x00\x00\x00\x00', ], - (Ecu.esp, 0x7b0, None): [b'F152642120\x00\x00\x00\x00\x00\x00'], (Ecu.fwdRadar, 0x750, 0xf): [ b'8821F4702000\x00\x00\x00\x00', b'8821F4702100\x00\x00\x00\x00', @@ -498,6 +579,7 @@ FW_VERSIONS = { ], (Ecu.fwdCamera, 0x750, 0x6d): [ b'8646F4201100\x00\x00\x00\x00', + b'8646F4201200\x00\x00\x00\x00', b'8646F4202001\x00\x00\x00\x00', b'8646F4202100\x00\x00\x00\x00', b'8646F4204000\x00\x00\x00\x00', @@ -505,46 +587,63 @@ FW_VERSIONS = { }, CAR.RAV4_TSS2: { (Ecu.engine, 0x700, None): [ + b'\x018966333Q6200\x00\x00\x00\x00', b'\x018966342E2000\x00\x00\x00\x00', b'\x018966342M8000\x00\x00\x00\x00', b'\x018966342T1000\x00\x00\x00\x00', + b'\x018966342T6000\x00\x00\x00\x00', + b'\x018966342V3100\x00\x00\x00\x00', + b'\x018966342X5000\x00\x00\x00\x00', + b'\x01896634A05000\x00\x00\x00\x00', b'\x01896634A22000\x00\x00\x00\x00', b'\x01F152642551\x00\x00\x00\x00\x00\x00', b'\x028966342Y8000\x00\x00\x00\x00897CF1201001\x00\x00\x00\x00', ], (Ecu.esp, 0x7b0, None): [ + b'F152606230\x00\x00\x00\x00\x00\x00', + b'F152642520\x00\x00\x00\x00\x00\x00', b'\x01F15260R210\x00\x00\x00\x00\x00\x00', b'\x01F15260R220\x00\x00\x00\x00\x00\x00', + b'\x01F152642551\x00\x00\x00\x00\x00\x00', + b'\x01F152642561\x00\x00\x00\x00\x00\x00', + b'\x01F152642710\x00\x00\x00\x00\x00\x00', ], (Ecu.eps, 0x7a1, None): [ + b'8965B33540\x00\x00\x00\x00\x00\x00', b'8965B42170\x00\x00\x00\x00\x00\x00', b'8965B42171\x00\x00\x00\x00\x00\x00', b'\x028965B0R01200\x00\x00\x00\x008965B0R02200\x00\x00\x00\x00', ], (Ecu.fwdRadar, 0x750, 0xf): [ + b'8821F0607200 ', b'\x018821F3301100\x00\x00\x00\x00', b'\x018821F3301200\x00\x00\x00\x00', b'\x018821F3301300\x00\x00\x00\x00', b'\x018821F3301400\x00\x00\x00\x00', ], (Ecu.fwdCamera, 0x750, 0x6d): [ + b'8646F0605000 ', b'\x028646F4203200\x00\x00\x00\x008646G26011A0\x00\x00\x00\x00', b'\x028646F4203300\x00\x00\x00\x008646G26011A0\x00\x00\x00\x00', + b'\x028646F4203400\x00\x00\x00\x008646G2601200\x00\x00\x00\x00', b'\x028646F4203500\x00\x00\x00\x008646G2601200\x00\x00\x00\x00', ], }, CAR.RAV4H_TSS2: { (Ecu.engine, 0x700, None): [ + b'\x018966342X6000\x00\x00\x00\x00', b'\x028966342W4001\x00\x00\x00\x00897CF1203001\x00\x00\x00\x00', b'\x02896634A23001\x00\x00\x00\x00897CF1203001\x00\x00\x00\x00', ], (Ecu.esp, 0x7b0, None): [ + b'F152642291\x00\x00\x00\x00\x00\x00', b'F152642531\x00\x00\x00\x00\x00\x00', b'F152642532\x00\x00\x00\x00\x00\x00', ], (Ecu.eps, 0x7a1, None): [ b'8965B42170\x00\x00\x00\x00\x00\x00', b'8965B42171\x00\x00\x00\x00\x00\x00', + b'8965B42181\x00\x00\x00\x00\x00\x00', ], (Ecu.fwdRadar, 0x750, 0xf): [ b'\x018821F3301200\x00\x00\x00\x00', @@ -552,6 +651,7 @@ FW_VERSIONS = { b'\x018821F3301400\x00\x00\x00\x00', ], (Ecu.fwdCamera, 0x750, 0x6d): [ + b'\x028646F4203300\x00\x00\x00\x008646G26011A0\x00\x00\x00\x00', b'\x028646F4203400\x00\x00\x00\x008646G2601200\x00\x00\x00\x00', b'\x028646F4203500\x00\x00\x00\x008646G2601200\x00\x00\x00\x00', ], @@ -563,13 +663,42 @@ FW_VERSIONS = { (Ecu.fwdRadar, 0x750, 0xf): [b'\x018821F3301200\x00\x00\x00\x00'], (Ecu.fwdCamera, 0x750, 0x6d): [b'\x028646F3303200\x00\x00\x00\x008646G26011A0\x00\x00\x00\x00'], }, + CAR.LEXUS_IS: { + (Ecu.engine, 0x700, None): [b'\x018966353Q2300\x00\x00\x00\x00'], + (Ecu.dsu, 0x791, None): [b'881515306400\x00\x00\x00\x00'], + (Ecu.eps, 0x7a1, None): [b'8965B53271\x00\x00\x00\x00\x00\x00'], + (Ecu.fwdRadar, 0x750, 0xf): [b'8821F4702300\x00\x00\x00\x00'], + (Ecu.fwdCamera, 0x750, 0x6d): [b'8646F5301400\x00\x00\x00\x00'], + }, CAR.LEXUS_RXH: { - (Ecu.engine, 0x7e0, None): [b'\x02348Q4000\x00\x00\x00\x00\x00\x00\x00\x00A4802000\x00\x00\x00\x00\x00\x00\x00\x00'], - (Ecu.esp, 0x7b0, None): [b'F152648501\x00\x00\x00\x00\x00\x00'], - (Ecu.dsu, 0x791, None): [b'881514811300\x00\x00\x00\x00'], - (Ecu.eps, 0x7a1, None): [b'8965B0E011\x00\x00\x00\x00\x00\x00'], - (Ecu.fwdRadar, 0x750, 0xf): [b'8821F4701000\x00\x00\x00\x00'], - (Ecu.fwdCamera, 0x750, 0x6d): [b'8646F4801200\x00\x00\x00\x00'], + (Ecu.engine, 0x7e0, None): [ + b'\x02348Q4000\x00\x00\x00\x00\x00\x00\x00\x00A4802000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x02348T1100\x00\x00\x00\x00\x00\x00\x00\x00A4802000\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x02348Z3000\x00\x00\x00\x00\x00\x00\x00\x00A4802000\x00\x00\x00\x00\x00\x00\x00\x00', + ], + (Ecu.esp, 0x7b0, None): [ + b'F152648501\x00\x00\x00\x00\x00\x00', + b'F152648A30\x00\x00\x00\x00\x00\x00', + b'F152648361\x00\x00\x00\x00\x00\x00', + ], + (Ecu.dsu, 0x791, None): [ + b'881514811300\x00\x00\x00\x00', + b'881514811700\x00\x00\x00\x00', + ], + (Ecu.eps, 0x7a1, None): [ + b'8965B0E011\x00\x00\x00\x00\x00\x00', + b'8965B0E012\x00\x00\x00\x00\x00\x00', + b'8965B48112\x00\x00\x00\x00\x00\x00', + ], + (Ecu.fwdRadar, 0x750, 0xf): [ + b'8821F4701000\x00\x00\x00\x00', + b'8821F4701300\x00\x00\x00\x00', + ], + (Ecu.fwdCamera, 0x750, 0x6d): [ + b'8646F4801200\x00\x00\x00\x00', + b'8646F4802200\x00\x00\x00\x00', + b'8646F4809000\x00\x00\x00\x00', + ], } } diff --git a/selfdrive/debug/fw_query/test_fw_query_on_routes.py b/selfdrive/debug/fw_query/test_fw_query_on_routes.py index a5476e8491..0167f07a1a 100755 --- a/selfdrive/debug/fw_query/test_fw_query_on_routes.py +++ b/selfdrive/debug/fw_query/test_fw_query_on_routes.py @@ -13,7 +13,9 @@ if __name__ == "__main__": print("Usage: ./test_fw_query_on_routes.py ") sys.exit(1) - i = 0 + wrong = 0 + good = 0 + dongles = [] for route in tqdm(list(open(sys.argv[1]))): route = route.rstrip() @@ -45,6 +47,7 @@ if __name__ == "__main__": candidates = match_fw_to_car(car_fw) if (len(candidates) == 1) and (list(candidates)[0] == live_fingerprint): + good += 1 print("Correct", live_fingerprint, dongle_id) break @@ -71,10 +74,10 @@ if __name__ == "__main__": print(f"({hex(addr)}, {'None' if sub_addr is None else hex(sub_addr)}) - {version.fwVersion}") print() - i += 1 + wrong += 1 break except Exception: traceback.print_exc() - print(f"Unfingerprinted cars: {i}") + print(f"Fingerprinted: {good} - Not fingerprinted: {wrong}") print(f"Number of dongle ids checked: {len(dongles)}")