Accidentally used 9V power supply. nRF9160 board wont flash anymore.

Accidentally used a 9V power supply. Board does not flash anymore.


Can still connect to com ports, and onboard led lights up.

Is the board fried or is it stuck in a memory protection mode ?

-nRF Connect SDK 2.5.1

-Win 11

Different error messages below:


-- west flash: using runner nrfjprog
-- runners.nrfjprog: Flashing file: c:\ncs\v2.5.1\zephyr\samples\basic\blinky\build\zephyr\merged.hex
[error] [ Client] - Encountered error -90: Command read_memory_descriptors executed for 14 milliseconds with result -90
[error] [ Worker] - Can't read memory descriptors, ap-protection is enabled.
[error] [ Client] - Encountered error -90: Command erase_file executed for 30 milliseconds with result -90
[error] [  nRF91] - Failed while detecting device memory block protection status!                                      
[error] [  nRF91] - Failed while erasing device. -90: Access protection is enabled, can't read block protection state.
[error] [ Worker] - Access protection is enabled, can't read block protection state.
ERROR: The operation attempted is unavailable due to readback protection in                                            
ERROR: your device. Please use --recover to unlock the device.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.
ERROR: runners.nrfjprog: Flashing failed because the target must be recovered.
  To fix, run "west flash --recover" instead.
  Note: this will recover and erase all flash memory prior to reflashing.


 west flash --recover
-- west flash: rebuilding
[0/16] Performing build step for 'tfm'
ninja: no work to do.
-- west flash: using runner nrfjprog
Using board 960064568
-- runners.nrfjprog: Recovering and erasing all flash memory.
Recovering device. This operation might take 30s.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [  JLink] - Not supported by current CPU + target interface combination.
[error] [ Client] - Encountered error -21: Command recover executed for 21131 milliseconds with result -21
[error] [  nRF91] - Unable to perform system reset. Device is readback protected.
[error] [ Worker] - Encountered error while performing recover post-cleanup.
ERROR: Recover failed. Please make sure that the correct device family is given
ERROR: and try again.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.
FATAL ERROR: command exited with status 62: nrfjprog --recover -f NRF91 --snr 960064568

nrfjprog --eraseall -f NRF91
[error] [ Client] - Encountered error -90: Command read_memory_descriptors executed for 16 milliseconds with result -90
[error] [ Worker] - Can't read memory descriptors, ap-protection is enabled.
ERROR: The operation attempted is unavailable due to readback protection in
ERROR: your device. Please use --recover to unlock the device.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.


nrfjprog --recover -f NRF91
Recovering device. This operation might take 30s.
[error] [ Client] - Encountered error -21: Command recover executed for 30554 milliseconds with result -21
[error] [  nRF91] - Unable to perform system reset. Device is readback protected.
[error] [ Worker] - Encountered error while performing recover post-cleanup.
ERROR: Recover failed. Please make sure that the correct device family is given
ERROR: and try again.

