The MAVLink signing key could not be set
What ArduPilot says:
- ERROR: Won't setup signing when armed
- ERROR: Failed to save signing key
- Signing is not enabled in this firmware
MAVLink signing is a secret key shared by the aircraft and your ground station: with it set, commands from anyone who does not have the key are ignored. The ground station sent a key, and ArduPilot did not take it: because the aircraft is armed, because the key could not be written to the board's storage, or (4.7) because this firmware was built without signing.
What to do, most likely first
The aircraft was armed when the key was sent.
FixDisarm and send the key again.
The firmware for this board has no signing (small boards leave it out to save space).
CheckThe Firmware Inspector shows what a firmware file was built with.
FixBuild a firmware with MAVLink signing included in the Firmware Builder.
The board's storage has no room reserved for a key, or the write failed.
CheckDoes “Param storage failed” appear as well?
FixIf storage is healthy and the key still cannot be saved, this board cannot hold one.
Where to do it:Setup & Tuning GuideFirmware InspectorFirmware Builder
The code that sends it
ERROR: Won't setup signing when armed
libraries/GCS_MAVLink/GCS_Signing.cpp GCS_MAVLINK::handle_setup_signing() · Open in ArduPilot Copter-4.7.1
ERROR: Failed to save signing key
libraries/GCS_MAVLink/GCS_Signing.cpp GCS_MAVLINK::handle_setup_signing() · Open in ArduPilot Copter-4.7.1
Signing is not enabled in this firmware
libraries/GCS_MAVLink/GCS_Signing.cpp GCS_MAVLINK::handle_setup_signing() · Open in ArduPilot Copter-4.7.1