UDS troubleshooting

UDS request fails

A diagnostic request reaches an unexpected negative response, times out, or cannot be exchanged correctly with the ECU. This guide narrows the failure across CAN, ISO-TP, DoIP, diagnostic session, DID, routine control, and security access behavior.

Start the diagnostic workflow

Observable symptoms

What the failure can look like

Possible causes

Boundaries worth checking first

01

Incorrect request or diagnostic data description

The request may contain an incorrect service, DID, routine-control parameter, or expected response interpretation. An ODX or PDX mismatch can make a valid ECU exchange appear invalid or cause the ECU to reject the request.

  • UDS
  • DID
  • Routine Control
02

Wrong diagnostic session or missing prerequisite

The ECU may expose the requested service only in a particular diagnostic session or after an expected sequence. Sending the request in the default or otherwise unsuitable session can produce a negative response even when communication is healthy.

  • UDS
  • Diagnostic Session
  • DCM
03

Security access is required or no longer valid

Protected services can remain unavailable until security access has been completed, or an unlock can become invalid after a session change or timeout. The request then reaches the ECU but is not authorized for execution.

  • UDS
  • Security Access
  • Diagnostic Session
04

CAN or ISO-TP transport configuration is wrong

Incorrect CAN communication parameters, diagnostic addressing, message identifiers, or ISO-TP handling can prevent the ECU from receiving the complete request or the tester from decoding the response.

  • ISO-TP
  • CAN
  • CanTp
05

DoIP path or IP diagnostic transport is not established

For a DoIP exchange, an unavailable or incorrectly configured IP diagnostic path can prevent requests from reaching the ECU even though the diagnostic payload is correct.

  • UDS
  • DoIP
06

ECU or diagnostic communication software does not provide the expected service

The ECU implementation, Diagnostic Communication Manager, or its configuration may not support the requested service in the observed state, or may contain a defect in service handling and response timing.

  • UDS
  • DCM
  • Diagnostic Session

Ordered investigation

Diagnostic workflow

  1. 01

    Define the exact failed exchange

    Use the problem description to record the ECU, request bytes or diagnostic operation, transport in use, expected response, actual response, timing, and the sequence that preceded the failure. This separates a reproducible request failure from an incomplete observation.

    • UDS
  2. 02

    Classify the trace outcome

    Inspect the raw exchange and classify it as no response, negative response, incomplete ISO-TP transfer, or response-decoding failure. This rules out unrelated branches before changing ECU state or configuration.

    • UDS
    • ISO-TP
    • DoIP
  3. 03

    Verify the physical and transport exchange

    Confirm that CAN traffic or the DoIP path carries the complete request and that the ECU response is received without an interrupted segmented transfer. This rules out many bus, addressing, and transport-handling causes but does not prove that the application request is valid.

    • CAN
    • ISO-TP
    • CanTp
  4. 04

    Compare the request with diagnostic data

    Use the applicable ODX or PDX description to compare the requested service, DID or routine-control parameters, response structure, and ECU variant assumptions. This can identify an invalid request or decoder mismatch without changing ECU state.

    • UDS
    • DID
    • Routine Control
  5. 05

    Repeat the request with the required ECU state

    Reproduce the failure while explicitly controlling the diagnostic session and, where required, the security access sequence. Compare the result before and after those prerequisites; a change narrows the issue to session or authorization handling.

    • UDS
    • Diagnostic Session
    • Security Access
  6. 06

    Correlate implementation behavior

    If transport and request data are consistent but the failure remains, compare the trace with the ECU or Diagnostic Communication Manager configuration and review the timing and service-handling behavior. This is the point to involve the ECU software owner when the available evidence cannot distinguish configuration from implementation.

    • UDS
    • DCM
    • Diagnostic Session

Verification gates

Technical checks

Check for a matching ECU response

In the trace, locate the response corresponding to the failed request and compare its timing and payload with the request context.

Expected

A complete response is present and can be associated unambiguously with the request.

If failed

No response points toward ECU availability, CAN, DoIP, addressing, or transport-path investigation; a present but unrelated response requires correlation review.

Check CAN and ISO-TP completion

Compare the request and response frames in the BLF recording, including whether each segmented exchange reaches completion and whether the transport sequence remains consistent.

Expected

