ci: cram: freedom: update cram test for latest pwhm getEhtOperation changes

Latest pwhm update changed the behavior of the getEhtOperation output.
Adapt the test accordingly.

Main updates:
- Dynamic length of EhtOperationIE
- DisabledSubChannels validation

Closes: PPM-3836
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
This commit is contained in:
Houssem Dafdouf 2026-03-15 21:47:42 +01:00 committed by Hela Saadani
parent 3b9f7d6aa7
commit 101bdbe083
3 changed files with 37 additions and 93 deletions

View File

@ -82,6 +82,12 @@ Test static puncturing on 5GHz band:
$ R "cat /tmp/wlan1_hapd.conf | grep punct"
punct_bitmap=4
Try to set invalid DisabledSubChannels:
On 5GHz with 80MHz bandwith only one channel can be punctured (IEEE Std 802.11be - Part 11 - Table 36-30)
$ R "ba-cli \"Device.WiFi.Radio.[OperatingFrequencyBand=='5GHz'].StaticPuncturing.DisabledSubChannels='40,44'\"" | sed '/^$/d' | grep ERROR
.*ERROR.* (re)
Test static puncturing on 6GHz band:
$ R logger -t cram "Test static puncturing on 6GHz band"
@ -111,6 +117,11 @@ Disable top 2 channels : 57,61; from python:
$ R "ba-cli -j -l \"Device.WiFi.Radio.3.Channel='37'\" | jsonfilter -e @[0]'[*].Channel'"
37
Try to set invalid DisabledSubChannels:
$ R "ba-cli \"Device.WiFi.Radio.[OperatingFrequencyBand=='6GHz'].StaticPuncturing.DisabledSubChannels='1,5,9,13,17,21,25,29,33,41,45,49,53,57,61'\"" | sed '/^$/d' | grep ERROR
.*ERROR.* (re)
Push 0b0000 0d00 - clear Radio.StaticPuncturing.DisabledSubChannels list:
$ R logger -t cram "clear all DisabledSubChannels"

View File

