The firmware version is too low. For an application or SoftDevice, the version must be greater than or equal to the current version. For a bootloader, it must be greater than the current version. to the current version. This requirement prevents downgrade attacks.
The hash of the firmware image cannot be calculated.
The hardware version of the device does not match the required hardware version for the update.
The init command is invalid. The init packet either has an invalid update type or it is missing required fields for the update type (for example, the init packet for a SoftDevice update is missing the SoftDevice size field).
Not enough memory for the data object.
The available space on the device is insufficient to hold the firmware.
Invalid opcode.
Invalid error code. This error code should never be used outside of development.
Data object does not match the firmware and hardware requirements, the signature is wrong, or parsing the command failed.
Missing or invalid parameter value.
No extended error code has been set. This error indicates an implementation problem.
Opcode not supported.
Operation failed.
The state of the DFU process does not allow this operation.
The array of supported SoftDevices for the update does not contain the FWID of the current SoftDevice or the first FWID is '0' on a bootloader which requires the SoftDevice to be present.
The init packet does not contain a signature. This error code is not used in the current implementation, because init packets without a signature are regarded as invalid.
Operation successful.
The command was successfully parsed, but it is not supported or unknown.
Not a valid object type for a Create request.
The hash of the received firmware image does not match the hash in the init packet.
The format of the command was incorrect. This error code is not used in the current implementation, because NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED and NRF_DFU_RES_CODE_INVALID_PARAMETER cover all possible format errors.
The hash type that is specified by the init packet is not supported by the DFU bootloader.
The type of the signature is unknown or not supported by the DFU bootloader.
Extended error. The next byte of the response contains the error code of the extended error.