Service Interaction Protocol
Request Download
FLOW_TYPE
ADDRESSING
SESSION_LOCK
Overview
“The RequestDownload service is used by the client to initiate a data transfer from the client to the server.”

Negotiating memory parameters and block sizes for firmware transfer.
The Three-Part Chain
Download is never a single operation. It follows a mandatory sequence:
Default Behavior
By default, the ECU is in a “Read-Only” operational state. Service 0x34 is typically disabled unless the ECU is in the Programming Session (0x02) and has been unlocked via Security Access (0x27). A successful request prepares the internal memory controller and sets the MaxBlockLength to inform the tester of the buffer limits for subsequent Transfer Data (0x36) calls.
Dependencies
Prerequisites
- SID 0x10: Must be in Programming Session (0x02)
- SID 0x27: Level 2/4 Security Unlock required
- SID 0x31: Memory Erase RID (0xFF00) usually required
Download Parameters
- DFI: Data Format (Compression / Encryption)
- ALFID: Address & Length Format Identifier
- MaxBlock: Returned by ECU; sets TransferData limit
Protocol Anatomy (32-bit Download)
◆ PROTOCOL ANATOMY
0x34 REQUEST DOWNLOAD
0x34 RESPONSE
TX/RX Examples
Starting a download to address 0x00100000.
Request
34 00 44 00 10 00 00 00 00 10 00> ALFID 0x44 (4-byte Adr / 4-byte Size)
Response
74 20 02 00> Success. MaxBlockLength = 512 bytes (0x0200)
UML Sequence Diagrams
Flash Programming Sequence
10 stepsNegative Response Codes
Error_Catalog