Skip to content

feat(mazda): fingerprint CX-5 2022-25 built for export markets - #18

Closed
klebeer wants to merge 1 commit into
zoompilot:developfrom
klebeer:mazda-cx5-export-vin-fingerprint
Closed

klebeer wants to merge 1 commit into
zoompilot:developfrom
klebeer:mazda-cx5-export-vin-fingerprint

Conversation

@klebeer

@klebeer klebeer commented Sep 25, 2026 •

Copy link
Copy Markdown

What this does

Adds the WMI JM7 and accepts it on MAZDA_CX5_2022, plus two firmware versions.

JM7 is the WMI Mazda uses for Japan-built crossovers sold outside North America. No platform lists it, so platform_from_vin returns no candidate, and match_fw_to_car_fuzzy stops as well because only OCEANIA_EXPORT VINs continue to the EPS-swap fallback. The result is "unable to identify your car" on a car whose chassis code and model year code already match the platform.

The car

2025 CX-5 AWD, Latin American market. VIN fields: WMI JM7, chassis code KF, model year code S.

ECU address version status
eps 0x730 KSD5-3210X-C-00 already listed
abs 0x760 KSD5-437K2-A already listed
fwdCamera 0x706 GSH7-67XK2-U already listed
engine 0x7E0 PWN8-188K2- added here
transmission 0x7E1 PXDL-21PS1-C added here

Three of the five were already in the table, which supports this being the same platform rather than a variant.

Files

  • opendbc/car/mazda/values.py: WMI.EXPORT_CROSSOVER = "JM7", added to MAZDA_CX5_2022.wmis
  • opendbc/car/mazda/fingerprints.py: one engine version, one transmission version

Verification

platform_from_vin run on device against the car's own VIN, with and without the added WMI:

result
before None
after MAZDA_CX5_2022

MAZDA_CX5_2022 is the only platform that accepts JM7, so the VIN stays unambiguous, and a JM3 VIN still resolves to the same platform. The firmware versions were read by the device's own query and are listed above; three of them already being in the table is what identifies the platform.

Assisted-by: Claude

Japan-built crossovers sold outside North America carry the WMI JM7, which no
Mazda platform lists. platform_from_vin finds no candidate for them, and the
firmware fallback stops too, since only OCEANIA_EXPORT VINs continue to the
EPS-swap path. A 2025 CX-5 with a JM7 VIN therefore never fingerprints, even
though its chassis code KF and model year code S already match MAZDA_CX5_2022.

Add JM7 as EXPORT_CROSSOVER, accept it on MAZDA_CX5_2022, and add the engine
and transmission firmware read from that car. Its EPS, ABS and forward camera
versions are already listed.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing to opendbc! In order for us to review your PR as quickly as possible, check the following:

  • Convert your PR to a draft unless it's ready to review
  • Read the contributing docs
  • Before marking as "ready for review", ensure:
    • the goal is clearly stated in the description
    • all the tests are passing
    • include a route or your device' dongle ID if relevant

zephleggett added a commit that referenced this pull request Sep 25, 2026
JM7 is the WMI on Japan-built crossovers sold outside North America. No
platform listed it, so platform_from_vin found nothing and the fuzzy path
stopped as well, and a 2025 Latin-American CX-5 read as unknown although
three of its five ECUs were already in the table. JM7 carries the same
chassis and year fields as JM3, so it sits beside JM3 on every crossover
platform; the car's engine and transmission versions are added.

From #18 (klebeer), widened from MAZDA_CX5_2022 alone.
@zephleggett

Copy link
Copy Markdown

Merged onto danger-unstable as fc4c015, widened from your version: JM7 sits beside JM3 on every crossover platform, since it carries the same chassis and year fields and a 2017-21 export CX-5 or an export CX-9 would otherwise still read as unknown. Your two firmware strings are in as written. VIN tests cover JM7 KF S, KF L and TC P. We will test on the car from a personal branch before it reaches develop. Thanks for the clean report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants