nRF Thread Topology Monitor: Issues Scanning Devices Flashed with Self-Generated .hex Files

Hi

I'm setting up an OpenThread network and am trying to use the nRF Thread Topology Monitor to visualize the network for debugging purposes. However, no OT devices appear in the GUI, and I can't seem to figure out why.

Here's my setup:

  • I'm running the nRF Thread Topology Monitor on a Linux laptop.
  • I have a nRF52840 Dongle connected to the laptop, which I flashed with the .hex file provided in the installation folder.
  • For other devices, I am building the this Thread CLI sample myself and flashing those devices.

However, according to the documentation for the nRF Thread Topology Monitor (PDF version, page 7), it states:

"Note: Use the CLI example's hexadecimal file provided in the nRF Thread Topology Monitor package. The tool will not work if you flash the board with a different CLI example."

Does this mean the .hex files included in the nRF Thread Topology Monitor package are different from the ones I build using the Thread CLI sample?

Here are the build commands I'm using:

For nRF52840DK using UART:

$ west build -b nrf52840dk_nrf52840 --build-dir build/nrf52840dk --pristine

For nRF52840DK using CDC-ACM as serial transport:

$ west build -b nrf52840dk_nrf52840 --build-dir build/nrf52840dk --pristine -S usb

For nRF52840DK + nRF21540EK:

$ west build -b nrf52840dk_nrf52840 --build-dir build/nrf52840dk_nrf21540ek --pristine -S usb -- -DSHIELD=nrf21540ek

And to flash the boards, I’m using:

$ west flash -d <build-dir> --erase

If anyone could clarify if there's a difference between the pre-packaged .hex files in the Topology Monitor and the ones I generate, or if there's another setup step I might be missing, I’d really appreciate it! I thought we could use the nRF Thread Topology Monitor to visualize our own OpenThread networks and I was thinking to use the Thread CLI sample as a starter point to my future implementation. 

Additionally, Nordic should update the nRF Thread Topology Monitor, as the required package in the instructions, libgconf-2-4, is deprecated.

Thanks

  • I successfully built and flashed the Thread CLI sample myself instead of using the pre-built .hex files. To specify the .hex file during the flash stage, I used the following command:

    $ west flash --build-dir build/nrf52840dk --hex-file build/nrf52840dk/zephyr/zephyr.hex --erase

    However, I'm now facing two issues:

    1. OpenThread Shell not responding:

    The OpenThread shell works smoothly when the device isn't yet connected to the network. However, after I run the following command in the OpenThread shell:

     $ ot thread start

    I see the device appear in the nRF Thread Topology Monitor, but the OpenThread shell becomes unresponsive and doesn’t allow me to enter any further commands. I would like to be able to check details like the parent and child IDs, routing tables, and change the device role, but I’m currently unable to do so once the device joins the network.

    1. In nRF Thread Topology Monitor not stable:

    Although I can now see multiple devices in the nRF Thread Topology Monitor, the devices are constantly appearing and disappearing. Is this a potential bug in the nRF Thread Topology Monitor, or could it indicate that the devices are actually disconnecting and reconnecting frequently on the network?

  • Hello,

    Let me check internally if someone have a suggestion.

    Kenneth

  • I removed the low_power snippet from the build command, and now the network appears stable in the nRF OpenThread Topology Monitor. The low_power snippet puts the device into sleep mode, which likely causes it to be undetected during the next poll event from the network leader.

Related