Combined WiFi and BLE Radio testing for nRF7002DK

Hello,

We are in certification stages for our custom product based on the nRF7002DK. Our application requires BLE and WiFi to be operational simultaneously. Consequently, the certification process also requires capability to test both WiFi and BLE radio simultaneously.

We have been referring to the existing separate nordic samples for BLE and WiFi radio tests but unable to find a sample/ guide which can make both work as part of the same application.

Is there any way to achieve this where the radio tests can be performed simultaneously for WiFi and BLE through a common build?

Thanks,

Ashish 

Parents
  • Hi,

     

    1. Yes, this is available in v2.6.1.

    2. You can use RTT (this will require additional configuration), but if you have two unused GPIOs (routed to test points for instance) to use instead, that is recommended.

    Here's an example configuration for enabling RTT:

    CONFIG_SERIAL=n
    CONFIG_SHELL_BACKEND_SERIAL=n
    CONFIG_RTT_CONSOLE=y
    CONFIG_UART_CONSOLE=n
    
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_SHELL_BACKEND_RTT=y

    place this in the ncs/nrf/samples/peripheral/radio_test/boards/nrf7002dk_nrf5340_cpuapp.conf and it should be automatically detected when you configure the samples/wifi/radio_test sample with CONFIG_NRF700X_RADIO_TEST_COMBO=y set.

    Let me know if you run into any issues or see problems.

     

    Kind regards,

    Håkon

  • Hi Håkon,

    We performed the following steps - 

    1. Enabled CONFIG_NRF700X_RADIO_TEST_COMBO=y in prj.conf file in ncs/nrf/samples/wifi/radio_test
    2. Added RTT logs in ncs/nrf/samples/peripheral/radio_test/boards/nrf7002dk_nrf5340_cpuapp.conf
    3. Built ncs/nrf/samples/wifi/radio_test for nrf7002dk_nrf5340_cpuapp

    On following the above steps, we are able to run the WiFi test commands via RTT but getting 'not found' errors when trying to run BLE commands (screenshot below).

     

    Also, validated that on enabling CONFIG_NRF700X_RADIO_TEST_COMBO, separate network and app core builds are being generated.

    Anything we might be missing?

     

    Thanks,

    Ashish

  • Now you have two separate images running on each core. Your app_core is running wifi/radio_test and the network core is running peripheral/radio_test. These two do not communicate to eachother, meaning that you need to open up a communication channel to each core.

    You need to connect to the network core (in JLinkRTTViewer: NRF5340_XXAA_NET) in order to issue bluetooth radio_test commands.

     

    Kind regards,

    Håkon

  • Thankyou  for you guidance on radio test!

    The next step for us is interface testing. Where we need to obtain and display ipv4 and ipv6 address and want an interactive shell as well.
    Was able to achieve this by adding necessary shell configs to wifi/sta sample. But we are facing the below error after receiving the connected status.

    rtt:~$ [00:03:06.070,190] <dbg> net_icmpv6: net_icmpv6_input: (rx_q[0]): ICMPv6 Multicast Listener Query received type 130 code 0
    rtt:~$ [00:03:06.070,220] <err> net_pkt: Uncontiguous data cannot be linearized
    rtt:~$ [00:03:06.070,220] <err> net_icmpv6: ICMPv6 handling failure (-5)

  • Hey  
    We need to setup framework for the following testing RFC 4213:2005, 2460:1998, 8200:2017 on our custom nrf7002_nrf5340. Is there an existing framework that can be used to carry out this testing?

  • Hi,

     

    meraki said:

    We need to setup framework for the following testing RFC 4213:2005, 2460:1998, 8200:2017 on our custom nrf7002_nrf5340. Is there an existing framework that can be used to carry out this testing?

    To test IPv4/v6, you can use any example that has it enabled, for instance wifi/shell.

     

    meraki said:
    The next step for us is interface testing. Where we need to obtain and display ipv4 and ipv6 address and want an interactive shell as well.
    Was able to achieve this by adding necessary shell configs to wifi/sta sample. But we are facing the below error after receiving the connected status.

    rtt:~$ [00:03:06.070,190] <dbg> net_icmpv6: net_icmpv6_input: (rx_q[0]): ICMPv6 Multicast Listener Query received type 130 code 0
    rtt:~$ [00:03:06.070,220] <err> net_pkt: Uncontiguous data cannot be linearized
    rtt:~$ [00:03:06.070,220] <err> net_icmpv6: ICMPv6 handling failure (-5)

    Could you explain what was done specifically to get to this error message?

    Please note:

    You cannot enable both the wifi/radio_test and use STA/SoftAP simultaneously, unfortunately.

    wifi/radio_test uses a specific test firmware that it loads to the nRF700x, which cannot be used simultaneously as the normal functions.

     

    Kind regards,

    Håkon

     

  • Hey Håkon
    We are not enabling both wifi/radio_test and interface testing simultaneously. We are trying to set up interface testing on an other device entirely.
    I have used the wifi/sta sample and enabled some shell commands to set up ipv4/v6 conection.

    I was looking for a way to dynamically(through RTT shell commands) disable and enable ipv4 or ipv6 as it is a testing requirement. ( RFC 4213:2005, 2460:1998, 8200:2017 )

    Side note: 
    I was seeing  <err> net_icmpv6: ICMPv6 handling failure (-5) when i had integrated wifi/sta sample and enabled all the configs related to NET and SHELL from wifi/shell sample, with the new configs this is resolved

    Now I don't see that error, however receive  <err> net_icmpv6: ICMPv6 handling failure (-2) when connecting to networks that have ipv6 disabled, which is understandable as it is not able to resolve the ipv6 address

Reply
  • Hey Håkon
    We are not enabling both wifi/radio_test and interface testing simultaneously. We are trying to set up interface testing on an other device entirely.
    I have used the wifi/sta sample and enabled some shell commands to set up ipv4/v6 conection.

    I was looking for a way to dynamically(through RTT shell commands) disable and enable ipv4 or ipv6 as it is a testing requirement. ( RFC 4213:2005, 2460:1998, 8200:2017 )

    Side note: 
    I was seeing  <err> net_icmpv6: ICMPv6 handling failure (-5) when i had integrated wifi/sta sample and enabled all the configs related to NET and SHELL from wifi/shell sample, with the new configs this is resolved

    Now I don't see that error, however receive  <err> net_icmpv6: ICMPv6 handling failure (-2) when connecting to networks that have ipv6 disabled, which is understandable as it is not able to resolve the ipv6 address

Children
  • Hi,

     

    Unfortunately, there is no direct command in the network shell to take down ipv4/ipv6, but you can add or remove IP addresses, for instance:

    net ipv4 del index ip

    ie.

    net ipv4 del 1 192.168.1.x

     

    Where '1' is the index, and 'xx.yy.zz.xx' is the IP assigned. You will then need to add it manually again:

    net ipv4 add 1 ip mask

     

    Similar with ipv6.

     

    meraki said:
    Side note: 
    I was seeing  <err> net_icmpv6: ICMPv6 handling failure (-5) when i had integrated wifi/sta sample and enabled all the configs related to NET and SHELL from wifi/shell sample, with the new configs this is resolved

    Now I don't see that error, however receive  <err> net_icmpv6: ICMPv6 handling failure (-2) when connecting to networks that have ipv6 disabled, which is understandable as it is not able to resolve the ipv6 address

    With no ipv6 present, then it is expected that ping fails.

      

    Kind regards,

    Håkon

Related