diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6a764beb7..1177b2736 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,10 +4,20 @@ 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).
+#### [1.3.5](https://github.com/rdkcentral/tr69hostif/compare/1.3.4...1.3.5)
+
+- RDKEMW-14726: Implement Chrony runtime selection for Time Sync [`#385`](https://github.com/rdkcentral/tr69hostif/pull/385)
+- Add the datamodel entries in generic [`#384`](https://github.com/rdkcentral/tr69hostif/pull/384)
+- RDKEMW-14685 : Implement Product Class Data Model Parameter for RDKE [`#373`](https://github.com/rdkcentral/tr69hostif/pull/373)
+- Merge tag '1.3.4' into develop [`600330e`](https://github.com/rdkcentral/tr69hostif/commit/600330e89cfdb20e35a188cd31ef260b76de21c5)
+
#### [1.3.4](https://github.com/rdkcentral/tr69hostif/compare/1.3.3...1.3.4)
+> 3 March 2026
+
- RDKEMW-14761 - Add RFC to control wifi-optimizer [`#371`](https://github.com/rdkcentral/tr69hostif/pull/371)
- RDK-60924 : Addition of RFC parameter for Stage video devices [`#367`](https://github.com/rdkcentral/tr69hostif/pull/367)
+- tr69hostif 1.3.4 release changelog updates [`ab04119`](https://github.com/rdkcentral/tr69hostif/commit/ab04119c9521f7aa4cbed1b40a875e5ccf33c615)
- Merge tag '1.3.3' into develop [`d4a740b`](https://github.com/rdkcentral/tr69hostif/commit/d4a740b7b59527c3b744271da7e10fd3864b8ae9)
#### [1.3.3](https://github.com/rdkcentral/tr69hostif/compare/1.3.2...1.3.3)
diff --git a/src/hostif/handlers/src/hostIf_TimeClient_ReqHandler.cpp b/src/hostif/handlers/src/hostIf_TimeClient_ReqHandler.cpp
index 42abb9877..e51a2b6a6 100644
--- a/src/hostif/handlers/src/hostIf_TimeClient_ReqHandler.cpp
+++ b/src/hostif/handlers/src/hostIf_TimeClient_ReqHandler.cpp
@@ -127,6 +127,37 @@ int TimeClientReqHandler::handleSetMsg(HOSTIF_MsgData_t *stMsgData)
{
ret = pIface->set_Device_Time_Enable(stMsgData);
}
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.ChronyEnable") == 0)
+ {
+ ret = pIface->set_Device_Time_Chrony_Enable(stMsgData);
+ }
+
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.NTPMinpoll") == 0)
+ {
+ ret = pIface->set_Device_Time_NTPMinpoll(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.NTPMaxpoll") == 0)
+ {
+ ret = pIface->set_Device_Time_NTPMaxpoll(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer1Directive") == 0) {
+ ret = pIface->set_Device_Time_NTPServer1Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer2Directive") == 0) {
+ ret = pIface->set_Device_Time_NTPServer2Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer3Directive") == 0) {
+ ret = pIface->set_Device_Time_NTPServer3Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer4Directive") == 0) {
+ ret = pIface->set_Device_Time_NTPServer4Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer5Directive") == 0) {
+ ret = pIface->set_Device_Time_NTPServer5Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.NTPMaxstep") == 0) {
+ ret = pIface->set_Device_Time_NTPMaxstep(stMsgData);
+ }
else
{
RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s:%d] parameter : \'%s\' Not handled \n", __FUNCTION__, __FILE__, __LINE__, stMsgData->paramName);
@@ -230,7 +261,38 @@ int TimeClientReqHandler::handleGetMsg(HOSTIF_MsgData_t *stMsgData)
else if (strcasecmp(stMsgData->paramName, "Device.Time.X_RDK_CurrentUTCTime") == 0)
{
ret = pIface->get_Device_Time_CurrentUTCTime(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.ChronyEnable") == 0)
+ {
+ ret = pIface->get_Device_Time_Chrony_Enable(stMsgData);
+ }
+
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.NTPMinpoll") == 0)
+ {
+ ret = pIface->get_Device_Time_NTPMinpoll(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.NTPMaxpoll") == 0)
+ {
+ ret = pIface->get_Device_Time_NTPMaxpoll(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer1Directive") == 0) {
+ ret = pIface->get_Device_Time_NTPServer1Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer2Directive") == 0) {
+ ret = pIface->get_Device_Time_NTPServer2Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer3Directive") == 0) {
+ ret = pIface->get_Device_Time_NTPServer3Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer4Directive") == 0) {
+ ret = pIface->get_Device_Time_NTPServer4Directive(stMsgData);
+ }
+ else if (strcasecmp(stMsgData->paramName, "Device.Time.NTPServer5Directive") == 0) {
+ ret = pIface->get_Device_Time_NTPServer5Directive(stMsgData);
}
+ else if (strcasecmp(stMsgData->paramName,"Device.Time.NTPMaxstep") == 0) {
+ ret = pIface->get_Device_Time_NTPMaxstep(stMsgData);
+ }
else
{
RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s:%d] parameter : \'%s\' Not handled \n", __FUNCTION__, __FILE__, __LINE__, stMsgData->paramName);
diff --git a/src/hostif/handlers/src/hostIf_WiFi_ReqHandler.cpp b/src/hostif/handlers/src/hostIf_WiFi_ReqHandler.cpp
index 1b4be8168..e6200bfb3 100644
--- a/src/hostif/handlers/src/hostIf_WiFi_ReqHandler.cpp
+++ b/src/hostif/handlers/src/hostIf_WiFi_ReqHandler.cpp
@@ -255,9 +255,9 @@ int WiFiReqHandler::handleGetMsg(HOSTIF_MsgData_t *stMsgData)
const char *pSetting;
const int maxSSID_Instances = 1;
int instanceNum = 0;
+ int radioIndex = 1;
#ifdef RDKV_TR69
const int maxRadioInstances = 1;
- int radioIndex = 1;
if (strcasecmp(stMsgData->paramName,"Device.WiFi.RadioNumberOfEntries") == 0)
{
stMsgData->instanceNum = maxRadioInstances;
@@ -327,6 +327,43 @@ int WiFiReqHandler::handleGetMsg(HOSTIF_MsgData_t *stMsgData)
}
ret = pIface->get_Device_WiFi_EnableWiFi(stMsgData);
}
+ #ifndef RDKV_TR69
+ else if (matchComponent(stMsgData->paramName, "Device.WiFi.Radio", &pSetting, instanceNum))
+ {
+ if (instanceNum != 1)
+ {
+ return NOK;
+ }
+
+ stMsgData->instanceNum = instanceNum;
+ hostIf_WiFi_Radio *pWifiRadio = hostIf_WiFi_Radio::getInstance(stMsgData->instanceNum);
+ hostIf_WiFi_Radio_Stats *pWifiRadioStats = hostIf_WiFi_Radio_Stats::getInstance(stMsgData->instanceNum);
+
+ if ((!pWifiRadio) || (!pWifiRadioStats))
+ {
+ return NOK;
+ }
+
+ if (strcasecmp(pSetting,"OperatingChannelBandwidth") == 0)
+ {
+ ret = pWifiRadio->get_Device_WiFi_Radio_OperatingChannelBandwidth(stMsgData,radioIndex);
+ }
+ else if (strcasecmp(pSetting,"Stats.PacketsReceived") == 0)
+ {
+ ret = pWifiRadioStats->get_Device_WiFi_Radio_Stats_PacketsReceived(stMsgData,radioIndex);
+ }
+ else if (strcasecmp(pSetting,"Stats.Noise") == 0)
+ {
+ ret = pWifiRadioStats->get_Device_WiFi_Radio_Stats_NoiseFloor(stMsgData,radioIndex);
+ }
+ else
+ {
+ RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%d] Parameter : \'%s\' is Not Supported \n", __FUNCTION__, __LINE__, stMsgData->paramName);
+ stMsgData->faultCode = fcInvalidParameterName;
+ ret = NOK;
+ }
+ }
+ #endif
#ifdef RDKV_TR69
else if (matchComponent(stMsgData->paramName, "Device.WiFi.Radio", &pSetting, instanceNum))
{
diff --git a/src/hostif/parodusClient/waldb/data-model/data-model-generic.xml b/src/hostif/parodusClient/waldb/data-model/data-model-generic.xml
index 9b6f54db1..48be368d0 100755
--- a/src/hostif/parodusClient/waldb/data-model/data-model-generic.xml
+++ b/src/hostif/parodusClient/waldb/data-model/data-model-generic.xml
@@ -63,6 +63,25 @@
+
+