Hi,
I'm trying to install modem fw using the script given by Sigurd:
https://devzone.nordicsemi.com/f/nordic-q-a/53208/updating-nrf9160-modem-firmware-through-the-command-line
#!/usr/bin/env python3 # # Copyright (c) 2019 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic import os import time import argparse import subprocess import logging from tempfile import TemporaryDirectory, mkstemp from pynrfjprog import HighLevel logging.basicConfig(level=logging.INFO) log = logging.getLogger('modem_update') def flash_modem_pkg(modem_zip, verify): start = time.time() with HighLevel.API(True) as api: snr = api.get_connected_probes() for s in snr: log.info("Establish board connection") log.info(f"Flashing '{modem_zip}' to board {s}") with HighLevel.IPCDFUProbe(api, s, HighLevel.CoProcessor.CP_MODEM) as probe: log.info(f"Programming '{modem_zip}'") probe.program(modem_zip) log.info("Programming complete") if verify: log.info("Verifying") probe.verify(modem_zip) log.info("Verifying complete") api.close() log.info(f"Completed in {time.time() - start} seconds") def main(): parser = argparse.ArgumentParser() parser.add_argument("modem_pkg") args = parser.parse_args() log.info("Modem firmware upgrade") flash_modem_pkg(args.modem_pkg,True) if __name__ == '__main__': main()
Seams to work but I'm getting an error:
INFO:pynrfjprog.HighLevel:[Probes.505101579] [nRF91] {"amountOfSteps":33,"description":"Uploading modem image","duration":43395,"message":"segment 2 of 2","operation":"upload_image","progressPercentage":100,"result":"success","step":33} WARNING:pynrfjprog.HighLevel:[Probes.505101579] [DebugProbe] A programming operation has been performed with verify == VERIFY_NONE. WARNING:pynrfjprog.HighLevel:[Probes.505101579] [DebugProbe] Programming can fail without error. INFO:pynrfjprog.HighLevel:[Probes.505101579] [DebugProbe] Perform system reset. INFO:pynrfjprog.HighLevel:[Probes.505101579] [nRF91] Response active, slave responded with: 0xa5000005 INFO:pynrfjprog.HighLevel:[Probes.505101579] [nRF91] Loading new coprocessor data. ERROR:pynrfjprog.HighLevel:[Probes.505101579] [Client] Encountered error -90: Command sys_reset executed for 5 milliseconds with result -90 ERROR:pynrfjprog.HighLevel:[Probes.505101579] [DebugProbe] Failed while performing system reset! ERROR:pynrfjprog.HighLevel:[Probes.505101579] [DebugProbe] Failed while resetting! ERROR:pynrfjprog.HighLevel:[HighLevel] Failed programming the device. ERROR:pynrfjprog.HighLevel:[Probes.505101579] [nRF91] Unable to perform system reset. Device is readback protected. ERROR:pynrfjprog.HighLevel:[Probes.505101579] [Worker] Try a debug reset instead if possible. ERROR:pynrfjprog.HighLevel:[Probes.505101579] b"An error was reported by NRFJPROG DLL: -90 NOT_AVAILABLE_BECAUSE_PROTECTION.
I'm running:
Name: pynrfjprog
Version: 10.24.2