Issue with Thingy:91 (based on nRF9160 and nRF52840)

GNSS not working on Thingy:91 after modem_shell flash — help and gnss start return ERROR

Device:

Thingy:91 (NK-THINGY91)
RS Stock No. 196-3901
nRF9160 + nRF52840 combo platform

Context:

I'm trying to use GNSS on my Thingy:91 and flash it with the modem_shell application. IM using this device as my own apple air tag so i need gps readings, i followed tutorials online and nothing has worked, ive tested that it has network, the sim works, but the gnss wont work.

What I did:

  1. Entered MCUBOOT mode (SW3 + USB plug-in)

  2. Flashed this firmware using nRF Connect Programmer: I downloaded the latest firmware 1.3.7 from nordics website.

    • modem_shell_.hex

  3. Replugged normally, opened Serial Terminal at 115200 baud

  4. Sent: AT+CGMR → White check mark Response: mfw_nrf9160_1.3.6

  5. Sent: help or gnss start → X Response: ERROR

  6. Flashed thingy91_nrf52_connectivity_bridge.hex successfully

  7. Device appears as expected on COM port (via nRF52840 bridge)

Problem:

  • Despite flashing modem_shell, the device behaves like it’s stuck in AT command mode

  • help and other shell commands give ERROR

  • GNSS functionality (e.g. gnss start) is not available

  • nrf cloud cant find device
  • It seems like modem_shell is either:

    • Not flashing properly

    • Crashing on boot

    • Being skipped by the bootloader in favor of just modem firmware

Goal:

I want to:

  • Run the modem_shell app properly (with help, gnss start, etc.)

  • Have GNSS functionality working

  • if that doesnt work  i want to reset so i can attempt from start again.
  • Ensure full factory-style reset of the Thingy:91 without needing a J-Link

Questions:

  1. Is there a known issue with flashing signed modem_shell apps via MCUboot?

  2. Do I need to flash any special .zip/combined image or DFU package?

  3. Is it possible that the bootloader is skipping the app image?

  4. Any way to verify the modem_shell actually booted (versus fallback to modem firmware)?

  5. Can I safely erase and restore this device without a J-Link?

Tools:

  • nRF Connect Programmer v3.0+

  • nRF Connect Serial Terminal

  • Windows 11

  • Device connected via USB only (no external SWD/J-Link access)

Parents
  • I'll add that the lights dont come on at all anymore, they stopped since the moment it was flashed

  • Hi,

    i followed tutorials onlin

    Could you specify if this is our tutorials or resources not created by Nordic Semiconductor? If the resources are "talking to a chatbot/AI tool and following the instructions blindly without crossreferencing official documentation", then I strongly strongly recommend that you stop with that and use the time following official guides and documentation instead. ChatGPT for instance is notoriously bad for giving somewhat bullet proof instructions for anything embedded. Kapa (Nordic chatbot) is quite decent because it mainly describes how to do it from our documentation.

    Flashed this firmware using nRF Connect Programmer: I downloaded the latest firmware 1.3.7 from nordics website.

    You say that you're running the latest 1.37 modem_shell, while your AT command states that the modem firmware is 1.3.6: 

    Please match those.

    After this, I recommend you to go through the academy courses we have for nRF Connect SDK to get a better overview of the build system.

    Is there a known issue with flashing signed modem_shell apps via MCUboot?

    There shouldn't be. https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html 

    Do I need to flash any special .zip/combined image or DFU package?

    Depending on what you're updating and how you're updating there may be different files, so if you point me to the "tutorials online" that you've followed I can have a look at that and see if I can better understand the angle you're coming from.

    Is it possible that the bootloader is skipping the app image?

    Yes, but that's only the case if you do the following:

    1. Build and flash a combined hex that has both MCUboot and the application. Lets say that mcuboot ends at 0xC000 and your application starts at 0xC100. Here MCUboot knows where to find the application.
    2. Build a new application where you've changed the applications start address to 0xC200
    3. Do DFU where you only update the application
    4. Now MCUboot expects the app to start at 0xC100 while the app has been changed to starts at 0xC200 -> It can't boot anything since nothing exists on 0xC100
    Can I safely erase and restore this device without a J-Link?

    If you need you can program the device through another Nordic DK as well, through the debugger interface on a nRF5340DK for instace. But this will require a 10pin programming cable.

    JoJo2895 said:
    I'll add that the lights dont come on at all anymore, they stopped since the moment it was flashed

    Most likely due to the bootloader not being able to boot the application. The reason could be many, but if you reprogram it with a basic sample from the getting started guides it should hopefully be running again.

    Let me know about these items and if any are helpful.

    Kind regards,
    Andreas

Reply
  • Hi,

    i followed tutorials onlin

    Could you specify if this is our tutorials or resources not created by Nordic Semiconductor? If the resources are "talking to a chatbot/AI tool and following the instructions blindly without crossreferencing official documentation", then I strongly strongly recommend that you stop with that and use the time following official guides and documentation instead. ChatGPT for instance is notoriously bad for giving somewhat bullet proof instructions for anything embedded. Kapa (Nordic chatbot) is quite decent because it mainly describes how to do it from our documentation.

    Flashed this firmware using nRF Connect Programmer: I downloaded the latest firmware 1.3.7 from nordics website.

    You say that you're running the latest 1.37 modem_shell, while your AT command states that the modem firmware is 1.3.6: 

    Please match those.

    After this, I recommend you to go through the academy courses we have for nRF Connect SDK to get a better overview of the build system.

    Is there a known issue with flashing signed modem_shell apps via MCUboot?

    There shouldn't be. https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/known_issues.html 

    Do I need to flash any special .zip/combined image or DFU package?

    Depending on what you're updating and how you're updating there may be different files, so if you point me to the "tutorials online" that you've followed I can have a look at that and see if I can better understand the angle you're coming from.

    Is it possible that the bootloader is skipping the app image?

    Yes, but that's only the case if you do the following:

    1. Build and flash a combined hex that has both MCUboot and the application. Lets say that mcuboot ends at 0xC000 and your application starts at 0xC100. Here MCUboot knows where to find the application.
    2. Build a new application where you've changed the applications start address to 0xC200
    3. Do DFU where you only update the application
    4. Now MCUboot expects the app to start at 0xC100 while the app has been changed to starts at 0xC200 -> It can't boot anything since nothing exists on 0xC100
    Can I safely erase and restore this device without a J-Link?

    If you need you can program the device through another Nordic DK as well, through the debugger interface on a nRF5340DK for instace. But this will require a 10pin programming cable.

    JoJo2895 said:
    I'll add that the lights dont come on at all anymore, they stopped since the moment it was flashed

    Most likely due to the bootloader not being able to boot the application. The reason could be many, but if you reprogram it with a basic sample from the getting started guides it should hopefully be running again.

    Let me know about these items and if any are helpful.

    Kind regards,
    Andreas

Children
Related