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

Can't get started with Thingy:91 // MCUboot flash of modem firmware fails

Hello everyone,

I wanted to start with Thingy:91 today, so I first wanted to update the device with the newest firmware.

First thing I found confusing is: On the Getting Started Tab of the product site, right above the Video there is a sentence: "To ensure optimal functionality, please update the nRF52840 SoC FW, the nRF9160 SiP modem FW and then the nRF9160 SiP app FW in that order." But when I follow along the video and/or read the docu (here and here) it seems there is no need to update the firmware of this 3 modules on there own, it seems now it is all together, maybe you should remove this sentence or maybe I had gotten something wrong?

But this is not the point of my post, I tried to update the modem firmware of the thingy:91 and ran in a problem others mention here in devzone before, the Update fails with the following message:

I have pressed SW3 and then switched on the Thingy:91, at the first try(s) I only pressed SW3 until the device was available in the nRF Connect Programmer, later on I pressed it during the whole upgrade process, both failed. Also the Enable MCUboot was checked all the time.

I am using:
nRF Connect for Desktop v3.6.1

nRF Connect Programmer v1.4.8

macOS 10.15.7

Thingy:91 HW v1.4.0

The Full Error Log (maybe not really usefull):

2020-12-08T13:56:33.268Z INFO Application data folder: /Users/RudolphAschmoneit/Library/Application Support/nrfconnect/pc-nrfconnect-programmer
2020-12-08T13:56:33.333Z INFO Using nrfjprog library 10.12.1, pc-nrfjprog-js 1.7.6
2020-12-08T13:56:33.385Z DEBUG App pc-nrfconnect-programmer v1.4.8 official
2020-12-08T13:56:33.385Z DEBUG App path: /Users/RudolphAschmoneit/.nrfconnect-apps/node_modules/pc-nrfconnect-programmer
2020-12-08T13:56:33.385Z DEBUG nRFConnect 3.6.1 is supported by the app (^3.6.0)
2020-12-08T13:56:33.385Z DEBUG nRFConnect path: /Applications/nRF Connect.app/Contents/Resources/app.asar
2020-12-08T13:56:33.385Z DEBUG HomeDir: /Users/RudolphAschmoneit
2020-12-08T13:56:33.385Z DEBUG TmpDir: /var/folders/hf/dq9llqg57lj8c2jrwtl3d5280000gn/T/
2020-12-08T13:56:34.273Z VERBOSE Could not fetch serial number for serial port at /dev/tty.TeufelBoomsterNG-CSRGAIA
2020-12-08T13:56:34.273Z VERBOSE Could not fetch serial number for serial port at /dev/tty.JBLGO-vCOMM-1
2020-12-08T13:56:34.273Z VERBOSE Could not fetch serial number for serial port at /dev/tty.Bluetooth-Incoming-Port
2020-12-08T13:56:34.274Z VERBOSE Could not fetch serial number for serial port at /dev/tty.JBLCharge3-SPPDev-6
2020-12-08T13:56:34.274Z VERBOSE Could not fetch serial number for serial port at /dev/tty.JBLCharge3-SPPDev-14
2020-12-08T13:57:06.730Z INFO Modem DFU starts to write...
2020-12-08T13:57:06.731Z INFO Writing /Users/RudolphAschmoneit/Documents/Arbeit/VRaktion/nordic/thingy91_fw_2020-10-30_5522ca2b/mfwnrf9160122.zip to device
2020-12-08T13:57:19.194Z ERROR MCUboot DFU failed. Please make sure that the device is in MCUboot mode and try again.

Have anyone an idea?
Thank you really much in Advance fpr any Tips!

Greetings Rudolph

