Home

/

Knowledge Base

/

How to Read UDS NRC 0x78 Response Pending Timeouts

Knowledge Base

Last Updated: 2026-07-02

How to Read UDS NRC 0x78 Response Pending Timeouts

NRC 0x78 indicates that the ECU accepted the request but still needs time before returning the final response.

Why 0x78 Appears

It commonly appears during erase memory, download, or other heavy operations where the ECU cannot return a positive response immediately.

The real problem is usually not the 0x78 itself, but whether the client waited long enough and what the ECU emitted after that pending response.

How to Verify the Failure

Rebuild the timeline around the pending response and confirm whether the session ended with a positive response, another negative response, or a transport-level interruption.

This is especially important when a diagnostic tool reports a timeout without preserving the lower-level exchange.

Where Misreads Happen

Some tools collapse a long pending phase into a single timeout message, which hides whether the ECU kept responding correctly or whether the transport path died first.

If the capture includes repeated 0x78 responses, compare spacing and final outcome instead of assuming every pending loop means the ECU is healthy.

What to Extract from the Capture

The key evidence is the request that triggered the pending state, the number of pending responses, the gap between them, and the first response that breaks the loop.

That final transition often reveals whether the issue is ECU-side processing, tester impatience, or a broken session after erase or download starts.

Capture-Backed Evidence

These examples are drawn from real capture files available in the project evidence pool. They give the article something stronger than generic protocol theory.

ADC log extraction with repeated pending states on multiple SIDs

ADC extraction case with repeated Response Pending states

Evidence reference: EVID-NRC78-ADC-PENDING-01

Node roles in this case

  • tester: the extraction client
  • primary node: the first node that enters pending
  • gateway-adjacent node: the later node that also returns pending

A long v3 DoIP capture where response-pending appears in more than one stage, which makes it a useful anti-misread example.

Evidence signals

  • ISO 13400-2 v3 transport is confirmed across 40,647 packets.
  • NRC 0x78 appears on SID 0x29 at +51.878 s, then later on SID 0x38 at +74.823 s and again around +156.332 s.
  • The same file shows that 'pending' is not a single event. It is part of a broader timeline that must be followed forward.

Timeline

  • +51.878 s: one diagnostic node emits SID 0x29 / NRC 0x78.
  • +74.823 s: a gateway-adjacent node emits SID 0x38 / NRC 0x78.
  • +156.241 s and +156.332 s: the file returns to pending behavior on SID 0x37 and SID 0x38 instead of ending cleanly.

This supports the KB claim that NRC 78 should be read as a state transition problem, not as a binary success-or-failure marker.

A clean readout window later transitions into pending before recovering

SRS data-stream window entering late Response Pending

Evidence reference: EVID-LATE-PENDING-SRS-01

Node roles in this case

  • tester: the readout client
  • target node: the node that first returns repeated pending responses

A short derived window from a longer real capture that shows a normal read sequence entering repeated pending states before a positive response returns.

Evidence signals

  • The window starts with a normal ReadDataByIdentifier flow rather than an immediate failure.
  • The target node then emits repeated SID 0x22 / NRC 0x78 responses before eventually returning SID 0x62.
  • This makes it a stronger teaching sample than a timeout screenshot because the full state transition is preserved in one compact window.

Timeline

  • A normal read request is sent to the target node.
  • The same node returns repeated NRC 0x78 responses for SID 0x22 instead of failing outright.
  • The pending loop ends with a positive SID 0x62 response, showing that pending and success can coexist in one short exchange.

This is a strong public-safe sample because it teaches the pending-state concept without requiring brand-specific addresses or full vehicle context.

A long pending phase can branch into a harder failure instead of recovery

Pending-to-failure branch in a repeated SID 0x22 workflow

Evidence reference: EVID-NRC78-FAILURE-BRANCH-01

Node roles in this case

  • tester: the diagnostic client
  • target ECU: the ECU that first returns repeated pending responses
  • gateway-facing responder: the responder that later surfaces the harder failure state

This case fills the key missing contrast for the NRC 78 page. The same workflow that spends a long time in Response Pending does not recover cleanly; it later surfaces a harder failure condition instead.

Evidence signals

  • The target ECU first emits repeated SID 0x22 / NRC 0x78 responses over a prolonged interval.
  • The pending loop does not end in a clean positive completion inside the teaching window.
  • Instead, a later branch in the same sequence surfaces a harder failure state, showing why engineers must not treat repeated pending as proof of eventual success.

Timeline

  • The target ECU first rejects the same service with NRC 0x31 in the lead-in phase.
  • The workflow then enters a sustained SID 0x22 / NRC 0x78 loop over multiple repeats.
  • Later in the same sequence, the session surfaces a harder failure state rather than a clean positive completion.

With this sample, the NRC 78 page can now show both branches: pending that eventually recovers and pending that turns into failure.

Common Misreads

These are the interpretation traps that real packet evidence helps avoid.

  • An NRC 0x78 does not prove success. It only proves the ECU did not finish yet.
  • A single timeout banner from the tool can hide several different pending phases on different services.
  • If the first response after 0x78 is never checked, the operator may blame the wrong stage of the flashing workflow.

Related Diagnostic Guides

Use nearby guides to move from protocol filtering to root-cause troubleshooting without leaving the knowledge base.

How to Diagnose UDS NRC 0x31 Request Out Of RangeWireshark Filter for Port 13400 and DoIP TrafficHow to Read pcapng Automotive Ethernet Diagnostic Logs

Frequently Asked Questions

Is NRC 0x78 always an error?

No. It often means the ECU accepted the request but needs more time. The important question is what happened after the pending phase.

Why do tools misreport NRC 0x78?

Many tools collapse repeated pending responses into a generic timeout and hide whether the ECU later returned success, a new failure, or nothing at all.

Upload pcapng and inspect the response after NRC 0x78

Best when a flashing or erase operation stalls and the tool only shows a timeout.

Browse all seeded guides