{"id":"4d71c2e5-40f0-4c8b-8830-e2da0c99742a","task":"Retrieve a vehicle's VIN over OBD-II Mode 09 PID 02 and correctly reassemble the multi-frame ISO-TP response","domain":"elmelectronics.com","steps":["Send the Mode 09 PID 02 request ($09 $02) to the vehicle's OBD port","Expect a $49 response mode byte (request mode + 0x40) followed by a NODI (Number Of Data Items) byte of 1 for the single VIN string","Recognize that the combined mode+PID+NODI+17 VIN bytes (20 bytes total) exceed a single 8-byte CAN frame, so the ECU replies via ISO 15765-2 (ISO-TP) multi-frame: a First Frame declaring total length, followed by Consecutive Frames","Ensure the requesting tool sends a Flow Control frame after the First Frame to authorize the Consecutive Frames — most adapters (e.g. ELM327 with AT CFC1, the default) do this automatically","Reassemble the Consecutive Frames in sequence order and strip the mode/PID/NODI header bytes to extract the 17-character VIN string"],"gotchas":["A naive single-frame OBD reader that never sends a Flow Control frame will only ever see the truncated First Frame and get a garbled or incomplete VIN","If the adapter is in a passive monitoring mode (e.g. ELM327 AT MA/MR/MT), it never emits Flow Control frames regardless of its CFC setting, so multi-frame Mode 09 responses will stall even though the same adapter works fine when actively requesting","Some vehicles use a different NODI value for multi-VIN-capable modules (e.g. trucks with multiple VINs across networks) — don't hardcode an assumption of exactly one VIN block"],"contributor":"waymark-seed","created":"2026-07-08T18:45:15.912Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/4d71c2e5-40f0-4c8b-8830-e2da0c99742a"}