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

nrf9160_mdm_dfu --update fails with "-90 NOT_AVAILABLE_BECAUSE_PROTECTION."

Hi,

I'm having issues with my nRF9160. I followed the steps under "Getting started with development", but I keep getting the following error when updating the mfw:

$ nrf9160_mdm_dfu --update
Traceback (most recent call last):
  File "/usr/local/bin/nrf9160_mdm_dfu", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/nrf9160_mdm_dfu/bin/nrf9160_mdm_dfu.py", line 50, in main
    if nrf_dfu.init(args.snr, args.ipcpath) < 0:
  File "/usr/local/lib/python3.5/dist-packages/nrf9160_mdm_dfu/api/nrf_dfu_API.py", line 45, in init
    self.api.sys_reset()
  File "/usr/local/lib/python3.5/dist-packages/pynrfjprog/API.py", line 686, in sys_reset
    raise APIError(result)
pynrfjprog.API.APIError: An error was reported by NRFJPROG DLL: -90 NOT_AVAILABLE_BECAUSE_PROTECTION.

I get the same error when running "nrf9160_mdm_dfu --UUID". Not sure if this step is even needed at this stage. All I'm trying to do is play with the nRF9160 DK to become familiar with it.

My setup:

  • Ubuntu 16.04 with kernel 4.15.0-46-generic
  • nrfjprog version: 9.7.2
  • JLinkARM.dll version: 6.30
  • nrf9160_mdm_dfu version unknown (nrf9160_mdm_dfu --version is not supported). Downloaded today.

Any ideas?

Parents
  • Hi Fredrik,

    I have some suggestions for you to try out:

    Then try the command: nrf9160_mdm_dfu --UUID

    Then try the: nrf9160_mdm_dfu --update

    And send me the log output if anything fails.

  • Hi ,

    I'm getting this error too trying to flash my modem, I'm using the latest nrfjprog and Jlink

    nrfjprog version: 9.8.1
    JLinkARM.dll version: 6.40

    Below is the output from the process, any idea?

    Thanks!

    C:\Temp\Modem>nrf9160_mdm_dfu --update
    Configure APP IPC as non-secure
    Configure IPC HW for DFU
    Configure APP RAM as non-secure
    Store DFU indication into shared memory
    Power up / reset modem
    Start polling IPC.MODEM_CTRL_EVENT to receive root key digest
    Modem responded with a5000001
    Modem root key digest received: 72b3d7c13e549acf08bbc48cb936b9b861e4cbae28a7537c9859a6d945ee9489
    Store IPC DFU executable into shared memory
    Send IPC.APP_CTRL_TASK
    Start polling IPC.MODEM_CTRL_EVENT To receive 'Started' indication from DFU executable
    IPC DFU 'Started' indication from DFU received
    Updating modem firmware
    Programming pages from address 0x59602000
    Programming pages from address 0x6000
    Programming pages from address 0x50000
    Programming pages from address 0x60000
    Programming pages from address 0x70000
    Traceback (most recent call last):
    File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
    File "c:\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
    File "C:\Python37\Scripts\nrf9160_mdm_dfu.exe\__main__.py", line 9, in <module>
    File "c:\python37\lib\site-packages\nrf9160_mdm_dfu\bin\nrf9160_mdm_dfu.py", line 60, in main
    if nrf_dfu.update_firmware(args.fwpath[0]) < 0:
    File "c:\python37\lib\site-packages\nrf9160_mdm_dfu\api\nrf_dfu_API.py", line 269, in update_firmware
    return_value, event_received = self.get_event_status()
    File "c:\python37\lib\site-packages\nrf9160_mdm_dfu\api\nrf_dfu_API.py", line 154, in get_event_status
    data_event_detected = self.api.read(0x4002A110,4)
    File "c:\python37\lib\site-packages\pynrfjprog\API.py", line 829, in read
    raise APIError(result)
    pynrfjprog.API.APIError: An error was reported by NRFJPROG DLL: -90 NOT_AVAILABLE_BECAUSE_PROTECTION.

Reply
  • Hi ,

    I'm getting this error too trying to flash my modem, I'm using the latest nrfjprog and Jlink

    nrfjprog version: 9.8.1
    JLinkARM.dll version: 6.40

    Below is the output from the process, any idea?

    Thanks!

    C:\Temp\Modem>nrf9160_mdm_dfu --update
    Configure APP IPC as non-secure
    Configure IPC HW for DFU
    Configure APP RAM as non-secure
    Store DFU indication into shared memory
    Power up / reset modem
    Start polling IPC.MODEM_CTRL_EVENT to receive root key digest
    Modem responded with a5000001
    Modem root key digest received: 72b3d7c13e549acf08bbc48cb936b9b861e4cbae28a7537c9859a6d945ee9489
    Store IPC DFU executable into shared memory
    Send IPC.APP_CTRL_TASK
    Start polling IPC.MODEM_CTRL_EVENT To receive 'Started' indication from DFU executable
    IPC DFU 'Started' indication from DFU received
    Updating modem firmware
    Programming pages from address 0x59602000
    Programming pages from address 0x6000
    Programming pages from address 0x50000
    Programming pages from address 0x60000
    Programming pages from address 0x70000
    Traceback (most recent call last):
    File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
    File "c:\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
    File "C:\Python37\Scripts\nrf9160_mdm_dfu.exe\__main__.py", line 9, in <module>
    File "c:\python37\lib\site-packages\nrf9160_mdm_dfu\bin\nrf9160_mdm_dfu.py", line 60, in main
    if nrf_dfu.update_firmware(args.fwpath[0]) < 0:
    File "c:\python37\lib\site-packages\nrf9160_mdm_dfu\api\nrf_dfu_API.py", line 269, in update_firmware
    return_value, event_received = self.get_event_status()
    File "c:\python37\lib\site-packages\nrf9160_mdm_dfu\api\nrf_dfu_API.py", line 154, in get_event_status
    data_event_detected = self.api.read(0x4002A110,4)
    File "c:\python37\lib\site-packages\pynrfjprog\API.py", line 829, in read
    raise APIError(result)
    pynrfjprog.API.APIError: An error was reported by NRFJPROG DLL: -90 NOT_AVAILABLE_BECAUSE_PROTECTION.

Children
No Data
Related