Skip to content

OTA Error Code: deploy_firmware_fw_update2_node_failure

published Last Updated: Oct 9, 2026 HW: all

One or more node updates did not complete successfully. This can be caused by:

  • Independent node failure(s)
  • A faulty gateway node or power condition
    • Load switch failure
    • Missing or unreachable gateway node

A gateway or power failure can prevent downstream nodes from being attempted. The result JSON may record failures for those downstream nodes, but Slack may not list that detail in the Failures table. Find the first suspect before deciding what to fix.

Start with the deploy Slack thread.

In a successful firmware deploy, status is 0 and all nodes pass:

Slack Firmware Results table for a successful firmware deploy

Presentation 1: Slack Lists Specific Node Failures

Section titled “Presentation 1: Slack Lists Specific Node Failures”

When Slack lists failed nodes, use those nodes as the first suspects. In this example, tail.Ping and mixed.Ping failed:

Slack Firmware Results table and error payload for a firmware node failure with explicit ping failures

Presentation 2: Slack Does Not List A Failed Node

Section titled “Presentation 2: Slack Does Not List A Failed Node”

When Slack does not list a failed node, check the Slack message field. In this example, the message says Expected 1 new hover node. Found None.

The Slack message shows that a hover node was missing, but does not clearly identify which hover or gateway node caused the failure. It also does not list downstream nodes that were skipped because the gateway was missing.

Slack Firmware Results table and error payload for a firmware node failure with no failed nodes listed

Inspect the result JSON file for further information. The result file can be found at result_artifact_path from Slack when present; otherwise look in the deploy output directory under firmware/fw_update_result_*.json.

In the result JSON, find the first node section with success: false. Use that node, section, error_code, and reason. Examples of sections are Ping, App, Bootloader, Boot_Updater, and Config.

Power issues may appear in Slack or in the result JSON. Examples:

  • error_code: 12
  • Failed to set load switch
  • Servo power is off
  • Failed to read servo power

These mean the updater could not put the target hardware into the power state needed for update. If you’re a maintenance technician, escalate to service engineering using an RFI. If you’re a service engineer, escalate to OTA Support On Call.

Use these status codes when reading result details and update logs:

Status Code Name Meaning
12 PowerSequencing Vehicle power sequencing, setup, or restore failed.
30 NodeUnresponsive A target node did not respond.
31 TargetDiscovery Target discovery failed.
32 RevisionDetection Firmware revision detection failed.
33 TargetMismatch The discovered target did not match the expected target.
34 ContentCheck Firmware content validation failed.
35 FlashOperation Flashing firmware failed.
36 ConfigProvisioning Firmware configuration provisioning failed.
1 action
In the deploy Slack thread, check the Firmware Results table. Look at Failures first, then the Slack message field.

Did this guide help you get unblocked?

Open suggestions

There are no open suggestions.

Open pull requests

There are no open pull requests.