Service Interaction Protocol
Request Transfer Exit
The closer. 0x37 is the mandatory final step of every transfer: it finalizes the data and clears the ECU’s transfer state so a new 0x34/0x35 can begin. Forget it, and the next transfer fails with NRC 0x22.
RequestTransferExit
the closerTransfer sequence
Request
Positive Response
- Service ID
- 0x37
- Positive Response
- 0x77
- Role
- Finalizes an active transfer
- Required session
- PROGRAMMING (0x02) only
- Security
- Must be unlocked (0x27)
- Precondition
- A download/upload must be active (else NRC 0x24)
- Parameter record
- ISO-optional; ignored by this simulator
- ISO ref
- ISO 14229-1:2020 §14.5
Overview
“The RequestTransferExit service is used by the client to terminate a data transfer between client and server.”
On a real ECU, 0x37 also triggers verification (CRC/signature) and finalizes the flash write — and may answer NRC 0x78 (response pending) while it does so. This simulator keeps it minimal: it validates session, security, and an active transfer, then returns a bare 0x77 and clears the state.
Transfer Exit in Context
0x37 only makes sense as the end of a sequence. Step through closing a download and an upload, and the three ways the ECU rejects an exit.
Transfer Exit Runner
See 0x37 in context — closing a transfer, and the ways it gets rejected.
Finalize a flash download with 0x37, then reset to boot the new image.
Press Play or Step to begin the sequence.
Transfer Lifecycle
Drive the transfer state machine yourself. Notice that 0x37 is the only service that takes an active transfer back to IDLE — and that 0x36/0x37 in IDLE return NRC 0x24.
Transfer Lifecycle
Drive the transfer state machine. 0x37 is the only thing that takes an active transfer back to IDLE. (Assumes PROGRAMMING session + unlocked.)
Last Frame
Click a service to drive the transfer state machine.
Message Format
The request and response are minimal — an optional parameter record is allowed by ISO but ignored here.
Message Frame Breakdown
Pick a frame, then focus a byte (click or Tab) to see its role.
RequestTransferExit service identifier. This is the entire required request — the simulator does not need any parameter record.
Session & Security
Requirement | Value | If not met |
|---|---|---|
| Session | PROGRAMMING (0x02) only | NRC 0x70 (checked first) |
| Security | Unlocked, still valid | NRC 0x33 |
| Active transfer | A 0x34/0x35 must be open | NRC 0x24 (requestSequenceError) |
Hold the session and unlock through the whole transfer. A session change or a security timeout clears the transfer state, so a later 0x37 returns 0x70/0x33/0x24. Send TesterPresent (3E 80) during long transfers.
Service Dependencies
Service Dependencies
0x37 closes what 0x34/0x35 opened. Select a node to see how it relates.
Opens a write transfer that 0x37 later closes.
Complete Transfer with Exit
Finalize a Flash Download
12 stepsNegative Response Codes
NRC Decoder — SID 0x37
This simulator emits only 0x70, 0x33, 0x24. The rest are ISO-defined for real ECUs. Click any card for details.
Order the simulator checks errors for 0x37 — session → security → active-transfer.
Troubleshooting Guide
Troubleshooting Guide
Click any issue to expand diagnosis and resolution.
What Happens on Exit
This simulator
- Checks session, security, and that a transfer is active
- Clears downloadInProgress / uploadInProgress
- Resets the block counter and returns a bare 0x77
Real ECUs additionally
- Verify a CRC/checksum or signature over the data
- Finalize the flash write and update metadata
- May answer NRC 0x78 (response pending) while verifying
- Return NRC 0x72 if verification fails
Timing Parameters
Parameter | Typical Value | Context |
|---|---|---|
| P2 (Response) | 50 ms | Bare 0x77 in this simulator |
| P2* (Enhanced) | 5000 ms | Real ECUs use this while verifying (NRC 0x78) |
| S3 (Session Timeout) | 5000 ms | Hold with 3E 80 so the transfer state survives until 0x37 |
| Last 0x36 → 0x37 | 2–5 s typical | Real-ECU window before the transfer is auto-aborted |
ISO 14229-1 References
Standard: ISO 14229-1:2020, Section 14.5 — RequestTransferExit. Related: §14.2 RequestDownload (0x34), §14.3 RequestUpload (0x35), §14.4 TransferData (0x36).
Key points
- Request is 37 plus an optional transferRequestParameterRecord
- Positive response is 77 plus an optional transferResponseParameterRecord
- Must follow at least one TransferData (0x36) on an open 0x34/0x35 transfer
- This simulator emits only NRC 0x70, 0x33, and 0x24