T1 on Video platforms
XConf server configuration procedure:
XConf server URL: https://xconf.rdkcentral.com:19093/admin/ux/
Refer Xconf Reference Setup Credentials for server credentials
Create Formula
Login to the XConf server, go to DCM menu item, click on “Formulas” sub menu, and create Formula
Create Device Settings
XConf Server → DCM → Device Settings
Create Upload Repository
XConf server → DCM → Upload Repository
Upload Repository : HTTPS Server
Repository URL: https://xconf.rdkcentral.com/xconf/telemetry_upload.php
Create LogUpload Settings
XConf Server → DCM → LogUpload Settings
Test Page
XConf Server → DCM → Test Page.
In the Test Page, give estbMacAddress(D4:CF:F9:49:E8:CE → Mac Address of RPI) and ensure the parameters that has been configured in the DCM.
Create Permanent Profiles
XConf Server → Telemetry → Permanent Profiles.
- Once you save the permanent profile, you will get a message overlay ‘Profile added to the pending changes’.
- Then go to Changes → select the profile you create → Click on “Approve selected changes”.
- Then the permanent profile will be listed under Telemetry → Permanent profiles.
Create Targeting Rules
Create targeting rule via Telemetry -> Targeting rules. Targeting rules is to map the profiles with rules.
Raw data response
{"urn:settings:GroupName":"RDKV_Telemetry_Demo_DeviceSettings","urn:settings:CheckOnReboot":true,"urn:settings:CheckSchedule:cron":"10 0 * * *","urn:settings:CheckSchedule:DurationMinutes":0,"urn:settings:LogUploadSettings:Message":null,"urn:settings:LogUploadSettings:Name":"RDKV_Telemetry_Demo_Logupload","urn:settings:LogUploadSettings:NumberOfDays":0,"urn:settings:LogUploadSettings:UploadRepositoryName":"RDKV_Telemetry_Demo_Uploadrepository","urn:settings:LogUploadSettings:UploadRepository:URL":"https://xconf.rdkcentral.com/xconf/telemetry_upload.php","urn:settings:LogUploadSettings:UploadRepository:uploadProtocol":"HTTPS","urn:settings:LogUploadSettings:UploadOnReboot":true,"urn:settings:LogUploadSettings:UploadImmediately":false,"urn:settings:LogUploadSettings:upload":true,"urn:settings:LogUploadSettings:UploadSchedule:cron":"10 0 * * *","urn:settings:LogUploadSettings:UploadSchedule:levelone:cron":null,"urn:settings:LogUploadSettings:UploadSchedule:leveltwo:cron":null,"urn:settings:LogUploadSettings:UploadSchedule:levelthree:cron":null,"urn:settings:LogUploadSettings:UploadSchedule:DurationMinutes":0,"urn:settings:VODSettings:Name":null,"urn:settings:VODSettings:LocationsURL":null,"urn:settings:VODSettings:SRMIPList":null,"urn:settings:TelemetryProfile":{"id":"9dc01093-6621-4d30-a0ab-5a9cb4ee791e","telemetryProfile":[{"header":"DEMO_Version_split","content":"VERSION=","type":"version.txt","pollingFrequency":"0"},{"header":"DEM0_Version","content":"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.Version","type":"dmcli","pollingFrequency":"0"},{"header":"DEMO_Time","content":"Device.DeviceInfo.X_RDKCENTRAL-COM_SystemTime","type":"dmcli","pollingFrequency":"0"},{"header":"DEMO_USED_MEM","content":"USED_MEM","type":"top_log.txt","pollingFrequency":"0"},{"header":"DEMO_FREE_MEM","content":"FREE_MEM","type":"top_log.txt","pollingFrequency":"0"},{"header":"DEMO_UPTIME_split","content":"Device.DeviceInfo.UpTime","type":"<message_bus>","pollingFrequency":"0"}],"schedule":"*/10 * * * *","expires":0,"telemetryProfile:name":"RDKV_Telemetry_Demo_Permanentprofile","uploadRepository:URL":"https://xconf.rdkcentral.com/xconf/upload/display.php","uploadRepository:uploadProtocol":"HTTPS"}}
Client(device) side verification
Configure the below details to dcm.properties and comment out the other details
- Add the following changes in /etc/dcm.properties or verify if the configurations are present.
# DCM properties file # Log server details LOG_SERVER=xconf.rdkcentral.com # Log upload server details DCM_LOG_SERVER=https://xconf.rdkcentral.com/xconf/logupload.php DCM_LOG_SERVER_URL=https://xconf.rdkcentral.com:19092/loguploader/getT2Settings # SCP server details DCM_SCP_SERVER=xconf.rdkcentral.com # LA server details DCM_LA_SERVER_URL=https://xconf.rdkcentral.com/xconf/logupload.php
The above configuration is a set of properties that are used to configure the Device Configuration Manager (DCM), which is a system used for managing the configuration of devices on a network. Here is a brief explanation of each property:
- LOG_SERVER: The hostname or IP address of the server where log messages generated by the DCM will be sent.
- DCM_LOG_SERVER: The URL of the server where log messages will be uploaded.
- DCM_LOG_SERVER_URL: The URL of the server that provides settings for the log uploader.
- DCM_SCP_SERVER: The hostname or IP address of the server where files will be uploaded via SCP (Secure Copy Protocol).
- DCM_LA_SERVER_URL: The URL of the server where logs will be uploaded.
Steps for enabling Telemetry
Check tr181 parameters for telemetry are set, if it is not set, then add set the params
tr181 -s -t boolean -v true Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.Enable tr181 -s -t string -v 2.0.1 Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.Version tr181 -s -t string -v https://xconf.rdkcentral.com:19092/loguploader/getT2Settings Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.ConfigURL
- Reboot the box (wait for 5 min once device up) and verify logs
- Output of /tmp/DCMSettings.conf (contains the telemetry markers that was set against the permanent profile)
root@AmlogicFirebolt:~# cat /tmp/DCMSettings.conf urn:settings:GroupName=RDKV_Telemetry_Demo_DeviceSettings urn:settings:CheckOnReboot=true urn:settings:CheckSchedule:cron=10 0 * * * urn:settings:CheckSchedule:DurationMinutes=0 urn:settings:LogUploadSettings:Message=null urn:settings:LogUploadSettings:Name=RDKV_Telemetry_Demo_Logupload urn:settings:LogUploadSettings:NumberOfDays=0 urn:settings:LogUploadSettings:UploadRepositoryName=RDKV_Telemetry_Demo_Uploadrepository urn:settings:LogUploadSettings:UploadRepository:URL=https://xconf.rdkcentral.com/xconf/telemetry_upload.php urn:settings:LogUploadSettings:UploadRepository:uploadProtocol=HTTPS urn:settings:LogUploadSettings:UploadOnReboot=true urn:settings:LogUploadSettings:UploadImmediately=false urn:settings:LogUploadSettings:upload=true urn:settings:LogUploadSettings:UploadSchedule:cron=10 0 * * * urn:settings:LogUploadSettings:UploadSchedule:levelone:cron=null urn:settings:LogUploadSettings:UploadSchedule:leveltwo:cron=null urn:settings:LogUploadSettings:UploadSchedule:levelthree:cron=null urn:settings:LogUploadSettings:UploadSchedule:DurationMinutes=0 urn:settings:VODSettings:Name=null urn:settings:VODSettings:LocationsURL=null urn:settings:VODSettings:SRMIPList=null "urn:settings:TelemetryProfile":{"id":"9dc01093-6621-4d30-a0ab-5a9cb4ee791e","telemetryProfile":[{"header" : "DEMO_Version_split","content" : "VERSION=","type" : "version.txt","pollingFrequency":"0"},{"header" : "DEM0_Version","content" : "Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.Version","type" : "dmcli","pollingFrequency":"0"},{"header" : "DEMO_Time","content" : "Device.DeviceInfo.X_RDKCENTRAL-COM_SystemTime","type" : "dmcli","pollingFrequency":"0"},{"header" : "DEMO_USED_MEM","content" : "USED_MEM","type" : "top_log.txt","pollingFrequency":"0"},{"header" : "DEMO_FREE_MEM","content" : "FREE_MEM","type" : "top_log.txt","pollingFrequency":"0"},{"header" : "DEMO_UPTIME_split","content" : "Device.DeviceInfo.UpTime","type" : "<message_bus>","pollingFrequency":"0"}],"schedule":"*/10 * * * *","expires":0,"telemetryProfile:name":"RDKV_Telemetry_Demo_Permanentprofile","uploadRepository:URL":"https://xconf.rdkcentral.com/xconf/upload/display.php","uploadRepository:uploadProtocol":"HTTPS"} root@AmlogicFirebolt:~#
- DCMscript logs
Inside get ip address Inside get ip address Inside get ip address Inside get ip address Inside get ip address Inside get ip address 06.11.2024_10:17:37: /lib/rdk/DCMscript.sh: Starting execution of DCMscript.sh 06.11.2024_10:17:37: /lib/rdk/DCMscript.sh: Telemetry run for previous boot log files 06.11.2024_10:17:37: /lib/rdk/DCMscript.sh: xpki based mtls support = false 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: sleep_time = 1 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: URL: https://xconf.rdkcentral.com:19092/loguploader/getSettings 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: Telemetry Profile File Being Used : /tmp/DCMSettings.conf 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: REBOOT_FLAG: 0 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: Telemetry run for previous log path : /opt/logs/PreviousLogs/ /opt/.telemetry/dca_temp_file.conf 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: CHECK_ON_REBOOT: 1 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: dca upload url : xconf.rdkcentral.com 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: Telemetry Folder exists 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: Waiting for IP 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: Retrieving the timezone value 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: Reading Timezone value from /opt/output.json file... 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: TEMP_PATTERN_CONF_FILE : /opt/.telemetry/temp_dcafile.conf 06.11.2024_10:17:38: /lib/rdk/DCMscript.sh: timezone retry:1 06.11.2024_10:17:38: /lib/rdk/dca_utility.sh: Configuration File Not Found Inside get ip address 06.11.2024_10:17:44: /lib/rdk/DCMscript.sh: timezone retry:2 06.11.2024_10:17:50: /lib/rdk/DCMscript.sh: timezone retry:3 06.11.2024_10:17:56: /lib/rdk/DCMscript.sh: timezone retry:4 06.11.2024_10:18:02: /lib/rdk/DCMscript.sh: timezone retry:5 06.11.2024_10:18:08: /lib/rdk/DCMscript.sh: timezone retry:6 06.11.2024_10:18:14: /lib/rdk/DCMscript.sh: timezone retry:7 06.11.2024_10:18:20: /lib/rdk/DCMscript.sh: timezone retry:8 06.11.2024_10:18:26: /lib/rdk/DCMscript.sh: timezone retry:9 06.11.2024_10:18:32: /lib/rdk/DCMscript.sh: timezone retry:10 06.11.2024_10:18:32: /lib/rdk/DCMscript.sh: Timezone retry count reached the limit . Timezone data source is missing 06.11.2024_10:18:32: /lib/rdk/DCMscript.sh: Timezone value from /opt/output.json is empty, Reading from /opt/persistent/timeZoneDST file... 06.11.2024_10:18:32: /lib/rdk/DCMscript.sh: /opt/persistent/timeZoneDST file not found, Timezone data source is missing Inside get ip address 06.11.2024_10:18:32: /lib/rdk/DCMscript.sh: Check UseCodebig flag 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: --------- box got an ip 10.46.5.47 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: sendHttpRequestToServer: Codebig is disabled: UseCodebig=0 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: sendHttpRequestToServer: Attempting direct DCM connection 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: Attempting --tlsv1.2 connection to DCM server 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: MTLS preferred for DCM Request 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: Connect without MTLS support - RDKM 06.11.2024_10:18:33: /lib/rdk/DCMscript.sh: CURL_CMD: curl --tlsv1.2 -w '%{http_code} %{remote_ip} %{remote_port}n' --connect-timeout 30 -m 10 -o "/opt/DCMresponse.txt" 'https://xconf.rdkcentral.com:19092/loguploader/getSettings?estbMacAddress=D4:CF:F9:49:E8:CE&firmwareVersion=lib32-rdk-generic-mediaclient-image_FBT_rdk6-main_20231210020319&env=dev&model=AH212&ecmMacAddress=&controllerId=2504&channelMapId=2345&vodId=15660&timezone=&partnerId=community&accountId=Unknown&experience=X1&version=2' 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: Curl Connected to xconf.rdkcentral.com:19092 (35.161.239.220) port 19092 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: Curl return code with : 0, http code: 200 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: sendHttpRequestToServer: Direct DCM connection success, return:0, httpcode:200 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: https request success. Processing response.. 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: processJsonResponse returned 0 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: resp = 0 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: sendHttpRequestToServer returned 0 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: upload_protocol: HTTPS 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: The value of 'UploadOnReboot' is 'true', executing script uploadSTBLogs.sh 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: 'UploadSchedule:cron' is present setting cron jobs Inside get ip address 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: Called with 3 attempts 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: USAGE: /lib/rdk/uploadSTBLogs.sh <TFTP Server IP> <Flag (STB delay or not)> <SCP_SERVER> <UploadOnReboot> <UploadProtocol> <UploadHttpLink> <RRD_FLAG> <RRD_UPLOADLOG_FILE> 06.11.2024_10:18:35: /lib/rdk/DCMscript.sh: Configuring cron job for swupdate_utility.sh 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: Check Codebig flag,,, 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: Build Type: dev Log file: D4CFF949E8CE_Logs_11-06-24-10-18AM.tgz UploadProtocol: HTTPS UploadHttpLink: https://xconf.rdkcentral.com/xconf/telemetry_upload.php 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: upload_flag = true 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: DCM log Folder does not exist . Creating now 06.11.2024_10:18:35: /lib/rdk/uploadSTBLogs.sh: UploadOnReboot set to true 06.11.2024_10:18:36: /lib/rdk/uploadSTBLogs.sh: Sleeping for seven minutes 06.11.2024_10:20:00: /lib/rdk/dca_utility.sh: sleep_time = 18 06.11.2024_10:20:00: /lib/rdk/dca_utility.sh: Telemetry Profile File Being Used : /tmp/DCMSettings.conf 06.11.2024_10:20:00: /lib/rdk/dca_utility.sh: Removing Telemetry directory /opt/.telemetry 06.11.2024_10:20:01: /lib/rdk/dca_utility.sh: dca upload url from dcmresponse is https://xconf.rdkcentral.com/xconf/upload/display.php 06.11.2024_10:20:01: /lib/rdk/dca_utility.sh: dca upload url : https://xconf.rdkcentral.com/xconf/upload/display.php 06.11.2024_10:20:01: /lib/rdk/dca_utility.sh: Telemetry Folder does not exist . Creating now 06.11.2024_10:20:01: /lib/rdk/dca_utility.sh: TEMP_PATTERN_CONF_FILE : /opt/.telemetry/temp_dcafile.conf nice: can't execute '/usr/bin/dca': No such file or directory Inside get ip address 06.11.2024_10:20:02: /lib/rdk/dca_utility.sh: File /opt/.telemetry/lastlog_path does not exist. Not sending Cable Card Informtion 06.11.2024_10:20:02 PingData:Ping test not started yet, ping data file missing 06.11.2024_10:20:02: /lib/rdk/dca_utility.sh: DCA processing complete, clearing up /tmp/.rtl_temp.log {"searchResult":[{"Profile":"RDKV"},{"mac":"D4:CF:F9:49:E8:CE"},{"StbIp":"10.46.5.47"},{"receiverId":"05b03b21-8ff3-4394-9075-c34f58d41562"},{"PartnerId":"community"},{"AccountId":"Unknown"},{"Experience":"X1"},{"Version":"lib32-rdk-generic-mediaclient-image_FBT_rdk6-main_20231210020319"},{"Time":"2024-11-06 10:20:02"}]} 06.11.2024_10:20:02: /lib/rdk/dca_utility.sh: sleeping 18 seconds 06.11.2024_10:20:20: /lib/rdk/dca_utility.sh: uploadTelemetryData: Telemetry endpoint is always direct connect 06.11.2024_10:20:20: /lib/rdk/dca_utility.sh: dca: Attempting --tlsv1.2 direct connection to telemetry service 06.11.2024_10:20:20: /lib/rdk/dca_utility.sh: Log Upload requires Mutual Authentication 06.11.2024_10:20:20: /lib/rdk/dca_utility.sh: MTLS creds for Log Upload fetched 06.11.2024_10:20:50: /lib/rdk/dca_utility.sh: dca: CURL_CMD: curl -w '%{http_code}n' -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"searchResult":[{"Profile":"RDKV"},{"mac":"D4:CF:F9:49:E8:CE"},{"StbIp":"10.46.5.47"},{"receiverId":"05b03b21-8ff3-4394-9075-c34f58d41562"},{"PartnerId":"community"},{"AccountId":"Unknown"},{"Experience":"X1"},{"Version":"lib32-rdk-generic-mediaclient-image_FBT_rdk6-main_20231210020319"},{"Time":"2024-11-06 10:20:02"}]}' -o "/opt/.telemetry/dca_httpresult.txt" "https://xconf.rdkcentral.com/xconf/upload/display.php" --connect-timeout 30 -m 30 06.11.2024_10:20:50: /lib/rdk/dca_utility.sh: Curl return code : 28 06.11.2024_10:20:50: /lib/rdk/dca_utility.sh: uploadTelemetryData: Telemetry data upload success dca: HTTP RESPONSE CODE : 200 06.11.2024_10:20:50: /lib/rdk/dca_utility.sh: Json message successfully submitted. Moving files from /opt/.telemetry/tmp to /opt/.telemetry 06.11.2024_10:24:06: /lib/rdk/uploadSTBLogs.sh: Done sleeping sh: /opt/logs/PreviousLogs/ConnectionStats.txt: unknown operand 06.11.2024_10:24:06: /lib/rdk/uploadSTBLogs.sh: Processing file...reboot.log 06.11.2024_10:24:07: /lib/rdk/uploadSTBLogs.sh: reboot_reason: , uploadLog:true and UploadLogsOnUnscheduledReboot.Disable RFC: false 06.11.2024_10:24:07: /lib/rdk/uploadSTBLogs.sh: Uploading Logs with DCM 11-06-24-10-24AM-CapDebug.txt 11-06-24-10-24AM-ConnectionStats.txt 11-06-24-10-24AM-access.log 11-06-24-10-24AM-applications.log 11-06-24-10-24AM-audiocapturemgr.log 11-06-24-10-24AM-bluez.log 11-06-24-10-24AM-bluez.log.1 11-06-24-10-24AM-bluez.log.2 11-06-24-10-24AM-btmgrlog.txt 11-06-24-10-24AM-btmgrlog.txt.1 11-06-24-10-24AM-btmgrlog.txt.2 11-06-24-10-24AM-btmgrlog.txt.3 11-06-24-10-24AM-btmgrlog.txt.4 11-06-24-10-24AM-cec_log.txt 11-06-24-10-24AM-container-setup.log 11-06-24-10-24AM-core_log.txt 11-06-24-10-24AM-cronjobs_update.log 11-06-24-10-24AM-ctrlm_log.txt 11-06-24-10-24AM-dcmscript.log 11-06-24-10-24AM-device_details.log 11-06-24-10-24AM-dibbler.log 11-06-24-10-24AM-disk_cleanup.log 11-06-24-10-24AM-diskinfo.log 11-06-24-10-24AM-dnsmasq.log 11-06-24-10-24AM-dropbear.log 11-06-24-10-24AM-ecfs.txt 11-06-24-10-24AM-fog.log 11-06-24-10-24AM-gst-cleanup.log 11-06-24-10-24AM-ipSetupLogs.txt 11-06-24-10-24AM-iptables.log 11-06-24-10-24AM-lighttpd.error.log 11-06-24-10-24AM-messages.txt 11-06-24-10-24AM-mount_log.txt 11-06-24-10-24AM-netsrvmgr.log 11-06-24-10-24AM-nlmon.log 11-06-24-10-24AM-ntp.log 11-06-24-10-24AM-parodus.log 11-06-24-10-24AM-ping_telemetry.log 11-06-24-10-24AM-rdk_milestones.log 11-06-24-10-24AM-rdk_shell.log 11-06-24-10-24AM-rebootInfo.log 11-06-24-10-24AM-rebootreason.log 11-06-24-10-24AM-residentapp.log 11-06-24-10-24AM-restartXdial.txt 11-06-24-10-24AM-rfcscript.log 11-06-24-10-24AM-servicenumber.log 11-06-24-10-24AM-startup_stdout_log.txt 11-06-24-10-24AM-storagemgr.log 11-06-24-10-24AM-subttxrend-app.log 11-06-24-10-24AM-swupdate.log 11-06-24-10-24AM-system.log 11-06-24-10-24AM-telemetry2_0.txt.0 11-06-24-10-24AM-tlsError.log 11-06-24-10-24AM-top_log.txt 11-06-24-10-24AM-tr69agent.log 11-06-24-10-24AM-tr69hostif.log 11-06-24-10-24AM-uimgr_log.txt 11-06-24-10-24AM-usbpublish.log 11-06-24-10-24AM-version.txt 11-06-24-10-24AM-wpa_supplicant.log 11-06-24-10-24AM-wpeframework.log 11-06-24-10-24AM-xdial.log last_reboot reboot.log 06.11.2024_10:25:14: /lib/rdk/uploadSTBLogs.sh: Deleting from Previous Logs Folder