Configuring 802.11ax GI and LTF#

When driver is inserted, you can configure guard_interval (i.e., GI and LTF) value by using module param and through debugfs after driver insertion.

The below table shows the value of guard_interval when the he_ppdu type is HE_SU. Dynamic configuration of GI_LTF after connection will happen only when the user fixes the 11ax rate.

guard_interval Value

LTF and GI Values

0

1x(3.2) HE_LTF and 0.8 GI

1

2x(6.4) HE_LTF and 0.8 GI

2

2x(6.4) HE_LTF and 1.6 GI

3

4x(12.8) HE_LTF and 3.2 GI

Configuring GI and LTF through debugfs#

  • Dynamic configuration of GI and LTF after connection will happen only when the user fixes the 11ax rate.

  • Run the following command to configure the guard_interval value:

     # echo <value> >  /sys/kernel/debug/phyX/GI_LTF

    Example:

     # echo 1 >  /sys/kernel/debug/phyX/GI_LTF
     # echo 2 >  /sys/kernel/debug/phyX/GI_LTF
  • Run the following command to fix the 11ax rate:

     # echo <rate_index> >/sys/kernel/debug/phyX/ax_rate

    In the command above, replace phyX with a physical device number that you can obtain by iw dev command and < rate_index > with the guard_interval value mentioned in the table.

    Example:

     # echo 0 >/sys/kernel/debug/phyX/ax_rate
     # echo 1 >/sys/kernel/debug/phyX/ax_rate

    Note: For kernel versions above 5.10, use the iw command below instead of the debugsfs command above to set the 11ax rate:

  • Set HE MCS rate with iw dev(11ax rate).

      #iw dev <interface name > set bitrates he-mcs-<2.4 | 5 | 6> <NSS:MCS index>

    In this case, NSS is the number of spatial streams.

    Example:

     iw dev wlan0 set bitrates he-mcs-2.4 1:0

    This command is supported on kernel versions greater than 5.10 and iw version 5.9

  • Command to read guard_interval value.

     # cat  /sys/kernel/debug/phyX/GI_LTF 

Configuring Guard Interval through Module Parameter#

  1. Insert the driver with guard_interval module param.

    # insmod rsi_91x.ko dev_oper_mode=1 rsi_zone_enabled=0x601 guard_interval=<value>
    # insmod rsi_sdio.ko

    Example:

    # insmod rsi_91x.ko dev_oper_mode=1 rsi_zone_enabled=0x601 guard_interval=1
    # insmod rsi_91x.ko dev_oper_mode=1 rsi_zone_enabled=0x601 guard_interval=2

    In this case, <value> is the guard_interval value mentioned in the table at the beginning of this section.