commaai / commaai/opendbc

Add fingerprint to certain model's European variant

Closed Beginner friendly
#3,619 0 comments 0 reactions 0 assignees View on GitHub
bug car
Dominant language
Python
Stars
3.4k
Forks
2.3k
Avg merge
3d 2h
Merged PRs (30d)
38

Description

I'm running the most recent version of sunnypilot (not stock openpilot). The car correctly manually selects as HYUNDAI_KONA_EV_2022 but does not auto-fingerprint via FW query (fingerprintSource: 'fixed'), so longitudinal control is unavailable.

Could somebody please add the European variant of my car to the fingerprint.py file in the car/hyundai folder.
Below is the FW data extracted from my route:

{'carParams': {'alphaLongitudinalAvailable': True,
'alternativeExperience': 1024,
'autoResumeSng': True,
'brand': 'hyundai',
'carFingerprint': 'HYUNDAI_KONA_EV_2022',
'carFw': [{'address': 1990,
'brand': 'hyundai',
'bus': 1,
'ecu': 'combinationMeter',
'fwVersion': b'\xf1\x00091',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1998,
'subAddress': 0},
{'address': 1988,
'brand': 'hyundai',
'bus': 1,
'ecu': 'fwdCamera',
'fwVersion': b'\xf1\x00OSP LKA AT EUR LHD 1.00 1.04 99211-J9200 904',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1996,
'subAddress': 0},
{'address': 2001,
'brand': 'hyundai',
'bus': 1,
'ecu': 'abs',
'fwVersion': b'\xf1\x00OS IEB \r 101 \x11\x13 58520-K4010',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 2009,
'subAddress': 0},
{'address': 1971,
'brand': 'hyundai',
'bus': 1,
'ecu': 'hvac',
'fwVersion': b"\xf1\x00OSEV 97250-K4AK1CONTROL ASS'Y-DATC 2.03OS EV PE DATC(-)1.4 ",
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1979,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 1,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x00YB__ FCA ----- 1.00 1.01 99110-K4500 \x00\x00\x00',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 1990,
'brand': 'hyundai',
'bus': 0,
'ecu': 'combinationMeter',
'fwVersion': b'\xf1\x00091',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1998,
'subAddress': 0},
{'address': 1988,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdCamera',
'fwVersion': b'\xf1\x00OSP LKA AT EUR LHD 1.00 1.04 99211-J9200 904',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1996,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x00YB__ FCA ----- 1.00 1.01 99110-K4500 \x00\x00\x00',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 1,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x00YB__ FCA ----- 1.00 1.01 99110-K4500 \x00\x00\x00',
'logging': False,
'obdMultiplexing': False,
'request': [b'"\xf1\x00'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x8b "\x01$',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x8b'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 1990,
'brand': 'hyundai',
'bus': 0,
'ecu': 'combinationMeter',
'fwVersion': b'\xf1\x8b "\x08$',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x8b'],
'responseAddress': 1998,
'subAddress': 0},
{'address': 1988,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdCamera',
'fwVersion': b'\xf1\x8b "\x08\x06',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x8b'],
'responseAddress': 1996,
'subAddress': 0}],
'carVin': 'TMAK581HFPJ071425',
'centerToFront': 1.0399999618530273,
'communityFeatureDEPRECATED': False,
'dashcamOnly': False,
'directAccelControlDEPRECATED': False,
'enableApgsDEPRECATED': False,
'enableBsm': True,
'enableCameraDEPRECATED': False,
'enableDsuDEPRECATED': False,
'enableGasInterceptorDEPRECATED': False,
'fingerprintSource': 'fixed',
'flags': 16812432,
'fuzzyFingerprint': False,
'hasStockCameraDEPRECATED': False,
'isPandaBlackDEPRECATED': False,
'lateralTuning': {'torque': {'friction': 0.12359762191772461,
'kdDEPRECATED': 0.0,
'kfDEPRECATED': 0.0,
'kiDEPRECATED': 0.0,
'kpDEPRECATED': 0.0,
'latAccelFactor': 3.078814744949341,
'latAccelOffset': 0.0,
'steeringAngleDeadzoneDeg': 0.0,
'useSteeringAngleDEPRECATED': False}},
'longitudinalActuatorDelay': 0.5,
'longitudinalActuatorDelayLowerBoundDEPRECATED': 0.0,
'longitudinalTuning': {'kfDEPRECATED': 0.0, 'kiBP': [0.0], 'kiV': [0.0], 'kpBP': [0.0], 'kpV': [0.0]},
'mass': 1879.0,
'maxLateralAccel': 2.3073370456695557,
'maxSteeringAngleDegDEPRECATED': 0.0,
'minEnableSpeed': -1.0,
'minSpeedCanDEPRECATED': 0.0,
'minSteerSpeed': 0.0,
'networkLocation': 'fwdCamera',
'notCar': False,
'openpilotLongitudinalControl': False,
'passive': False,
'pcmCruise': True,
'radarDelay': 0.0,
'radarTimeStepDEPRECATED': 0.05000000074505806,
'radarUnavailable': False,
'rotationalInertia': 2979.466796875,
'safetyConfigs': [{'safetyModel': 'hyundai', 'safetyParam': 73, 'safetyParam2DEPRECATED': 0, 'safetyParamDEPRECATED': 0}],
'safetyModelDEPRECATED': 'silent',
'safetyModelPassiveDEPRECATED': 'silent',
'safetyParamDEPRECATED': 0,
'secOcKeyAvailable': False,
'secOcRequired': False,
'startAccel': 1.0,
'startingAccelRateDEPRECATED': 0.0,
'startingState': True,
'steerActuatorDelay': 0.10000000149011612,
'steerAtStandstill': False,
'steerControlType': 'torque',
'steerLimitAlert': False,
'steerLimitTimer': 0.4000000059604645,
'steerRateCostDEPRECATED': 0.0,
'steerRatio': 13.420000076293945,
'steerRatioRear': 0.0,
'stopAccel': -2.0,
'stoppingControlDEPRECATED': False,
'stoppingDecelRate': 0.800000011920929,
'tireStiffnessFactor': 0.38499999046325684,
'tireStiffnessFront': 95078.1015625,
'tireStiffnessRear': 100199.40625,
'transmissionType': 'unknown',
'vEgoStarting': 0.10000000149011612,
'vEgoStopping': 0.5,
'wheelSpeedFactor': 1.0,
'wheelbase': 2.5999999046325684},
'logMonoTime': 1900956745575,
'valid': True}
{'carParams': {'alphaLongitudinalAvailable': True,
'alternativeExperience': 1024,
'autoResumeSng': True,
'brand': 'hyundai',
'carFingerprint': 'HYUNDAI_KONA_EV_2022',
'carFw': [{'address': 1990,
'brand': 'hyundai',
'bus': 1,
'ecu': 'combinationMeter',
'fwVersion': b'\xf1\x00091',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1998,
'subAddress': 0},
{'address': 1988,
'brand': 'hyundai',
'bus': 1,
'ecu': 'fwdCamera',
'fwVersion': b'\xf1\x00OSP LKA AT EUR LHD 1.00 1.04 99211-J9200 904',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1996,
'subAddress': 0},
{'address': 2001,
'brand': 'hyundai',
'bus': 1,
'ecu': 'abs',
'fwVersion': b'\xf1\x00OS IEB \r 101 \x11\x13 58520-K4010',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 2009,
'subAddress': 0},
{'address': 1971,
'brand': 'hyundai',
'bus': 1,
'ecu': 'hvac',
'fwVersion': b"\xf1\x00OSEV 97250-K4AK1CONTROL ASS'Y-DATC 2.03OS EV PE DATC(-)1.4 ",
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1979,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 1,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x00YB__ FCA ----- 1.00 1.01 99110-K4500 \x00\x00\x00',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 1990,
'brand': 'hyundai',
'bus': 0,
'ecu': 'combinationMeter',
'fwVersion': b'\xf1\x00091',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1998,
'subAddress': 0},
{'address': 1988,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdCamera',
'fwVersion': b'\xf1\x00OSP LKA AT EUR LHD 1.00 1.04 99211-J9200 904',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 1996,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x00YB__ FCA ----- 1.00 1.01 99110-K4500 \x00\x00\x00',
'logging': False,
'obdMultiplexing': True,
'request': [b'"\xf1\x00'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 1,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x00YB__ FCA ----- 1.00 1.01 99110-K4500 \x00\x00\x00',
'logging': False,
'obdMultiplexing': False,
'request': [b'"\xf1\x00'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 2000,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdRadar',
'fwVersion': b'\xf1\x8b "\x01$',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x8b'],
'responseAddress': 2008,
'subAddress': 0},
{'address': 1990,
'brand': 'hyundai',
'bus': 0,
'ecu': 'combinationMeter',
'fwVersion': b'\xf1\x8b "\x08$',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x8b'],
'responseAddress': 1998,
'subAddress': 0},
{'address': 1988,
'brand': 'hyundai',
'bus': 0,
'ecu': 'fwdCamera',
'fwVersion': b'\xf1\x8b "\x08\x06',
'logging': True,
'obdMultiplexing': True,
'request': [b'"\xf1\x8b'],
'responseAddress': 1996,
'subAddress': 0}],
'carVin': 'TMAK581HFPJ071425',
'centerToFront': 1.0399999618530273,
'communityFeatureDEPRECATED': False,
'dashcamOnly': False,
'directAccelControlDEPRECATED': False,
'enableApgsDEPRECATED': False,
'enableBsm': True,
'enableCameraDEPRECATED': False,
'enableDsuDEPRECATED': False,
'enableGasInterceptorDEPRECATED': False,
'fingerprintSource': 'fixed',
'flags': 16812432,
'fuzzyFingerprint': False,
'hasStockCameraDEPRECATED': False,
'isPandaBlackDEPRECATED': False,
'lateralTuning': {'torque': {'friction': 0.12359762191772461,
'kdDEPRECATED': 0.0,
'kfDEPRECATED': 0.0,
'kiDEPRECATED': 0.0,
'kpDEPRECATED': 0.0,
'latAccelFactor': 3.078814744949341,
'latAccelOffset': 0.0,
'steeringAngleDeadzoneDeg': 0.0,
'useSteeringAngleDEPRECATED': False}},
'longitudinalActuatorDelay': 0.5,
'longitudinalActuatorDelayLowerBoundDEPRECATED': 0.0,
'longitudinalTuning': {'kfDEPRECATED': 0.0, 'kiBP': [0.0], 'kiV': [0.0], 'kpBP': [0.0], 'kpV': [0.0]},
'mass': 1879.0,
'maxLateralAccel': 2.3073370456695557,
'maxSteeringAngleDegDEPRECATED': 0.0,
'minEnableSpeed': -1.0,
'minSpeedCanDEPRECATED': 0.0,
'minSteerSpeed': 0.0,
'networkLocation': 'fwdCamera',
'notCar': False,
'openpilotLongitudinalControl': False,
'passive': False,
'pcmCruise': True,
'radarDelay': 0.0,
'radarTimeStepDEPRECATED': 0.05000000074505806,
'radarUnavailable': False,
'rotationalInertia': 2979.466796875,
'safetyConfigs': [{'safetyModel': 'hyundai', 'safetyParam': 73, 'safetyParam2DEPRECATED': 0, 'safetyParamDEPRECATED': 0}],
'safetyModelDEPRECATED': 'silent',
'safetyModelPassiveDEPRECATED': 'silent',
'safetyParamDEPRECATED': 0,
'secOcKeyAvailable': False,
'secOcRequired': False,
'startAccel': 1.0,
'startingAccelRateDEPRECATED': 0.0,
'startingState': True,
'steerActuatorDelay': 0.10000000149011612,
'steerAtStandstill': False,
'steerControlType': 'torque',
'steerLimitAlert': False,
'steerLimitTimer': 0.4000000059604645,
'steerRateCostDEPRECATED': 0.0,
'steerRatio': 13.420000076293945,
'steerRatioRear': 0.0,
'stopAccel': -2.0,
'stoppingControlDEPRECATED': False,
'stoppingDecelRate': 0.800000011920929,
'tireStiffnessFactor': 0.38499999046325684,
'tireStiffnessFront': 95078.1015625,
'tireStiffnessRear': 100199.40625,
'transmissionType': 'unknown',
'vEgoStarting': 0.10000000149011612,
'vEgoStopping': 0.5,
'wheelSpeedFactor': 1.0,
'wheelbase': 2.5999999046325684},
'logMonoTime': 1951021988473,
'valid': True}

### Provide a route where the issue occurs

386265d736b63984/00000044--85c5c09a1d

### openpilot version

Sunnypilot 2026.002.001 Release

### Additional info

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in car/hyundai/fingerprint.py and compare the existing HYUNDAI_KONA_EV_2022 fingerprint entries with the supplied European FW data. Add the variant using the reported firmware values, then verify that FW-query fingerprinting selects HYUNDAI_KONA_EV_2022 instead of fixed fingerprinting and that longitudinal control becomes available.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.