Description
Simos PCR2.1 Mileage & CRC Correction is a Java-based EEPROM utility for supported Continental / Siemens Simos PCR2.1 ECU files.
The tool is designed for legitimate ECU repair, replacement and mileage synchronization work where the mileage counters stored inside the PCR2.1 EEPROM need to be corrected while preserving the file structure and recalculating the corresponding mileage checksum.
Only the EEPROM mileage-related data is modified.
The immobilizer block is not changed, and its separate checksum is not touched.
Main Features
Supported Variants
The program automatically detects whether the EEPROM uses the BEFORE-DIESELGATE or AFTER-DIESELGATE structure.
Both variants use mileage counters at:
AFTER-DIESELGATE
Additional mileage counters are present at:
These values are updated together with the main mileage counters.
BEFORE-DIESELGATE
Addresses:
do not represent mileage in this variant and are therefore left unchanged.
Mileage Handling
The entered mileage value is written without decimal fractions to the first counter at:
The remaining counters are recalculated while preserving the existing difference relative to the first counter.
This means the application does not simply write one identical raw value to every mileage location.
CRC / Checksum Correction
The program automatically recalculates the mileage checksum block or blocks required by the detected variant.
BEFORE-DIESELGATE
Only Block A is recalculated.
The area at 0x0DA8 is factory padding in this variant and is not modified.
AFTER-DIESELGATE
Both Block A and Block B are recalculated.
Checksum algorithm:
The checksum implementation was validated by the author using four tested EEPROM dumps.
IMMO Data Is Not Modified
The tool does not modify the PCR2.1 immobilizer block.
The IMMO area uses its own checksum and is outside the mileage modification performed by this application.
This utility is specifically focused on:
It is not an IMMO editor, PIN tool or immobilizer synchronization utility.
How to Use
Output File Naming
Example:
The original file is not overwritten.
Requirements
Compatibility
The author reports successful testing on four PCR2.1 ECUs.
Additional EEPROM variants should be tested carefully and reported back so compatibility can be expanded or confirmed.
Important
VirusTotal
VirusTotal Scan
The tool is designed for legitimate ECU repair, replacement and mileage synchronization work where the mileage counters stored inside the PCR2.1 EEPROM need to be corrected while preserving the file structure and recalculating the corresponding mileage checksum.
Only the EEPROM mileage-related data is modified.
The immobilizer block is not changed, and its separate checksum is not touched.
Main Features
- Automatic variant detection — distinguishes supported BEFORE-DIESELGATE and AFTER-DIESELGATE EEPROM layouts.
- Mileage counter editing — updates the supported mileage counters while preserving their original relative differences.
- Automatic CRC correction — recalculates the checksum blocks used for the mileage data.
- EEPROM-only workflow — intended for PCR2.1 EEPROM files.
- Original file protection — the source file is never overwritten.
- Automatic output naming — the modified file is saved in the same folder with the new mileage and ChkOK suffix.
Supported Variants
The program automatically detects whether the EEPROM uses the BEFORE-DIESELGATE or AFTER-DIESELGATE structure.
Both variants use mileage counters at:
Code:
0x02F0
0x02F4
0x02F8
AFTER-DIESELGATE
Additional mileage counters are present at:
Code:
0x0C96
0x0C9C
These values are updated together with the main mileage counters.
BEFORE-DIESELGATE
Addresses:
Code:
0x0C96
0x0C9C
do not represent mileage in this variant and are therefore left unchanged.
Mileage Handling
The entered mileage value is written without decimal fractions to the first counter at:
Code:
0x02F0
The remaining counters are recalculated while preserving the existing difference relative to the first counter.
This means the application does not simply write one identical raw value to every mileage location.
CRC / Checksum Correction
The program automatically recalculates the mileage checksum block or blocks required by the detected variant.
BEFORE-DIESELGATE
Only Block A is recalculated.
Code:
Block A:
Data: 0x02D8 - 0x02FF
Checksum: 0x0300
K = 0x5309
The area at 0x0DA8 is factory padding in this variant and is not modified.
AFTER-DIESELGATE
Both Block A and Block B are recalculated.
Code:
Block A:
Data: 0x02D8 - 0x02FF
Checksum: 0x0300
K = 0x5309
Block B:
Data: 0x0C04 - 0x0DA7
Checksum: 0x0DA8
K = 0x88AC
Checksum algorithm:
- CRC-16
- Polynomial: 0xA001
- Mirrored calculation
- Seed: 0
- Final XOR with the variant-specific K value
- Little-endian checksum storage
The checksum implementation was validated by the author using four tested EEPROM dumps.
IMMO Data Is Not Modified
The tool does not modify the PCR2.1 immobilizer block.
The IMMO area uses its own checksum and is outside the mileage modification performed by this application.
This utility is specifically focused on:
- Mileage counter locations
- Mileage-related CRC blocks
It is not an IMMO editor, PIN tool or immobilizer synchronization utility.
How to Use
- Read the PCR2.1 EEPROM using a suitable ECU programmer.
- Keep an untouched backup of the original EEPROM.
- Launch Simos PCR2.1 Mileage & CRC Correction.
- Click Browse and select the EEPROM file.
- Enter the required mileage in kilometers.
- Click Apply.
- The program detects the EEPROM variant automatically.
- Mileage counters are updated.
- The required CRC block or blocks are recalculated.
- The modified file is saved next to the original.
Output File Naming
Example:
Code:
Original:
ORI_EEPROM.EPR
Entered mileage:
123079 km
Output:
ORI_EEPROM_123079_ChkOK.bin
The original file is not overwritten.
Requirements
- Windows
- Java 25 or newer
- Compiled with Eclipse Temurin JDK 25.0.5
- Supported Simos PCR2.1 EEPROM file
Compatibility
The author reports successful testing on four PCR2.1 ECUs.
Additional EEPROM variants should be tested carefully and reported back so compatibility can be expanded or confirmed.
Important
- Always keep the original EEPROM backup.
- Verify the detected variant before programming the modified file.
- The tool changes EEPROM mileage counters only.
- The immobilizer block and IMMO checksum are not modified.
- Use the software only for legitimate repair, ECU replacement or synchronization work.
VirusTotal
VirusTotal Scan