Skip to content
This repository has been archived by the owner on Nov 12, 2020. It is now read-only.

NordicSemiconductor/NAT-TestFirmware

Repository files navigation

NAT Test Firmware

Build and Release semantic-release Commitizen friendly Nordic ClangFormat Zephyr compliance

This firmware determines the NAT timeouts in cellular networks by sending messages to the NAT-TestServer and waiting for the reply.

This application is built with sdk-nrf.

Getting started

Support this project by giving more insight into the NAT timeouts in cellular networks. The following steps describe the testing process:

  1. Find the latest firmware build in the releases and flash it onto your nRF9160 Development Kit.
  2. Insert the SIM card of your choice and power on the development kit. The test starts automatically. Do not change the location of the development kit during testing, and avoid switching mobile cells.
  3. Optionally, you can connect the development kit via USB and observe the test status in a terminal.
  4. Wait until the test finishes (This is indicated by the 4 LEDs, blinking in a rotating pattern). If the TCP test continues to run for more than 24 hours, you can abort it. It is generally assumed that a test run duration exceeding 24 hours indicates a network providing sufficient power savings for majority of the use case scenarios.
  5. Register an account on https://cellprobe.thingy.rocks/ and login to see your test results (These results are updated every hour).
  6. If your SIM does not show up after login, it could mean that the ICCID is unknown. In this case, open an issue in the TestServer repository.
  7. Optionally, repeat the steps from Step 2 for every SIM you would like to test.

If you have any questions, open an issue in the TestServer repository.

Automated releases

This project uses Semantic Release to automate releases. Every commit is run using GitHub Actions and depending on the commit message an new GitHub release is created and pre-build hex-files for all supported boards are attached.

Shell commands

The NAT-test client can be configured through UART shell (115200 baudrate) with the following commands:

  • start
    • udp
    • tcp
    • udp_and_tcp
  • stop_running_test
  • config
    • test
      • udp
        • initial_timeout
          • get
          • set
        • timeout_multiplier
          • get
          • set
      • tcp
        • initial_timeout
          • get
          • set
        • timeout_multiplier
          • get
          • set
    • network
      • mode
        • get
        • set
      • state
        • get

Additionally one can send AT-cmds with at <AT cmd>

LED status indication

  • LED 1 blinking: Test in progress
  • LED 1-4 blinking in a rotating pattern: Test is done