AN13009

Wi-Fi Tx Power Management in Linux
Rev. 1 — 3 November 2020

Application note

Document information
Information

Content

Keywords

Channel list, scan type, WPA supplicant, configuration file

Abstract

Describes how to configure the Wi-Fi TX power table and Wi-Fi channel list inLinux BSP.

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux
Revision history
Rev

Date

Description

v.1

20201103

Initial version

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

2 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

1

About this document
This application note shows how to configure the Wi-Fi TX power table and Wi-Fi channel
list in Linux BSP. It includes information on the commands that can be used to update thepower table and channel list. The procedures described in this document overwrite thedefault values defined in Linux for TX power table and channel list.
It is assumed that the readers have a good understanding of the Linux Kernel CRDA and
Wireless Regulatory database practices. Furthermore, it is recommended to review thebasic product software architecture before using this document.

Table 1. Reference documents
Document type

Document title

Application note2

Compliance and Certification Considerations

Introduction
The Wi-Fi power table defines the transmit power levels for the Wi-Fi radio. The power
levels are based on regulatory compliance, IEEE 802.11 requirements, and productdesign constraints.
The TX power table can be adjusted to achieve the highest transmit power level for each
Wi-Fi channel, bandwidth and modulation within these constraints. The Wi-Fi power table
can be stored in a file, on the device OTP memory, or in the EEPROM.
The Wi-Fi channel list defines the channels allowed for the product. The channel list
is determined by regulatory domain and country specific requirements and should be
adjusted accordingly. For example, a product certified for use in Europe can operate onchannels 1-13 in the 2.4 GHz band, whereas operation in US is restricted to channels
1-11.
Furthermore, there are two channel scan types that can be selected, active or passive.
The channel list selection and scan type are configured using wpa_supplicant, a clientside software backend connection manager.
This document explains how to configure the TX power table, channel list and scan typeusing the appropriate configuration files.

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

3 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux3

TX power tables
The TX power tables mentioned in this section can be edited to customize thetransmission power levels for each wireless channel as needed, based on the system
requirements and Region Domain rules.
The Wi-Fi TX power table may optionally be programmed into OTP memory on the radio.
If you are using a wireless module, please check with the module vendor if thepower table has already been programmed in OTP and if the Region Enforcement
bit is set.
If the TX power table is already programmed in OTP and the Region Enforcement bit isset, you cannot update the power table using the procedures provided in this document.
If the TX power table has not been programmed in the OTP, then the default TX power
value is set to 8 dBm for all channels and all rate groups. This setting can be overwritten
by using the procedures described in the document.
Otherwise, if the Region Enforcement bit has not been set by the vendor, the main steps
to customize the TX power tables are:
1. Editing the TX Power Table configuration file
2. Converting the configuration file to binary configuration file
3. Loading the wireless driver specifying the binary configuration file
Each step is described hereafter.

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

4 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

3.1 Editing TX power table configuration
The Tx power tables for 2.4 GHz and 5 GHz are stored respectively intxpwrlimit_2g_cfg_set and txpwrlimit_5g_cfg_set data structures. Bothstructures are part of txpwrlimit_cfg.conf file located in /usr/share/nxp_wireless/bin_mxm_wifiex/config directory of the BSP file system.
Use the following commands to navigate and edit the file to specify the transmit power
levels for the band, channels, modulation rate and bandwidth.
cd /usr/share/nxp_wireless/bin_mxm_wifiex/config
vi txpwrlimit_cfg.conf

For each wireless channel, the structures txpwrlimit_2g_cfg_set andtxpwrlimit_5g_cfg_set define the following parameters:
ChanTRPC.TlvType:2=ChanTRPC.TlvLength:2={
TLVStartFreq:2=
TLVChanWidth:1=
TLVChanNum:1=
TLVPwr:32=}

where:

AN13009

Application note

Parameter

Description

TLVTypeInternal parameter set to 0x189. Do not change this value.

TLVChanNum

Channel number

TLVStartFreq

Set to 2407 for all 2.4 GHz channels. Set to 5000 for all 5 GHz
channels.

TLVChanWidth

Channel bandwidth in MHz (for example: 20 for 20 MHz, 40 for 40
MHz)

