RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Remote Feature Control (RFC) refers to a specific framework and mechanism incorporated within RDK middleware to enable the remote management and control of features in RDK-based Customer Premise Equipment (CPE) platforms. It allows operators or service providers to remotely enable, disable, configure, or update specific functionalities without physically accessing each device. RFC provides a standardized method for managing features, reducing operational overhead and enabling selective feature deployments.
1. Verify the existing(default) value of TR181 parameters
root@Filogic-GW:~# dmcli eRT getv Device.X_Comcast_com_ParentalControl.ManagedSites.Enable CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed. Parameter 1 name: Device.X_Comcast_com_ParentalControl.ManagedSites.Enable type: bool, value: false root@Filogic-GW:~# dmcli eRT getv Device.X_Comcast_com_ParentalControl.ManagedServices.Enable CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed. Parameter 1 name: Device.X_Comcast_com_ParentalControl.ManagedServices.Enable type: bool, value: true root@Filogic-GW:~# dmcli eRT getv Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed. Parameter 1 name: Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable type: bool, value: false
2. Refer below url to configure xconf for adding RFC Feature and Feature rule in xconf to set the above DM parameters
Feature Validation : Xconf Server#FeatureValidation:RemoteFeatureControl(RFC)
3. Please wait 1 min
4. Run the below command,
systemctl restart rfc
5. check the below path to confirm rfc files are created or not
6. Updated DM
root@Filogic-GW:~# dmcli eRT getv Device.X_Comcast_com_ParentalControl.ManagedSites.Enable CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed. Parameter 1 name: Device.X_Comcast_com_ParentalControl.ManagedSites.Enable type: bool, value: true root@Filogic-GW:~# dmcli eRT getv Device.X_Comcast_com_ParentalControl.ManagedServices.Enable CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed. Parameter 1 name: Device.X_Comcast_com_ParentalControl.ManagedServices.Enable type: bool, value: false root@Filogic-GW:~# dmcli eRT getv Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed. Parameter 1 name: Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable type: bool, value: true
7.Verify the successful logs in below path,
root@Filogic-GW:/rdklogs/logs# cat dcmrfc.log Enable RFC feature 2022-04-28T17:42:41.297Z [RFC]:: rfc-agent process not running. Not waiting rfc_blob_processing 2022-04-28T17:42:41.301Z [RFC]:: RFC: Starting service, creating lock 2022-04-28T17:42:41.304Z [RFC]:: RFC: Waiting for IP Acquistion... 2024-08-20T06:51:26.872Z [RFC]:: Acquired Box estb ip : 192.168.2.241 , Count = 2 2024-08-20T06:51:26.876Z [RFC]:: Starting execution of RFCbase.sh 2024-08-20T06:51:26.886Z [RFC]:: CALLING Direct override from local rfc.properties, state LOCAL 2024-08-20T06:51:26.891Z [RFC]:: Calling request to NEW XConf... 2024-08-20T06:51:26.895Z [RFC]:: URL: https://xconf.rdkcentral.com:19092/featureControl/getSettings 2024-08-20T06:51:26.902Z [RFC]:: RFC: CodebigFirst support is not available 2024-08-20T06:51:27.907Z [RFC]:: CallXconf: Box IP is 192.168.2.241 2024-08-20T06:51:28.006Z [RFC]:: RFC_TM_Track : CURL_CMD: curl -w '%{http_code}\n' -D /tmp/curl_header --interface erouter0 --connect-timeout 30 -m 30 --tlsv1.2 -H configsethash: -H configsettime: -o "/tmp/rfc-parsed.txt" 'https://xconf.rdkcentral.com:19092/featureControl/getSettings?estbMacAddress=76:1F:D1:62:DE:0A&firmwareVersion=rdkb-generic-broadband-image_rdk-next_20240820065115&env=dev&model=BananapiBPI-R4&ecmMacAddress=76:1F:D1:62:DE:0A&controllerId=2504&channelMapId=2345&vodId=15660&partnerId=RDKM&accountId=Unknown&experience=&version=2' 2024-08-20T06:51:31.117Z [RFC]:: RFC_TM_Track : Curl return code TLSRet = 0 http_code: 200 2024-08-20T06:51:31.124Z [RFC]:: RFC_TM_Track : uptime = 06:51:31 up 0 min, 1 user, load average: 1.23, 0.32, 0.11 2024-08-20T06:51:31.127Z [RFC]:: HTTP request success. Processing response.. 2024-08-20T06:51:31.132Z [RFC]:: preProcessJsonResponse returned 0 2024-08-20T06:51:31.136Z [RFC]:: Continue processing RFC response rfcState=CONTINUE 2024-08-20T06:51:31.141Z [RFC]:: Curl success 2024-08-20T06:51:31.147Z [RFC]:: dcmjsonparser binary present dcmjsonparser: dcm response file name /tmp/rfc-parsed.txt dcmjsonparser: cjson parse success dcmjsonparser: configset-id not recieved in response dcmjsonparser: configset-label not recieved in response dcmjsonparser: features array size is 0 2024-08-20T06:51:31.178Z [RFC]:: /tmp/rfc_configdata.txt file is present 2024-08-20T06:51:31.257Z [RFC]:: Calling RFCpostprocessing 2024-08-20T06:51:31.275Z RFC File for SSH is not present or empty 2024-08-20T06:51:31.329Z [RFC]:: [Features Enabled]-[STAGING]: 2024-08-20T06:51:31.337Z [RFC]:: Process JSON Response returned 0 2024-08-20T06:51:31.341Z [RFC]:: COMPLETED RFC PASS 2024-08-20T06:51:31.345Z [RFC]:: STORING XCONF URL AND SLOT NAME CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed.CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed.2024-08-20T06:51:31.389Z [RFC]:: resp = 0 2024-08-20T06:51:31.397Z [RFC]:: RFC: configsethash=1PaCFtAAKeTXJmHpm4ec4Z3mASbzWdne22 at configsettime=1724136691 2024-08-20T06:51:31.403Z [RFC]:: Starting Post Processing 2024-08-20T06:51:31.408Z [RFC]:: sendHttpRequestToServer returned 0 2024-08-20T06:51:31.416Z RFC File for SSH is not present or empty 2024-08-20T06:51:31.417Z [RFC]:: START CONFIGURING RFC CRON 2024-08-20T06:51:31.430Z [RFC]:: RFC: Completed service, deleting lock Enable RFC feature 2024-08-23T11:56:58.356Z [RFC]:: rfc-agent process not running. Not waiting rfc_blob_processing 2024-08-23T11:56:58.360Z [RFC]:: RFC: Starting service, creating lock 2024-08-23T11:56:58.364Z [RFC]:: RFC: Waiting for IP Acquistion... 2024-08-23T11:56:58.381Z [RFC]:: Acquired Box estb ip : 192.168.2.241 , Count = 0 2024-08-23T11:56:58.385Z [RFC]:: Starting execution of RFCbase.sh 2024-08-23T11:56:58.394Z [RFC]:: CALLING Direct override from local rfc.properties, state LOCAL 2024-08-23T11:56:58.399Z [RFC]:: Calling request to NEW XConf... 2024-08-23T11:56:58.403Z [RFC]:: URL: https://xconf.rdkcentral.com:19092/featureControl/getSettings 2024-08-23T11:56:58.407Z [RFC]:: RFC: CodebigFirst support is not available 2024-08-23T11:56:59.414Z [RFC]:: CallXconf: Box IP is 192.168.2.241 2024-08-23T11:56:59.551Z [RFC]:: RFC_TM_Track : CURL_CMD: curl -w '%{http_code}\n' -D /tmp/curl_header --interface erouter0 --connect-timeout 30 -m 30 --tlsv1.2 -H configsethash: -H configsettime: -o "/tmp/rfc-parsed.txt" 'https://xconf.rdkcentral.com:19092/featureControl/getSettings?estbMacAddress=76:1F:D1:62:DE:0A&firmwareVersion=rdkb-generic-broadband-image_rdk-next_20240820065115&env=dev&model=BananapiBPI-R4&ecmMacAddress=76:1F:D1:62:DE:0A&controllerId=2504&channelMapId=2345&vodId=15660&partnerId=RDKM&accountId=Unknown&experience=&version=2' 2024-08-23T11:57:02.627Z [RFC]:: RFC_TM_Track : Curl return code TLSRet = 0 http_code: 200 2024-08-23T11:57:02.634Z [RFC]:: RFC_TM_Track : uptime = 11:57:02 up 13 min, 2 users, load average: 1.19, 1.22, 0.82 2024-08-23T11:57:02.638Z [RFC]:: HTTP request success. Processing response.. 2024-08-23T11:57:02.642Z [RFC]:: preProcessJsonResponse returned 0 2024-08-23T11:57:02.646Z [RFC]:: Continue processing RFC response rfcState=CONTINUE 2024-08-23T11:57:02.651Z [RFC]:: Curl success 2024-08-23T11:57:02.655Z [RFC]:: dcmjsonparser binary present dcmjsonparser: dcm response file name /tmp/rfc-parsed.txt dcmjsonparser: cjson parse success dcmjsonparser: configset-id not recieved in response dcmjsonparser: configset-label not recieved in response dcmjsonparser: features array size is 2 dcmjsonparser: effectiveImmediate is 1 dcmjsonparser: key is tr181.Device.X_Comcast_com_ParentalControl.ManagedSites.Enable dcmjsonparser: value is true dcmjsonparser: key is tr181.Device.X_Comcast_com_ParentalControl.ManagedServices.Enable dcmjsonparser: value is false dcmjsonparser: effectiveImmediate is 1 dcmjsonparser: key is tr181.Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable dcmjsonparser: value is true 2024-08-23T11:57:02.676Z [RFC]:: /tmp/rfc_configdata.txt file is present 2024-08-23T11:57:02.747Z [RFC]:: key=tr181.Device.X_Comcast_com_ParentalControl.ManagedSites.Enable value=true ImediateReboot=1 2024-08-23T11:57:02.754Z [RFC]:: Parameter name Device.X_Comcast_com_ParentalControl.ManagedSites.Enable 2024-08-23T11:57:02.759Z [RFC]:: Parameter value true 2024-08-23T11:57:02.786Z [RFC]:: paramType is bool 2024-08-23T11:57:02.793Z [RFC]:: RFC: old parameter value false 2024-08-23T11:57:02.823Z [RFC]:: RFC: updated for Device.X_Comcast_com_ParentalControl.ManagedSites.Enable from value old=false, to new=true 2024-08-23T11:57:02.828Z [RFC]:: RFC: Enabling RfcRebootCronNeeded since Device.X_Comcast_com_ParentalControl.ManagedSites.Enable old value=false, new value=true, RebootValue=1 2024-08-23T11:57:02.850Z [RFC]:: key=tr181.Device.X_Comcast_com_ParentalControl.ManagedServices.Enable value=false ImediateReboot=1 2024-08-23T11:57:02.860Z [RFC]:: Parameter name Device.X_Comcast_com_ParentalControl.ManagedServices.Enable 2024-08-23T11:57:02.864Z [RFC]:: Parameter value false 2024-08-23T11:57:02.895Z [RFC]:: paramType is bool 2024-08-23T11:57:02.903Z [RFC]:: RFC: old parameter value true 2024-08-23T11:57:02.933Z [RFC]:: RFC: updated for Device.X_Comcast_com_ParentalControl.ManagedServices.Enable from value old=true, to new=false 2024-08-23T11:57:02.940Z [RFC]:: RFC: Enabling RfcRebootCronNeeded since Device.X_Comcast_com_ParentalControl.ManagedServices.Enable old value=true, new value=false, RebootValue=1 2024-08-23T11:57:02.960Z [RFC]:: key=tr181.Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable value=true ImediateReboot=1 2024-08-23T11:57:02.968Z [RFC]:: Parameter name Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable 2024-08-23T11:57:02.973Z [RFC]:: Parameter value true 2024-08-23T11:57:03.003Z [RFC]:: paramType is bool 2024-08-23T11:57:03.016Z [RFC]:: RFC: old parameter value false 2024-08-23T11:57:03.050Z [RFC]:: RFC: updated for Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable from value old=false, to new=true 2024-08-23T11:57:03.057Z [RFC]:: RFC: Enabling RfcRebootCronNeeded since Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable old value=false, new value=true, RebootValue=1 2024-08-23T11:57:03.083Z [RFC]:: Calling RFCpostprocessing 2024-08-23T11:57:03.106Z RFC File for SSH is not present or empty 2024-08-23T11:57:03.418Z [RFC]:: [Features Enabled]-[STAGING]: RPI4-MINIMAL-TEST-RFC=true, ClientNotify=true, 2024-08-23T11:57:03.425Z [RFC]:: Process JSON Response returned 0 2024-08-23T11:57:03.430Z [RFC]:: COMPLETED RFC PASS 2024-08-23T11:57:03.434Z [RFC]:: STORING XCONF URL AND SLOT NAME CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed.CR component name is: eRT.com.cisco.spvtg.ccsp.CR subsystem_prefix eRT. Execution succeed.2024-08-23T11:57:03.478Z [RFC]:: resp = 0 2024-08-23T11:57:03.489Z [RFC]:: RFC: configsethash=1GZYJP4Brj9kHNGh6raiU5THU8w7vpXufS at configsettime=1724414223 2024-08-23T11:57:03.495Z [RFC]:: Starting Post Processing 2024-08-23T11:57:03.499Z [RFC]:: sendHttpRequestToServer returned 0 2024-08-23T11:57:03.506Z RFC File for SSH is not present or empty 2024-08-23T11:57:03.510Z [RFC]:: START CONFIGURING RFC CRON 2024-08-23T11:57:03.524Z [RFC]:: RFC: Completed service, deleting lock 2024-08-23T11:57:03.531Z [RFC]:: RFC: RfcRebootCronNeeded=1. calling script to schedule reboot in maintence window
References
RDKBACCL-295 - Getting issue details... STATUS