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

Cannot update the modem/application firmware on the Nordic Thingy:91

I have attempted to update the firmware on the Nordic Thingy:91 via usb connection to my laptop running CentOS 8, however, finding great difficulty updating the firmware through the nRF Connect Programmer application.

I put the device into MCU Boot and then attempt to write either the hex files or the zip file for the modem update, and it will begin to write, however, fail saying that the device is not in MCU boot mode. 

The below is just an example. I would like to be able to program the board using my linux machine, however, I know I can program the board using a windows machine and the J-Link Debug Probe that we have. I would like to avoid the windows machine if possible, but have been having some great difficulty with my linux machine interfacing with this device.

09:27:26.655
Application data folder: /home/rs/.config/nrfconnect/pc-nrfconnect-programmer
09:27:26.683
Using nrfjprog library 10.12.1, pc-nrfjprog-js 1.7.6
09:27:36.351
Modem DFU starts to write...
09:27:36.352
Writing /home/rs/Downloads/thingy91_fw_2020-10-30_5522ca2b (1)/mfwnrf9160122.zip to device
09:27:48.782
MCUboot DFU failed. Please make sure that the device is in MCUboot mode and try again.
Parents
  • Hi,

     

    running CentOS 8

     First of all, that is not supported. We only offilially support Windows 10, macOS and Ubuntu.

    That doesn't necessarily mean that it is not possible to make it work with other Linux distros, but it is not tested, and not guaranteed. It might also require some extra tinkering on your part.

    With that in mind, have you tested on any of the supported platforms?

    Does it work if you use mcumgr in the command line? https://devzone.nordicsemi.com/nordic/cellular-iot-guides/b/getting-started-cellular/posts/thingy91_2d00_fw_2d00_update_2d00_mcuboot (note that you should use .bin files for application updates with mcumgr, and I do not believe modem updates are supported)

    What applications are running on the nRF9160 and the nRF52840 on the Thingy?

    Best regards,

    Didrik

  • Thanks Didrik,

    Yes, I can get everything that I need on the windows machine, however, that is not my main machine, so I'm hoping to get this to work on my centOS machine.

    However, I could not install the mcumgr, it doesn't look like it will work on centos. Do you have any other suggestions?

    Currently, I am just trying to update the application for one of the samples/build examples that comes with the default repo, one that would ideally allow me to use the LTE Link Monitor in order to actually execute AT commands to the Nordic Thingy:91 device that I have. Currently, can't enter AT commands, and trying to make sure I put the correct application/sample on the thingy:91

    Robert

  • RSemple said:
    However, I could not install the mcumgr, it doesn't look like it will work on centos. Do you have any other suggestions?

     Which step failed?

    What error did you get?

     

    RSemple said:
    Currently, I am just trying to update the application for one of the samples/build examples that comes with the default repo, one that would ideally allow me to use the LTE Link Monitor in order to actually execute AT commands to the Nordic Thingy:91 device that I have. Currently, can't enter AT commands, and trying to make sure I put the correct application/sample on the thingy:91

     I recommend that you start by making sure you have working applications on the Thingy.

    With your Windows computer, program the connectivity_bridge to the nRF52840, and the asset_tracker to the nRF9160.

    You should then be able to connect the Thingy to your CentOS computer, and see the Thingy as 2 USB TTY devices. One of them should print log, and let you send AT commands to the Thingy.

    You might also want to try with other serial terminals than just the LTE link monitor, just to see if you can communicate with the Thingy at all.

Reply
  • RSemple said:
    However, I could not install the mcumgr, it doesn't look like it will work on centos. Do you have any other suggestions?

     Which step failed?

    What error did you get?

     

    RSemple said:
    Currently, I am just trying to update the application for one of the samples/build examples that comes with the default repo, one that would ideally allow me to use the LTE Link Monitor in order to actually execute AT commands to the Nordic Thingy:91 device that I have. Currently, can't enter AT commands, and trying to make sure I put the correct application/sample on the thingy:91

     I recommend that you start by making sure you have working applications on the Thingy.

    With your Windows computer, program the connectivity_bridge to the nRF52840, and the asset_tracker to the nRF9160.

    You should then be able to connect the Thingy to your CentOS computer, and see the Thingy as 2 USB TTY devices. One of them should print log, and let you send AT commands to the Thingy.

    You might also want to try with other serial terminals than just the LTE link monitor, just to see if you can communicate with the Thingy at all.

Children
  • My apologies, apparently it takes twice to get the mcumgr installed... second time's the charm.

    I verified that the asset_tracker application loads onto the Nordic thingy:91 correctly, and I am able to enter AT commands at that point in the LTE Tracker app. I appreciate that.

    I did have 1 hiccup, not sure if it matters at this point, but I had initially first loaded the asset tracker onto the nrf9160 chip and then loaded the connectivity bridge onto the nrf5280 chip. In doing this, I had no success, until I reinstalled the asset_tracker application onto the nrf9160 chip. At that point I was able to enter AT commands without any issues.

    I was not able to write the app_signed.hex files from my centos8 machine to the thingy:91 device however. Kept giving me an error: MCUboot DFU failed. Error occured when program. Errorcode: CouldNotOpenDevice (0x4) Lowlevel error: Unknown value (ffffff8e)

Related