.. _wifi_wfa_qt_app_sample: Wi-Fi: WFA QuickTrack control application ######################################### .. contents:: :local: :depth: 2 The QuickTrack sample demonstrates how to use the WFA QuickTrack (WFA QT) library needed for Wi-Fi Alliance QuickTrack certification. Requirements ************ The sample supports the following development kits: .. table-from-sample-yaml:: Overview ******** The QuickTrack sample and library offer support for QuickTrack certification testing through two distinct interfaces: a netUSB interface and a Serial Line Internet Protocol (SLIP) interface. You can choose either of these options for running QuickTrack certification. See `Wi-Fi Alliance Certification for nRF70 Series`_ for more information. Test setup ========== The following figure shows a reference test setup. .. figure:: /images/wifi_quicktrack_test_setup.png :alt: Wi-Fi QuickTrack test setup Wi-Fi QuickTrack reference test setup Build configuration ******************* |config| Configuration options ===================== The following sample-specific Kconfig options are used in this sample (located in :file:`samples/wifi/wfa_qt_app/Kconfig`) : .. options-from-kconfig:: :show-type: To specify IP addresses, you can edit the following Kconfig options: * Use the :kconfig:option:`CONFIG_NET_CONFIG_USB_IPV4_ADDR` Kconfig option in the :file:`overlay-netusb.conf` file to set the IPv4 address for USB communication. * Use the :kconfig:option:`CONFIG_NET_CONFIG_SLIP_IPV4_ADDR` Kconfig option in the :file:`overlay-slip.conf` file to set the IPv4 address for UART communication. Building and running ******************** .. |sample path| replace:: :file:`samples/wifi/wfa_qt_app` .. include:: /includes/build_and_run_ns.txt Currently, the following configurations are supported: * nRF7002 DK + QSPI * nRF7002 EK + SPI To build for the nRF7002 DK, use the ``nrf7002dk/nrf5340/cpuapp`` build target. The following is an example of the CLI command: .. code-block:: console west build -b nrf7002dk/nrf5340/cpuapp To build for the nRF7002 EK with the nRF5340 DK, use the ``nrf5340dk/nrf5340/cpuapp`` build target with the ``SHIELD`` CMake option set to ``nrf7002ek``. The following is an example of the CLI command: .. code-block:: console west build -b nrf5340dk/nrf5340/cpuapp -- -DSHIELD=nrf7002ek To build for the nRF7002 DK with the netusb support, use the ``nrf7002dk/nrf5340/cpuapp`` build target with the configuration overlay :file:`overlay-netusb.conf`. The following is an example of the CLI command: .. code-block:: console west build -b nrf7002dk/nrf5340/cpuapp -- -DEXTRA_CONF_FILE=overlay-netusb.conf To build for the nRF7002 DK with the Serial Line Internet Protocol (SLIP) support, use the ``nrf7002dk/nrf5340/cpuapp`` build target with the configuration overlay :file:`overlay-slip.conf` and DTC overlay :file:`nrf7002_uart_pipe.overlay`. The following is an example of the CLI command: .. code-block:: console west build -b nrf7002dk/nrf5340/cpuapp -- -DEXTRA_CONF_FILE=overlay-slip.conf -DDTC_OVERLAY_FILE=nrf7002_uart_pipe.overlay See also :ref:`cmake_options` for instructions on how to provide CMake options. Testing ======= After programming the sample to your development kit, complete the following steps to test it with the SLIP configuration: 1. Install :file:`tunslip6` by installing the ``net-tools`` package on the PC where the QuickTrack (QT) tool is running. Run the following command to clone the ``net-tools`` repository: .. code-block:: console git clone https://github.com/zephyrproject-rtos/net-tools.git #. Navigate to the :file:`net-tools` directory. .. code-block:: console cd net-tools/ #. Run the following command to compile the ``net-tools`` package: .. code-block:: console make .. note:: Install all dependent packages. #. Run the following command to create a SLIP interface. .. code-block:: console ./tunslip6 -s -T * ``tunslip6``: Creates a SLIP interface on the host PC, which can be used for serial communication. * ``serial_port``: Can be replaced with the device path on which the DUT is connected to. * ``IPv6_prefix``: Can be replaced with the desired IPv6 address and subnet prefix length for your device. The following is an example of the CLI command: .. code-block:: console ./tunslip6 -s /dev/ttyACM4 -T 2001:db8::1/64 Sample output ============= After programming, the sample shows the following output: .. code-block:: console *** Booting nRF Connect SDK 48f33c9870f1 *** Starting nrf7002dk/nrf5340/cpuapp with CPU frequency: 128 MHz [00:00:00.330,932] net_config: Initializing network [00:00:00.330,932] net_config: Waiting interface 2 (0x20007a58) to be up... [00:00:00.331,085] wpa_supp: Successfully initialized wpa_supplicant [00:00:00.331,237] wfa_qt: Welcome to use QuickTrack Control App DUT version v2.1 [00:00:00.331,268] wfa_qt: QuickTrack control app running at: 9004 [00:00:00.331,268] wfa_qt: Wireless Interface: wlan0 [00:00:00.757,965] net_config: Interface 1 (0x20007940) coming up [00:00:00.758,087] net_config: Running dhcpv4 client... [00:00:00.763,732] usb_ecm: Set Interface 0 Packet Filter 0x000c not supported [00:00:00.830,627] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported [00:00:00.832,214] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported [00:00:00.832,519] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported [00:00:00.834,594] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported [00:00:00.835,021] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported [00:00:00.835,327] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported [00:00:00.835,937] usb_ecm: Set Interface 0 Packet Filter 0x000e not supported QuickTrack certification testing ******************************** QuickTrack certification tests can be done by individual companies with Wi-Fi Alliance membership or by authorized test houses. See `QuickTrack Test Tool User Manual`_ for how to install the QuickTrack test tool. See `QuickTrack Test Tool Platform Integration Guide`_ for the installation process of relevant access points. .. note:: OpenWRT access points have known limitations when running Station Under Test (STAUT) Security Vulnerability Detection test cases. Wi-Fi Alliance recommends using Intel AX210 station as the SoftAP to perform these tests. See `Platform Intel Ax210 Integration Guide`_ for more details. Dependencies ************ This sample uses a module that can be found in the following location in the |NCS| folder structure: * :file:`modules/lib/wfa-qt-control-app`