Skip to content

ECU unlock fails on MD1CS003 (BlueHDi 1.5 EAT8) with key 1948 → 7F2735; ESPMK100_UDS write fails with key 7884 → 7F2E31 #110

@antoniomaaarin

Description

@antoniomaaarin

Hi! First of all, thanks for PyPSADiag.

I’m trying to perform configuration writes on two ECUs on my vehicle but I’m getting two different failures:

  1. Engine ECU (MD1CS003): ECU unlock fails with an invalid key (NRC 7F 27 35).
  2. ESPMK100_UDS: write configuration zone fails with 7F 2E 31.

I’m not sure if this is expected behavior for these ECUs/vehicle configuration, if the seed-key algorithm is unsupported, or if I’m using the wrong procedure/session/security level.


Vehicle / ECU info

  • Vehicle: Peugeot 2008 (2021)
  • Engine: 1.5 Diesel BlueHDi 130 cv
  • Transmission: Automatic (EAT8)
  • Current feature state: ACC30 enabled; attempting to code ACC Stop & Go

ECUs involved:

  • MD1CS003 (Engine ECU)
  • ESPMK100_UDS (ESP module)

What I tried

1) MD1CS003 (Engine ECU) – Unlock

I tried to unlock using key 1948. Result:

2026-01-28 18:31:43.119264 –|  ECU Unlock Failed (27): Invalid Key (7F2735)

My interpretation:

  • Service 0x27 (SecurityAccess) → NRC 0x35 (InvalidKey)

2) ESPMK100_UDS – Write configuration zone

I tried to write/codify using key 7884. Result:

2026-01-28 18:25:42.526569 –|  Write Configuration Zone: Failed (7F2E31)

My interpretation:

  • Service 0x2E (WriteDataByIdentifier / write zone) → NRC 0x31 (RequestOutOfRange)

This is a different error from the engine ECU one, which makes me think the unlock may not be the blocker here, but the write is rejected due to range/permissions/session/conditions/DID mapping.


Steps to reproduce

  1. Connect to the vehicle and select the ECU:
    • MD1CS003 (engine) or ESPMK100_UDS (ESP)
  2. Start the diagnostic session as required by PyPSADiag workflow
  3. Attempt ECU unlock:
    • MD1CS003 key: 1948
    • ESPMK100_UDS key: 7884
  4. Attempt write:
    • For ESPMK100_UDS: attempt to code ACC Stop & Go (vehicle currently ACC30)

Expected behavior

  • Successful unlock (or a clear message if this ECU variant/seed-key algorithm is unsupported).
  • For ESP ECU: successful write, or clearer indication of what prerequisite is missing (required session, security level, unsupported DID/zone, conditions not correct, etc.).

Actual behavior

  • MD1CS003: unlock fails with 7F2735 (Invalid Key)
  • ESPMK100_UDS: write fails with 7F2E31 (Request Out Of Range)

Logs / attachments

MD1CS003 (Engine ECU) – full log

Click to expand
2026-01-28 18:31:39.422658 --|  > >6A8:688
2026-01-28 18:31:39.544772 --|  < OK
2026-01-28 18:31:40.054650 --|  > KU
2026-01-28 18:31:40.162206 --|  < OK
2026-01-28 18:31:40.167645 --|  > 1003
2026-01-28 18:31:40.171711 --|  < 7F3E03  ** Skipping/Stripping **
2026-01-28 18:31:40.376714 --|  < 500300C80014
2026-01-28 18:31:40.883287 --|  > 2703
2026-01-28 18:31:40.989291 --|  < 6703168BC5E2
2026-01-28 18:31:41.002566 --|  Waiting 2 Sec...
2026-01-28 18:31:43.006323 --|  > 27042F1F15D7
2026-01-28 18:31:43.112602 --|  < 7F2735
2026-01-28 18:31:43.119264 --|  ECU Unlock Failed (27): Invalid Key (7F2735)
2026-01-28 18:31:43.123300 --|  > S
2026-01-28 18:31:43.228053 --|  < OK
2026-01-28 18:31:43.234219 --|  > 1001
2026-01-28 18:31:43.339584 --|  < 500100C80014

ESPMK100_UDS – full log

Click to expand
2026-01-28 18:24:30.151913 --|  Reading ECU Zones: Successful
2026-01-28 18:25:37.888439 --|  > >6AD:68D
2026-01-28 18:25:38.012512 --|  < OK
2026-01-28 18:25:38.530513 --|  > KU
2026-01-28 18:25:38.635630 --|  < OK
2026-01-28 18:25:38.640449 --|  > 1003
2026-01-28 18:25:38.643511 --|  < 7F3E03  ** Skipping/Stripping **
2026-01-28 18:25:38.848269 --|  < 500300C80014
2026-01-28 18:25:39.354425 --|  > 2703
2026-01-28 18:25:39.460887 --|  < 670346B9DF00
2026-01-28 18:25:39.472522 --|  Waiting 2 Sec...
2026-01-28 18:25:41.476797 --|  > 27047BEF3BFF
2026-01-28 18:25:41.583744 --|  < 6704
2026-01-28 18:25:41.588422 --|  > S
2026-01-28 18:25:41.692738 --|  < OK
2026-01-28 18:25:42.098547 --|  > 222101
2026-01-28 18:25:42.206362 --|  < 62210105FEFFFFFF7FFFFFFFDFFFFFFFFFFEF7FFFEFFFBDFDA7EFF
2026-01-28 18:25:42.413138 --|  > 2E210105FEFFFFFF7FFFFFFFDFFFFFFFFFFEF7FFFEFFFDDFDA7EFF
2026-01-28 18:25:42.520351 --|  < 7F2E31
2026-01-28 18:25:42.526569 --|  Write Configuration Zone: Failed (7F2E31)
2026-01-28 18:25:42.731849 --|  > 222101
2026-01-28 18:25:42.841144 --|  < 62210105FEFFFFFF7FFFFFFFDFFFFFFFFFFEF7FFFEFFFBDFDA7EFF
2026-01-28 18:25:42.846992 --|  > 222901
2026-01-28 18:25:42.953078 --|  < 7F2231
2026-01-28 18:25:42.959771 --|  > 2E2901FD000000010101
2026-01-28 18:25:43.065272 --|  < 7F2E31
2026-01-28 18:25:43.071340 --|  Configuration Write of Secure Traceability Zone: Failed (7F2E31)
2026-01-28 18:25:43.075882 --|  > S
2026-01-28 18:25:43.180750 --|  < OK
2026-01-28 18:25:43.185895 --|  > 1001
2026-01-28 18:25:43.291544 --|  < 500100C80014
2026-01-28 18:25:43.296983 --|  Write Successful

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions