How to get the Device ID shown in the Programmer : About-Device section from AT commands?

Hi,

I'm connecting my Thingy:91 for the first time, and trying to understand several things.

1. How do I determine what factory Firmware files (hex files) was used to program my device?
(I was hoping to find them in the download section, but since I cannot find what was used to program the device, I don't know what to download.)

2. In the Programmer application there is section under the ABOUT tab, called Device. Here you can find the ID that is shown in all apps for the device. (See screenshot.)
(a) How can I find this ID, and where/how is it defined?
(b) Can we find it using AT commands?

Thanks in advance.

  • Hello,

    1. How do I determine what factory Firmware files (hex files) was used to program my device?

    After downloading the firmware file of thingy:91, you can see a text file called CONTENTS.txt inside the folder which directs the use of hexfile. You can look at this Getting started with Thingy:91 — nRF Connect SDK 2.4.99 documentation (nordicsemi.com) getting started guide also.

    2. In the Programmer application there is section under the ABOUT tab, called Device. Here you can find the ID that is shown in all apps for the device. (See screenshot.)

    I do not think we can find this from AT command. You can find the device ID (https://infocenter.nordicsemi.com/topic/ps_nrf9160/ficr.html?cp=2_0_0_3_4_0_8#register.INFO.DEVICETYPE)from memory read command by using nrfjrpog.

    For example, this is my device ID when Thingy:91 is connected with external debugger (nRF9160).

    Thanks.

    BR

    Kazi

  • Hi Kazi,

    Thanks for the info, but I am not able to run the program you suggest.
    Opening a Bash from nRF Connect for Desktop:

    $ cd /c/mydev/ncs/v2.4.0/zephyr/scripts/west_commands/runners
    $ python.exe nrfjprog.py --memrd 0x00FF0204
    
    Traceback (most recent call last):
      File "nrfjprog.py", line 11, in <module>
        from runners.nrf_common import ErrNotAvailableBecauseProtection, ErrVerify, \
    ModuleNotFoundError: No module named 'runners'
    

    It seem that there is a python package missing.
    No idea why, as it was installed by your installer.

    UPDATE:

    Apparently the installer did not install the "nRF-Command-Line-Tools".

    www.nordicsemi.com/.../Download

    Now I get another error:

    $ nrfjprog.exe --memrd 0x00FF0204
    ERROR: No debuggers were discovered.


  • Hello Emanuel,

    This is the way https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/working_with_nrf/nrf91/thingy91_gsg.html#id45 how you can update modem firmware on nRF9160. 

    You can see these file for specific applications and the description.

    img_app_bl/debug/thingy91_asset_tracker_v2_debug_2023-06-01_0677b099.hex                         Asset tracker v2 firmware for nRF9160, modem debug enabled, NB-Iot and LTE-M network modes
    img_app_bl/debug/thingy91_asset_tracker_v2_debug_nbiot_legacy_pco_2023-06-01_0677b099.hex        Asset tracker v2 firmware for nRF9160, modem debug enabled, NB-IoT network mode, legacy PCO
    img_app_bl/debug/thingy91_modem_shell_debug_2023-06-01_0677b099.hex                              Modem shell, modem debug enabled
    img_app_bl/debug/thingy91_serial_lte_modem_debug_2023-06-01_0677b099.hex                         Serial LTE modem, modem debug enabled
    img_app_bl/thingy91_asset_tracker_v2_2023-06-01_0677b099.hex                                     Asset tracker v2 firmware for nRF9160, NB-Iot and LTE-M network modes
    img_app_bl/thingy91_asset_tracker_v2_nbiot_legacy_pco_2023-06-01_0677b099.hex                    Asset tracker v2 firmware for nRF9160, NB-IoT network mode, legacy PCO
    img_app_bl/thingy91_at_client_2023-06-01_0677b099.hex                                            Firmware for direct modem communication
    img_app_bl/thingy91_modem_shell_2023-06-01_0677b099.hex                                          Modem shell
    img_app_bl/thingy91_nrf52_connectivity_bridge_2023-06-01_0677b099.hex                            Connectivity bridge for the nrf52
    img_app_bl/thingy91_serial_lte_modem_2023-06-01_0677b099.hex                                     Serial LTE modem
    img_fota_dfu_bin/debug/thingy91_asset_tracker_v2_debug_2023-06-01_0677b099.bin                   Asset tracker v2 firmware for nRF9160, modem debug enabled, NB-Iot and LTE-M network modes
    img_fota_dfu_bin/debug/thingy91_asset_tracker_v2_debug_nbiot_legacy_pco_2023-06-01_0677b099.bin  Asset tracker v2 firmware for nRF9160, modem debug enabled, NB-IoT network mode, legacy PCO
    img_fota_dfu_bin/debug/thingy91_modem_shell_debug_2023-06-01_0677b099.bin                        Modem shell, modem debug enabled
    img_fota_dfu_bin/debug/thingy91_serial_lte_modem_debug_2023-06-01_0677b099.bin                   Serial LTE modem, modem debug enabled
    img_fota_dfu_bin/thingy91_asset_tracker_v2_2023-06-01_0677b099.bin                               Asset tracker v2 firmware for nRF9160, NB-Iot and LTE-M network modes
    img_fota_dfu_bin/thingy91_asset_tracker_v2_nbiot_legacy_pco_2023-06-01_0677b099.bin              Asset tracker v2 firmware for nRF9160, NB-IoT network mode, legacy PCO
    img_fota_dfu_bin/thingy91_at_client_2023-06-01_0677b099.bin                                      Firmware for direct modem communication
    img_fota_dfu_bin/thingy91_modem_shell_2023-06-01_0677b099.bin                                    Modem shell
    img_fota_dfu_bin/thingy91_nrf52_connectivity_bridge_2023-06-01_0677b099.bin                      Connectivity bridge for the nrf52
    img_fota_dfu_bin/thingy91_serial_lte_modem_2023-06-01_0677b099.bin                               Serial LTE modem
    img_fota_dfu_hex/debug/thingy91_asset_tracker_v2_debug_2023-06-01_0677b099.hex                   Asset tracker v2 firmware for nRF9160, modem debug enabled, NB-Iot and LTE-M network modes
    img_fota_dfu_hex/debug/thingy91_asset_tracker_v2_debug_nbiot_legacy_pco_2023-06-01_0677b099.hex  Asset tracker v2 firmware for nRF9160, modem debug enabled, NB-IoT network mode, legacy PCO
    img_fota_dfu_hex/debug/thingy91_modem_shell_debug_2023-06-01_0677b099.hex                        Modem shell, modem debug enabled
    img_fota_dfu_hex/debug/thingy91_serial_lte_modem_debug_2023-06-01_0677b099.hex                   Serial LTE modem, modem debug enabled
    img_fota_dfu_hex/thingy91_asset_tracker_v2_2023-06-01_0677b099.hex                               Asset tracker v2 firmware for nRF9160, NB-Iot and LTE-M network modes
    img_fota_dfu_hex/thingy91_asset_tracker_v2_nbiot_legacy_pco_2023-06-01_0677b099.hex              Asset tracker v2 firmware for nRF9160, NB-IoT network mode, legacy PCO
    img_fota_dfu_hex/thingy91_at_client_2023-06-01_0677b099.hex                                      Firmware for direct modem communication
    img_fota_dfu_hex/thingy91_modem_shell_2023-06-01_0677b099.hex                                    Modem shell
    img_fota_dfu_hex/thingy91_nrf52_connectivity_bridge_2023-06-01_0677b099.hex                      Connectivity bridge for the nrf52
    img_fota_dfu_hex/thingy91_serial_lte_modem_2023-06-01_0677b099.hex                               Serial LTE modem
    mfw_nrf9160_1.3.4.zip                                                                            Modem firmware, updated through nRF Connect for Desktop
    
    You can program the hex file from programmer app or using nrfjprog. If we use nrfjprog then you have to use the external debugger and select the hex file (Open the folder img_app_bl that contains the HEX files for flashing with a debugger) from specific folder (img_app_bl).

    For example: I programmer asset trackerv2 on thingy:91 through command prompt using nrfjprog.

  • Hi Kazi,

    This is an answer for a different question, not the one I had above.
    (I have already flashed the device and know how to do so.)

  • Hello Emanuel,

    ''Thanks for the info, but I am not able to run the program you suggest.'' - could you please tell me that which program you are mentioning? I am sorry as my second reply did not satisfy your queries. 

    ''Apparently the installer did not install the "nRF-Command-Line-Tools".

    My operating system is windows and here is no problem to install nRF command line tools. I am not sure about this. I will ask our team will give you a feedback.

    Let me say again about device address a bit more again. I showed you to see the device ID for nRF9160 ( when the switch is  turned to nRF91). When it is nRF52840, we need to use the address for the register of that chip. for device.addr it is 0x10000064. nrfjprog --memrd command shows the following output.

    However, none of the IDs' are close to what we can see in the about tab in programmer app. I have found a code https://github.com/nrfconnect/sdk-nrf/blob/main/applications/connectivity_bridge/src/main.c that shows hoe device ID set in the application. So, it is clear that device ID is from deviceaddr register.

    I will ask the specific team about this ID on the programmer app. I am just curious why do you need this information?

Related