TLVpwrSpecifies the TX power table integer values (in dBm) corresponding torate groups (see Section 3.1.1 "Rate groups"). The structure of this fieldis:<data rate group>, <power limit for group>

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

5 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux3.1.1 Rate groups
The Wi-Fi power table is organized by rate groups and RF channels. To reduce the sizeof the power table, multiple wireless data rates are grouped into a single rate group.
For example, 24 Mbit/s and 36 Mbit/s legacy OFDM rates are combined in a single rategroup, and have the same target power level.
Table 2 shows the rate group information for one spatial stream.
Table 2. Rate group information for one spatial stream
Rate group

Description0

CCK modulation (data rates: 1,2,5.5,11 Mbit/s)

1

OFDM modulation (data rates: 6,9,12,18 Mbit/s)

2

OFDM modulation (data rate: 24,36 Mbit/s)

3

OFDM modulation (data rate: 48,54 Mbit/s)

4

Channel bandwidth 20 MHz, MCS: 0,1,2

5

Channel bandwidth 20 MHz, MCS: 3,4

6

Channel bandwidth 20 MHz, MCS: 5,6,7

7

Channel bandwidth 40 MHz, MCS: 0,1,2

8

Channel bandwidth 40 MHz, MCS: 3,4

9

Channel bandwidth 40 MHz, MCS: 5,6,7

10

QAM256 modulation, channel bandwidth 20 MHz, MCS 8

11

QAM256 modulation, channel bandwidth 40 MHz, MCS 8, 9

12

PSK modulation, channel bandwidth 80 MHz, MCS 0, 1, 2

13

QAM16 modulation, channel bandwidth 80 MHz, MCS 3, 4

14

QAM64 modulation, channel bandwidth 80 MHz, MCS 5, 6, 7

15

QAM256 modulation, channel bandwidth 80 MHz, MCS 8, 9

