If you are trying to re-certify the module, or the end product using Gecko OS, please have a look at the certification example app found in the SDK at ~\applications\gecko_os\test\certification. The purpose of this example is to provide the functionality needed for certification. Like all example apps you can clone it from Gecko OS studio. It is found under "Test Examples" as shown below:
Note: the test app referred below is based on Gecko OS 4.1.11
Please see below for the different variables and settings:
Variable
Commands
Abbreviated
Default
Comments
Channel
get/set wifi_test.channel <1 .. 14>
get/set wt c
1
Wi-Fi 2.4GHz channel (1 -> 14)
Test Mode
get/set wifi_test.mode
get/set wt m
tx_cw
Selects the activated test mode: rx: received frames and count number of good or bad packets tx_packet: transmit the frames in the mode selected according to other wifi_test settings tx_cw: transmit a sinus wave signal at the selected frequency
There is also a custom command to start the transmission or reception of frames: wifi_test start
Examples:
Get TX_PACKET 11n MCS7 continuously to RF2 output (test in conducted):
set wlan.antenna.select 2
set wifi_test.channel 6
set wifi_test.mode tx_packet
set wifi_test.period 5000
set wifi_test.tx.protocol n
set wifi_test.tx.rate 7
set wifi_test.tx.ht_format mm
set wifi_test.tx.length 1400
set wifi_test.tx.number 0
wifi_test start
TX_PACKET 11g 54Mbps:
set wlan.antenna.select 2
set wifi_test.channel 6
set wifi_test.mode tx_packet
set wifi_test.period 5000
set wifi_test.tx.protocol g
set wifi_test.tx.rate 54
set wifi_test.tx.length 1400
set wifi_test.tx.number 0
wifi_test start
DSSS 11b 11Mbps
set wlan.antenna.select 2
set wifi_test.channel 6
set wifi_test.mode tx_packet
set wifi_test.tx.protocol b
set wifi_test.period 5000
set wifi_test.tx.rate 11
set wifi_test.tx.length 1000
set wifi_test.tx.number 0
wifi_test start
Stop TX after 100 frames and update the TX for rate MCS4 (if already in 11n):
set wifi_test.mode tx_packet
set wifi_test.tx.number 100
wifi_test start
TX stopped. Set tx.rate in MCS4 and then TX frames continuously
set wifi_test.tx.rate 4
set wifi_test.tx.number 0
wifi_test start
Get CW signal to RF2 output:
set wlan.antenna.select 2
set wifi_test.channel 6
set wifi_test.mode tx_cw
set wifi_test.period 5000
wifi_test start
WLAN backoff of 5dB on channel 6 for mod_group_5
set wlan.backoff 6 0,0,0,0,0,5
RX_PACKET for 11bgn 20MHz signals on channel 7 on RF2
set wlan.antenna.select 2
set wifi_test.channel 7
set wifi_test.mode rx
set wifi_test.period 5000
wifi_test start
We get then every 5 seconds (wifi_test.period=5000µs) this Rx statistic report:
The statistics are done on 5 seconds. In this example, the Wi-Fi source transmits only 802.11n MCS7 frames in the channel 7.
Please note when some packets are completely erroneous and not detected like a Wi-Fi frame then they are not counted in “Frames received” or “Bad Frames”.
This PER accuracy issue, it happens more when we are close or below the sensitivity level.
So in order to get an accurate PER, you have to compute it based on number of transmitted frames by the Wi-Fi source.
To stop this Rx mode with statistic report:
set wifi_test.mode tx_packet
set wifi_test.tx.number 100
wifi_test start
Knowledge Base Articles
WGM160 Series 1 Wi-Fi Modules
Gecko OS
Wi-Fi
The wlan backoff (set wlan.backoff) is available with Gecko OS 4.1 and it is eventually used to reduce the TX power on RF1 and RF2 output according to channel and PHY rate group.
So this could help to meet the RF TX certification requirements with a customer product for example with an external antenna with an antenna gain higher than 2.14dBi (which is the maximum antenna gain allowed with the certified WGM160P).
wifi_test is designed for users to do RF tests and tweak WLAN TX parameters, but none of the settings persist through a reset or Gecko OS reboot.
Once the user has done the tweaking of the backoff values for RF certification using set wifi_test.backoff, he can then apply those backoff values into the wlan.backoff variable. This variable is designed to persist through factory_reset. At startup, the wlan.backoff values are applied to WF200.
Additionally, subsequent write to the variable takes effect immediately and is written into NVM without requiring 'save' command.
wlan.backoff and wifi_test.backoff are in dBm with a step of 0.25.
To check RF certification according to the region, another interesting wifi_test feature is : wifi_test.tx.region. By default, this is to the "unrestricted" region but you could use the following region:
"fcc" : for FCC RF certification
"etsi" : for ETSI RF certification
"jp" : for JAPAN RF certfication
So when you have selected for example "fcc" then the internally stored backoff required for the FCC RF certification are applied. Then you could check if your product (with eventually an external antenna) is compliant with FCC certification or need additional backoff (see wifi_test.backoffs and wlan.backoff).
There is also the enumerate "minimum" which it provides the minimum Tx power for "fcc" and "etsi" and "jp". This "minimum" on Tx power uses in fact the maximum Tx backoff stored between "fcc", "etsi" and "jp" for each channel and the modGroup.
0
Note that with Gecko OS 4.2.3, the certification test app can easily be loaded as followed: select Projects and Create New Project, fill Name, tick box "Clone an example..." and replace example "hello_world" by "certification", then Create, then Done.
0
Gecko OS 4.2.5 has been released on 6 Nov 2020, it updated wifi_test.cw.tx_power syntax usage, now it is dbm instead of a quarter of dbm
WGM160P Certification Testing (using an example application provided in Gecko OS SDK)
WGM160P module is pre-certified for CE, FCC, ISED, KC South Korea, and Japan. For more information, please see:
https://www.silabs.com/community/wireless/wi-fi/knowledge-base.entry.html/2019/05/06/kba_wgm160p_rf_cert-QAcu
https://www.silabs.com/community/wireless/wi-fi/forum.topic.html/wgm160p_certifications-n4KK
If you are trying to re-certify the module, or the end product using Gecko OS, please have a look at the certification example app found in the SDK at ~\applications\gecko_os\test\certification. The purpose of this example is to provide the functionality needed for certification. Like all example apps you can clone it from Gecko OS studio. It is found under "Test Examples" as shown below:
Note: the test app referred below is based on Gecko OS 4.1.11
Please see below for the different variables and settings:
Variable
Commands
Abbreviated
Default
Comments
Channel
get/set wifi_test.channel <1 .. 14>
get/set wt c
1
Wi-Fi 2.4GHz channel (1 -> 14)
Test Mode
get/set wifi_test.mode
get/set wt m
tx_cw
Selects the activated test mode:
rx: received frames and count number of good or bad packets
tx_packet: transmit the frames in the mode selected according to other wifi_test settings
tx_cw: transmit a sinus wave signal at the selected frequency
Tx Protocol
get/set wifi_test.tx.protocol
get set wt t p
b
Wi-Fi protocol version to use
Period
get/set wifi_test.period <150 .. 65535>
get/set wt d
1000
Period in ms for reporting test results
Rate
get/set wifi_test.tx.rate [<10/20/55/11> / <6/9/12/18/24/36/48/54> / <0/1/2/3/4/5/6/7>]
get/set wt t r
10
Tx Rate / MCS
tx.ht_format
get/set wifi_test.tx.ht_format
get/set wt t t h
mm
High-throughput format: Mixed Mode or Green Field
tx.ifs
get/set wifi_test.tx.ifs <0 .. 255>
get/set wt t i
0
Inter-frame spacing in microseconds
tx.length
get/set wifi_test.tx.length <25 .. 4091>
get/set wt t l
25
Tx frame length
tx.number
get/set wifi_test.tx.number <0 .. 65535>
get/set wt t n
100
Number of frames to transmit, 0 = continuous
tx.tx_power
get/set wifi_test.tx.tx_power <-10..+20> (with 1dBm step)
get/set wt t p o
20
Max TX packet mode output power (dBm)
cw.freq1
get/set wifi_test.cw.freq1 <-31 .. +31>
get/set wt w f
0
CW Mode Frequency 1 Offset (step of 312kHz)
cw.freq2
get/set wifi_test.cw.freq2 <-31 .. +31>
get/set wt w r
0
CW Mode Frequency 2 Offset (step of 312kHz)
cw.mode
get/set wifi_test.cw.mode
get/set wt w m
single
CW Mode single or dual
coex.mode
get/set wifi_test.coex.mode
get/set wt x m
wlan
Radio Coex Mode
There is also a custom command to start the transmission or reception of frames: wifi_test start
Examples:
Get TX_PACKET 11n MCS7 continuously to RF2 output (test in conducted):
TX_PACKET 11g 54Mbps:
DSSS 11b 11Mbps
Stop TX after 100 frames and update the TX for rate MCS4 (if already in 11n):
TX stopped. Set tx.rate in MCS4 and then TX frames continuously
set wifi_test.tx.rate 4 set wifi_test.tx.number 0 wifi_test start
Get CW signal to RF2 output:
WLAN backoff of 5dB on channel 6 for mod_group_5
RX_PACKET for 11bgn 20MHz signals on channel 7 on RF2
We get then every 5 seconds (wifi_test.period=5000µs) this Rx statistic report:
Frames received : 7764 Bad Frames : 451 Total PER : 0.0580 Throughput : 47870 Protocol Rate Frames PER SNR RSSI CFO 11B 1 0 0.0000 0.00 0 0 11B 2 0 0.0000 0.00 0 0 11B 5.5 0 0.0000 0.00 0 0 11B 11 0 0.0000 0.00 0 0 11G 6 0 0.0000 0.00 0 0 11G 9 0 0.0000 0.00 0 0 11G 12 0 0.0000 0.00 0 0 11G 18 0 0.0000 0.00 0 0 11G 24 0 0.0000 0.00 0 0 11G 36 0 0.0000 0.00 0 0 11G 48 0 0.0000 0.00 0 0 11G 54 0 0.0000 0.00 0 0 11N MCS0 0 0.0000 0.00 0 0 11N MCS1 0 0.0000 0.00 0 0 11N MCS2 0 0.0000 0.00 0 0 11N MCS3 0 0.0000 0.00 0 0 11N MCS4 0 0.0000 0.00 0 0 11N MCS5 0 0.0000 0.00 0 0 11N MCS6 0 0.0000 0.00 0 0 11N MCS7 7764 0.0580 22.61 -72 15
The statistics are done on 5 seconds. In this example, the Wi-Fi source transmits only 802.11n MCS7 frames in the channel 7.
Please note when some packets are completely erroneous and not detected like a Wi-Fi frame then they are not counted in “Frames received” or “Bad Frames”.
This PER accuracy issue, it happens more when we are close or below the sensitivity level.
So in order to get an accurate PER, you have to compute it based on number of transmitted frames by the Wi-Fi source.
To stop this Rx mode with statistic report:
set wifi_test.mode tx_packet set wifi_test.tx.number 100 wifi_test start
The wlan backoff (set wlan.backoff) is available with Gecko OS 4.1 and it is eventually used to reduce the TX power on RF1 and RF2 output according to channel and PHY rate group.
So this could help to meet the RF TX certification requirements with a customer product for example with an external antenna with an antenna gain higher than 2.14dBi (which is the maximum antenna gain allowed with the certified WGM160P).
More details on this variable could be found in :
https://docs.silabs.com/gecko-os/4/standard/latest/cmd/variables/wlan#wlan-backoff
wifi_test is designed for users to do RF tests and tweak WLAN TX parameters, but none of the settings persist through a reset or Gecko OS reboot.
Once the user has done the tweaking of the backoff values for RF certification using set wifi_test.backoff, he can then apply those backoff values into the wlan.backoff variable. This variable is designed to persist through factory_reset. At startup, the wlan.backoff values are applied to WF200.
Additionally, subsequent write to the variable takes effect immediately and is written into NVM without requiring 'save' command.
wlan.backoff and wifi_test.backoff are in dBm with a step of 0.25.
To check RF certification according to the region, another interesting wifi_test feature is : wifi_test.tx.region. By default, this is to the "unrestricted" region but you could use the following region:
So when you have selected for example "fcc" then the internally stored backoff required for the FCC RF certification are applied. Then you could check if your product (with eventually an external antenna) is compliant with FCC certification or need additional backoff (see wifi_test.backoffs and wlan.backoff).
There is also the enumerate "minimum" which it provides the minimum Tx power for "fcc" and "etsi" and "jp". This "minimum" on Tx power uses in fact the maximum Tx backoff stored between "fcc", "etsi" and "jp" for each channel and the modGroup.
Note that with Gecko OS 4.2.3, the certification test app can easily be loaded as followed: select Projects and Create New Project, fill Name, tick box "Clone an example..." and replace example "hello_world" by "certification", then Create, then Done.
Gecko OS 4.2.5 has been released on 6 Nov 2020, it updated wifi_test.cw.tx_power syntax usage, now it is dbm instead of a quarter of dbm
Variable
Commands
Abbreviated
Default
Comments