Parents
  • Hi Thomas, 

    Thanks for registering this quickly. Let us try to figure out what is going on. 

    Accidentally used a 9V power supply. Board does not flash anymore.

    Was this connected to the External supply pins?

    As discussed over the phone the VDD IO is set to 1,8V, what about the SW0? Is it set to nRF52 or nRF91?

    Could you please run the following nrfjprog --eraseall -f NRF91 --log and then provide the log file here?

    Kind regards,
    Øyvind

  • Hi

    Yes it was conected to the external supply pins. VDD IO is set to 1.8V and the SW0 is set to nRF91.

    [2024-Apr-18 12:27:59] [debug] --------------------------------------------------------------------------------
    [2024-Apr-18 12:27:59] [debug] C:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin\nrfjprog.exe --eraseall -f NRF91 --log 
    [2024-Apr-18 12:27:59] [debug] nrfjprog version 10.24.0 external
    [2024-Apr-18 12:27:59] [debug] --------------------------------------------------------------------------------
    [2024-Apr-18 12:27:59] [ info] Load library at C:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin\nrfjprog.dll.
    [2024-Apr-18 12:27:59] [ info] Library loaded, loading member functions.
    [2024-Apr-18 12:27:59] [ info] Member functions succesfully loaded.
    [2024-Apr-18 12:28:00] [debug] [ Client] - open
    [2024-Apr-18 12:28:00] [debug] [ Client] - start
    [2024-Apr-18 12:28:00] [ info] [ Client] - stdout: Jlinkarm nRF Worker ready. Handling sequence edf07c68-b295-4d33-a0e0-e26b95e7923d.
    
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command open executed for 106 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - Logger sink registered in Segger backend logger
    [2024-Apr-18 12:28:00] [debug] [ Client] - config
    [2024-Apr-18 12:28:00] [debug] [  JLink] - Logger sink registered in JLink logger
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - open
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - just_check_family
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - open_dll
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - No J-Link DLL path was provided. Attempting to auto detect.
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Load library at C:\Program Files\SEGGER\JLink_V794e\JLink_x64.dll.
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Library loaded, loading member functions.
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Member functions succesfully loaded.
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - Set batch mode
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - dll_version
    [2024-Apr-18 12:28:00] [ info] [SeggerBackend] - Segger dll version 7.94.e loaded.
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command open executed for 13 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command config executed for 15 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - enum_emu_snr
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - config
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command enum_emu_con_info executed for 14 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - enum_emu_snr
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command config executed for 8 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - enum_emu_con_info
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - enum_emu_con_info
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command enum_emu_con_info executed for 5 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - close
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - close
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - close
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - disconnect_from_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - is_connected_to_emu
    [2024-Apr-18 12:28:00] [debug] [SeggerBackend] - Segger Backend closed.
    [2024-Apr-18 12:28:00] [debug] [  nRF91] - nRF family DLL closed
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command close executed for 32 milliseconds with result 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - terminate
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command close executed for 16 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Client] - Command terminate executed for 31 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Command terminate executed for 0 milliseconds with result 0
    [2024-Apr-18 12:28:00] [trace] [ Worker] - Executed 5 commands for 42 milliseconds
    [2024-Apr-18 12:28:00] [debug] [ Client] - Worker process exited with code: 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - Worker process exited with code: 0
    [2024-Apr-18 12:28:00] [debug] [ Client] - Child process terminated with result 0
    [2024-Apr-18 12:28:00] [trace] [ Client] - Executed 5 commands for 198 milliseconds
    [2024-Apr-18 12:28:00] [debug] [ Client] - terminate
    

  • It seems like blinky can be flashed many times after doing the recover/erase command. But when running the other code it stops at initializing the modem. After this it fails flashing the blinky program.It now also fail the recover/erase command. Unplugging the power cable for a couple of minutes and then running the recover/erase command the blinky program can now be flashed again.

  • Are you able to upgrade the modem FW of the device? Do you have another board to test with as well? 

     

  • Can try and update the modem FW. We do have a thingy:91.

  • Can you program the Thingy:91 using the nRF9160DK? This would at least mean that the programming device on the DK is OK. 

    If the nRF9160 on the Thingy:91 behaves the same as the DK, then this would mean that the DK is OK. 


  • I was able to update the firmware on the nRF9160 board. But the issue still remains.

    I am not quite sure that i understand what you meant with the last reply. Is there a guide for this ?