@ -93,14 +93,13 @@ Check EhtPhyCapabilities, EhtPhyCapabilitiesStr, CurrentEhtOperatingIE and getEH
Device.WiFi.Radio.1.EhtPhyCapabilitiesStr="SU_BEAMFORMER,SU_BEAMFORMEE,BEAMFORMEE_SS_80MHZ,NB_SOUNDING_80MHZ,TGD_SU_BEAMFORMING_FEEDBACK,TGD_MU_BEAMFORMING_PARTIAL_BW,TGD_CQI_FEEDBACK,MUPPDU_4XEHT_LTF,MAX_NC,NTGD_CQI_FEEDBACK,RX_1024_4096_QAM_242TONE_RU,COMMON_NOMINAL_PACKET_PADDING,MAX_SUPPORTED_EHT_LTFS,NON_OFDMA_ULMIMO_80MHZ,NON_OFDMA_ULMIMO_160MHZ,NON_OFDMA_ULMIMO_320MHZ,MU_BEAMFORMER_80MHZ,20MHZ_ONLY_LIMITED"
$ wifi_dm_radio_band 2 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AAFEREREAQMAAAA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="agFEREREAQMA" (re)
$ get_eht_ops 2.4
BasicEHT-MCSAndNssSet=1145324612
CCFS0=3
CCFS1=0
ControlChannelWidth=1
DisabledSubchannelBitmap=0
DisabledSubchannelBitmapPresent=0
EHTDefaultPEDuration=0
EHTOperationInformationPresent=1
@ -123,19 +122,11 @@ Downgrade to AX operating mode:
Device.WiFi.Radio.\d+.EhtPhyCapabilitiesStr="SU_BEAMFORMER,SU_BEAMFORMEE,BEAMFORMEE_SS_80MHZ,NB_SOUNDING_80MHZ,TGD_SU_BEAMFORMING_FEEDBACK,TGD_MU_BEAMFORMING_PARTIAL_BW,TGD_CQI_FEEDBACK,MUPPDU_4XEHT_LTF,MAX_NC,NTGD_CQI_FEEDBACK,RX_1024_4096_QAM_242TONE_RU,COMMON_NOMINAL_PACKET_PADDING,MAX_SUPPORTED_EHT_LTFS,NON_OFDMA_ULMIMO_80MHZ,NON_OFDMA_ULMIMO_160MHZ,NON_OFDMA_ULMIMO_320MHZ,MU_BEAMFORMER_80MHZ,20MHZ_ONLY_LIMITED" (re)
$ wifi_dm_radio_band 2 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AAAAAAAAAAAAAAA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="" (re)
Check that get_eht_ops output is empty:
$ get_eht_ops 2.4
BasicEHT-MCSAndNssSet=0
CCFS0=0
CCFS1=0
ControlChannelWidth=0
DisabledSubchannelBitmap=0
DisabledSubchannelBitmapPresent=0
EHTDefaultPEDuration=0
EHTOperationInformationPresent=0
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
#########################################
# test 5GHz getEHTOperations #
@ -159,26 +150,25 @@ Check EhtPhyCapabilities, EhtPhyCapabilitiesStr, CurrentEhtOperatingIE and getEH
Device.WiFi.Radio.\d+.EhtPhyCapabilitiesStr="320MHZ,SU_BEAMFORMER,SU_BEAMFORMEE,BEAMFORMEE_SS_80MHZ,BEAMFORMEE_SS_160MHZ,BEAMFORMEE_SS_320MHZ,NB_SOUNDING_80MHZ,NB_SOUNDING_160MHZ,NB_SOUNDING_320MHZ,TGD_SU_BEAMFORMING_FEEDBACK,TGD_MU_BEAMFORMING_PARTIAL_BW,TGD_CQI_FEEDBACK,MUPPDU_4XEHT_LTF,MAX_NC,NTGD_CQI_FEEDBACK,RX_1024_4096_QAM_242TONE_RU,COMMON_NOMINAL_PACKET_PADDING,MAX_SUPPORTED_EHT_LTFS,NON_OFDMA_ULMIMO_80MHZ,NON_OFDMA_ULMIMO_160MHZ,NON_OFDMA_ULMIMO_320MHZ,MU_BEAMFORMER_80MHZ,MU_BEAMFORMER_160MHZ,MU_BEAMFORMER_320MHZ,20MHZ_ONLY_LIMITED" (re)
$ wifi_dm_radio_band 5 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AAFEREREAioAAAA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="agFEREREAioA" (re)
$ get_eht_ops 5
BasicEHT-MCSAndNssSet=1145324612
CCFS0=42
CCFS1=0
ControlChannelWidth=2
DisabledSubchannelBitmap=0
DisabledSubchannelBitmapPresent=0
EHTDefaultPEDuration=0
EHTOperationInformationPresent=1
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
Disable channels 40,48:
Disable channels 40:
$ R logger -t cram "Disable channels 40,48"
$ R logger -t cram "Disable channels 40"
$ wifi_dm_radio_band 5 "StaticPuncturing.DisabledSubChannels=\"40,48\""
Device.WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="40,48" (re)
$ wifi_dm_radio_band 5 "StaticPuncturing.DisabledSubChannels=\"40\"" "WiFi." "ba-cli"
WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="40" (re)
$ sleep 5
@ -187,28 +177,7 @@ Disable channels 40,48:
CCFS0=42
CCFS1=0
ControlChannelWidth=2
DisabledSubchannelBitmap=10
DisabledSubchannelBitmapPresent=1
EHTDefaultPEDuration=0
EHTOperationInformationPresent=1
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
Disable channels 40,44,48:
$ R logger -t cram "Disable channels 40,44,48"
$ wifi_dm_radio_band 5 "StaticPuncturing.DisabledSubChannels=\"40,44,48\""
Device.WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="40,44,48" (re)
$ sleep 5
$ get_eht_ops 5
BasicEHT-MCSAndNssSet=1145324612
CCFS0=42
CCFS1=0
ControlChannelWidth=2
DisabledSubchannelBitmap=14
DisabledSubchannelBitmap=2
DisabledSubchannelBitmapPresent=1
EHTDefaultPEDuration=0
EHTOperationInformationPresent=1
@ -218,7 +187,7 @@ Disable channels 40,44,48:
Expecting the EHT Operations IE puncturing bitmap to be updated:
$ wifi_dm_radio_band 5 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AANEREREAioADgA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="agNEREREAioAAgA=" (re)
Downgrade to AX operating mode:
@ -236,24 +205,17 @@ Downgrade to AX operating mode:
Device.WiFi.Radio.\d+.EhtPhyCapabilitiesStr="320MHZ,SU_BEAMFORMER,SU_BEAMFORMEE,BEAMFORMEE_SS_80MHZ,BEAMFORMEE_SS_160MHZ,BEAMFORMEE_SS_320MHZ,NB_SOUNDING_80MHZ,NB_SOUNDING_160MHZ,NB_SOUNDING_320MHZ,TGD_SU_BEAMFORMING_FEEDBACK,TGD_MU_BEAMFORMING_PARTIAL_BW,TGD_CQI_FEEDBACK,MUPPDU_4XEHT_LTF,MAX_NC,NTGD_CQI_FEEDBACK,RX_1024_4096_QAM_242TONE_RU,COMMON_NOMINAL_PACKET_PADDING,MAX_SUPPORTED_EHT_LTFS,NON_OFDMA_ULMIMO_80MHZ,NON_OFDMA_ULMIMO_160MHZ,NON_OFDMA_ULMIMO_320MHZ,MU_BEAMFORMER_80MHZ,MU_BEAMFORMER_160MHZ,MU_BEAMFORMER_320MHZ,20MHZ_ONLY_LIMITED" (re)
$ wifi_dm_radio_band 5 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AAAAAAAAAAAAAAA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="" (re)
Check that get_eht_ops output is empty:
$ get_eht_ops 5
BasicEHT-MCSAndNssSet=0
CCFS0=0
CCFS1=0
ControlChannelWidth=0
DisabledSubchannelBitmap=0
DisabledSubchannelBitmapPresent=0
EHTDefaultPEDuration=0
EHTOperationInformationPresent=0
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
Check channels 40,44,48 are still configured in Radio.StaticPuncturing
$ wifi_dm_radio_band 5 "StaticPuncturing.DisabledSubChannels?"
Device.WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="40,44,48" (re)
Check if channels 40 is still configured in Radio.StaticPuncturing
$ wifi_dm_radio_band 5 "StaticPuncturing.DisabledSubChannels?" "WiFi." "ba-cli"
WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="40" (re)
#########################################
# test 6GHz getEHTOperations #

