This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

pynrfprog -3 INVALID_PARAMETER

I tryed to use the pynrfprog with a Segger-ARM-Flasher to update modem DFU.

I changed the python skript to follow - because there are 2 Segger-ARM-Flasher installed in the production system:

from pynrfjprog import HighLevel
api = HighLevel.API()
api.open()
snr = api.get_connected_probes()
probe = HighLevel.IPCDFUProbe(api, 164214950, HighLevel.CoProcessor.CP_MODEM)
probe.program("mfw_nrf9160_1.0.1.zip")
probe.verify("mfw_nrf9160_1.0.1.zip")
print("Done")

api.close()

I get follow return:

C:\WORK\Python\Scripts>python nRF9160.py
Traceback (most recent call last):
File "nRF9160.py", line 13, in <module>
probe.program("mfw_nrf9160_1.0.1.zip")
File "C:\WORK\Python\lib\site-packages\pynrfjprog-10.12.1-py3.8.egg\pynrfjprog
\HighLevel.py", line 350, in program
raise APIError(result, log=self._logger.error)
pynrfjprog.APIError.APIError: An error was reported by NRFJPROG DLL: -3 INVALID_
PARAMETER.

With the original skript from (devzone.nordicsemi.com/.../updating-nrf9160-modem-firmware-through-the-command-line) i get NO return:

from pynrfjprog import HighLevel
api = HighLevel.API()
api.open()
snr = api.get_connected_probes()
for s in snr:
probe = HighLevel.IPCDFUProbe(api, s, HighLevel.CoProcessor.CP_MODEM)
probe.program("mfw_nrf9160_1.0.1.zip")
probe.verify("mfw_nrf9160_1.0.1.zip")
print("Done")

api.close()

Parents
  • Hello, 

    Please try with the following script:

    from pynrfjprog import HighLevel
    api = HighLevel.API()
    api.open()
    snr = api.get_connected_probes()
    for s in snr:
        probe = HighLevel.IPCDFUProbe(api, s, HighLevel.CoProcessor.CP_MODEM)
        probe.program("mfw_nrf9160_1.2.0.zip")
        probe.verify("mfw_nrf9160_1.2.0.zip")
        probe.close()
        print("Done")
     
    api.close()

    Note, please try with a newer modem firmware. The mfw 1.0.1 is very old. Latest fw is 1.2.3

    Kind regards,
    Øyvind

Reply
  • Hello, 

    Please try with the following script:

    from pynrfjprog import HighLevel
    api = HighLevel.API()
    api.open()
    snr = api.get_connected_probes()
    for s in snr:
        probe = HighLevel.IPCDFUProbe(api, s, HighLevel.CoProcessor.CP_MODEM)
        probe.program("mfw_nrf9160_1.2.0.zip")
        probe.verify("mfw_nrf9160_1.2.0.zip")
        probe.close()
        print("Done")
     
    api.close()

    Note, please try with a newer modem firmware. The mfw 1.0.1 is very old. Latest fw is 1.2.3

    Kind regards,
    Øyvind

Children
Related