To measure the Wi-Fi transmission power of your ConnectCore 6-based product, you need to load the Wi-Fi driver in a special test mode. The test mode is used by certification labs to test radio regulations compliance.

Load Wi-Fi driver in test mode

To put the AR6233 Wi-Fi chip in test mode:

  1. Unload the driver modules:

    ~# rmmod atk6kl_sdio
    ~# rmmod atk6kl_core
  2. Re-load the driver modules in test mode:

    ~# modprobe atk6kl_core testmode=5
    ~# modprobe atk6kl_sdio

Test the Wi-Fi chip

Digi Embedded Yocto provides Atheros' test application athtestcmd to test the Wi-Fi chip. The application is added by packagegroup dey-wireless, included by default in Digi Embedded Yocto images.

Run the application with no arguments to see the syntax:

~# athtestcmd
usage:
athtestcmd [-i device] commands
commands:
--tx <sine/frame/tx99/tx100/off>
--txfreq <Tx channel or freq(default 2412)>
--txrate <rate index>
--txpwr <frame/tx99/tx100: 0-30dBm,0.5dBm resolution; sine: 0-60, PCDAC vaule>
--txantenna <1/2/0 (auto)>
--txpktsz <pkt size, [32-1500](default 1500)>
--txpattern <tx data pattern, 0: all zeros; 1: all ones; 2: repeating 10; 3: PN7; 4: PN9; 5: PN15
--ani (Enable ANI. The ANI is disabled if this option is not specified)
--scrambleroff (Disable scrambler. The scrambler is enabled by default)
--aifsn <AIFS slots num,[0-252](Used only under '--tx frame' mode)>
--shortguard (use short guard)
--mode <ht40plus/ht40minus/ht20>
--setlongpreamble <1/0>
--numpackets <number of packets to send 0-65535>
--tx sine --txfreq <Tx channel or freq(default 2412)>
--rx <promis/filter/report>
--rxfreq <Rx channel or freq(default 2412)>
--rxantenna <1/2/0 (auto)>
--mode <ht40plus/ht40minus>
--pm <wakeup/sleep/deepsleep>
--setmac <mac addr like 00:03:7f:be:ef:11>
--getmac
--SetAntSwitchTable <table1 in decimal value> <table2 in decimal value>  (Set table1=0 and table2=0 will restore the default AntSwitchTabl)
--efusedump --start <start address> --end <end address>
--efusewrite --start <start address> --data <data> (could be one or multiple data in quotation marks)
--otpwrite --data (could be one or multiple data in quotation marks)
--otpdump

<rate> 0                 1   Mb
<rate> 1                 2   Mb
<rate> 2                 5.5 Mb
<rate> 3                 11  Mb
<rate> 4                 6   Mb
<rate> 5                 9   Mb
<rate> 6                 12  Mb
<rate> 7                 18  Mb
<rate> 8                 24  Mb
<rate> 9                 36  Mb
<rate> 10                48  Mb
<rate> 11                54  Mb
<rate> 12                HT20 MCS0 6.5  Mb
<rate> 13                HT20 MCS1 13  Mb
<rate> 14                HT20 MCS2 19.5  Mb
<rate> 15                HT20 MCS3 26  Mb
<rate> 16                HT20 MCS4 39  Mb
<rate> 17                HT20 MCS5 52  Mb
<rate> 18                HT20 MCS6 58.5  Mb
<rate> 19                HT20 MCS7 65  Mb
<rate> 20                HT40 MCS0 13.5  Mb
<rate> 21                HT40 MCS1 27.0  Mb
<rate> 22                HT40 MCS2 40.5  Mb
<rate> 23                HT40 MCS3 54  Mb
<rate> 24                HT40 MCS4 81  Mb
<rate> 25                HT40 MCS5 108  Mb
<rate> 26                HT40 MCS6 121.5  Mb
<rate> 27                HT40 MCS7 135  Mb
For certification, use the tx99 transmission mode. In this mode, the transmission power is given in dB from 0 to 30 with 0.5 dB resolution.

Examples

The following command tests transmission with the following parameters:

  • 2.4 GHz band, channel 6 (frequency 2437 MHz)

  • transmission rate of 54 Mb (rate 11 as per the list shown on athtestcmd syntax)

  • transmission power of 12.5 dB

  • one antenna

~# athtestcmd -i wlan0 --tx tx99 --txfreq 2437 --txrate 11 --txpwr 12.5 --txantenna 1

To stop transmission:

~# athtestcmd -i wlan0 --tx off