The complete request reaches the ECU and the complete response is received without an interrupted ISO-TP transfer.

If failed

An incomplete exchange points toward CAN configuration, CanTp or ISO-TP handling, addressing, or bus-level conditions rather than the requested diagnostic service.

Check the diagnostic request against ODX or PDX

Compare the service, DID or routine-control parameters, ECU variant, request length, and response interpretation with the applicable ODX or PDX data.

Expected

The request and expected response structure match the diagnostic description for the target ECU.

If failed

A mismatch can cause ECU rejection or local decoding failure; correct the diagnostic data selection or request construction before deeper ECU analysis.

Check diagnostic session state

Read the trace sequence and verify which diagnostic session was active immediately before the failed request and whether the expected session transition completed.

Expected

The ECU is in the session required by the requested service, with the transition acknowledged before the request is sent.

If failed

A missing or unsuccessful transition makes session availability a primary suspect; confirm the sequence and ECU session behavior.

Check security access state

Review whether the required security access sequence completed before the protected request and whether a session change or timeout occurred afterward.

Expected

The required access state is established and remains valid when the request is issued.

If failed

The protected service may be rejected because access was not completed, was invalidated, or was attempted in an unsuitable session; involve the ECU or security owner if the expected sequence is unclear.

Compare an accepted and failed sequence

Capture or compare a sequence in which the request succeeds with the sequence in which it fails, including transport, session, security access, and request data.

Expected

The sequences differ in a specific, reproducible prerequisite or payload field.

If failed

No material difference remains; investigate ECU or Diagnostic Communication Manager configuration and implementation behavior rather than repeatedly changing the request.

From evidence to action

Resolution paths

Correct the diagnostic request or data mapping

Select the correct ODX or PDX data for the ECU variant and fix the service, DID, routine-control parameters, request construction, or response interpretation. Re-run the same trace-based checks to confirm that the exchange is complete and correctly interpreted.

Restore the required session and access sequence

Implement the required diagnostic session transition and security access handling before the failed request, including appropriate sequencing and state checks. If the expected sequence is not documented or does not behave consistently, obtain the required ECU or OEM diagnostic definition.

Fix CAN, ISO-TP, CanTp, or DoIP configuration

Correct the relevant transport, addressing, communication, or path configuration and verify it against a complete trace. Changes to ECU-side CanTp or Diagnostic Communication Manager configuration require the responsible software owner when they are not controlled by the diagnostic application.

Correct ECU diagnostic implementation

If the request, transport, session, and access state are supported and consistent but the ECU still fails, provide the engineering analysis and reproducible evidence to the ECU software, supplier, or OEM owner. The resolution may require a configuration change, software correction, or clarification of supported behavior rather than a local tester change.

FAQ

Questions that shape the investigation

Does a negative response mean that the CAN or DoIP connection is broken?
Not necessarily. A negative response demonstrates that an ECU-side diagnostic response was observed, so the transport path carried at least part of the exchange. The request may still be invalid for the active session, security state, ECU variant, or service configuration.
What should be checked first when there is no response?
First determine whether the request appears in the trace and whether a matching ECU response exists. Then check the relevant CAN and ISO-TP or DoIP path, addressing, and exchange completion before changing diagnostic session or security access state.
Why can the same UDS request work after changing diagnostic session?
A diagnostic session controls which services the ECU makes available and under which conditions. A request that fails in one session may be accepted in another, but the trace should confirm that the session transition completed and that no separate transport or request-data difference explains the result.
Can an ODX or PDX problem cause an ECU request failure?
Yes. The data description can select the wrong ECU variant, construct incorrect request parameters, or misinterpret a valid response. Compare the raw exchange with the applicable ODX or PDX before concluding that the ECU implementation is defective.
When should the ECU software owner or OEM be involved?
Involve them after the request, transport exchange, diagnostic session, and security access prerequisites have been checked and the failure remains reproducible. Provide the problem description, BLF recording, applicable ODX or PDX reference, and engineering analysis so implementation or configuration behavior can be reviewed.

Diagnostic support

Discuss a UDS Project

If the evidence spans transport, ECU state, and diagnostic data, an engineering analysis can document the fault boundary; a diagnostic application, automated test suite, or CAPL script can then make the verified sequence repeatable.