Skip to content

RDKB-64957 : Observed WPA2_Personal security mode configuration is fa…#1251

Merged
gsathish86 merged 3 commits into
rdkcentral:developfrom
SakeVictorDaniel:RDKB-64957_dev
Jul 15, 2026
Merged

RDKB-64957 : Observed WPA2_Personal security mode configuration is fa…#1251
gsathish86 merged 3 commits into
rdkcentral:developfrom
SakeVictorDaniel:RDKB-64957_dev

Conversation

@SakeVictorDaniel

Copy link
Copy Markdown
Contributor

RDKB-64957 : Observed WPA2_Personal security mode configuration is failing

Reason for Change:

On platforms with CONFIG_IEEE80211BE enabled, default security mode is WPA3-Personal-Transition with AES+GCMP as its default encryption method. When the security mode is changed to WPA2-Personal, the default AES+GCMP (GCMP is WPA3-era cipher) encryption mode is not valid for WPA2-Personal as it only supports AES and AES+TKIP. This causes WPA2_Personal security mode configuration to fail with "invalid encryption for mode" error.

Added wpa2_personal_gcmp_fallback_to_aes helper to detect and downgrade AES+GCMP to AES when mode is WPA2-Personal. wpa2_personal_gcmp_fallback_to_aes is called at both TR-181 & Webconfig path as the configuration can come from either TR-181 or Webconfig.

AES+TKIP is left as-is since it works fine with WPA2-Personal.

Risks: Low
Priority: P1

…iling

Reason for Change:

On platforms with CONFIG_IEEE80211BE enabled, default security mode is
WPA3-Personal-Transition with AES+GCMP as its default encryption method.
When the security mode is changed to WPA2-Personal, the default AES+GCMP
(GCMP is WPA3-era cipher) encryption mode is not valid for WPA2-Personal
as it only supports AES and AES+TKIP. This causes WPA2_Personal security
mode configuration to fail with "invalid encryption for mode" error.

Added wpa2_personal_gcmp_fallback_to_aes helper to detect and downgrade
AES+GCMP to AES when mode is WPA2-Personal. wpa2_personal_gcmp_fallback_to_aes
is called at both TR-181 & WebConfig path as the configuration can come from
either TR-181 or WebConfig.

AES+TKIP is left as-is since it works fine with WPA2-Personal.

Risks: Low
Priority: P1

Signed-off-by: Sake Victor Daniel <VictorDaniel_Sake@comcast.com>
Copilot AI review requested due to automatic review settings July 8, 2026 05:00
@SakeVictorDaniel
SakeVictorDaniel requested a review from a team as a code owner July 8, 2026 05:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses WPA2-Personal configuration failures on CONFIG_IEEE80211BE platforms by downgrading an invalid WPA3-era cipher (AES+GCMP) to AES when a WPA2-Personal mode is selected, preventing “invalid encryption for mode” validation failures.

Changes:

  • Added wpa2_personal_gcmp_fallback_to_aes() helper to force AES when mode is WPA2-Personal and encryption is AES+GCMP.
  • Invoked the helper in the Webconfig decode path before encryption/mode validation.
  • Invoked the helper in the TR-181 security-mode set path for WPA2-Personal.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
source/webconfig/wifi_decoder.c Applies WPA2-Personal AES+GCMP→AES fallback before validating encryption/mode.
source/utils/wifi_util.h Exposes the new fallback helper via the utils header.
source/utils/wifi_util.c Implements the fallback helper to rewrite invalid AES+GCMP for WPA2-Personal.
source/dml/tr_181/ml/cosa_wifi_dml.c Applies fallback when switching security mode via TR-181 setter.
Comments suppressed due to low confidence (1)

source/dml/tr_181/ml/cosa_wifi_dml.c:9326

  • The GCMP->AES fallback is applied for wifi_security_mode_wpa2_personal, but wifi_security_mode_wpa_wpa2_personal has the same cipher restrictions in is_valid_encr_for_mode(). Adding the fallback here prevents failures when only the mode is changed (encryption left at the previous AES+GCMP default).
            case wifi_security_mode_wpa_wpa2_personal:
				l_security_cfg->u.key.type = wifi_security_key_type_psk;
                l_security_cfg->mfp = wifi_mfp_cfg_disabled;
                break;

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/utils/wifi_util.c
Copilot AI review requested due to automatic review settings July 15, 2026 06:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment thread source/utils/wifi_util.c
@gsathish86
gsathish86 merged commit d187c3b into rdkcentral:develop Jul 15, 2026
8 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants