commaai / commaai/opendbc

Hyundai Elantra CN7 (EU) not automatically fingerprinted — requires manual CN7 2021 override

Closed
#3,743 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

### Describe the car bug

Car: Hyundai Elantra CN7 (2021), European-market build, with Smart Cruise Control (SCC).

Automatic car fingerprinting does not recognize this car at all on stock openpilot, so it cannot engage/drive normally. The only way to get it running is via sunnypilot, manually overriding the platform selection to HYUNDAI_ELANTRA_2021 (CN7). With that manual override, longitudinal and lateral control work correctly, including the OEM Smart Cruise Control interface.

This points to a firmware/ECU mismatch in the FW_VERSIONS fingerprint table for this platform rather than a real behavioral difference. EU-market CN7 units apparently ship ECU firmware versions that are not present in opendbc's fingerprint entries for HYUNDAI_ELANTRA_2021, so FW-based fingerprinting (Fingerprinting 2.0) never matches and the car falls back to unsupported instead of auto-selecting CN7 2021.

Attached is a public route from a normal drive with the manual CN7 2021 override active, for reference on this car's CAN/FW behavior.

Steps to reproduce:
1. Install comma 4 / panda on a EU-spec Hyundai Elantra CN7 (2021, SCC-equipped).
2. Power on and start the car with stock openpilot (no manual fingerprint override).
3. Car is not recognized — fingerprinting fails to match HYUNDAI_ELANTRA_2021, so openpilot cannot engage properly.
4. Manually forcing the CN7 2021 (HYUNDAI_ELANTRA_2021) platform in sunnypilot works correctly — confirming it is the right platform, just not reachable via automatic FW fingerprinting for this EU firmware revision.

### Provide a route where the issue occurs

https://connect.comma.ai/4db9a4d26f328177/00000026--c5876b04d9

### openpilot version

sunnypilot (fork) — exact release TBD, will confirm; base opendbc fingerprint tables are shared with stock openpilot so this is not fork-specific behavior

### Additional info

Willing to help pull ECU firmware versions via UDS from this route (or a fresh one) to add proper entries to FW_VERSIONS in opendbc/car/hyundai/fingerprints.py, following the Fingerprinting guide. Happy to coordinate on Discord if that is a better place to work through it.

i told claude to do all this so idk what it did

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked route and the Fingerprinting guide, then inspect opendbc/car/hyundai/fingerprints.py for the HYUNDAI_ELANTRA_2021 FW_VERSIONS entries. Collect the EU CN7 ECU firmware versions through UDS and compare them with the existing entries. Done means automatic fingerprinting selects HYUNDAI_ELANTRA_2021 without a manual override.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
autonomous-driving, embedded-iot, reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.