For example, OFDM modulation with 54 Mbit/s data rate corresponds to the rate group 3.
The number of rate groups supported depends on the capabilities of the device. For
example, a 1x1 Wi-Fi 5 (IEEE 802.11ac) device can support 12 rate groups for 2.4 GHz
band and 16 rate groups for 5 GHz band. The number of rate groups differs between
the two bands because 80 MHz channel bandwidth is only supported in 5 GHz band.
Different wireless chipsets have different rate groups.
The following example is Tx power table configuration for channel 2 (TLVChanNum:1=2),
with 20 MHz channel bandwidth (TLVChanWidth:1=20). The Tx power table is shownin bold; rate group 0 is set to 18 dBm, rate group 1 is set to 17 dBm and so forth. Sincechannel 2 belongs to 2.4 GHz band, the structure is part of txpwrlimit_2g_cfg_set.
ChanTRPC.TlvType:2=0x0189
ChanTRPC.TlvLength:2={
TLVStartFreq:2=2407
TLVChanWidth:1=20
TLVChanNum:1=2
TLVPwr:24='0,18,1,17,2,16,3,14,4,18,5,16,6,14,7,18,8,16,9,14,10,
16,11,16'}
AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

6 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

3.1.2 Example 1: Changing Tx power table configuration for 2.4 GHz band and
20 MHz channel bandwidthThis example shows how to edit the power level for rate group 3.
Initially the rate group 3 is set to 14 dBm (bold text):
TLVPwr:24='0,18,1,18,2,16,3,14,4,18,5,16,6,14,7,18,8,16,9,14,10,16,11,16'

Once edited, the rate group 3 is set to 17 dBm.
TLVPwr:24='0,18,1,18,2,16,3,17,4,18,5,16,6,14,7,18,8,16,9,14,10,16,11,16'

3.1.3 Example 2: Changing Tx power table configuration for 5 GHz band and
40 MHz channel bandwidth
Similarly to the 2.4 GHz band, the Tx power limits for 5 GHz band can be changed byediting the txpwrlimit_5g_cfg_set data structure.
The example below is for channel 44 - 48 in 40 MHz bandwidth (TLVChanWidth=40 and
TLVChanNum=44).
Note: Although 802.11b is not supported in 5 GHz band, we need a placeholder for rategroup 0. This example sets the power level to the rate group 0 to zero.
The power table for the rate group 4 is set to 16 dBm (shown in bold).
ChanTRPC.TlvType:2=0x0189
ChanTRPC.TlvLength:2={
TLVStartFreq:2=5000
TLVChanWidth:1=40
TLVChanNum:1=44
TLVPwr:32='0,0,1,16,2,16,3,14,4,16,5,16,6,14,7,16,8,16,9,14,10,15,11,14,12,15,13,
15,14,14,15,13'}

To change the value of rate group 4 to 14 dBm, replace the 4,16 entry:
TLVPwr:32='0,0,1,16,2,16,3,14,4,14,5,16,6,14,7,16,8,16,9,14,10,15,11,14,12,15,
13,15,14,14,15,13'

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

7 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

3.2 Converting TX power table configuration
The Tx power configuration file txpwrlimit_cfg.conf has to be converted to a bin format
before the wireless driver can use it. The following command uses mlanutl utility under /usr/sbin path of Linux BSP for the conversion.
mlanutl <wireless interface> hostcmd <conf_file_name> generate_raw<bin_file_name>

Where:
Parameter

Definition

wireless interface

Wireless interface to use

conf_file_name

TX Power configuration file, for example
txpwrlimit_cfg.conf

bin_file_name

Name of the output binary file to be generated

Examplecd /usr/sbin./mlanutl mlan0 hostcmd txpwrlimit.conf generate_raw txpower.bin

The output of the command using mlanutl is shown below:$ ./mlanutl mlan0 hostcmd ./config/txpwrlimit.conf generate_raw
txpower.bin
buf_len = 12
buf_len = 12
buf_len = 12
buf_len = 12
buf_len = 12
buf_len = 572
buf_len = 524
buf_len = 780
buf_len = 332
buf_len = 908

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

8 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in LinuxA fragment of TX power binary file is shown below:
txpwrlimit_2g_cfg_set={
fb 00 3c 02 00 00 00 00 01 00 00 00 89 01 24 00
67 09 14 01 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 02 00 11 01 0f
02 0f 03 0d 04 0f 05 0f 06 0d 07 0f 08 0f 09 0d
0a 0f 0b 0f 0c 0f 0d 0f 0e 0f 0f 0f 89 01 24 00
67 09 14 03 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 04 00 11 01 0f
02 0f 03 0d 04 0f 05 0f 06 0d 07 0f 08 0f 09 0d
0a 0f 0b 0f 0c 0f 0d 0f 0e 0f 0f 0f 89 01 24 00
67 09 14 05 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 06 00 11 01 0f
02 0f 03 0d 04 0f 05 0f 06 0d 07 0f 08 0f 09 0d
0a 0f 0b 0f 0c 0f 0d 0f 0e 0f 0f 0f 89 01 24 00
67 09 14 07 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 08 00 11 01 0f
02 0f 03 0d 04 0f 05 0f 06 0d 07 0f 08 0f 09 0d
0a 0f 0b 0f 0c 0f 0d 0f 0e 0f 0f 0f 89 01 24 00
67 09 14 09 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 0a 00 11 01 0f
02 0f 03 0d 04 0f 05 0f 06 0d 07 0f 08 0f 09 0d
0a 0f 0b 0f 0c 0f 0d 0f 0e 0f 0f 0f 89 01 24 00
67 09 14 0b 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 0c 00 11 01 0f
02 0f 03 0d 04 0f 05 0f 06 0d 07 0f 08 0f 09 0d
0a 0f 0b 0f 0c 0f 0d 0f 0e 0f 0f 0f 89 01 24 00
67 09 14 0d 00 11 01 0f 02 0f 03 0d 04 0f 05 0f
06 0d 07 0f 08 0f 09 0d 0a 0f 0b 0f 0c 0f 0d 0f
0e 0f 0f 0f 89 01 24 00 67 09 14 0e 00 0c 01 0c
02 0c 03 0c 04 0c 05 0c 06 0c 07 0c 08 0c 09 0c
0a 0c 0b 0c 0c 0c 0d 0c 0e 0c 0f 0c}

The newly generated binary files must be copied into the wireless firmware directory,
which is /lib/firmware/NXP for Linux systems.

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

9 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux3.3 Loading TX power table configuration
The TX power table binary file can be activated at the wireless driver load time. As
mentioned in the previous section, it is necessary that both wireless firmware and TX
power table binary files are stored in the wireless firmware directory, which for Linuxsystems is by default located at /lib/firmware/nxp.
In the following example, the driver loads txpower.bin using txpwrlimit_cfg
parameter:
insmod mlan.ko
insmod sd8xxx.ko txpwrlimit_cfg=nxp/txpower.bin

Note: The actual driver load command can differ versus the one shown above,
depending on the wireless device, interface used, and additional parameters used atdriver load. Nonetheless, the parameter txpwrlimit_cfg is always required to load a
TX power table binary file.
In the case shown above, NXP driver overrides the default TX power limits used by Linuxand uses the one specified in the binary file instead.

3.4 Checking TX power table configuration
The command mlanutl is used to display the updated TX power table.
Usage:
cd /usr/sbin./mlanutl mlanX get_txpwrlimit <n>Where:

AN13009

Application note

Parameter

Description

mlanX

wireless interface to usenHexadecimal value to select the Power Table toshow
0: Get 2.4G txpwrlimit table
0x1f: Get all 5G txpwrlimit table
0xff: Get both 2G and 5G txpwrlimit table

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

10 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in LinuxThe following example shows 2.4 GHz TX power table with 12 rate groups per channel:# ./mlanutl mlan0 get_txpwrlimit 0------------------------------------------Get txpwrlimit: sub_band=0x0 len=460
StartFreq: 2407
ChanWidth: 20
ChanNum:1
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:2
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:3
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
4
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
5
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
6
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
7
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
8
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
9
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:10
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
11
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
12
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2407
ChanWidth: 20
ChanNum:
13
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8StartFreq: 2414
ChanWidth: 20
ChanNum:
14
Pwr:0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

11 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in LinuxThe command output includes the following parameters:

AN13009

Application note

Parameter

Description

StartFreq

Set to 2407 for 2.4 GHz channels, and 5000 for
5 GHz channels

ChanWidth

Channel width in MHz

ChanNum

Channel number

Pwr

Power table (see Section 3.1.1 "Rate groups")

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

12 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

4

Channel list and scan typeThe wpa_supplicant utility is a program that runs in the background and acts as
the backend component controlling the wireless connection in client mode. The
wpa_supplicant tool can be used to establish an open or a secured connection withaccess points, and to enable advanced configuration features. This section explains how
to use wpa_supplicant to customize the channel list and global scan type.
Please note that the channel list and scan type settings provided in this section apply
only to client mode.
Two scan types are allowed: passive and active. With a passive scan, the client radio
listens to each channel for beacons sent periodically by an Access Point (AP); thismethod usually takes longer than the active scan. During an active scan, the client radio
also transmits a probe request and listens for a probe responses from an AP.

4.1 wpa_supplicant usage
The wpa_supplicant executable located at /usr/sbin of the Linux BSP can be loaded fromthe command line using the following syntax:
cd /usr/sbin./wpa_supplicant -i interface -c conf_file [-B] -C socket

Where:
Configuration parameter

Description-iWireless interface to use-c

Configuration file, under the directory /etc of the
BSP filesystem-B

Specify whether to run in the background or not-C

Path of the ctrl_interface socket

To configure the channel list and scan type, edit wpa_supplicant.conf file and locate thefollowing configuration settings.

AN13009

Application note

Configuration parameter

Description

freq_list

List of allowed channel frequencies, separated
by space. If this parameter is not used, then theradio can use all channel frequencies that it iscapable of using.

scan_freq

List of frequencies to scan, separated by aspace. If this parameter is not used, then all
channels in freq_list are scanned.

passive_scan

Selects active or passive scan.
0 = active scan
1 = passive scan
The configuration of individual channels is notallowed.
All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

13 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in LinuxThe configuration parameters freq_list and scan_freq use the center frequency
to specify the channels. For example, to enable the connection on channel 44, include
5220 as center frequency in freq_list.
Table 3 specifies the center frequencies for 2.4 GHz and 5 GHz bands.
Table 3. Center frequencies for 2.4 GHz and 5 GHz bands

AN13009

Application note

2.4 - 5 GHz channel

Center frequency (MHz)

1

2412

2

2417

3

2422

4

2427

5

2432

6

2437

7

2442

8

2447

9

2452

10

2457

11

2462

12

2467

13

2472

36

5180

40

5200

44

5220

48

5240

52

5260

56

5280

60

5300

64

5320

100

5500

104

5520

108

5540

112

5560

116

5580

120

5600

124

5620

128

5640

132

5660

136

5680

140

5700

144

5720

149

5745

153

5765

157

5785

161

5805

165

5825

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

14 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

4.2 wpa_supplicant examples
Example 1
The following configuration example enables channels 36, 40, 44 and 48, with passive
scan. As the scan_freq parameter is not present, every channel in the freq_list isscanned.
ctrl_interface=/var/run/wpa_supplicant
Country=US
freq_list=5180 5200 5220 5240
passive_scan=1
network={ssid="example_SSID”
key_mgmt=WPA-PSK
psk=”example_password”}

Example 2
The following configuration example enables channels 1 through 12, 36, 44, 48 and 149.
Channels 1, 6, 11 and 36 are scanned using active scan.
ctrl_interface=/var/run/wpa_supplicant
Country=US
freq_list = 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462
2467 5180 5220 5240 5745
scan_freq = 2412 2437 2462 5180
passive_scan = 0
network={ssid="wpa3ssid"
key_mgmt=SAE
psk="passhrase"}

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

15 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

5

Acronyms and abbreviations

Table 4.
AcronymDefinition

AP

Access Point

BSP

Board Support Package

CRDA

Central Regulatory Domain Agent

EEPROM

Electrically Erasable Programmable Read-Only MemoryFW

Firmware

IE

Information Element

OTP

One Time Programmable

WLAN

Wireless LAN

AN13009

Application note

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

16 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

6

Legal information

6.1 Definitions
Draft — A draft status on a document indicates that the content is still
under internal review and subject to formal approval, which may resultin modifications or additions. NXP Semiconductors does not give any
representations or warranties as to the accuracy or completeness of
information included in a draft version of a document and shall have noliability for the consequences of use of such information.

6.2 Disclaimers
Limited warranty and liability — Information in this document is believed
to be accurate and reliable. However, NXP Semiconductors does notgive any representations or warranties, expressed or implied, as to theaccuracy or completeness of such information and shall have no liability
for the consequences of use of such information. NXP Semiconductors
takes no responsibility for the content in this document if provided by an
information source outside of NXP Semiconductors. In no event shall NXP
Semiconductors be liable for any indirect, incidental, punitive, special orconsequential damages (including - without limitation - lost profits, lostsavings, business interruption, costs related to the removal or replacementof any products or rework charges) whether or not such damages are based
on tort (including negligence), warranty, breach of contract or any otherlegal theory. Notwithstanding any damages that customer might incur for
any reason whatsoever, NXP Semiconductors’ aggregate and cumulative
liability towards customer for the products described herein shall be limitedin accordance with the Terms and conditions of commercial sale of NXP
Semiconductors.
Right to make changes — NXP Semiconductors reserves the right tomake changes to information published in this document, including without
limitation specifications and product descriptions, at any time and without
notice. This document supersedes and replaces all information supplied prior
to the publication hereof.
Suitability for use — NXP Semiconductors products are not designed,
authorized or warranted to be suitable for use in life support, life-critical orsafety-critical systems or equipment, nor in applications where failure or
malfunction of an NXP Semiconductors product can reasonably be expected
to result in personal injury, death or severe property or environmental
damage. NXP Semiconductors and its suppliers accept no liability forinclusion and/or use of NXP Semiconductors products in such equipment orapplications and therefore such inclusion and/or use is at the customer’s own
risk.
Applications — Applications that are described herein for any of theseproducts are for illustrative purposes only. NXP Semiconductors makes
no representation or warranty that such applications will be suitable
for the specified use without further testing or modification. Customers
are responsible for the design and operation of their applications andproducts using NXP Semiconductors products, and NXP Semiconductors

AN13009

Application note

accepts no liability for any assistance with applications or customer productdesign. It is customer’s sole responsibility to determine whether the NXP
Semiconductors product is suitable and fit for the customer’s applications
and products planned, as well as for the planned application and use ofcustomer’s third party customer(s). Customers should provide appropriate
design and operating safeguards to minimize the risks associated with
their applications and products. NXP Semiconductors does not accept any
liability related to any default, damage, costs or problem which is basedon any weakness or default in the customer’s applications or products, orthe application or use by customer’s third party customer(s). Customer is
responsible for doing all necessary testing for the customer’s applications
and products using NXP Semiconductors products in order to avoid adefault of the applications and the products or of the application or use bycustomer’s third party customer(s). NXP does not accept any liability in thisrespect.
Export control — This document as well as the item(s) described herein
may be subject to export control regulations. Export might require a priorauthorization from competent authorities.
Evaluation products — This product is provided on an “as is” and “with all
faults” basis for evaluation purposes only. NXP Semiconductors, its affiliates
and their suppliers expressly disclaim all warranties, whether express,
implied or statutory, including but not limited to the implied warranties of
non-infringement, merchantability and fitness for a particular purpose. The
entire risk as to the quality, or arising out of the use or performance, of thisproduct remains with customer. In no event shall NXP Semiconductors, itsaffiliates or their suppliers be liable to customer for any special, indirect,
consequential, punitive or incidental damages (including without limitation
damages for loss of business, business interruption, loss of use, loss ofdata or information, and the like) arising out the use of or inability to use
the product, whether or not based on tort (including negligence), strict
liability, breach of contract, breach of warranty or any other theory, even if
advised of the possibility of such damages. Notwithstanding any damages
that customer might incur for any reason whatsoever (including without
limitation, all damages referenced above and all direct or general damages),
the entire liability of NXP Semiconductors, its affiliates and their suppliersand customer’s exclusive remedy for all of the foregoing shall be limited toactual damages incurred by customer based on reasonable reliance up to
the greater of the amount actually paid by customer for the product or five
dollars (US$5.00). The foregoing limitations, exclusions and disclaimers shallapply to the maximum extent permitted by applicable law, even if any remedy
fails of its essential purpose.
Translations — A non-English (translated) version of a document is forreference only. The English version shall prevail in case of any discrepancy
between the translated and English versions.

6.3 Trademarks
Notice: All referenced brands, product names, service names andtrademarks are the property of their respective owners.

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

17 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

TablesTab. 1.
Tab. 2.

Reference documents ....................................... 3
Rate group information for one spatial
stream ................................................................6

AN13009

Application note

Tab. 3.
Tab. 4.

Center frequencies for 2.4 GHz and 5 GHz
bands ...............................................................14.......................................................................... 16

All information provided in this document is subject to legal disclaimers.

Rev. 1 — 3 November 2020

© NXP B.V. 2020. All rights reserved.

18 / 19

AN13009

NXP Semiconductors

Wi-Fi Tx Power Management in Linux

Contents
1
2
3
3.1
3.1.1
3.1.2
3.1.3
3.2
3.3
3.4
4
4.1
4.2
5
6

About this document .......................................... 3
Introduction ......................................................... 3
TX power tables .................................................. 4
Editing TX power table configuration ................. 5
Rate groups ....................................................... 6
Example 1: Changing Tx power tableconfiguration for 2.4 GHz band and 20 MHz
channel bandwidth .............................................7
Example 2: Changing Tx power tableconfiguration for 5 GHz band and 40 MHz
channel bandwidth .............................................7
Converting TX power table configuration ...........8
Loading TX power table configuration ............. 10
Checking TX power table configuration ........... 10
Channel list and scan type .............................. 13
wpa_supplicant usage ..................................... 13
wpa_supplicant examples ................................15
Acronyms and abbreviations ...........................16
Legal information .............................................. 17

Please be aware that important notices concerning this document and the product(s)described herein, have been included in section 'Legal information'.

© NXP B.V. 2020.

All rights reserved.

For more information, please visit: http://www.nxp.com
For sales office addresses, please send an email to: salesaddresses@nxp.com
Date of release: 3 November 2020
Document identifier: AN13009