Wi-Fi Radio AT Commands#

Overview#

This section describes AT commands for radio parameters and listen interval configuration on SiWx91x devices.

Commands#

wifi-listen-interval#

Set the Wi-Fi listen interval for the Si91x device.

Command Format#

at+wifi-listen-interval=<wifi-interface>,<listen-interval>[,<listen-interval-multiplier>]

Related SDK API#

sl_wifi_set_listen_interval_v2

Pre-conditions#

Parameters#

wifi-interface#

The Wi-Fi interface type for which the listen interval needs to be set. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t. Note some values are not currently supported, as indicated in the linked documentation.

Note: The enum values of sl_wifi_interface_t are not in the default numerical order of an enum. See sl_wifi_constants.h for the actual numeric values in this enum.

listen-interval#

The Listen Interval in milliseconds that is to be configured after multiplying it by the listen-interval-multiplier (see below) with the Access Point (AP) while joining the AP (when the net-up command is sent).

listen-interval-multiplier#

Optional. Multiplier for the listen-interval, sent by the device in the association request to the Access Point while joining (when the net-up command is sent). Multiplier will be set to 1 if this argument is omitted. Maximum value recommended is 10. Higher values may lead to interoperability issues.

Response#

Examples#

at+wifi-listen-interval=1,1000,2      # Set the Listen Interval to 1 second and Listen Interval Multiplier to 2 for the Wi-Fi client interface (Listen Interval of 2 seconds sent to AP while joining)

wifi-get-listen-interval#

Queries the listen interval currently configured for the SiWx91x Wi-Fi client (station) by its connected Access Point.

Command Format#

at+wifi-get-listen-interval=<wifi-interface>

Related SDK API#

sl_wifi_get_listen_interval_v2

Pre-conditions#

Parameters#

wifi-interface#

The Wi-Fi client interface for which the listen interval is to be queried. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t. Note some values are not currently supported, as indicated in the linked documentation.

Note: The enum values of sl_wifi_interface_t are not in the default numerical order of an enum. See sl_wifi_constants.h for the actual numeric values in this enum.

