What's DPP?
DPP:Device Provisioning Protocol
It is also called: Wi-Fi Easy Connect.
The DUT is a device that needs to join the network. It actively initiates DPP authentication (Initiator + Enrollee), which is configured by CTT1, and finally joins the Wi-Fi network provided by CTT2 (Responder + AP) as a STA.
DPP Role introduction:
CTT1 (Configurator)
Reads DUT's bootstrap key
Coordinates DPP Authentication/Configuration
Sends Wi‑Fi credentials to the DUT
DUT (Initiator + Enrollee + STA)
Is the device being provisioned
Initiates DPP Authentication toward CTT2
Receives Wi‑Fi credentials from CTT1
Connects as a STA to the AP on CTT2
CTT2 (Responder + AP + Enrollee)
Responds to DUT’s DPP Authentication messages
Operates as an AP using hostapd
The DUT will join this AP after provisioning
Below is the process flow:
1.Add a Configurator and generate QR code on CTT1 (configurator).
2.Authenticate the DUT on DUT(STA)
3.Generate the QR Code and get URI on CTT2
4.Enter the QR Code on CTT1 and authenticate
5.Update AP configuration on CTT2
6.The connection between the DUT (STA) and CTT2 (AP) is successful.
Reference:
https://docs.nxp.com/bundle/RM00297/page/connectivity-features/topics/wi-fi_easy_connect_dpp.html
Wi-Fi Easy Connect Specification
The red fonts in the pdf are commands.
The green fonts in the pdf are comments.
CTT1:Configurator
Typically, it's a mobile phone or PC used to scan QR codes and issue Wi-Fi credentials.
IMX93-EVK+IW612 module
imx93evk login: root
root@imx93evk:~# uname -a
Linux imx93evk 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT Wed Sep 3 05:59:19 UTC 2025 aarch64 GNU/Linux
root@imx93evk:~# cat /lib/firmware/nxp/wifi_mod_para.conf
SDIW612 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=2
auto_ds=2
host_mlme=1
drv_mode=0x17
fw_name=nxp/sduart_nw61x_v1.bin.se
}
root@imx93evk:~# vi wpa_supplicant.conf
root@imx93evk:~# cat wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
dpp_config_processing=2
modprobe moal mod_para=nxp/wifi_mod_para.conf
root@imx93evk:~# wpa_supplicant -i mlan0 -D nl80211 -c wpa_supplicant.conf -B &
[1] 678
root@imx93evk:~# Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
[1]+ Done wpa_supplicant -i mlan0 -D nl80211 -c wpa_supplicant.conf -B
root@imx93evk:~#
root@imx93evk:~#
root@imx93evk:~# wpa_cli
wpa_cli v2.11-M005
Copyright (c) 2004-2024, Jouni Malinen <
[email protected]> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Selected interface 'mlan0'
Interactive mode
>
DPP_CONFIGURATOR_ADD
1
> SET dpp_configurator_params " conf=sta-dpp configurator=1"
OK
> DPP_BOOTSTRAP_GEN type=qrcode chan=81/1 mac=fc:84:a7:51:87:fc //MAC address of CTT1 itself.
1
> DPP_BOOTSTRAP_GET_URI 1 //Attention here, after this command, will generate a QR code, which will be use on DUT with command:DPP_QR_CODE
DPP:C:81/1;M:fc84a75187fc;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgAD/bYibd4JdGvnK1etdgX/z4P+aJE2ztv89Q8xwjmbZNc=;;
> DPP_LISTEN 2412 role=configurator
OK
//Hold on here, and now go to DUT side to authenticate the DUT with above QR Code. After authenticate on DUT, will auto output below logs.
<3>DPP-RX src=20:4e:f6:bb:08:d9 freq=2412 type=0
<3>DPP-TX dst=20:4e:f6:bb:08:d9 freq=2412 type=1
<3>DPP-TX-STATUS dst=20:4e:f6:bb:08:d9 freq=2412 result=SUCCESS
<3>DPP-RX src=20:4e:f6:bb:08:d9 freq=2412 type=2
<3>DPP-AUTH-SUCCESS init=0 pkhash=74a40ec058ac8c7f7acb6589253e76f5d1a9582359353bcd5e6983ee97c3a382 own=1 peer=-1
<3>DPP-CONF-REQ-RX src=20:4e:f6:bb:08:d9
<3>DPP-BAND-SUPPORT 81,82,83,84,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130
<3>DPP-RX src=20:4e:f6:bb:08:d9 freq=2412 type=11
<3>DPP-CONF-SENT conf_status=0
//Now continue, after you generate the QR Code and get URI on CTT2. Enter the QR Code on CTT1 and authenticate:
> DPP_QR_CODE DPP:C:81/1;M:02e93a0db8cd;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACQOp5kWO1ex4L2U5rRXdS9yPYWA9NdRXTsuT+v5L/jvc=;;
2
//On successfully adding QR Code, a bootstrapping info id is returned as shown 2 in above command and should input in below command DPP_AUTH_INIT
> DPP_AUTH_INIT peer=2 conf=ap-dpp configurator=1
OK
//Now go to CTT2 to update AP configurations.
<3>DPP-TX dst=02:e9:3a:0d:b8:cd freq=2412 type=0
<3>DPP-TX-STATUS dst=02:e9:3a:0d:b8:cd freq=2412 result=SUCCESS
<3>DPP-RX src=02:e9:3a:0d:b8:cd freq=2412 type=1
<3>DPP-AUTH-DIRECTION mutual=0
<3>DPP-TX dst=02:e9:3a:0d:b8:cd freq=2412 type=2
<3>DPP-TX-STATUS dst=02:e9:3a:0d:b8:cd freq=2412 result=SUCCESS
<3>DPP-AUTH-SUCCESS init=1 pkhash=22233c6d83a272944eeb9788870b0b564b46ba8d48fd80787f5cc22bcec95c87 own=-1 peer=2
<3>DPP-CONF-REQ-RX src=02:e9:3a:0d:b8:cd
<3>DPP-RX src=02:e9:3a:0d:b8:cd freq=2412 type=11
<3>DPP-CONF-SENT conf_status=0
> list_networks
network id / ssid / bssid / flags
> quit
root@imx93evk:~# cat /proc/mwlan/adapter0/mlan0/info
driver_name = "wlan"
driver_version = SDIW612---18.99.3.p26.7-MM6X18540.p7-(FP92)
interface_name="mlan0"
firmware_major_version=18.99.3
uuid = 1653948cf99e5b2bbe5ad9b851d6151a
bss_mode ="Managed"
media_state="Disconnected"
mac_address="fc:84:a7:51:87:fc"
multicast_count="2"
essid=""
bssid="00:00:00:00:00:00"
channel="0"
region_code = "00"
multicast_address[0]="33:33:00:00:00:01"
multicast_address[1]="01:00:5e:00:00:01"
num_tx_bytes = 0
num_rx_bytes = 0
num_tx_pkts = 0
num_rx_pkts = 0
num_tx_pkts_dropped = 0
num_rx_pkts_dropped = 0
num_tx_pkts_err = 0
num_rx_pkts_err = 0
carrier off
tx queue 0: stopped
tx queue 1: stopped
tx queue 2: stopped
tx queue 3: stopped
=== tp_acnt.on:0 drop_point:0 ===
====Tx accounting====
[0] Tx packets : 0
[0] Tx packets last: 0
[0] Tx packets rate: 0
[0] Tx bytes : 0
[0] Tx bytes last : 0
[0] Tx bytes rate : 0Mbps
[1] Tx packets : 0
[1] Tx packets last: 0
[1] Tx packets rate: 0
[1] Tx bytes : 0
[1] Tx bytes last : 0
[1] Tx bytes rate : 0Mbps
[2] Tx packets : 0
[2] Tx packets last: 0
[2] Tx packets rate: 0
[2] Tx bytes : 0
[2] Tx bytes last : 0
[2] Tx bytes rate : 0Mbps
[3] Tx packets : 0
[3] Tx packets last: 0
[3] Tx packets rate: 0
[3] Tx bytes : 0
[3] Tx bytes last : 0
[3] Tx bytes rate : 0Mbps
[4] Tx packets : 0
[4] Tx packets last: 0
[4] Tx packets rate: 0
[4] Tx bytes : 0
[4] Tx bytes last : 0
[4] Tx bytes rate : 0Mbps
Tx amsdu cnt : 0
Tx amsdu cnt last : 0
Tx amsdu cnt rate : 0
Tx amsdu pkt cnt : 0
Tx amsdu pkt cnt last : 0
Tx amsdu pkt cnt rate : 0
Tx intr cnt : 1
Tx intr last : 0
Tx intr rate : 0
Tx pending : 0
Tx xmit skb realloc : 0
Tx stop queue cnt : 0
====Rx accounting====
[0] Rx packets : 0
[0] Rx packets last: 0
[0] Rx packets rate: 0
[0] Rx bytes : 0
[0] Rx bytes last : 0
[0] Rx bytes rate : 0Mbps
[1] Rx packets : 0
[1] Rx packets last: 0
[1] Rx packets rate: 0
[1] Rx bytes : 0
[1] Rx bytes last : 0
[1] Rx bytes rate : 0Mbps
[2] Rx packets : 0
[2] Rx packets last: 0
[2] Rx packets rate: 0
[2] Rx bytes : 0
[2] Rx bytes last : 0
[2] Rx bytes rate : 0Mbps
[3] Rx packets : 0
[3] Rx packets last: 0
[3] Rx packets rate: 0
[3] Rx bytes : 0
[3] Rx bytes last : 0
[3] Rx bytes rate : 0Mbps
[4] Rx packets : 0
[4] Rx packets last: 0
[4] Rx packets rate: 0
[4] Rx bytes : 0
[4] Rx bytes last : 0
[4] Rx bytes rate : 0Mbps
Rx amsdu cnt : 0
Rx amsdu cnt last : 0
Rx amsdu cnt rate : 0
Rx amsdu pkt cnt : 0
Rx amsdu pkt cnt last : 0
Rx amsdu pkt cnt rate : 0
Rx intr cnt : 7
Rx intr last : 0
Rx intr rate : 0
Rx pending : 0
Rx pause : 0
Rx rdptr full cnt : 0
root@imx93evk:~#
DUT:Initiator + Enrollee + STA
The device you want it to join the network.
IMX8MQ-EVK+88W8997 module
root@imx8mqevk:~# uname -a
Linux imx8mqevk 6.12.49-lts-next-gdf24f9428e38 #1 SMP PREEMPT Fri Nov 21 03:24:46 UTC 2025 aarch64 GNU/Linux
root@imx8mqevk:~# cat /lib/firmware/nxp/wifi_mod_para.conf
PCIE8997 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
fw_name=nxp/pcieuart8997_combo_v4.bin
}
root@imx8mqevk:~# cat wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
dpp_config_processing=2
root@imx8mqevk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
root@imx8mqevk:~# wpa_supplicant -i mlan0 -D nl80211 -c wpa_supplicant.conf -B &
[1] 799
root@imx8mqevk:~# Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
[1]+ Done wpa_supplicant -i mlan0 -D nl80211 -c wpa_supplicant.conf -B
root@imx8mqevk:~# wpa_cli
wpa_cli v2.11-M005
Copyright (c) 2004-2024, Jouni Malinen <
[email protected]> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Selected interface 'mlan0'
Interactive mode
>
DPP_QR_CODE DPP:C:81/1;M:fc84a75187fc;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgAD/bYibd4JdGvnK1etdgX/z4P+aJE2ztv89Q8xwjmbZNc=;;
1
> DPP_AUTH_INIT peer=1 role=enrollee
OK
<3>DPP-TX dst=fc:84:a7:51:87:fc freq=2412 type=0
<3>DPP-TX-STATUS dst=fc:84:a7:51:87:fc freq=2412 result=SUCCESS
<3>DPP-RX src=fc:84:a7:51:87:fc freq=2412 type=1
<3>DPP-AUTH-DIRECTION mutual=0
<3>DPP-TX dst=fc:84:a7:51:87:fc freq=2412 type=2
<3>DPP-TX-STATUS dst=fc:84:a7:51:87:fc freq=2412 result=SUCCESS
<3>DPP-AUTH-SUCCESS init=1 pkhash=6785abbd108e5ef6fe780819634ef620fc6eb71715b92b07f393e58af7afa0b6 own=-1 peer=1
<3>GAS-QUERY-START addr=fc:84:a7:51:87:fc dialog_token=199 freq=2412
<3>GAS-QUERY-DONE addr=fc:84:a7:51:87:fc dialog_token=199 freq=2412 status_code=0 result=SUCCESS
<3>DPP-CONF-RECEIVED
<3>DPP-CONFOBJ-AKM dpp
<3>DPP-CONFOBJ-SSID test
<3>DPP-CONNECTOR eyJ0eXAiOiJkcHBDb24iLCJraWQiOiJWV0hoQmp0enJVZ0xTSjhpTTJDRmRtNkxPQ0FFWHVCSWJEU3hzMEhaSDhnIiwiYWxnIjoiRVMyNTYifQ.eyJncm91cHMiOlt7Imdyb3VwSWQiOiIqIiwibmV0Um9sZSI6InN0YSJ9XSwibmV0QWNjZXNzS2V5Ijp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoibjBQbXlSMVhUUE14WUNiM2tqYjF1Yjh3Q055bUUtREFTcE4tZ2I0ZDhDcyIsInkiOiJfbmlkd1V6NkFkM1AySy1RYVJuXzZTem9KYlJWRGt3d0VYeTdZU2JoMDU4In19.kfVVpSaFNaTfoLVE5Yu16bLMfpSlVXGlul07FNwQ7gLPlYOTGS5lbOLwCTkP246kSC1Wn-8MWSUXpxgpSpsX2A
<3>DPP-C-SIGN-KEY 3039301306072a8648ce3d020106082a8648ce3d0301070322000226d58dd75a168da8b901b47e01694868af2158d57db2984784349e12768e668b
<3>DPP-PP-KEY 3039301306072a8648ce3d020106082a8648ce3d03010703220002a0008bd0723f2723408ef53550f5cbc55785ea625ec5265d81e16c0cd45a5e3a
<3>DPP-NET-ACCESS-KEY 30770201010420cedd6e85e66768b1a8e14e2e048fd54b7f09277195c3db3f6b1887e8b449e872a00a06082a8648ce3d030107a144034200049f43e6c91d574cf3316026f79236f5b9bf3008dca613e0c04a937e81be1df02bfe789dc14cfa01ddcfd8af906919ffe92ce825b4550e4c30117cbb6126e1d39f
<3>CTRL-EVENT-NETWORK-ADDED 0
<3>DPP-NETWORK-ID 0
<3>DPP-TX dst=fc:84:a7:51:87:fc freq=2412 type=11
<3>DPP-TX-STATUS dst=fc:84:a7:51:87:fc freq=2412 result=SUCCESS
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-NETWORK-NOT-FOUND
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-NETWORK-NOT-FOUND
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-NETWORK-NOT-FOUND
> DPP_STOP_LISTEN
OK
//All commands on DUT side finished until here. Now go to CTT2 side to continue, generate the QR Code and get URI on CTT2.
<3>CTRL-EVENT-SCAN-RESULTS
<3>DPP-TX dst=02:e9:3a:0d:b8:cd freq=2412 type=5
<3>DPP-TX-STATUS dst=02:e9:3a:0d:b8:cd freq=2412 result=SUCCESS
<3>DPP-RX src=02:e9:3a:0d:b8:cd freq=2412 type=6
<3>PMKSA-CACHE-ADDED 02:e9:3a:0d:b8:cd 0
<3>DPP-INTRO peer=02:e9:3a:0d:b8:cd status=0 version=2
<3>SME: Trying to authenticate with 02:e9:3a:0d:b8:cd (SSID='test' freq=2412 MHz)
<3>Trying to associate with 02:e9:3a:0d:b8:cd (SSID='test' freq=2412 MHz)
<3>Associated with 02:e9:3a:0d:b8:cd
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>EAPOL-RX 02:e9:3a:0d:b8:cd 99
<3>EAPOL-RX 02:e9:3a:0d:b8:cd 195
<3>WPA: Key negotiation completed with 02:e9:3a:0d:b8:cd [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 02:e9:3a:0d:b8:cd completed [id=0 id_str=]
> list_networks
network id / ssid / bssid / flags
0 test any [CURRENT]
> quit
root@imx8mqevk:~# cat /proc/mwlan/adapter0/mlan0/info
driver_name = "wlan"
driver_version = PCIE8997--16.92.21.p153.7-MM6X16540.p33-GPL-(FP92)
interface_name="mlan0"
firmware_major_version=16.92.21
bss_mode ="Managed"
media_state="Connected"
mac_address="20:4e:f6:bb:08:d9"
multicast_count="4"
essid="test"
bssid="02:e9:3a:0d:b8:cd"
channel="1"
region_code = "00"
multicast_address[0]="33:33:00:00:00:01"
multicast_address[1]="01:00:5e:00:00:01"
multicast_address[2]="33:33:ff:bb:08:d9"
multicast_address[3]="33:33:00:00:00:fb"
num_tx_bytes = 2458
num_rx_bytes = 350
num_tx_pkts = 19
num_rx_pkts = 3
num_tx_pkts_dropped = 0
num_rx_pkts_dropped = 0
num_tx_pkts_err = 0
num_rx_pkts_err = 0
carrier on
tx queue 0: started
tx queue 1: started
tx queue 2: started
tx queue 3: started
=== tp_acnt.on:0 drop_point:0 ===
====Tx accounting====
[0] Tx packets : 0
[0] Tx packets last: 0
[0] Tx packets rate: 0
[0] Tx bytes : 0
[0] Tx bytes last : 0
[0] Tx bytes rate : 0Mbps
[1] Tx packets : 0
[1] Tx packets last: 0
[1] Tx packets rate: 0
[1] Tx bytes : 0
[1] Tx bytes last : 0
[1] Tx bytes rate : 0Mbps
[2] Tx packets : 0
[2] Tx packets last: 0
[2] Tx packets rate: 0
[2] Tx bytes : 0
[2] Tx bytes last : 0
[2] Tx bytes rate : 0Mbps
[3] Tx packets : 0
[3] Tx packets last: 0
[3] Tx packets rate: 0
[3] Tx bytes : 0
[3] Tx bytes last : 0
[3] Tx bytes rate : 0Mbps
[4] Tx packets : 0
[4] Tx packets last: 0
[4] Tx packets rate: 0
[4] Tx bytes : 0
[4] Tx bytes last : 0
[4] Tx bytes rate : 0Mbps
Tx amsdu cnt : 0
Tx amsdu cnt last : 0
Tx amsdu cnt rate : 0
Tx amsdu pkt cnt : 0
Tx amsdu pkt cnt last : 0
Tx amsdu pkt cnt rate : 0
Tx intr cnt : 18
Tx intr last : 0
Tx intr rate : 0
Tx pending : 0
Tx xmit skb realloc : 19
Tx stop queue cnt : 0
====Rx accounting====
[0] Rx packets : 0
[0] Rx packets last: 0
[0] Rx packets rate: 0
[0] Rx bytes : 0
[0] Rx bytes last : 0
[0] Rx bytes rate : 0Mbps
[1] Rx packets : 0
[1] Rx packets last: 0
[1] Rx packets rate: 0
[1] Rx bytes : 0
[1] Rx bytes last : 0
[1] Rx bytes rate : 0Mbps
[2] Rx packets : 0
[2] Rx packets last: 0
[2] Rx packets rate: 0
[2] Rx bytes : 0
[2] Rx bytes last : 0
[2] Rx bytes rate : 0Mbps
[3] Rx packets : 0
[3] Rx packets last: 0
[3] Rx packets rate: 0
[3] Rx bytes : 0
[3] Rx bytes last : 0
[3] Rx bytes rate : 0Mbps
[4] Rx packets : 0
[4] Rx packets last: 0
[4] Rx packets rate: 0
[4] Rx bytes : 0
[4] Rx bytes last : 0
[4] Rx bytes rate : 0Mbps
Rx amsdu cnt : 0
Rx amsdu cnt last : 0
Rx amsdu cnt rate : 0
Rx amsdu pkt cnt : 0
Rx amsdu pkt cnt last : 0
Rx amsdu pkt cnt rate : 0
Rx intr cnt : 67
Rx intr last : 0
Rx intr rate : 0
Rx pending : 0
Rx pause : 0
Rx rdptr full cnt : 0
root@imx8mqevk:~#
CTT2 (AP):Responder + AP + Enrollee
IMX8MPlus EVK + 88W8997 module
root@imx8mpevk:~# uname -a
Linux imx8mpevk 6.12.49-lts-next-gdf24f9428e38 #1 SMP PREEMPT Fri Nov 21 03:24:46 UTC 2025 aarch64 GNU/Linux
root@imx8mpevk:~# cat /lib/firmware/nxp/wifi_mod_para.conf
PCIE8997 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
fw_name=nxp/pcieuart8997_combo_v4.bin
}
root@imx8mpevk:~# hostapd hostapd.conf -B &
[1] 1731
root@imx8mpevk:~# HT (IEEE 802.11n) with WPA/WPA2 requires CCMP/GCMP to be enabled, disabling HT capabilities
rfkill: Cannot open RFKILL control device
uap0: interface state UNINITIALIZED->ENABLED
uap0: AP-ENABLED
[1]+ Done hostapd hostapd.conf -B
root@imx8mpevk:~# hostapd_cli
hostapd_cli v2.11-M005
Copyright (c) 2004-2024, Jouni Malinen <
[email protected]> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Selected interface 'uap0'
Interactive mode
> DPP_BOOTSTRAP_GEN type=qrcode chan=81/1 mac=02:e9:3a:0d:b8:cd //MAC address of CTT2 itself and returned 1 is bootstrap info id which require to get QR code in below command.
1> DPP_BOOTSTRAP_GET_URI 1 //Attention here, after this command, will generate a QR code, which will be use on CTT1 with command:DPP_QR_CODE. Then directly go to CTT1 to enter the QR Code.
DPP:C:81/1;M:02e93a0db8cd;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACQOp5kWO1ex4L2U5rRXdS9yPYWA9NdRXTsuT+v5L/jvc=;;>
//Hold on here, and now go to CTT1 to authenticate this AP with above QR Code. After authenticate on CTT1 with QR Code, will auto output below logs. Pay attention on the keys and connectors info, will use them later when you update the AP.
> <3>DPP-RX src=fc:84:a7:51:87:fc freq=2412 type=0
<3>DPP-TX dst=fc:84:a7:51:87:fc freq=2412 type=1
<3>DPP-TX-STATUS dst=fc:84:a7:51:87:fc result=SUCCESS
<3>DPP-RX src=fc:84:a7:51:87:fc freq=2412 type=2
<3>DPP-AUTH-SUCCESS init=0 pkhash=8b3e0f88b70610446a84f53ea9d792f5631b2b87e30cd219a8059c6f7893c501 own=1 peer=-1
<3>GAS-QUERY-START addr=fc:84:a7:51:87:fc dialog_token=0 freq=2412
<3>GAS-QUERY-DONE addr=fc:84:a7:51:87:fc dialog_token=0 freq=2412 status_code=0 result=SUCCESS
<3>DPP-CONF-RECEIVED
<3>DPP-CONFOBJ-AKM dpp
<3>DPP-CONFOBJ-SSID test
<3>DPP-CONNECTOR eyJ0eXAiOiJkcHBDb24iLCJraWQiOiJWV0hoQmp0enJVZ0xTSjhpTTJDRmRtNkxPQ0FFWHVCSWJEU3hzMEhaSDhnIiwiYWxnIjoiRVMyNTYifQ.eyJncm91cHMiOlt7Imdyb3VwSWQiOiIqIiwibmV0Um9sZSI6ImFwIn1dLCJuZXRBY2Nlc3NLZXkiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJEbVRmSVFTRFNPVXVkVFBkN0pobEQtQ2xOa0U3U2lEWmctLWpYeGdNRXRJIiwieSI6Iml2NlVCc1J0YXhGSEpzcEtPbWFQSktqUmNDTFV5REh6WHFFeWtLbkhsOGcifX0.vEzfQywitO8AMvmcXenL_qidmkNl7t_jen2YW9OV8M5OID9jmTu-GqVUUkMEQE7R7Ja5vGnOMQ2-x-h7qyRKIQ
<3>DPP-C-SIGN-KEY 3039301306072a8648ce3d020106082a8648ce3d0301070322000226d58dd75a168da8b901b47e01694868af2158d57db2984784349e12768e668b
<3>DPP-NET-ACCESS-KEY 307702010104200be4b069c34a39d844fca856dd1e583a729e74f394370a4da8bc7d68d0dfadc2a00a06082a8648ce3d030107a144034200040e64df21048348e52e7533ddec98650fe0a536413b4a20d983efa35f180c12d28afe9406c46d6b114726ca4a3a668f24a8d17022d4c831f35ea13290a9c797c8
<3>DPP-TX dst=fc:84:a7:51:87:fc freq=2412 type=11
<3>DPP-TX-STATUS dst=fc:84:a7:51:87:fc result=SUCCESS
//Now update AP configurations on CTT2:
//First disable AP:
> disable
<3>AP-DISABLED
OK
//Update AP parameters:
> set ssid test
OK
> set wpa 2
OK
> set wpa_key_mgmt DPP
OK
> set ieee80211w 2
OK
> set rsn_pairwise CCMP
OK
> set dpp_connector eyJ0eXAiOiJkcHBDb24iLCJraWQiOiJWV0hoQmp0enJVZ0xTSjhpTTJDRmRtNkxPQ0FFWHVCSWJEU3hzMEhaSDhnIiwiYWxnIjoiRVMyNTYifQ.eyJncm91cHMiOlt7Imdyb3VwSWQiOiIqIiwibmV0Um9sZSI6ImFwIn1dLCJuZXRBY2Nlc3NLZXkiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJEbVRmSVFTRFNPVXVkVFBkN0pobEQtQ2xOa0U3U2lEWmctLWpYeGdNRXRJIiwieSI6Iml2NlVCc1J0YXhGSEpzcEtPbWFQSktqUmNDTFV5REh6WHFFeWtLbkhsOGcifX0.vEzfQywitO8AMvmcXenL_qidmkNl7t_jen2YW9OV8M5OID9jmTu-GqVUUkMEQE7R7Ja5vGnOMQ2-x-h7qyRKIQ
OK
> set dpp_csign 3039301306072a8648ce3d020106082a8648ce3d0301070322000226d58dd75a168da8b901b47e01694868af2158d57db2984784349e12768e668b
OK
> set dpp_netaccesskey 307702010104200be4b069c34a39d844fca856dd1e583a729e74f394370a4da8bc7d68d0dfadc2a00a06082a8648ce3d030107a144034200040e64df21048348e52e7533ddec98650fe0a536413b4a20d983efa35f180c12d28afe9406c46d6b114726ca4a3a668f24a8d17022d4c831f35ea13290a9c797c8
OK
//Re-enable the AP after updates:
> enable
<3>AP-ENABLED
OK
//just wait here, it will output below logs after some seconds.
> <3>DPP-RX src=20:4e:f6:bb:08:d9 freq=2412 type=5
<3>DPP-TX dst=20:4e:f6:bb:08:d9 freq=2412 type=6 status=0
<3>DPP-TX-STATUS dst=20:4e:f6:bb:08:d9 result=SUCCESS
<3>AP-STA-CONNECTED 20:4e:f6:bb:08:d9 dpp_pkhash=74a40ec058ac8c7f7acb6589253e76f5d1a9582359353bcd5e6983ee97c3a382
<3>EAPOL-4WAY-HS-COMPLETED 20:4e:f6:bb:08:d9
> quit
> root@imx8mpevk:~# cat /proc/mwlan/adapter0/uap0/info
driver_name = "uap"
driver_version = PCIE8997--w8997o-V4, RF878X, FP92, 16.92.21.p153.7-MM6X16540.p33-GPL-(FP92)
interface_name="uap0"
firmware_major_version=16.92.21
media_state="Connected"
mac_address="02:e9:3a:0d:b8:cd"
num_tx_bytes = 462
num_rx_bytes = 2248
num_tx_pkts = 4
num_rx_pkts = 20
num_tx_pkts_dropped = 0
num_rx_pkts_dropped = 0
num_tx_pkts_err = 60
num_rx_pkts_err = 0
carrier on
tx queue 0: started
tx queue 1: started
tx queue 2: started
tx queue 3: started
tkip_mic_failures = 0
ccmp_decrypt_errors = 0
wep_undecryptable_count = 0
wep_icv_error_count = 0
decrypt_failure_count = 0
mcast_tx_count = 20
failed_count = 3
retry_count = 0
multiple_retry_count = 0
frame_duplicate_count = 0
rts_success_count = 0
rts_failure_count = 0
ack_failure_count = 30
rx_fragment_count = 55
mcast_rx_frame_count = 18
fcs_error_count = 401368
tx_frame_count = 22
rsna_tkip_cm_invoked = 0
rsna_4way_hshk_failures = 0
=== tp_acnt.on:0 drop_point:0 ===
====Tx accounting====
[0] Tx packets : 0
[0] Tx packets last: 0
[0] Tx packets rate: 0
[0] Tx bytes : 0
[0] Tx bytes last : 0
[0] Tx bytes rate : 0Mbps
[1] Tx packets : 0
[1] Tx packets last: 0
[1] Tx packets rate: 0
[1] Tx bytes : 0
[1] Tx bytes last : 0
[1] Tx bytes rate : 0Mbps
[2] Tx packets : 0
[2] Tx packets last: 0
[2] Tx packets rate: 0
[2] Tx bytes : 0
[2] Tx bytes last : 0
[2] Tx bytes rate : 0Mbps
[3] Tx packets : 0
[3] Tx packets last: 0
[3] Tx packets rate: 0
[3] Tx bytes : 0
[3] Tx bytes last : 0
[3] Tx bytes rate : 0Mbps
[4] Tx packets : 0
[4] Tx packets last: 0
[4] Tx packets rate: 0
[4] Tx bytes : 0
[4] Tx bytes last : 0
[4] Tx bytes rate : 0Mbps
Tx amsdu cnt : 0
Tx amsdu cnt last : 0
Tx amsdu cnt rate : 0
Tx amsdu pkt cnt : 0
Tx amsdu pkt cnt last : 0
Tx amsdu pkt cnt rate : 0
Tx intr cnt : 22
Tx intr last : 0
Tx intr rate : 0
Tx pending : 0
Tx xmit skb realloc : 64
Tx stop queue cnt : 0
====Rx accounting====
[0] Rx packets : 0
[0] Rx packets last: 0
[0] Rx packets rate: 0
[0] Rx bytes : 0
[0] Rx bytes last : 0
[0] Rx bytes rate : 0Mbps
[1] Rx packets : 0
[1] Rx packets last: 0
[1] Rx packets rate: 0
[1] Rx bytes : 0
[1] Rx bytes last : 0
[1] Rx bytes rate : 0Mbps
[2] Rx packets : 0
[2] Rx packets last: 0
[2] Rx packets rate: 0
[2] Rx bytes : 0
[2] Rx bytes last : 0
[2] Rx bytes rate : 0Mbps
[3] Rx packets : 0
[3] Rx packets last: 0
[3] Rx packets rate: 0
[3] Rx bytes : 0
[3] Rx bytes last : 0
[3] Rx bytes rate : 0Mbps
[4] Rx packets : 0
[4] Rx packets last: 0
[4] Rx packets rate: 0
[4] Rx bytes : 0
[4] Rx bytes last : 0
[4] Rx bytes rate : 0Mbps
Rx amsdu cnt : 0
Rx amsdu cnt last : 0
Rx amsdu cnt rate : 0
Rx amsdu pkt cnt : 0
Rx amsdu pkt cnt last : 0
Rx amsdu pkt cnt rate : 0
Rx intr cnt : 28229
Rx intr last : 0
Rx intr rate : 0
Rx pending : 0
Rx pause : 0
Rx rdptr full cnt : 0
root@imx8mpevk:~#