From 101bdbe0838a20ebedfecb90f0f9fa14798ffd5f Mon Sep 17 00:00:00 2001 From: Houssem Dafdouf Date: Sun, 15 Mar 2026 21:47:42 +0100 Subject: [PATCH] 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 --- .../wnc-freedom/102-pwhm-static-puncturing.t | 11 +++ .../106-pwhm-get-eht-caps_step_1.t | 74 +++++-------------- .../106-pwhm-get-eht-caps_step_2.t | 45 ++--------- 3 files changed, 37 insertions(+), 93 deletions(-) diff --git a/.gitlab/tests/cram/wnc-freedom/102-pwhm-static-puncturing.t b/.gitlab/tests/cram/wnc-freedom/102-pwhm-static-puncturing.t index b34d97b6b7..4c54edf6cd 100644 --- a/.gitlab/tests/cram/wnc-freedom/102-pwhm-static-puncturing.t +++ b/.gitlab/tests/cram/wnc-freedom/102-pwhm-static-puncturing.t @@ -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" diff --git a/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_1.t b/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_1.t index 76b3002c22..ed255a6e1f 100644 --- a/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_1.t +++ b/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_1.t @@ -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 # diff --git a/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_2.t b/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_2.t index a8a59188ac..156307fe25 100644 --- a/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_2.t +++ b/.gitlab/tests/cram/wnc-freedom/106-pwhm-get-eht-caps_step_2.t @@ -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 #