NXP Semiconductors UM11490 User manual

UM11490
Feature Configuration Guide for NXP-based Wireless Modules
on i.MX 8M Quad EVK
Rev. 2 — 29 January 2021 User manual
Document information
Information Content
Keywords NXP-based wireless modules, Wi-Fi features, Bluetooth features, guidelines,
driver debug information
Abstract Details the Wi-Fi and Bluetooth features and configurations for NXP-based
wireless modules on i.MX 8M Quad EVK

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Rev Date Description
v.1 20200929 Initial version
v.2 20210129 Modifications:
•Extended the scope to 88W8997-based wireless modules
•Section 1 "About this document": updated
•Section 2.2.4 "Set up udhcp server": added
•Section 2.6 "Configure and test Wi-Fi direct": updated
•Section 2.8.3 "Set the RF bandwidth": added
•Section 2.8.4 "Set the RF channel": added
•Section 2.8.5 "Set Tx power": added
•Section 2.8.6 "Set Tx continuous mode": added
•Section 2.8.7 "Set Tx frame": added
•Section 2.10 "Set the Wi-Fi device in suspend state": added
•Section 4.3 "Hands-free profile (HFP)": added
•Section 4.9 "RF test mode": updated
Revision history
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
2 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
1 About this document
1.1 Purpose and scope
This document details the Wi-Fi and Bluetooth features and configurations for NXP-
based wireless modules on i.MX 8M Quad EVK. The Wi-Fi features include scanning
for nearby access points, connecting to an access point, configuring the device as an
access point, Wi-Fi security, Wi-Fi Direct, and throughput testing using the iPerf utility.
The Bluetooth features comprise scan, pair, connect to a Bluetooth or Bluetooth Low
Energy (LE) device, A2DP profile, handsfree profile and Bluetooth LE device as a GATT
server. Guidelines to enable the driver debug logging are also provided.
This document specifies the Wi-Fi/Bluetooth features and configurations on i.MX 8M
Quad EVK with Azurewave AW-CM358MA (88W8987) and Azurewave AW-CM276MA
(88W8997) wireless modules. It covers the initialization and configuration of the Wi-Fi
and Bluetooth interfaces. The same instructions apply to other i.MX 8 families and NXP-
based wireless modules.
The Wi-Fi features demonstrated in this document are configured with the open source
supplicant and the Linux utilities.
The host platform setup and build of the Wi-Fi/Bluetooth software for the platform
interfaces is not covered in this document. The Release Notes included in NXP driver
software package provides the list of the features supported by NXP-based wireless
module.
The user should first read the reference document Getting Started with NXP-based Wi-
Fi modules on i.MX 8M Quad EVK Running Linux OS (UM11483) before using this user
manual, as it details:
•The board support package build configurations
•The setup for the hardware interconnections
•How to enable the Wi-Fi solutions
1.2 References
Reference type Description
User manual NXP - UM11483 - Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running
Linux OS (link)
Desktop tool Nordic Semiconductor - nRF Connect for Desktop (link)
Specification Bluetooth Special Interest Group - Bluetooth Core Specification v5.2 (link)
Table 1. References
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
3 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2 Wi-Fi features and configurations
2.1 Scan the visible Access Points
This section describes the scanning of the visible Access Points using the NXP-based
wireless module. Linux operating system provides the standard utilities to show/
manipulate wireless devices and their configuration.
2.1.1 Using iw command
iw command is one of the methods used to scan visible access points.
Execute the command to start the scan
root@imx8mqevk:~# iw dev mlan0 scan
Command output example:
[11204.740176] wlan: mlan0 START SCAN
[11207.573646] wlan: SCAN COMPLETED: scanned AP count=1
BSS 44:82:e5:10:2c:38(on mlan0)
TSF: 11207445411 usec (0d, 03:06:47)
freq: 2427
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble ShortSlotTime RadioMeasure
(0x1431)
signal: -56.00 dBm
last seen: 0 ms ago
SSID: destin
Supported rates: 1.0* 2.0* 5.5* 6.0 9.0 11.0* 12.0 18.0
DS Parameter set: channel 4
Country: in Environment: Indoor/Outdoor
Channels [1 - 13] @ 21 dBm
TPC report: TX power: 20 dBm
ERP: NonERP_Present Use_Protection
RSN: * Version: 1
* Group cipher: TKIP
* Pairwise ciphers: CCMP TKIP
* Authentication suites: PSK
* Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
WPA: * Version: 1
* Group cipher: TKIP
* Pairwise ciphers: CCMP TKIP
* Authentication suites: PSK
WMM: * Parameter version 1
* BE: CW 15-1023, AIFSN 3
* BK: CW 15-1023, AIFSN 7
* VI: CW 7-15, AIFSN 2, TXOP 3008 usec
* VO: CW 3-7, AIFSN 2, TXOP 1504 usec
Extended supported rates: 24.0 36.0 48.0 54.0
BSS Load:
* station count: 4
* channel utilisation: 52/255
* available admission capacity: 0 [*32us]
HT capabilities:
Capabilities: 0x11ed
RX LDPC
HT20
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
4 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
TX STBC
RX STBC 1-stream
Max AMSDU length: 3839 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 4 usec (0x05)
HT TX/RX MCS rate indexes supported: 0-15
HT operation:
* primary channel: 4
* secondary channel offset: no secondary
* STA channel width: 20 MHz
* RIFS: 0
* HT protection: nonmember
* non-GF present: 1
* OBSS non-GF present: 1
* dual beacon: 0
* dual CTS protection: 0
* STBC beacon: 0
* L-SIG TXOP Prot: 0
* PCO active: 0
* PCO phase: 0
Overlapping BSS scan params:
* passive dwell: 20 TUs
* active dwell: 10 TUs
* channel width trigger scan interval: 300 s
* scan passive total per channel: 200 TUs
* scan active total per channel: 20 TUs
* BSS width channel transition delay factor: 5
* OBSS Scan Activity Threshold: 0.25 %
Extended capabilities:
* HT Information Exchange Supported
* BSS Transition
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
5 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.1.2 Using wpa_supplicant and wpa_cli commands
You can also use wpa_supplicant and wpa_cli to scan the visible access points.
Edit the configuration file:
root@imx8mqevk:~# nano /etc/wpa_supplicant.conf
Content of the configuration file:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
key_mgmt=NONE
}
Start wpa_supplicant in the background
root@imx8mqevk:~# wpa_supplicant -B -i mlan0 -c /etc/
wpa_supplicant.conf
Start wpa_cli for the scan
root@imx8mqevk:~# wpa_cli
Command output:
wpa_cli v2.9
Copyright (c) 2004-2019, 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
Start the scanning:
> scan
Command output example showing the scanned AP count and the SCAN COMPLETE
event:
OK
[ 253.835605] wlan: mlan0 START SCAN
<3>CTRL-EVENT-SCAN-STARTED
> [ 258.910760] wlan: SCAN COMPLETED: scanned AP count=1
<3>CTRL-EVENT-SCAN-RESULTS
<3>CTRL-EVENT-NETWORK-NOT-FOUND
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
6 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Get the scan results:
> scan_results
Command output example showing one SSID:
bssid / frequency / signal level / flags / ssid
44:82:e5:10:2c:38 2442 -93 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS]
destin
2.2 Configure and start the Access Point
This section shows how to configure and start the Access Point from the NXP-based
wireless module. Linux operating system provides the hostapd user space utility for the
access point and authentication servers.
The configurations for hostapd are stored in the hostapd.conf file located in /etc/
directory.
2.2.1 Get the hostpad version
Execute the command:
root@imx8mqevk:~# hostapd -v
Command output example:
hostapd v2.9
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2019, Jouni Malinen <[email protected]> and contributors
2.2.2 Configure the 2.4 GHz Access Point
Edit the configuration file:
root@imx8mqevk:~# nano /etc/hostapd-2.4g.conf
Parameter values in the configuration file:
interface=uap0
hw_mode=g
channel=0
country_code=US
ssid=NXP_Demo
ieee80211n=1
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
7 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.2.3 Configure the 5 GHz Access Point
Edit the configuration file:
root@imx8mqevk:~# nano /etc/hostapd-5g.conf
Parameter values in the configuration file:
interface=uap0
hw_mode=a
channel=0
country_code=US
ssid=NXP_Demo
ieee80211n=1
2.2.4 Set up udhcp server
The udhcp server is used to assign the IP to the client devices that are associated with
the access point.
Step 1 - Create the configuration file for udhcp server
•Create the configuration file udhcpd.conf in etc repository
root@imx8mqevk:~# nano /etc/udhcpd.conf
•Add the following content to udhcpd.conf file
start 192.168.1.10
end 192.168.1.20
interface uap0
Step 2 - Create udhcp client lease database file
udhcp server uses the database file to store all the leases that is has assigned.
•Create the lease database file udhcpd.leases in /var/lib/misc/ repository so udhcp
server can start
•The newly created file does not require any content.
root@imx8mqevk:~# touch /var/lib/misc/udhcpd.leases
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
8 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.2.5 Start the Access Point
Run the following command to start the Access Point:
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up
root@imx8mqevk:~# route add default gw 192.168.1.1
Start udhcp server to assign the IP address to the client devices that are connected to
the access point
root@imx8mqevk:~# udhcpd /etc/udhcpd.conf
Command to start the 2.4 GHz Access Point:
root@imx8mqevk:~# hostapd /etc/hostapd-2.4g.conf
Command output example:
Configuration file: /etc/hostapd-2.4g.conf
rfkill: Cannot open RFKILL control device
uap0: interface state UNINITIALIZED->COUNTRY_UPDATE
ACS: Automatic channel selection started, this may take a bit
[ 9618.998539] wlan: SCAN COMPLETED: scanned AP count=1
uap0: interface state COUNTRY_UPDATE->ACS
uap0: ACS-STARTED
[ 9619.479337] wlan: SCAN COMPLETED: scanned AP count=1
[ 9619.959539] wlan: SCAN COMPLETED: scanned AP count=0
[ 9620.439382] wlan: SCAN COMPLETED: scanned AP count=0
[ 9620.919360] wlan: SCAN COMPLETED: scanned AP count=1
uap0: ACS-COMPLETED freq=2412 channel=1[ 9620.933098] wlan: Starting
AP
Using interface uap0 with hwaddr 00:50:43:24:84:c4 and ssid
"NX[ 9620.939164] Get ht_cap from beacon ies: 0xc
P_Demo"
[ 9620.960100] wlan: AP started
[ 9620.964230] Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1
[ 9620.971787] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[ 9620.979077] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[ 9620.986466] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
uap0: interface state ACS->ENABLED
uap0: AP-ENABLED
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
9 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Command to start the 5 GHz Access Point:
root@imx8mqevk:~# hostapd /etc/hostapd-5g.conf
Command output example:
Configuration file: /etc/hostapd-5g.conf
rfkill: Cannot open RFKILL control device
uap0: interface state UNINITIALIZED->COUNTRY_UPDATE
ACS: Automatic channel selection started, this may take a bit
[ 9816.085716] wlan: SCAN COMPLETED: scanned AP count=0
uap0: interface state COUNTRY_UPDATE->ACS
uap0: ACS-STARTED
[ 9816.483935] wlan: SCAN COMPLETED: scanned AP count=0
[ 9816.883357] wlan: SCAN COMPLETED: scanned AP count=0
[ 9817.279225] wlan: SCAN COMPLETED: scanned AP count=0
[ 9817.675171] wlan: SCAN COMPLETED: scanned AP count=0
uap0: ACS-COMPLETED freq=5180 channel=36[ 9817.686492] wlan: Starting
AP
Using interface uap0 with hwaddr 00:50:43:24:84:c4 and ssid
"NX[ 9817.692595] Get ht_cap from beacon ies: 0xc
P_Demo"
[ 9817.702468] fw doesn't support 11ax
[ 9817.717811] wlan: AP started
[ 9817.722028] Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1
[ 9817.729606] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[ 9817.736887] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[ 9817.744417] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
uap0: interface state ACS->ENABLED
uap0: AP-ENABLED
2.3 Connect with the Access Point
This section shows how to define the configurations for wpa_supplicant to connect with
the Access Point using NXP-based wireless module. Linux operating system provides the
wpa_supplicant user space utility to connect to the access point using IEEE 802.1X.
2.3.1 Create the configuration file
Create and edit wpa_supplicant.conf configuration file in etc directory.
root@imx8mqevk:~# nano /etc/wpa_supplicant.conf
Configuration file content
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="NXP_Demo"
key_mgmt=NONE
}
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
10 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.3.2 Get wpa_supplicant version
Command to get wpa_supplicant version
root@imx8mqevk:~# wpa_supplicant -v
Command output example:
wpa_supplicant v2.9
Copyright (c) 2003-2019, Jouni Malinen <[email protected]> and contributors
2.3.3 Use wpa_supplicant to connect with the AP
Connect the device with the Access Point:
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# wpa_supplicant -i mlan0 -Dnl80211 –c /etc/
wpa_supplicant.conf
Command output example:
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL contro[25602.796098] IPv6:
ADDRCONF(NETDEV_UP): mlan0: link is not ready
[25602.922052] wlan: mlan0 START SCAN
[25607.566402] wlan: SCAN COMPLETED: scanned AP count=18
mlan0: Trying to associate with 1a:2d:8c:55:73:56 (SSID='NXP_Demo'
freq=2427 MHz)
[25607.598754] wlan: Connected to bssid 1a:XX:XX:XX:73:56
successfully
mlan0: Associated with 1a:2d:8c:5[25607.606587] IPv6:
ADDRCONF(NETDEV_CHANGE): mlan0: link becomes ready
5:73:56
mlan0: CTRL-EVENT-CONNECTED - Connection to 1a:2d:8c:55:73:56
completed [id=0 id_str=]
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
11 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.4 Wi-Fi security
This section describe the Wi-Fi security features including the WPA, WPA2 and WPA3
SAE security modes. Both the configuration and setup use the open source supplicants.
2.4.1 Configure WPA for the AP using the open source supplicant
This section describes the hostapd configuration used to configure WPA security and
start the Access Point using the open source supplicant.
Create the configuration file
Configure WPA for open source supplicant:
root@imx8mqevk:~# nano /etc/hostapd-wpa.conf
Configuration file content:
interface=uap0
hw_mode=g
channel=0
country_code=US
ssid=NXP_Demo
auth_algs=1
ieee80211n=1
wpa=1
rsn_pairwise=CCMP
wpa_passphrase=123456789
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
12 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Start the Access Point
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up
root@imx8mqevk:~# route add default gw 192.168.1.1
root@imx8mqevk:~# hostapd /etc/hostapd-wpa.conf
Command output example:
Configuration file: /etc/hostapd-wpa.conf
rfkill: Cannot open RFKILL control device
uap0: interface state UNINITIALIZED->COUNTRY_UPDATE
ACS: Automatic channel selection started, this may take a bit
[19645.656230] wlan: SCAN COMPLETED: scanned AP count=1
uap0: interface state COUNTRY_UPDATE->ACS
uap0: ACS-STARTED
[19646.137152] wlan: SCAN COMPLETED: scanned AP count=0
[19646.617233] wlan: SCAN COMPLETED: scanned AP count=0
[19647.097138] wlan: SCAN COMPLETED: scanned AP count=1
[19647.577100] wlan: SCAN COMPLETED: scanned AP count=0
uap0: ACS-COMPLETED freq=2412 channel=1
Using interface uap0 with hwaddr 00:50:43:24:84:c4 and ssid
"NXP_Demo"
random: Cannot read from /dev/random: Resource temporarily
unavai[19647.619978] wlan: Starting AP
lable
random: Only 0/20 bytes of strong random data available
r[19647.628422] Get ht_cap from beacon ies: 0xc
andom: Not enough entropy pool available for secure operations
WPA: Not enough entropy in random pool for secure operations -
up[19647.647054] wlan: AP started
date keys later when the first station connects
[19647.654865] Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1
[19647.663319] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[19647.670708] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[19647.678105] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
uap0: interface state ACS->ENABLED
uap0: AP-ENABLED
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
13 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.4.2 Configure WPA2 for the AP using open source supplicant
This section shows the hostapd configuration used to configure WPA2 security and start
the Access Point using open source supplicant.
Create the configuration file
Configure WPA2 for open source supplicant:
root@imx8mqevk:~# nano /etc/hostapd-wpa2.conf
Configuration file content:
interface=uap0
hw_mode=g
channel=0
country_code=US
ssid=NXP_Demo
auth_algs=1
ieee80211n=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=123456789
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
14 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Start the Access Point
Run the following command to start the Access Point:
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up
root@imx8mqevk:~# route add default gw 192.168.1.1
root@imx8mqevk:~# hostapd /etc/hostapd-wpa2.conf
Command output example:
Configuration file: /etc/hostapd-wpa2.conf
rfkill: Cannot open RFKILL control device
uap0: interface state UNINITIALIZED->COUNTRY_UPDATE
ACS: Automatic channel selection started, this may take a bit
[20039.122775] wlan: SCAN COMPLETED: scanned AP count=0
uap0: interface state COUNTRY_UPDATE->ACS
uap0: ACS-STARTED
[20039.603743] wlan: SCAN COMPLETED: scanned AP count=0
[20040.087711] wlan: SCAN COMPLETED: scanned AP count=0
[20040.571527] wlan: SCAN COMPLETED: scanned AP count=0
[20041.051179] wlan: SCAN COMPLETED: scanned AP count=0
uap0: ACS-COMPLETED freq=2412 channel=1
Using interface uap0 with hwaddr 00:50:43:24:84:c4 and ssid "NXP_Demo"
random: Cannot read from /dev/random: Resource temporarily
unavai[20041.091736] wlan: Starting AP
lable
random: Only 0/20 bytes of strong random data available
r[20041.100179] Get ht_cap from beacon ies: 0xc
andom: Not enough entropy pool available for secure operations
WPA: Not enough entropy in random pool for secure operations - update
keys later when the first station connects
[20041.120927] wlan: AP started
[20041.130905] Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1
[20041.138053] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[20041.145411] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[20041.152528] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
uap0: interface state ACS->ENABLED
uap0: AP-ENABLED
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
15 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.4.3 WPA3 security
WPA3 is the next generation of Wi-Fi security with new capabilities that enhance the Wi-
Fi protection in personal and enterprise networks. Built on the widely adopted WPA2™,
WPA3 adds new features to simplify Wi-Fi security, enable more robust authentication,
and deliver increased cryptographic strength for highly sensitive data markets.
All WPA3 networks use the latest security methods, disallow outdated legacy protocols,
and require the use of Protected Management Frames (PMF) to maintain resiliency of
mission critical networks.
This section describes the configurations for WPA3 SAE and SAE transition mode
(backward compatibility with WPA2-PSK) using hostapd and wpa_supplicant for Access
Point and Station. To test WPA3 security, load the drivers with the module parameter
host_mlme set to 1 (host_mlme=1) to enable the host mlme support.
Configure WPA3 SAE mode for the Access Point
Create the configuration file:
root@imx8mqevk:~# nano /etc/hostapd-wpa3-sae.conf
Configuration file content:
interface=uap0
driver=nl80211
ssid=NXP_Demo
hw_mode=g
channel=6
wmm_enabled=1
ieee80211n=1
auth_algs=1
wpa=2
wpa_pairwise=CCMP
wpa_passphrase=1234567890
wpa_key_mgmt=SAE
wpa_group_rekey=1800
rsn_pairwise=CCMP
ieee80211w=2
sae_groups=19 20 21 25 26
sae_require_mfp=1
sae_anti_clogging_threshold=10
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
16 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Configure WPA3 SAE transition mode for the Access Point
Create the configuration file:
root@imx8mqevk:~# nano /etc/hostapd-wpa3-sae.conf
Configuration file content:
interface=uap0
driver=nl80211
ssid=NXP_Demo
hw_mode=g
channel=6
wmm_enabled=1
ieee80211n=1
auth_algs=1
wpa=2
wpa_pairwise=CCMP
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK SAE
wpa_group_rekey=1800
rsn_pairwise=CCMP
ieee80211w=1
sae_groups=19 20 21 25 26
sae_require_mfp=1
sae_anti_clogging_threshold=10
Start the Access Point
Run the following command to start the Access Point:
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up
root@imx8mqevk:~# route add default gw 192.168.1.1
root@imx8mqevk:~# hostapd /etc/hostapd-wpa3-sae.conf
Command output example:
Configuration file: /etc/hostapd-wpa3-sae.conf
rfkill: Cannot open RFKILL control device
[ 758.651665] wlan: HostMlme uap0 send deauth/disassoc
Using interface uap0 with hwaddr 70:66:55:26:8b:6b and ssid "NXP_Demo"
random: Only 19/20 bytes of stron[ 758.671118] wlan: Starting AP
g random data available
random: [ 758.677273] Get ht_cap from beacon ies: 0xc
Not enough entropy pool available[ 758.683524] fw doesn't support
11ax
for secure operations
WPA: Not enough entropy in random pool for secure operations - update
key[ 758.698627] wlan: AP started
s later when the first station co[ 758.703624] Set AC=3, txop=47
cwmin=3, cwmax=7 aifs=1
nnects
[ 758.711651] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[ 758.718678] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[ 758.725701] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
uap0: interface state UNINITIALIZED->ENABLED
uap0: AP-ENABLED
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
17 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
Configure WPA3 SAE mode to connect with the AP configured with WPA3 SAE
Create the configuration file
root@imx8mqevk:~# nano /etc/wpa_supplicant.conf
Configuration file content:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="NXP_Demo"
scan_ssid=1
key_mgmt=SAE
proto=RSN
pairwise=CCMP
group=CCMP
psk="1234567890"
ieee80211w=2
}
Connect with the AP
Commands to connect the device with the AP
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# wpa_supplicant -i mlan0 -Dnl80211 –c /etc/
wpa_supplicant.conf
Command output example
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
[ 145.646509] wlan: mlan0 START SCAN
[ 150.026650] wlan: SCAN COMPLETED: scanned AP count=2
mlan0: SME: Trying to authenticate with 00:50:43:23:3c:0e
(SSID='NXP_Demo' freq=2437 MHz)
[ 150.056535] mlan0:
[ 150.056539] wlan: HostMlme Auth received from 00:XX:XX:XX:3c:0e
mlan0: SME: Trying to authenticate with 00:50:43:23:3c:0e
(SSID='NXP_Demo' freq=2437 MHz)
[ 150.073767] mlan0:
[ 150.073771] wlan: HostMlme Auth received from 00:XX:XX:XX:3c:0e
mlan0: PMKSA-CACHE-ADDED 00:50:43:23:3c:0e 0
mlan0: Trying to associate with 00:50:43:23:3c:0e (SSID='NXP_Demo'
freq=2437 MHz)
[ 150.097756] wlan: HostMlme mlan0 Connected to bssid
00:XX:XX:XX:3c:0e successfully
mlan0: Associated with 00:50:43:23:3c:0e[ 150.107410] mlan0:
mlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
[ 150.107416] wlan: Send EAPOL pkt to 00:XX:XX:XX:3c:0e
[ 150.126490] mlan0:
[ 150.126494] wlan: Send EAPOL pkt to 00:XX:XX:XX:3c:0e
mlan0: WPA: Key negotiation completed with 00:50:43:23:3c:0e [PTK[
150.135343] IPv6: ADDRCONF(NETDEV_CHANGE): mlan0: link becomes ready
=CCMP GTK=CCMP]
mlan0: CTRL-EVENT-CONNECTED - Connection to 00:5[ 150.148453]
woal_cfg80211_set_rekey_data return: gtk_rekey_offload is DISABLE
0:43:23:3c:0e completed [id=0 id_str=]
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
18 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.4.4 Configure WPA to connect with AP using the open source supplicant
This section describes the configuration for wpa_supplicant to configure WPA security
and connect with the Access Point.
Edit the configuration
Command to configure WPA to connect with AP for an open source supplicant:
root@imx8mqevk:~# nano /etc/wpa_supplicant.conf
Configuration file content:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="NXP_Demo"
key_mgmt=WPA-PSK
psk="123456789"
}
Connect with the AP
Commands to connect the device with the WPA-based AP:
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# wpa_supplicant -i mlan0 -Dnl80211 –c /etc/
wpa_supplicant.conf
Command output example:
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL contro[29837.078281] IPv6:
ADDRCONF(NETDEV_UP): mlan0: link is not read
[29837.210057] wlan: mlan0 START SCAN
[29841.854417] wlan: SCAN COMPLETED: scanned AP count=20
mlan0: Trying to associate with 40:49:0f:9e:66:fd (SSID='NXP_Demo'
freq=2437 MHz)
[29841.873434] wlan: Connected to bssid 40:XX:XX:XX:66:fd successfully
mlan0: Associated with 40:49:0f:9e:66:fd
mlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
mlan0: WPA: Key negotiation compl[29841.891468] IPv6:
ADDRCONF(NETDEV_CHANGE): mlan0: link becomes ready
eted with 40:49:0f:9e:66:fd [PTK=[29841.901022]
woal_cfg80211_set_rekey_data return: gtk_rekey_offload is DISABLE
TKIP GTK=TKIP]
mlan0: CTRL-EVENT-CONNECTED - Connection to 40:49:0f:9e:66:fd
completed [id=0 id_str=]
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
19 / 88

