The Wi-Fi firmware used by WF200 or WFM200 or the WGM160P, uses the following regulatory modes:
FCC : Maximum Tx power per channel is extracted from FCC OTP table inside the chip. Channels 12,13,14 are not used.
CE/ETSI : Maximum Tx power per channel is extracted from ETSI OTP table inside the chip. Channels 14 is not used.
JP : Maximum Tx power per channel is extracted from JP OTP table inside the chip. Note that for channels <14 the ETSI values are used.
GLOBAL/WORLD : The minimum of all maximum Tx power allowed by region in the OTP table inside the chip is used. Depending of the context channels 12,13,14 may not be used.
WF(M)200 can be used either in WLAN mode or in TEST_FEATURE mode through the PDS file (see UG404, mode without MAC and association to a Wi-Fi access point).
Wi-Fi usage
Channels 1 up to 11
Channels 12 and 13
Channel 14
Scan
Active/passive scan is allowed but using GLOBAL/WORLD Tx power
Only passive scan
is allowed
Only passive scan
is allowed
STA
Start in GLOBAL/WORLD to join (association).
Once joined/connected to an AP, rely on 11.d information.
According to 11.d country information:
Switch to FCC, ETSI or JP
Stay in GLOBAL if no country code
If AP detected on the requested
channel, switch to ETSI.
If AP detected on the requested
channel, switch to JP.
soft-AP
Stay in GLOBAL/WORLD mode
Forbidden
Forbidden
TEST-FEATURE mode
Reg_mode or without Reg_mode then uses the Tx power without reduction from OTP table inside the chip.
Reg_mode or without Reg_mode then uses the Tx power without reduction from OTP table inside the chip.
Reg_mode or without Reg_mode then uses the Tx power without reduction from OTP table inside the chip.
The goal is to avoid any regulatory RF infringement in WLAN mode. Note the passive scan provides a result with an increased time duration than the active scan.
At the MAC level on Country code and regulatory domain, this setting below should be done:
in WLAN mode
With a Linux Host using the lower MAC:
STA: The country code is retrieved from the AP’s beacon
SoftAP: the country code is set in the hostapd configuration file
The country code is processed using CRDA (Central Regulatory Domain Agent) to transform a country code (US/FR/GB/JP/…) into a regulatory domain (DFS-ETSI/FCC/JPN)
With a MCU using the full MAC:
STA: The country code is retrieved from the AP’s beacon in the Full MAC driver API
SoftAP: the country code is set in the Full MAC driver API
in TEST-FEATURE mode
the regulatory domain could be set manually using TEST_FEATURE_CFG:REG_MODE in the PDS file
For RF tests in laboratory or for regulatory RF certification tests, the WF200, WFM200 or WGM160P could be started in RF test-feature using the PDS file in adding the section TEST_FEATURE_CFG with the selected parameter for Tx or Rx like described in UG404 section 4.
This test-feature doesn't need a Wifi Acces Point to transmit or receive frames. There is no 802.11 MAC protocol used in this mode. It is only to be used to test the RF behavior in Tx or in Rx.
The customer could use the PDS file to do RF tests but with a host implementing Python, it could be more easy to use the Python script to configure and control the RF tests:
With this software on your device, you can use the Python tool to send RF test mode commands to the WF(M)200. It is more suitable for extended testing.
So through the PDS file test-feature, you have a way to do RF tests but in order to pass RF certification, it is usual to adjust the Tx power in order to get the RF requirement depending of the regulatory certification targeted.
Indeed depending of the antenna or the RF layout or the design of the customer product, it is possible the TX power shall be reduced in order to pass the regulatory RF certification (FCC, CE, Japan, ...).
Please on RF and certification aspect, follow carefully the requirements and recommendations provided in the WF200, WFM200 or WGM160P datasheets and the Hardware Design User's Guide (see UG382, UG395 or UG384).
The Tx power level reduction is done using BACKOFF_QDB in the RF_POWER_CFG Section in the PDS file (see section 3.7 of UG404).
With the Python test-feature script, the customer could use the function tx_backoff(mod, backoff_level) in order to reduce the Tx power.
The Tx power level optimization using the backoff could be done versus PHY rate group and the Wi-FI channels.
It is not recommended to use the function tx_power(dBm) to reduce the Tx power because it set only a Tx power limitation for all cases (all PHY rate and all channels).
The function tx_power(dBm) is related to MAX_OUTPUT_POWER_QDBM in the PDS file in quarter of dBm. It is only a Tx power level limitation. It can’t be used to increase the Tx power above the calibrated levels done with default backoffs stored during production (for example higher than expected for the RF certification or provided in the datasheet).
Please note for WFM200 and WGM160P which has been pre-certified for some regulatory regions (see the related datasheet), the customer should use the function regulatory_mode(reg_mode) to set the targeted region in order to use the internally stored Tx power backoff for this pre-certified module before to do measurement using the test-feature with the final product. In this case, the function tx_backoff adds only an additional Tx power reduction needed to meet the RF requirement with the customer product.
The function regulatory_mode is related to REG_MODE in the PDS file. The REG_MODE is only used in test-feature mode (not in wlan mode).
After the customer has passed the regulatory RF certification with this product using the test-feature in adding eventually some TX power reduction using backoff and eventually the regulatory_mode then it remains to use the table of backoff in the PDS used in production in WLAN mode.
This allows in wlan mode (STA or soft AP) to follow the Tx power level required by the regulatory RF certification.
Please note the customer could store several PDS files for different regulatory region (with different backoff). The selected PDS is used in the product when the regulatory region is known.
Another way using only one PDS file is to use only one PDS with the higher backoff of the different targeted regulatory region.
Wi-Fi Knowledge Base
WF200, WFM200, WGM160P : Country code and regulatory domain
The Wi-Fi firmware used by WF200 or WFM200 or the WGM160P, uses the following regulatory modes:
WF(M)200 can be used either in WLAN mode or in TEST_FEATURE mode through the PDS file (see UG404, mode without MAC and association to a Wi-Fi access point).
Active/passive scan is allowed but using GLOBAL/WORLD Tx power
is allowed
is allowed
Start in GLOBAL/WORLD to join (association).
Once joined/connected to an AP, rely on 11.d information.
According to 11.d country information:
If AP detected on the requested
channel, switch to ETSI.
If AP detected on the requested
channel, switch to JP.
The goal is to avoid any regulatory RF infringement in WLAN mode. Note the passive scan provides a result with an increased time duration than the active scan.
At the MAC level on Country code and regulatory domain, this setting below should be done:
WF(M)200 and WGM160P : regulatory RF Certification test-feature usage
For RF tests in laboratory or for regulatory RF certification tests, the WF200, WFM200 or WGM160P could be started in RF test-feature using the PDS file in adding the section TEST_FEATURE_CFG with the selected parameter for Tx or Rx like described in UG404 section 4.
This test-feature doesn't need a Wifi Acces Point to transmit or receive frames. There is no 802.11 MAC protocol used in this mode. It is only to be used to test the RF behavior in Tx or in Rx.
The customer could use the PDS file to do RF tests but with a host implementing Python, it could be more easy to use the Python script to configure and control the RF tests:
For customer using EFR32 like a host processor for WF(M)200:
Note the RF test done with WGM160P using Gecko OS is already described in this KBA:
https://www.silabs.com/community/wireless/wi-fi/knowledge-base.entry.html/2019/10/15/wgm160p_certificationtestingusinganexampleap-lwPV
So through the PDS file test-feature, you have a way to do RF tests but in order to pass RF certification, it is usual to adjust the Tx power in order to get the RF requirement depending of the regulatory certification targeted.
Indeed depending of the antenna or the RF layout or the design of the customer product, it is possible the TX power shall be reduced in order to pass the regulatory RF certification (FCC, CE, Japan, ...).
Please on RF and certification aspect, follow carefully the requirements and recommendations provided in the WF200, WFM200 or WGM160P datasheets and the Hardware Design User's Guide (see UG382, UG395 or UG384).
The Tx power level reduction is done using BACKOFF_QDB in the RF_POWER_CFG Section in the PDS file (see section 3.7 of UG404).
With the Python test-feature script, the customer could use the function tx_backoff(mod, backoff_level) in order to reduce the Tx power.
The Tx power level optimization using the backoff could be done versus PHY rate group and the Wi-FI channels.
It is not recommended to use the function tx_power(dBm) to reduce the Tx power because it set only a Tx power limitation for all cases (all PHY rate and all channels).
The function tx_power(dBm) is related to MAX_OUTPUT_POWER_QDBM in the PDS file in quarter of dBm. It is only a Tx power level limitation. It can’t be used to increase the Tx power above the calibrated levels done with default backoffs stored during production (for example higher than expected for the RF certification or provided in the datasheet).
Please note for WFM200 and WGM160P which has been pre-certified for some regulatory regions (see the related datasheet), the customer should use the function regulatory_mode(reg_mode) to set the targeted region in order to use the internally stored Tx power backoff for this pre-certified module before to do measurement using the test-feature with the final product. In this case, the function tx_backoff adds only an additional Tx power reduction needed to meet the RF requirement with the customer product.
The function regulatory_mode is related to REG_MODE in the PDS file. The REG_MODE is only used in test-feature mode (not in wlan mode).
After the customer has passed the regulatory RF certification with this product using the test-feature in adding eventually some TX power reduction using backoff and eventually the regulatory_mode then it remains to use the table of backoff in the PDS used in production in WLAN mode.
A very interesting example is provided in https://github.com/SiliconLabs/wfx-common-tools/blob/master/test-feature/certification.md
This allows in wlan mode (STA or soft AP) to follow the Tx power level required by the regulatory RF certification.
Please note the customer could store several PDS files for different regulatory region (with different backoff). The selected PDS is used in the product when the regulatory region is known.
Another way using only one PDS file is to use only one PDS with the higher backoff of the different targeted regulatory region.
Read also this KBA :
For general explanations and recommendation for regulatory RF certifications, we recommend to read this Application Note: