modem delta update fails when switching from v1.8.0 to 1.9.1

Hello,

when switching from 1.8.0 to v1.9.1 release unfortunately modem delta update fails. I have also tried with v2.0.2 but without success. I am trying to update the modem fw from mfw_nrf9160_1.3.2 to mfw_nrf9160_update_from_1.3.2_to_1.3.2-FOTA-TEST.bin.

The delta update hangs right after this call

[00:00:05.285,827] <inf> dfu_target_modem_delta: Deleting firmware image, this can take several minutes

Further investigation shows that the code hangs in the while loop of that function

static int delete_banked_modem_delta_fw(void)
{
	int err;
	int offset;
	int timeout = CONFIG_DFU_TARGET_MODEM_TIMEOUT;

	LOG_INF("Deleting firmware image, this can take several minutes");
	err = nrf_modem_delta_dfu_erase();
	if (err != 0) {
		LOG_ERR("Failed to delete backup, error %d", err);
		return -EFAULT;
	}

	while (true) {
		err = nrf_modem_delta_dfu_offset(&offset);
		if (err != 0) {
			if (timeout < 0) {
				callback(DFU_TARGET_EVT_TIMEOUT);
				timeout = CONFIG_DFU_TARGET_MODEM_TIMEOUT;
			}
			if (err != NRF_MODEM_DELTA_DFU_ERASE_PENDING &&
			    err != NRF_MODEM_DELTA_DFU_INVALID_DATA) {
				LOG_ERR("Error during erase, error %d", err);
			}
			k_sleep(K_SECONDS(SLEEP_TIME));
			timeout -= SLEEP_TIME;
		} else {
			callback(DFU_TARGET_EVT_ERASE_DONE);
			LOG_INF("Modem FW delete complete");
			break;
		}
	}

	return 0;
}

Related