From 4308f5179f268cd60e37202d07200d7444873d89 Mon Sep 17 00:00:00 2001 From: Michael Amal Anand <73233797+michaelamal@users.noreply.github.com> Date: Wed, 6 May 2026 14:29:59 -0400 Subject: [PATCH 1/3] DELIA-53956 Dummy ticket - to post changes Reason for change: test Test Procedure: Build and verify Risks: Low Priorty: P1 --- source/LedManager/led_manager_utils.c | 41 ++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/source/LedManager/led_manager_utils.c b/source/LedManager/led_manager_utils.c index 2921056..e17be69 100644 --- a/source/LedManager/led_manager_utils.c +++ b/source/LedManager/led_manager_utils.c @@ -89,6 +89,27 @@ cpe_event_t ledmgr_get_event_from_str (char * event_str) } return i; } + +bool is_remote_lte_up() { + FILE *fp; + char buffer[512]; + CcspTraceError(("################################ is_remote_lte_up called ############################\n")); + fp = popen("dmcli eRT getv Device.X_RDK_WanManager.InterfaceAvailableStatus", "r"); + if (!fp) return 0; + + while (fgets(buffer, sizeof(buffer), fp)) { + if (strstr(buffer, "REMOTE_LTE,1")) { + pclose(fp); + CcspTraceError(("################################ is_remote_lte_up returned true ############################\n")); + return true; + } + } + + pclose(fp); + CcspTraceError(("################################ is_remote_lte_up returned false ############################\n")); + return false; +} + #ifdef WAN_STATUS_LED_EVENT static int parse_wan_event(char * event_str, char * wan_event) { @@ -153,9 +174,27 @@ static int parse_wan_event(char * event_str, char * wan_event) (strcmp(led_wan_events[i].ipv6_event_value, led_wan_data->ipv6_event_value) == 0) && (strcmp(led_wan_events[i].mapt_event_value, led_wan_data->mapt_event_value) == 0)) { + if(strcmp(led_wan_events[i].wan_event,"rdkb_ipv4_only") == 0) + { + CcspTraceError((" ############### wan_event is rdkb_ipv4_only ####################### \n")); + /*rdkb_ipv4_only - then it could be because of remote LTE completes WAN path*/ + if(is_remote_lte_up()){ + CcspTraceError(("Setting rdkb_wan_link_down as wan_event as is_remote_lte_up is true\n")); + /*if REMOTE_LTE_CHECK is true then local device is in WAN FAIL OVER MODE*/ + strncpy(wan_event,"rdkb_wan_link_down", BUFLEN_64-1); + CcspTraceError((" 1) ########################## Final Wan Status Event: %s #########################\n", wan_event)); + free(led_wan_data); + return SUCCESS; + } + } + else + { + CcspTraceError((" ############### wan_event is %s ####################### \n",led_wan_events[i].wan_event)); + } strncpy(wan_event, led_wan_events[i].wan_event, BUFLEN_64-1); + CcspTraceError((" 2) ########################## Final Wan Status Event: %s #########################\n", wan_event)); CcspTraceError(("Final Wan Status Event: %s\n", led_wan_events[i].wan_event)); - free(led_wan_data); + free(led_wan_data); return SUCCESS; } } From 408e469d807535186d6f1e9c03897cd661d69841 Mon Sep 17 00:00:00 2001 From: Michael Amal Anand <73233797+michaelamal@users.noreply.github.com> Date: Wed, 6 May 2026 14:31:11 -0400 Subject: [PATCH 2/3] DELIA-53956 Dummy ticket - to post changes Reason for change: test Test Procedure: Build and verify Risks: Low Priorty: P1 --- source/LedManager/led_manager_utils.h | 1 + 1 file changed, 1 insertion(+) diff --git a/source/LedManager/led_manager_utils.h b/source/LedManager/led_manager_utils.h index 24e2d35..6f68806 100644 --- a/source/LedManager/led_manager_utils.h +++ b/source/LedManager/led_manager_utils.h @@ -39,6 +39,7 @@ char * ledmgr_read_config_file (FILE * fp); int ledmgr_parse_config_file (char * buffer); int ledmgr_print_data_to_logfile(); void ledmgr_free_data(); +bool is_remote_lte_up(); #ifdef WAN_STATUS_LED_EVENT BOOL check_captive_portal_mode(); #endif From 90c1049f4d784afddc939b84365b57a29f840488 Mon Sep 17 00:00:00 2001 From: Michael Amal Anand <73233797+michaelamal@users.noreply.github.com> Date: Thu, 4 Jun 2026 12:44:24 -0400 Subject: [PATCH 3/3] XER10-2389 : Gateway LED lite solid white in WFO mode while using XLE as backup mode Reason for change: LEDmanager WFO Test Procedure: build procedure any password. Risks:NA Priority:P1 Signed-off-by: Michael_AmalAnand@comcast.com --- source/LedManager/led_manager_utils.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/source/LedManager/led_manager_utils.c b/source/LedManager/led_manager_utils.c index e17be69..f633671 100644 --- a/source/LedManager/led_manager_utils.c +++ b/source/LedManager/led_manager_utils.c @@ -93,20 +93,20 @@ cpe_event_t ledmgr_get_event_from_str (char * event_str) bool is_remote_lte_up() { FILE *fp; char buffer[512]; - CcspTraceError(("################################ is_remote_lte_up called ############################\n")); - fp = popen("dmcli eRT getv Device.X_RDK_WanManager.InterfaceAvailableStatus", "r"); + CcspTraceError((" is_remote_lte_up called \n")); + fp = popen("dmcli eRT getv Device.X_RDK_WanManager.InterfaceActiveStatus", "r"); if (!fp) return 0; while (fgets(buffer, sizeof(buffer), fp)) { if (strstr(buffer, "REMOTE_LTE,1")) { pclose(fp); - CcspTraceError(("################################ is_remote_lte_up returned true ############################\n")); + CcspTraceError((" is_remote_lte_up returned true \n")); return true; } } pclose(fp); - CcspTraceError(("################################ is_remote_lte_up returned false ############################\n")); + CcspTraceError((" is_remote_lte_up returned false \n")); return false; } @@ -176,23 +176,22 @@ static int parse_wan_event(char * event_str, char * wan_event) { if(strcmp(led_wan_events[i].wan_event,"rdkb_ipv4_only") == 0) { - CcspTraceError((" ############### wan_event is rdkb_ipv4_only ####################### \n")); + CcspTraceError((" wan_event is rdkb_ipv4_only \n")); /*rdkb_ipv4_only - then it could be because of remote LTE completes WAN path*/ if(is_remote_lte_up()){ CcspTraceError(("Setting rdkb_wan_link_down as wan_event as is_remote_lte_up is true\n")); /*if REMOTE_LTE_CHECK is true then local device is in WAN FAIL OVER MODE*/ strncpy(wan_event,"rdkb_wan_link_down", BUFLEN_64-1); - CcspTraceError((" 1) ########################## Final Wan Status Event: %s #########################\n", wan_event)); - free(led_wan_data); - return SUCCESS; } + else{ + strncpy(wan_event, led_wan_events[i].wan_event, BUFLEN_64-1); + } } else { - CcspTraceError((" ############### wan_event is %s ####################### \n",led_wan_events[i].wan_event)); + strncpy(wan_event, led_wan_events[i].wan_event, BUFLEN_64-1); } - strncpy(wan_event, led_wan_events[i].wan_event, BUFLEN_64-1); - CcspTraceError((" 2) ########################## Final Wan Status Event: %s #########################\n", wan_event)); + CcspTraceError(("Final Wan Status Event: %s\n", led_wan_events[i].wan_event)); free(led_wan_data); return SUCCESS;