Response#

  • OK <listen-interval> <listen-interval-multiplier> in case of success, where:

    • <listen-interval> is the listen interval in milliseconds that is currently configured for the SiWx91x Wi-Fi client (station) by its connected Access Point.

    • <listen-interval-multiplier> is the number by which the <listen-interval> sent in the wifi-listen-interval value was multiplied and the resulting value sent to the Access Point.

  • ERROR <error code> in case of error. The error codes returned are the same as those returned by the sl_wifi_get_listen_interval_v2` API.

Examples#

at+wifi-get-listen-interval=1
OK 1000 1

wifi-per-cnf-gen#

Update the general configuration settings for the Wi-Fi transmit test on the SiWx91x device.

Command Format#

at+wifi-per-cnf-gen=<wifi-interface>,<power>,<rate>,<packet-length>,<mode>,<channel>,<rate-flags>,<channel-bw>,<aggr-enable>,<reserved>,<pkt-count>,<delay>

Related SDK API#

sl_wifi_transmitter_test_info_t

Pre-conditions#

net-init

Parameters#

wifi-interface#

The Wi-Fi interface for which to update the transmit test configuration. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t.

Note: The enum values of sl_wifi_interface_t are not in strict numerical order. Refer to sl_wifi_constants.h for the actual numeric values in this enum.

power#

Transmit power level in dBm. Contains a numeric value that corresponds to one of the values documented for the power parameter.

rate#

The transmit data rate for the test. Contains a numeric value that corresponds to one of the values documented for the rate parameter.

packet-length#

Length of the packet to transmit. Contains a numeric value that corresponds to one of the values documented for the length parameter.

mode#

The transmit test mode for the test. Contains a numeric value that corresponds to one of the values documented for the mode parameter.

channel#

Wi-Fi channel number. Contains a numeric value that corresponds to one of the values documented for the channel parameter.

rate-flags#

Options for the transmit test. Contains a bitmap whose bits are set according to the options described for the rate_flags parameter.

channel-bw#

Channel bandwidth.

aggr-enable#

Set to 0 to disable or 1 to enable packet aggregation.

reserved#

Reserved parameter (set to 0).

pkt-count#

Number of packets to transmit.

delay#

Delay between packets.

Response#

  • OK on success

  • ERROR 1 in case of failure

Notes#

Examples#

at+wifi-per-cnf-gen=1,20,6,100,1,6,0,0,0,0,1000,10        # Generate transmit test configuration for Wi-Fi client interface with 20dBm power, rate 6, 100-byte packets
OK

wifi-per-cnf-axppdu#

Update the basic Wi-Fi 6 (802.11ax) Physical Layer Protocol Data Unit (PPDU) configuration settings for the Wi-Fi transmit test on the SiWx91x device.

Command Format#

at+wifi-per-cnf-axppdu=<wifi-interface>,<enable-11ax>,<he-ppdu-type>,<ul-dl>,<bw>,<coding-type>,<spatial-reuse>,<nominal-pe>,<bss-color>

Related SDK API#

sl_wifi_transmitter_test_info_t

Pre-conditions#

net-init

Parameters#

wifi-interface#

The Wi-Fi interface for updating the Wi-Fi 6 transmit test configuration. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t.

Note: The enum values of sl_wifi_interface_t are not in strict numerical order. Refer to sl_wifi_constants.h for the actual numeric values in this enum.

enable-11ax#

Set to 0 to disable or 1 to enable Wi-Fi 6 (802.11ax) as part of the transmit test.

he-ppdu-type#

High Efficiency (HE) PPDU type. Set to 0 for HE Single User (SU) PPDU, 1 for HE Extended Range (ER) SU PPDU, 2 for HE Trigger-Based (TB) PPDU, or 3 for HE Multi-User (MU) PPDU.

ul-dl#

Indicates whether the PPDU is Uplink (UL) or Downlink (DL). Set to 1 (uplink) if PPDU is to be sent by station to AP, or 0 (downlink) if PPDU is to be sent by AP to station.

bw#

Indicates the bandwidth for the PPDU. Set to 0 for 242-tone Resource Unit (RU) or 1 for upper 106-tone RU.

coding-type#

Coding type for the transmission. Set to 0 for Binary Convolutional Code (BCC) or 1 for Low-Density Parity-Check (LDPC).

spatial-reuse#

Spatial reuse value. Must be in the range 0-15. A value of 4 indicates that spatial reuse is allowed during the transmission of PPDU.

nominal-pe#

Indicates Nominal Transmission Power Envelope (T-PE) value. Set to 0 for 0 microseconds, 1 for 8 microseconds, or 2 for 16 microseconds.

bss-color#

Color value of Basic Service Set (BSS). Must be in the range 0 to 63.

Response#

  • OK on success

  • ERROR 1 in case of failure

Notes#

Examples#

at+wifi-per-cnf-axppdu=1,1,0,0,0,0,4,0,0        # Update basic Wi-Fi 6 PPDU configuration for Wi-Fi client interface
OK

wifi-per-cnf-axsiga#

Update the HE SIG-A PPDU field configuration settings for the Wi-Fi 6 (802.11ax) transmit test on the SiWx91x device.

Command Format#

at+wifi-per-cnf-axsiga=<wifi-interface>,<gi-ltf>,<num-he-ltf>,<beam-change>,<dcm>,<he-siga2-reserved>,<nsts-midamble>,<ru-allocation>,<stbc>,<tx-bf>

Related SDK API#

sl_wifi_transmitter_test_info_t

Pre-conditions#

net-init

Parameters#

wifi-interface#

The Wi-Fi interface for updating the Wi-Fi 6 transmit test configuration. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t.

Note: The enum values of sl_wifi_interface_t are not in strict numerical order. Refer to sl_wifi_constants.h for the actual numeric values in this enum.

gi-ltf#

Indicates the Guard Interval (GI) and Long Training Field (LTF) size. Must be in the range 0-3.

num-he-ltf#

Indicates the number of High Efficiency Long Training Fields (HE-LTF) to be transmitted. Must be in the range 0-7.

beam-change#

Indicates the spatial mapping of pre-HE and HE fields. Set to 0 if pre-HE and HE fields are spatially mapped in the same way, or 1 if pre-HE and HE fields are spatially mapped differently.

dcm#

Indicates whether Dual Carrier Modulation (DCM) is applied to data symbols. Set to 0 for no DCM or 1 for DCM.

he-siga2-reserved#

HE SIG-A2 reserved field. Must be in the range 0-511.

nsts-midamble#

Indicates the number of Space-Time Streams (NSTS) and Midamble Periodicity. Must be in the range 0-7.

ru-allocation#

Indicates the Resource Unit (RU) Allocation Subfield for 20 MHz bandwidth. Must be in the range 0-255.

stbc#

Indicates whether Space-Time Block Coding (STBC) is used for PPDU transmission. Set to 0 for no STBC or 1 for STBC (only if DCM field is set to 0).

tx-bf#

Indicates whether beamforming matrix is applied to the transmission. Set to 0 for no beamforming matrix or 1 for beamforming matrix.

Response#

  • OK on success

  • ERROR 1 in case of failure

Notes#

  • Sending this command before sending the wifi-per-start command is optional. If omitted, the parameters default to zero or empty values.

  • You must send the wifi-per-cnf-axppdu command before sending this command. Otherwise, enable-11ax defaults to 0 for the specified wifi-interface value and the parameters in this command will not take effect.

  • When you send any configuration command beginning with at+wifi-per-cnf- for the first time or immediately after the wifi-per-start command, the SiWx91x device:

  • When you send any subsequent configuration commands beginning with at+wifi-per-cnf-, the SiWx91x device overwrites only the specified structure members.

  • The following are the Wi-Fi transmit test configuration commands:

  • The sl_wifi_transmitter_test_info_t structure is used by the wifi-per-start command that is sent for the same wifi-interface value as the one used in this command.

  • This command is only supported in Transmit Test mode.

Examples#

at+wifi-per-cnf-axsiga=1,0,0,0,0,0,0,0,0,0        # Update HE SIG-A configuration for Wi-Fi client interface
OK

wifi-per-cnf-axsigb#

Update the HE SIG-B PPDU field configuration settings for the Wi-Fi 6 (802.11ax) transmit test on the SiWx91x device.

Command Format#

at+wifi-per-cnf-axsigb=<wifi-interface>,<sigb-compression-field>,<sigb-dcm>,<sigb-mcs>,<user-idx>,<user-sta-id>

Related SDK API#

sl_wifi_transmitter_test_info_t

Pre-conditions#

net-init

Parameters#

wifi-interface#

The Wi-Fi interface for which to update the Wi-Fi 6 transmit test configuration. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t.

Note: The enum values of sl_wifi_interface_t are not in strict numerical order. Refer to sl_wifi_constants.h for the actual numeric values in this enum.

sigb-compression-field#

SIG-B compression field. Must be 0 or 1.

sigb-dcm#

Indicates whether Dual Carrier Modulation (DCM) is applied to SIG-B Symbols. Set to 0 to disable or 1 to enable.

sigb-mcs#

Indicates the Modulation and Coding Scheme (MCS) for SIG-B Symbols. Allowed range is 0-5.

user-idx#

User index. Must be in the range 0-8.

user-sta-id#

Indicates the station ID of the intended user. Allowed range is 0-2047.

Response#

  • OK on success

  • ERROR 1 in case of failure

Notes#

  • Sending this command before sending the wifi-per-start command is optional. If omitted, the parameters default to zero or empty values.

  • You must send the wifi-per-cnf-axppdu command before sending this command. Otherwise, enable-11ax defaults to 0 for the specified wifi-interface value and the parameters in this command will not take effect.

  • When you send any configuration command beginning with at+wifi-per-cnf- for the first time or immediately after the wifi-per-start command, the SiWx91x device:

  • When you send any subsequent configuration command beginning with at+wifi-per-cnf-, the SiWx91x device device overwrites only the specified structure members.

  • The following are the Wi-Fi transmit test configuration commands:

  • The sl_wifi_transmitter_test_info_t structure is used by the wifi-per-start when it is sent with the same wifi-interface value as this command.

  • This command is only supported in Transmit Test mode.

  • HE SIG-B fields are only present in HE MU PPDU (when he-ppdu-type is set to 3 in the wifi-per-cnf-axppdu command).

Examples#

at+wifi-per-cnf-axsigb=1,0,0,0,0,0        # Update HE SIG-B configuration for Wi-Fi client interface
OK

wifi-per-start#

Start the Wi-Fi transmit test on the SiWx91x device.

Command Format#

at+wifi-per-start=<wifi-interface>,<enable>

Related SDK API#

sl_wifi_transmit_test_start

Pre-conditions#

wifi-per-cnf-gen for the same wifi-interface value

Parameters#

wifi-interface#

The Wi-Fi interface over which to conduct the transmit test. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t.

Note: The enum values of sl_wifi_interface_t are not in strict numerical order. Refer to sl_wifi_constants.h for the actual numeric values in this enum.

enable#

Set to 0 to disable or 1 to enable the transmit test.

Response#

  • OK on success

  • ERROR <error-code> in case of failure. Possible error codes are the same as those returned by the sl_wifi_transmit_test_start API.

Notes#

This command is only supported in Transmit Test mode.

Examples#

at+wifi-per-start=1,1        # Start transmit test on Wi-Fi client interface
OK

wifi-per-stop#

Stop the Wi-Fi transmit test on the SiWx91x device.

Command Format#

at+wifi-per-stop=<wifi-interface>

Related SDK API#

sl_wifi_transmit_test_stop

Pre-conditions#

wifi-per-start

Parameters#

wifi-interface#

The Wi-Fi interface over which to stop the transmit test. Contains a numeric value that corresponds to one of the values of the enum sl_wifi_interface_t.

Note: The enum values of sl_wifi_interface_t are not in strict numerical order. Refer to sl_wifi_constants.h for the actual numeric values in this enum.

Response#

  • OK on success

  • ERROR <error-code> in case of failure. Possible error codes are the same as those returned by the sl_wifi_transmit_test_stop API.

Notes#

This command is only supported in Transmit Test mode.

Examples#

at+wifi-per-stop=1        # Stop transmit test on Wi-Fi client interface
OK