Parents
  • Hi,

     

    First thing I found confusing is: On the Getting Started Tab of the product site, right above the Video there is a sentence: "To ensure optimal functionality, please update the nRF52840 SoC FW, the nRF9160 SiP modem FW and then the nRF9160 SiP app FW in that order." But when I follow along the video and/or read the docu (here and here) it seems there is no need to update the firmware of this 3 modules on there own, it seems now it is all together, maybe you should remove this sentence or maybe I had gotten something wrong?

     We have seen several customer getting the same "Please make sure that the device is in MCUboot mode" error as you got, and updating the firmware on the nRF52840 has often solved the issue. As updating all the documentation is quite a bit of work, adding that sentance was chosen as a "quick fix" to help reduce the problem until we have found the root problem and gotten all the documentation updated.

    We realise that this could be confusing, and have removed the mentioning of the nRF52840 for now.

     

    But this is not the point of my post, I tried to update the modem firmware of the thingy:91 and ran in a problem others mention here in devzone before, the Update fails with the following message:

    First, are you powering the Thingy:91 on and off with the power switch, and not just by connecting and removing the USB cable?

    When you power on the Thingy, are you pressing SW3 (the big button)?

    If the nRF9160 is in MCUBoot mode, the LED will not light up (while it should light up when not in MCUBoot mode).

    If you have been doing that correctly, you can try to update the firmware on the nRF52840.

    To set the nRF52840 in MCUBoot mode, you must press SW4, the small white button next to the nRF9160, while powering on the Thingy:91.

    Best regards,

    Didrik

  • Hey Didrik, thanks for you reply, 

    yes I am/was powering the Thingy:91 on and off using the power Switch, the USB cable is connected all the time.

    yes I am/was pressing the SW3 when powering the Thingy:91

    yes the LED lights not up when I am pressing SW3 and then powering on, she is ligthing up when the Error in the Programmer It lights up only at the moment when during the modem update process the error message appears in the programmer. (If I dont press the SW3 switch and powering on the Thingy:91 the LED lights up directly after the powering on.

    Sorry for getting the Sentence wrong, I totally understand that is a big piece of work, and adding a quick fix seems totally right, now I understand what you mean with this sentence, but where I can get the FW of the nRF52840 SoC and how could I programm it? when I am searching at the nordic homepage I could only find the nRF52840 DK, should I use the Interface MCU Firmware from there? I am also looked into the infocenter under nRF52840 but don't get any Information about the FW download of the nRF52840 SoC. 

    Sorry if I am a little slow on the uptake or if I am being a little stupid on this issue.

    Many Greetings

    Rudolph

  • Rudolph Aschmoneit said:
    Sorry if I am a little slow on the uptake or if I am being a little stupid on this issue.

     Not at all. It should not be this hard, and we are working on improving the situation.

    You can find the firmware for the nRF52840 together with the firmware for the nRF9160 on the Thingy:91 page: https://www.nordicsemi.com/Software-and-tools/Prototyping-platforms/Nordic-Thingy-91/Download#infotabs

    In the thingy91_fw_2020-10-30_5522ca2b folder, you should use the images in img_fota_dfu_hex when using MCUBoot through the Programmer application.

    For the nRF52840, you should use the thingy91_nrf52_connectivity_bridge_<date_and_hash>.hex file, though the thingy91_nrf52_usb_uart_bridge_*.hex file should also work.

  • Hey, thanks for your reply.

    Sorry for getting this wrong, of course the app_FW is in the thingy91_... folder, I was confused, I thought there are app_FW and some other FW I was searching, but this thought was nonsense. And I should have known it better, cause when I was getting started with the nrf9160 DK it was the same structure, but the getting started with 9160 DK was so easy and such a no brainer, that I have obviously forgotten everything again. In my experience so far, your getting started tutorials have always been very straightforward and easy to follow. 

    So now I have connected the Thingy:91 via USB Cabel to the Computer, Pressing the SW4 Switch and Powering the Device on, to set nRF52840 in Boot Mode, cause I wanted to flash the thingy91_nrf52_connectivity_bridge_2020-10-30_5522ca2b.hex file. The LED was blinking, so I tried it again, cause I remembered you note that the LED should not Blink when in MCU Boot Mode. So I turned the device off, holding SW4 and powered it on again, LED was blinking, so I re-read your Post, and I mentioned, that the LED should be off when 9160 is in MCU Bootmode, so I thought maybe LED is off only when the nrf9160 is in MCU Bootmode and not when nRF52840 is in MCU Bootmode. I connected with the Programmer to the Device and flashed the thingy91_nrf52_connectivity_bridge_2020-10-30_5522ca2b.hex file, MCU Boot was checked. It started to working properly, but when the status was around 88% the programmer Window was going to be complete white, and nothing happend anymore. After waiting for 5 Minutes, and nothing happend. I restarted the programmer and also the Thingy. But now the Programmer doesn't find the device, no matter if in MCU boot mode or not, and I also can't see it as USB Device at my computer. what should I do now, programming via a external debugger, J-Link or something like that? Or is there a opportunity to reset everything? what was the reason of the error? Was anything wrong in the procedure I was doing/ had described here? Here is a Picture of the Programmer after getting complete white:

Reply
  • Hey, thanks for your reply.

    Sorry for getting this wrong, of course the app_FW is in the thingy91_... folder, I was confused, I thought there are app_FW and some other FW I was searching, but this thought was nonsense. And I should have known it better, cause when I was getting started with the nrf9160 DK it was the same structure, but the getting started with 9160 DK was so easy and such a no brainer, that I have obviously forgotten everything again. In my experience so far, your getting started tutorials have always been very straightforward and easy to follow. 

    So now I have connected the Thingy:91 via USB Cabel to the Computer, Pressing the SW4 Switch and Powering the Device on, to set nRF52840 in Boot Mode, cause I wanted to flash the thingy91_nrf52_connectivity_bridge_2020-10-30_5522ca2b.hex file. The LED was blinking, so I tried it again, cause I remembered you note that the LED should not Blink when in MCU Boot Mode. So I turned the device off, holding SW4 and powered it on again, LED was blinking, so I re-read your Post, and I mentioned, that the LED should be off when 9160 is in MCU Bootmode, so I thought maybe LED is off only when the nrf9160 is in MCU Bootmode and not when nRF52840 is in MCU Bootmode. I connected with the Programmer to the Device and flashed the thingy91_nrf52_connectivity_bridge_2020-10-30_5522ca2b.hex file, MCU Boot was checked. It started to working properly, but when the status was around 88% the programmer Window was going to be complete white, and nothing happend anymore. After waiting for 5 Minutes, and nothing happend. I restarted the programmer and also the Thingy. But now the Programmer doesn't find the device, no matter if in MCU boot mode or not, and I also can't see it as USB Device at my computer. what should I do now, programming via a external debugger, J-Link or something like that? Or is there a opportunity to reset everything? what was the reason of the error? Was anything wrong in the procedure I was doing/ had described here? Here is a Picture of the Programmer after getting complete white:

Children
  • Rudolph Aschmoneit said:
    Sorry for getting this wrong

     No problem at all.

     

    Rudolph Aschmoneit said:
    In my experience so far, your getting started tutorials have always been very straightforward and easy to follow. 

     I am happy to hear that, and apologize for the Thingy:91 gtting started process not being as easy.

     

    Rudolph Aschmoneit said:
    The LED was blinking, so I tried it again, cause I remembered you note that the LED should not Blink when in MCU Boot Mode. So I turned the device off, holding SW4 and powered it on again, LED was blinking, so I re-read your Post, and I mentioned, that the LED should be off when 9160 is in MCU Bootmode, so I thought maybe LED is off only when the nrf9160 is in MCU Bootmode and not when nRF52840 is in MCU Bootmode.

     You are correct, and I could probably have been more clear. The nRF52840 is used only as a brdige between UART from the nRF9160 and USB, so it has no control of the LED. That is up to the application on the nRF9160.

     

    Rudolph Aschmoneit said:
    what was the reason of the error? Was anything wrong in the procedure I was doing/ had described here?

     It sounds to me like you did everything correctly.

    Did the Programmer leave any log files?

    You can find where they are stored by opening the current log (see picture), and selecting "save as". You should then get a file browser window opened at the location where the logs are stored by default (at least on Windows).

    In Windows, the location is C:\Users\<user>\AppData\Roaming\nrfconnect\pc-nrfconnect-programmer\logs.

     

    Rudolph Aschmoneit said:
    But now the Programmer doesn't find the device, no matter if in MCU boot mode or not, and I also can't see it as USB Device at my computer

     Are you using Linux?

    If you connect the Thingy to your computer (or power it on while it is connected), and run 'dmes', do you see any lines indicating that you just connected a USB device?

    Anyway, it seems you already have an nRF9160DK:

     

     

    Rudolph Aschmoneit said:
    when I was getting started with the nrf9160 DK

     The easiest solution is probably to connect a 10-pin cable from the 'Debug out' port on the DK to the debug connector on the Thingy, and set 'SWD SELECT' to the 'nRF52' position, and program the nRF52840 that way.

    Remember that when using this method, you must use the images in the img_app_bl folder.

    See this guide for more information: https://infocenter.nordicsemi.com/topic/ug_nc_programmer/UG/nrf_connect_programmer/ncp_pgm_thingy91_debugprobe.html

  • Hey Didrik,

    thanks for your reply, I am using macOS 10.15.7, I forget to save the log files, now it is to late, but I will try the flash the nRF52840 via the nRF9160 DK as you suggested and let you know whether that will have fixed my problem. I also will try dmes. But I will probably only get to it tomorrow or the day after. Greetings Rudolph

  • Hey Didrik,

    just after I wrote my last reply, I get the info, that we have a delay in another project, I had planed to work on today, so I got a little time for the Thingy issue. Cause I could not find a JTAG Cable with such a small footprint here, I had to do a little hack and soldering some jumper cables to the Thingy test points and use a DAPLink USB Device for flashing. Anyway, so I could succesfully update the nRF52840 FW after that I also could succesfully update the modem firmware via MCU-Boot and using the nrf Programmer, so flashing first the nRF52840 FW and then update the modem FW helps with that issue, so you were right from the beginning. Thanks a lot for your help! Have a nice day! 

    Best regards 

    Rudolph

Related