NXP Semiconductors UM11490
Feature Configuration Guide for NXP-based Wireless Modules on i.MX 8M Quad EVK
2.4.5 Configure WPA2 to connect with the AP using an open source supplicant
This section describes the configuration for wpa_supplicant to configure WPA2 security
and connect with the Access Point.
Edit the configuration
Command to configure WPA2 to connect with the AP for an open source supplicant:
root@imx8mqevk:~# nano /etc/wpa_supplicant.conf
Configuration file content:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="NXP_Demo"
key_mgmt=WPA-PSK
psk="123456789"
}
Connect with the AP
Run the following commands to connect the device with the WPA2-based AP:
root@imx8mqevk:~# killall wpa_supplicant
root@imx8mqevk:~# killall hostapd
root@imx8mqevk:~# wpa_supplicant -i mlan0 -Dnl80211 -c /etc/
wpa_supplicant.conf
Command output example:
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
[33831.070886] wlan: mlan0 START SCAN
[33835.714782] wlan: SCAN COMPLETED: scanned AP count=19
mlan0: Trying to associate with 44:82:e5:10:2c:38 (SSID='NXP_Demo'
freq=2427 MHz)
[33835.735938] wlan: Connected to bssid 44:XX:XX:XX:2c:38 successfully
mlan0: Associated with 44:82:e5:10:2c:38
mlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
mlan0: CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=IN
mlan0: WPA: Key negotiation compl[33835.760667] IPv6:
ADDRCONF(NETDEV_CHANGE): mlan0: link becomes ready
eted with 44:82:e5:10:2c:38 [PTK=[33835.770113]
woal_cfg80211_set_rekey_data return: gtk_rekey_offload is DISABLE
CCMP GTK=TKIP]
mlan0: CTRL-EVENT-CONNECTED - Connection to 44:82:e5:10:2c:38
completed [id=0 id_str=]
UM11490 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2021. All rights reserved.
User manual Rev. 2 — 29 January 2021
20 / 88
Table of contents
Other NXP Semiconductors Wireless Module manuals