Reply Children
  • First of all, just to verify, have you seen our Developer Academy? This goes through various levels of the nRF Connect SDK e.g. Cellular IoT Fundementals.

    The nRF9160DK includes an onboard debugging/programming interface which allows you to program external devices such as the nRF9160 and nRF52840 on the Thingy:91 More information found here: https://docs.nordicsemi.com/bundle/ug_nrf91_dk/page/UG/nrf91_DK/hw_debug_out.html

    Thomas Skar said:
    But the issue still remains.

    The issue of programming the device? 

    Are you able to program e.g. AT Client from the Precompiled firmware package found on the nRF9160DK product page? Does the AT client allow you to send AT commands to the nRF9160 modem to e.g. turn on and off LTE? 

  • I have gone through the SDK and celluar fundamentals courses. I am able to flash the AT client program to the device. But it stops at "The AT host sample started". And when reflashing the same memory error appear.

  • Thomas Skar said:
    But it stops at "The AT host sample started".

    This application does not do more other than show AT commands. You should be able use the Serial Terminal or Cellular Monitor to get information in the application. 

    E.g 

    *** Booting nRF Connect SDK v3.5.99-ncs1 ***
    The AT host sample started
    Ready
    > AT+CFUN=1
    OK
    > AT%XCONNSTAT=1
    OK
    > AT%XCONNSTAT?
    %XCONNSTAT: 0,0,0,0,0,0
    OK
    > AT+CMEE=1
    OK
    > AT%XSIM=1
    OK
    > AT+CEREG=5
    OK
    > AT%MDMEV=1
    +CME ERROR: 0
    > AT%CESQ=1
    OK
    > AT+CGSN=1
    +CGSN: "352656100376253"
    OK
    > AT+CGMM
    nRF9160-SICA
    OK
    > AT+CEMODE?
    +CEMODE: 2
    OK
    > AT+CMEE?
    +CMEE: 1
    OK
    > AT+CNEC?
    +CNEC: 0
    OK
    > AT+CGEREP?
    +CGEREP: 0,0
    OK
    > AT+CIND=1,1,1
    OK
    > AT+COPS=3,2
    OK
    > AT+CGDCONT?
    OK
    > AT+CGACT?
    OK
    > AT+CESQ
    +CESQ: 99,99,255,255,255,255
    OK
    > AT%XSIM?
    %XSIM: 0
    OK
    > AT+CPIN?
    +CME ERROR: 13
    > AT+CIMI
    +CME ERROR: 0
    > AT+CNEC=24
    OK
    > AT+CEER
    OK
    > AT+CGEREP=1
    OK
    > AT%XPOFWARN=1,30
    +CME ERROR: 0
    > AT%XVBATLVL=1
    OK
    > AT+CGMI
    Nordic Semiconductor ASA
    OK
    > AT+CGMR
    mfw_nrf9160_1.2.3
    OK
    > AT+CGSN
    352656100376253
    OK
    > AT%XMODEMUUID
    %XMODEMUUID: 0191538f-d3a5-4fe9-8f54-ba7cad9460c0
    OK
    > AT%XDATAPRFL?
    %XDATAPRFL: 2
    OK
    > AT+CEREG?
    +CEREG: 5,4,"FFFE","FFFFFFFF",7,0,0,"00000000","00000000"
    OK
    > AT+CFUN?
    +CFUN: 1
    OK
    > AT%CESQ=1
    OK
    > AT+CSCON=1
    OK
    > AT+CSCON?
    +CSCON: 1,0
    OK
    > AT+CPAS
    +CPAS: 0
    OK
    > AT+CEDRXRDP
    +CEDRXRDP: 4,"1001","0000","0000"
    OK
    > AT%XTIME=1
    OK
    > AT%CONEVAL
    +CME ERROR: 0
    > AT%XCBAND=?
    %XCBAND: (1,2,3,4,5,8,12,13,18,19,20,25,26,28,66)
    OK
    > AT%XCBAND
    %XCBAND: 0
    OK
    > AT%HWVERSION
    %HWVERSION: nRF9160 SICA B0A
    OK
    > AT%XMODEMTRACE=1,2
    OK
    > AT%XSYSTEMMODE?
    %XSYSTEMMODE: 1,0,0,0
    OK
    > AT%XICCID
    +CME ERROR: 0
    > AT%XEMPR?
    %XEMPR: 
    OK
    > AT+CGDCONT?
    OK
    > AT+COPS?
    +COPS: 0
    OK
    > AT%XMONITOR
    %XMONITOR: 4
    OK
    > AT+CPINR="SIM PIN"
    +CEREG: 90
    %XSIM: 0

    Thomas Skar said:
    And when reflashing the same memory error appear.

    You are referring to - "Can't read memory descriptors, ap-protection is enabled" ? 

  • You are referring to - "Can't read memory descriptors, ap-protection is enabled" ?

    Yes.

    The application stops at "The AT host sample started" It does not initialize the modem libary. This is where the program stops in my own program aswell. And this worked before using the 9V power supply.




  • Ok, thanks for clarifying! I would recommend getting a new board in this case. Sorry for the inconvenience! 

Related