View File

@ -16,14 +16,13 @@ Check EhtPhyCapabilities, EhtPhyCapabilitiesStr, CurrentEhtOperatingIE and getEH
Device.WiFi.Radio.\d+.EhtPhyCapabilitiesStr="320MHZ,SU_BEAMFORMER,SU_BEAMFORMEE,BEAMFORMEE_SS_80MHZ,BEAMFORMEE_SS_160MHZ,BEAMFORMEE_SS_320MHZ,NB_SOUNDING_80MHZ,NB_SOUNDING_160MHZ,NB_SOUNDING_320MHZ,TGD_SU_BEAMFORMING_FEEDBACK,TGD_MU_BEAMFORMING_PARTIAL_BW,TGD_CQI_FEEDBACK,MUPPDU_4XEHT_LTF,MAX_NC,NTGD_CQI_FEEDBACK,RX_1024_4096_QAM_242TONE_RU,COMMON_NOMINAL_PACKET_PADDING,MAX_SUPPORTED_EHT_LTFS,NON_OFDMA_ULMIMO_80MHZ,NON_OFDMA_ULMIMO_160MHZ,NON_OFDMA_ULMIMO_320MHZ,MU_BEAMFORMER_80MHZ,MU_BEAMFORMER_160MHZ,MU_BEAMFORMER_320MHZ,20MHZ_ONLY_LIMITED" (re)
$ wifi_dm_radio_band 6 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AAFEREREAycvAAA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="agFEREREAycv" (re)
$ get_eht_ops 6
BasicEHT-MCSAndNssSet=1145324612
CCFS0=39
CCFS1=47
ControlChannelWidth=3
DisabledSubchannelBitmap=0
DisabledSubchannelBitmapPresent=0
EHTDefaultPEDuration=0
EHTOperationInformationPresent=1
@ -51,31 +50,10 @@ Disable channels 49,53:
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
Disable channels 53,57,61:
$ R logger -t cram "Disable channels 53,57,61"
$ wifi_dm_radio_band 6 "StaticPuncturing.DisabledSubChannels=\"53,57,61\""
Device.WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="53,57,61" (re)
$ sleep 5
$ get_eht_ops 6
BasicEHT-MCSAndNssSet=1145324612
CCFS0=39
CCFS1=47
ControlChannelWidth=3
DisabledSubchannelBitmap=224
DisabledSubchannelBitmapPresent=1
EHTDefaultPEDuration=0
EHTOperationInformationPresent=1
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
Expecting the EHT Operations IE:
$ wifi_dm_radio_band 6 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AANEREREAycv4AA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="agNEREREAycvMAA=" (re)
Downgrade to AX operating mode:
@ -93,24 +71,17 @@ Downgrade to AX operating mode:
Device.WiFi.Radio.\d+.EhtPhyCapabilitiesStr="320MHZ,SU_BEAMFORMER,SU_BEAMFORMEE,BEAMFORMEE_SS_80MHZ,BEAMFORMEE_SS_160MHZ,BEAMFORMEE_SS_320MHZ,NB_SOUNDING_80MHZ,NB_SOUNDING_160MHZ,NB_SOUNDING_320MHZ,TGD_SU_BEAMFORMING_FEEDBACK,TGD_MU_BEAMFORMING_PARTIAL_BW,TGD_CQI_FEEDBACK,MUPPDU_4XEHT_LTF,MAX_NC,NTGD_CQI_FEEDBACK,RX_1024_4096_QAM_242TONE_RU,COMMON_NOMINAL_PACKET_PADDING,MAX_SUPPORTED_EHT_LTFS,NON_OFDMA_ULMIMO_80MHZ,NON_OFDMA_ULMIMO_160MHZ,NON_OFDMA_ULMIMO_320MHZ,MU_BEAMFORMER_80MHZ,MU_BEAMFORMER_160MHZ,MU_BEAMFORMER_320MHZ,20MHZ_ONLY_LIMITED" (re)
$ wifi_dm_radio_band 6 "CurrentEhtOperatingIE?"
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="AAAAAAAAAAAAAAA=" (re)
Device.WiFi.Radio.\d+.CurrentEhtOperatingIE="" (re)
Check that get_eht_ops output is empty:
$ get_eht_ops 6
BasicEHT-MCSAndNssSet=0
CCFS0=0
CCFS1=0
ControlChannelWidth=0
DisabledSubchannelBitmap=0
DisabledSubchannelBitmapPresent=0
EHTDefaultPEDuration=0
EHTOperationInformationPresent=0
GroupAddressedBUIndicationExponent=0
GroupAddressedBUIndicationLimit=0
Check channels 40,44,48 are still configured in Radio.StaticPuncturing
Check channels 49,53 are still configured in Radio.StaticPuncturing
$ wifi_dm_radio_band 6 "StaticPuncturing.DisabledSubChannels?"
Device.WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="53,57,61" (re)
Device.WiFi.Radio.\d+.StaticPuncturing.DisabledSubChannels="49,53" (re)
#########################################
# Restore defaults #