Compliance software for nRF5340/nRF7002 (NCS v2.6.0) – Urgent for WiFi/BLE Compliance Testing

Dear Nordic team,

We are currently preparing for Wi-Fi, BLE, and LTE compliance testing scheduled for next Tuesday, and are encountering a blocking issue with the Radio Test sample for the nRF5340 and nRF7002, using NCS v2.6.0.

We’ve designed a custom board based on the nRF5340, nRF7002, and nRF9161. We have extensive experience using NCS and Zephyr, and our production firmware — which includes BLE, Wi-Fi, and LTE functionality — works without issues.

For the compliance tests, we would like to use off-the-shelf firmware. We’re using the Radio Test sample for BLE and Wi-Fi, and the PTI image + modem shell for LTE. However, we are unable to get the Radio Test sample working with RTT (which we also use in our production firmware). We’ve also attempted to run it on the development kits (nRF5340 DK and nRF7002 DK) and tried USB, but had no success.

There seems to be an issue with communication between the application core and the network core. We would really appreciate assistance or guidance on how to get this working correctly in time for our compliance tests.

To enable RTT, we added the following configuration to child_image/remote_shell/prj.conf:


CONFIG_USE_SEGGER_RTT=y

CONFIG_RTT_CONSOLE=y
CONFIG_UART_CONSOLE=n

CONFIG_SHELL_BACKEND_RTT=y
CONFIG_SHELL_PROMPT_RTT="mosh:~$ "
CONFIG_SHELL_BACKEND_SERIAL=n
CONFIG_SHELL_PROMPT_UART=""

This issue is time-sensitive due to our scheduled compliance lab slot. We would be very grateful for support or a working example configuration that enables RTT command interface with the Radio Test sample.

Kind regards,
Henrico Brom



  • We might have found a solution.

    It turns out the shell UART is enabled by default in the nrf7002dk_nrf5340_cpu_net.dts using: zephyr,shell-uart = &uart0;

    In most samples, switching to RTT just requires setting the correct prj.conf options (as shown in my original post). However, for this sample, you also need to explicitly disable the UART shell.

    To make the Radio Test sample work over RTT on the nRF7002, we added a new overlay file named nrf7002dk_nrf5340_cpunet.overlay in the sample's boards/ folder with the following content:

    / {
        chosen {
            zephyr,shell-uart = <>;
        };
    };


    Additionally, we used the following config options in prj.conf:
    # enable console
    CONFIG_CONSOLE=y
    CONFIG_UART_CONSOLE=n
     
    # Enable RTT console backend
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_RTT_CONSOLE=y
    CONFIG_UART_CONSOLE=n
     
    # Enable RTT for shell
    CONFIG_SHELL_BACKEND_RTT=y
    CONFIG_SHELL_BACKEND_SERIAL=n
    


    Finally, we connected to the network core (NET) via J-Link instead of the application core (APP), and with this setup, RTT command input/output started working correctly.

    However, there seems to be a mismatch in the documentation. It states that for both the nRF7002 DK and the nRF5340 DK, the remote shell application must be running on the application core. However, when building the Radio Test sample for the nRF7002 DK, the remote shell is not included by default, it only builds when targeting the nRF5340 DK. In the end, we didn’t need the remote shell at all for the nRF7002 DK, but that’s not clearly explained in the current documentation.


    Kind regards,
    Henrico

  • Hello Henrico,

    Thank you for the good news and the feedback about documentation.

    I will report it internally so that customers won't struggle with the nRF7002DK for that case.

    Best regards,

    Brian

Related