From 45a0cd15da57ea83e6fbae001803ea25af043647 Mon Sep 17 00:00:00 2001 From: bunnam988 <107185904+bunnam988@users.noreply.github.com> Date: Wed, 11 Feb 2026 11:32:32 +0530 Subject: [PATCH 1/3] RDKB-60656 : Available memory check for firmware downloads (#23) RDKB-60656 : Available memory check for firmware downloads Reason for change: Before firmware download, we need to check if the device have enough memory Test Procedure: 1. while firmware download, available memory check logs should be seen. 2. If available memory < required memory, firmware download should not start. Risks: medium Priority: P1 **Gerrit meta-layer changes:** https://gerrit.teamccp.com/#/q/topic:RDKB-60656+(status:open+OR+status:merged) **List all dependent GitHub PRs:** https://github.com/rdkcentral/xconf-client/pull/13 https://github.com/rdkcentral/provisioning-and-management/pull/178 https://github.com/rdkcentral/utopia/pull/182 https://github.com/rdkcentral/miscellaneous-broadband/pull/37 https://github.com/rdk-gdcs/apparmor-profiles/pull/49 --- source/CMAgentSsp/ssp_main.c | 2 ++ source/TR-181/integration_src.shared/Makefile.am | 2 +- .../TR-181/integration_src.shared/cosa_device_info_apis.c | 8 +++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/source/CMAgentSsp/ssp_main.c b/source/CMAgentSsp/ssp_main.c index d9c9ed6..118e583 100644 --- a/source/CMAgentSsp/ssp_main.c +++ b/source/CMAgentSsp/ssp_main.c @@ -51,6 +51,7 @@ //#include #include "safec_lib_common.h" #include "syscfg/syscfg.h" +#include "telemetry_busmessage_sender.h" #include #define DEBUG_INI_NAME "/etc/debug.ini" @@ -960,6 +961,7 @@ int main(int argc, char *argv[]) CcspTraceInfo(("pthread create docsis registration\n")); pthread_create(&docsisclbk_tid, NULL, GWP_docsisregistration_threadfunc, NULL); #endif + t2_init("CcspCMAgent"); cmd_dispatch('e'); // printf("Calling Docsis\n"); diff --git a/source/TR-181/integration_src.shared/Makefile.am b/source/TR-181/integration_src.shared/Makefile.am index 944ab48..acd49bb 100644 --- a/source/TR-181/integration_src.shared/Makefile.am +++ b/source/TR-181/integration_src.shared/Makefile.am @@ -29,7 +29,7 @@ libCcspCMAgent_integration_src_shared_la_CPPFLAGS = \ -I$(top_srcdir)/source/Custom libCcspCMAgent_integration_src_shared_la_SOURCES = cosa_x_cisco_com_cablemodem_apis.c cosa_device_info_apis.c cosa_x_rdkcentral_com_cablemodem_apis.c -libCcspCMAgent_integration_src_shared_la_LDFLAGS = -lccsp_common -lcm_mgnt -lsysevent -lsecure_wrapper +libCcspCMAgent_integration_src_shared_la_LDFLAGS = -lccsp_common -lcm_mgnt -lsysevent -lsecure_wrapper -lfw_download_chk if CORE_NET_LIB_FEATURE_SUPPORT libCcspCMAgent_integration_src_shared_la_LDFLAGS += -lnet endif diff --git a/source/TR-181/integration_src.shared/cosa_device_info_apis.c b/source/TR-181/integration_src.shared/cosa_device_info_apis.c index a32336a..bf65b80 100644 --- a/source/TR-181/integration_src.shared/cosa_device_info_apis.c +++ b/source/TR-181/integration_src.shared/cosa_device_info_apis.c @@ -77,6 +77,7 @@ #include "safec_lib_common.h" #include #include "secure_wrapper.h" +#include "fw_download_check.h" #define CM_HTTPURL_LEN 512 #define VALID_fW_LEN 128 @@ -379,7 +380,6 @@ ANSC_STATUS CosaDmlDIGetRfSignalStatus(BOOLEAN *pRfSignalStatus) { } #endif - ANSC_STATUS CosaDmlDIDownloadNow(ANSC_HANDLE hContext) { PCOSA_DATAMODEL_DEVICEINFO pMyObject = (PCOSA_DATAMODEL_DEVICEINFO)hContext; @@ -491,6 +491,12 @@ ANSC_STATUS CosaDmlDIDownloadNow(ANSC_HANDLE hContext) } } */ + + if(can_proceed_fw_download() == FW_DWNLD_MEMCHK_NOT_ENOUGH_MEM){ + CcspTraceError(("CosaDmlDIDownloadNow : Not enough memory to proceed firmware download\n")); + return ANSC_STATUS_FAILURE; + } + pthread_t FWDL_Thread; res = pthread_create(&FWDL_Thread, NULL, FWDL_ThreadFunc, "FWDL_ThreadFunc"); if(res != 0) From 9bcfa806011ff1671b09089a4d67c81c1d3904c4 Mon Sep 17 00:00:00 2001 From: Hirrangandhi Devaraj <208949566+hirrangandhid@users.noreply.github.com> Date: Tue, 17 Feb 2026 16:08:14 +0530 Subject: [PATCH 2/3] RDKB-62709 RDKB-62780: Update Bootfile param to 255 char in CM Agent (#20) RDKB-62709 RDKB-62780: Update Bootfile param to 255 char in CM Agent **Reason for change:** To meet with Cablelabs standard, change Bootfile param to 255 characters. **Test Procedure:** Set the bootfile name to greater than 64 characters and confirm that no errors are reported. Build should get success and ensure no regression. **Risks:** medium **Priority:** P1 --- config-arm/TR181-CM.XML | 4 ++-- source/TR-181/include/cosa_x_cisco_com_cablemodem_apis.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config-arm/TR181-CM.XML b/config-arm/TR181-CM.XML index 0ed0384..d463ef3 100644 --- a/config-arm/TR181-CM.XML +++ b/config-arm/TR181-CM.XML @@ -273,7 +273,7 @@ BootFileName - string(64) + string(256) string @@ -373,7 +373,7 @@ IPv6BootFileName - string(64) + string(256) string diff --git a/source/TR-181/include/cosa_x_cisco_com_cablemodem_apis.h b/source/TR-181/include/cosa_x_cisco_com_cablemodem_apis.h index f4c4072..5a2695e 100644 --- a/source/TR-181/include/cosa_x_cisco_com_cablemodem_apis.h +++ b/source/TR-181/include/cosa_x_cisco_com_cablemodem_apis.h @@ -93,7 +93,7 @@ typedef struct _COSA_CM_DHCP_INFO { ANSC_IPV4_ADDRESS IPAddress; - char BootFileName[64]; + char BootFileName[256]; ANSC_IPV4_ADDRESS SubnetMask; ANSC_IPV4_ADDRESS Gateway; ANSC_IPV4_ADDRESS TFTPServer; @@ -165,7 +165,7 @@ typedef struct _COSA_CM_IPV6DHCP_INFO { char IPv6Address[40]; - char IPv6BootFileName[64]; + char IPv6BootFileName[256]; char IPv6Prefix[40]; char IPv6Router[40]; char IPv6TFTPServer[40]; From 157c604cebc085ed57883f132421fc6797ad06bc Mon Sep 17 00:00:00 2001 From: SanthoshGujulvajagadeesh Date: Wed, 18 Feb 2026 15:43:28 +0530 Subject: [PATCH 3/3] Add changelog for release 2.1.0 --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb8228d..4e9ed9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,18 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -#### [2.0.0](https://github.com/rdkcentral/cable-modem-agent/compare/1.3.0...2.0.0) +#### [2.1.0](https://github.com/rdkcentral/cable-modem-agent/compare/2.0.0...2.1.0) + +- RDKB-62709 RDKB-62780: Update Bootfile param to 255 char in CM Agent [`#20`](https://github.com/rdkcentral/cable-modem-agent/pull/20) +- RDKB-60656 : Available memory check for firmware downloads [`#23`](https://github.com/rdkcentral/cable-modem-agent/pull/23) +- Merge tag '2.0.0' into develop [`3f1dd7c`](https://github.com/rdkcentral/cable-modem-agent/commit/3f1dd7c501d11c63101c8b5a6c258074a2ef3d91) + +### [2.0.0](https://github.com/rdkcentral/cable-modem-agent/compare/1.3.0...2.0.0) + +> 21 January 2026 - RDKCOM-5478: RDKBDEV-3320 Add CcspCMAgent Documentation [`#19`](https://github.com/rdkcentral/cable-modem-agent/pull/19) +- Add changelog for release 2.0.0 [`ca45354`](https://github.com/rdkcentral/cable-modem-agent/commit/ca45354c6c468b0f322fe7e68be5e06cc6c2cdd1) - Merge tag '1.3.0' into develop [`15a87fe`](https://github.com/rdkcentral/cable-modem-agent/commit/15a87fed50e024cd7003bdea7353476197352c95) #### [1.3.0](https://github.com/rdkcentral/cable-modem-agent/compare/1.2.0...1.3.0)