RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Xconf API which will help determine if firmwareVersion meets minimum check
...
...
...
...
...
hasMinimumFirmware flag should be set to false only in following case:
...
This API will process MAC rules.
Firmware Config request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/estbfirmware/checkMinimumFirmware?estbMac=5C:8F:E0:A5:86:E0&ipAddress=1.1.1.1&firmwareVersion=1&model=1&env=1 |
Header
Code Block | ||||
---|---|---|---|---|
| ||||
Accept: application/json |
...
or Accept: application/xml |
Response example
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "hasMinimumFirmware": true |
...
} |
DCM API
Log Upload Settings request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/loguploader/getSettings?estbIP=60.70.80.90&env=DEV&firmwareVersion=10.12 |
Response example
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "urn:settings:GroupName": null, |
...
"urn:settings:CheckOnReboot": false, |
...
"urn:settings:CheckSchedule:cron": null, |
...
"urn:settings:CheckSchedule:DurationMinutes": null, |
...
"urn:settings:CheckSchedule:StartDate": null, |
...
"urn:settings:CheckSchedule:EndDate": null, |
...
"urn:settings:LogUploadSettings:Message": null, |
...
"urn:settings:LogUploadSettings:Name": null, |
...
"urn:settings:LogUploadSettings:NumberOfDays": null, |
...
"urn:settings:LogUploadSettings:UploadRepositoryName": null, |
...
"urn:settings:LogUploadSettings:UploadOnReboot": null, |
...
"urn:settings:LogUploadSettings:UploadImmediately": false, |
...
"urn:settings:LogUploadSettings:upload": null, |
...
"urn:settings:LogUploadSettings:LogFiles": null, |
...
"urn:settings:LogUploadSettings:LogFiles:StartDate": null, |
...
"urn:settings:LogUploadSettings:LogFiles:EndDate": null, |
...
"urn:settings:LogUploadSettings:UploadSchedule:cron": null, |
...
"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": null, |
...
"urn:settings:LogUploadSettings:UploadSchedule:StartDate": null, |
...
"urn:settings:LogUploadSettings:UploadSchedule:EndDate": null, |
...
"urn:settings:VODSettings:Name": "fdas", |
...
"urn:settings:VODSettings:LocationsURL": "http://vod7.location.com/", |
...
"urn:settings:VODSettings:SRMIPList": {}, |
...
"urn:settings:TelemetryProfile": { |
...
"id": "fcb969ec-851e-4d80-8452-91f835516e80", |
...
"telemetryProfile": [ |
...
{ |
...
"header": "qwer", |
...
"content": "yui", |
...
"type": "op", |
...
"pollingFrequency": "3000" |
...
} |
...
], |
...
"schedule": "10 10 * * *", |
...
"expires": 0, |
...
"telemetryProfile:name": "Profile2", |
...
"uploadRepository:URL": "amazon.com", |
...
"uploadRepository:uploadProtocol": "S3" |
...
} |
...
} |
Check now request.
CheckNow request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/loguploader/getSettings?estbIP=60.70.80.90&env=DEV&firmwareVersion=10.12&checkNow=true |
Response example
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"id": "fcb969ec-851e-4d80-8452-91f835516e80", |
...
"telemetryProfile": [ |
...
{ |
...
"header": "qwer", |
...
"content": "yui", |
...
"type": "op", |
...
"pollingFrequency": "3000" |
...
} |
...
], |
...
"schedule": "10 10 * * *", |
...
"expires": 0, |
...
"telemetryProfile:name": "Profile2", |
...
"uploadRepository:URL": "amazon.com", |
...
"uploadRepository:uploadProtocol": "S3" |
...
} |
Request to retrieve firmware configuration. Percent Filter and Time filter will be ignored.
Firmware Config request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/psg/swu/stb?eStbMac=B4:F2:E8:79:B8:94&env=QA&model=X1&ipAddress=10.20.30.43&firmwareVersion=test1 |
Header
Accept: application/json
Code Block | ||||
---|---|---|---|---|
| ||||
Accept: application/json
or Accept: |
...
application/xml |
Response example
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "file-pac3", |
...
"firmwareVersion": "PACXI3_2.0._DEVse", |
...
"rebootImmediately": false, |
...
"firmwareLocation": "192.168.201.2", |
...
"ipv6FirmwareLocation": "1991:db8::ff00:42:2014" |
...
} |
Request to retrieve firmware configuration. Percent Filter and Time filter will be ignored.
Firmware Config request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/psg/swu/bse/ipAddress=100.71.216.10 |
Header
Code Block | ||||
---|---|---|---|---|
| ||||
Accept: application/json |
...
or Accept: application/xml |
Response example
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "location": "69.252.80.69", |
...
"protocol": "tftp", |
...
"modelConfigurations": [ |
...
{ |
...
"model": "RPI-V", |
...
"firmwareFilename": "rdk-generic-hybrid-image-20190106221326.sdimg", |
...
"firmwareVersion": "rdk-generic-hybrid-image-20190106221326" |
...
}, |
...
{ |
...
"model": "RPI-B", |
...
"firmwareFilename": "rdk-generic-broadband-image-20200101201216.sdimg", |
...
"firmwareVersion": "rdk-generic-broadband-image-20200101201216" |
...
} |
...
] |
...
} |
Request to get last change log.
FirmwareRules
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/psg/lastlog?mac=B4:F2:E8:79:B8:94 |
Header
Code Block | ||||
---|---|---|---|---|
| ||||
Accept: application/json |
...
or Accept: application/xml |
Response example
{
Code Block | ||||
---|---|---|---|---|
| ||||
{ "input": { |
...
"estbMac": "B4:F2:E8:79:B8:94", |
...
"env": "QA", |
...
"model": "GXG5", |
...
"firmwareVersion": "test1", |
...
"bypassFilters": [ |
...
"GLOBAL_PERCENT", |
...
"TIME_FILTER", |
...
"PercentFilter", |
...
"ENV_MODEL_PERCENT" |
...
], |
...
"forceFilters": [], |
...
"capabilities": [], |
...
"timeZone": "UTC", |
...
"time": "05/24/2016 18:57:00", |
...
"ipAddress": "10.20.30.43", |
...
"rcdl": false, |
...
"rebootDecoupled": false, |
...
"supportsFullHttpUrl": false |
...
}, |
...
"rule": { |
...
"type": "ENV_MODEL_HARDWARE", |
...
"name": "RuleQA_X1_1.2.3", |
...
"noop": false |
...
}, |
...
"filters": [ |
...
{ |
...
"type": "DownloadLocationRoundRobinFilter", |
...
"id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER", |
...
"name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE", |
...
"noop": true |
...
} |
...
], |
...
"explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@282a68ed[\r\n estbMac=B4:F2:E8:79:B8:94\r\n env=QA\r\n model=GXG5\r\n firmwareVersion=test1\r\n ecmMac=<null>\r\n receiverId=<null>\r\n controllerId=<null>\r\n channelMapId=<null>\r\n vodId=<null>\r\n bypassFilters=[GLOBAL_PERCENT, TIME_FILTER, PercentFilter, ENV_MODEL_PERCENT]\r\n forceFilters=[]\r\n capabilities=[]\r\n timeZone=UTC\r\n time=2016-05-24T18:57:00.000\r\n ipAddress=10.20.30.43\r\n]\n matched ENV_MODEL_HARDWARE 62af2be5-a660-4127-9127-2edd06b86858: RuleQA_X1_1.2.3\n received config: FirmwareConfig[\r\n description=PACXI3-desc1\r\n supportedModelIds=[PACXI3, GXG5]\r\n firmwareDownloadProtocol=tftp\r\n firmwareFilename=file-pac3\r\n firmwareLocation=192.168.201.2\r\n firmwareVersion=PACXI3_2.0._DEVse\r\n ipv6FirmwareLocation=1991:db8::ff00:42:2014\r\n upgradeDelay=<null>\r\n rebootImmediately=false\r\n id=9264d2b7-6c9c-477c-9f75-0da2ddaac34e]\n was blocked/modified by filter SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE", |
...
"config": { |
...
"id": "9264d2b7-6c9c-477c-9f75-0da2ddaac34e", |
...
"updated": 1444857563223, |
...
"description": "PACXI3-desc1", |
...
"supportedModelIds": [ |
...
"PACXI3", |
...
"GXG5" |
...
], |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "file-pac3", |
...
"firmwareVersion": "PACXI3_2.0._DEVse", |
...
"rebootImmediately": false, |
...
"firmwareLocation": "192.168.201.2", |
...
"ipv6FirmwareLocation": "1991:db8::ff00:42:2014" |
...
} |
...
} |
Request to get all change logs.
Request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/psg/changelogs?mac=5C:8F:E0:A5:86:E0 |
Header
Code Block | ||||
---|---|---|---|---|
| ||||
Accept: application/json |
...
or Accept: application/xml |
Response
Code Block | ||||
---|---|---|---|---|
| ||||
[ |
...
{ |
...
"input": { |
...
"estbMac": "5C:8F:E0:A5:86:E0", |
...
"firmwareVersion": "ff", |
...
"bypassFilters": [], |
...
"forceFilters": [], |
...
"capabilities": [], |
...
"timeZone": "UTC", |
...
"time": "12/16/2016 14:11:00", |
...
"ipAddress": "0:0:0:0:0:0:0:1", |
...
"rcdl": false, |
...
"rebootDecoupled": false, |
...
"supportsFullHttpUrl": false |
...
}, |
...
"rule": { |
...
"type": "MAC_RULE", |
...
"name": "Arris_XB3_DevOps", |
...
"noop": false |
...
}, |
...
"filters": [ |
...
{ |
...
"type": "DownloadLocationRoundRobinFilter", |
...
"id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER", |
...
"name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE", |
...
"noop": true |
...
}, |
...
{ |
...
"type": "REBOOT_IMMEDIATELY_FILTER", |
...
"name": "Arris_XB3_test", |
...
"noop": true |
...
} |
...
], |
...
"explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@1a9f8c9b[\r\n estbMac=5C:8F:E0:A5:86:E0\r\n env=<null>\r\n model=<null>\r\n firmwareVersion=ff\r\n ecmMac=<null>\r\n receiverId=<null>\r\n controllerId=<null>\r\n channelMapId=<null>\r\n vodId=<null>\r\n bypassFilters=[]\r\n forceFilters=[]\r\n capabilities=[]\r\n timeZone=UTC\r\n time=2016-12-16T14:11:00.000\r\n ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE 44ac4348-7e76-4710-b64d-0d92baf388de: Arris_XB3_DevOps\n received config: FirmwareConfig[\r\n description=tg1682_2.0p2s4_prodse_signed\r\n supportedModelIds=[TG1682G]\r\n firmwareDownloadProtocol=tftp\r\n firmwareFilename=tg1682_2.0p2s4_prodse_signed.bin.ccs\r\n firmwareLocation=162.150.228.179\r\n firmwareVersion=TG1682_2.0p2s4_PRODse\r\n ipv6FirmwareLocation=<null>\r\n upgradeDelay=<null>\r\n rebootImmediately=true\r\n id=64ba7bfb-db90-4f7d-8271-1d7a61273cef]\n was blocked/modified by filter REBOOT_IMMEDIATELY_FILTER[ FirmwareRule{id='539dfdae-fb14-4066-a3b1-6d10066aa31f', name='Arris_XB3_test', type=REBOOT_IMMEDIATELY_FILTER} ]", |
...
"config": { |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "tg1682_2.0p2s4_prodse_signed.bin.ccs", |
...
"firmwareLocation": "162.150.228.179", |
...
"firmwareVersion": "TG1682_2.0p2s4_PRODse", |
...
"rebootImmediately": true |
...
} |
...
}, |
...
{ |
...
"input": { |
...
"estbMac": "5C:8F:E0:A5:86:E0", |
...
"firmwareVersion": "asdf", |
...
"bypassFilters": [], |
...
"forceFilters": [], |
...
"capabilities": [], |
...
"timeZone": "UTC", |
...
"time": "12/16/2016 14:10:00", |
...
"ipAddress": "0:0:0:0:0:0:0:1", |
...
"rcdl": false, |
...
"rebootDecoupled": false, |
...
"supportsFullHttpUrl": false |
...
}, |
...
"rule": { |
...
"type": "MAC_RULE", |
...
"name": "Arris_XB3_DevOps", |
...
"noop": false |
...
}, |
...
"filters": [ |
...
{ |
...
"type": "DownloadLocationRoundRobinFilter", |
...
"id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER", |
...
"name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE", |
...
"noop": true |
...
}, |
...
{ |
...
"type": "REBOOT_IMMEDIATELY_FILTER", |
...
"name": "Arris_XB3_test", |
...
"noop": true |
...
} |
...
], |
...
"explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@1404ed57[\r\n estbMac=5C:8F:E0:A5:86:E0\r\n env=<null>\r\n model=<null>\r\n firmwareVersion=asdf\r\n ecmMac=<null>\r\n receiverId=<null>\r\n controllerId=<null>\r\n channelMapId=<null>\r\n vodId=<null>\r\n bypassFilters=[]\r\n forceFilters=[]\r\n capabilities=[]\r\n timeZone=UTC\r\n time=2016-12-16T14:10:00.000\r\n ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE 44ac4348-7e76-4710-b64d-0d92baf388de: Arris_XB3_DevOps\n received config: FirmwareConfig[\r\n description=tg1682_2.0p2s4_prodse_signed\r\n supportedModelIds=[TG1682G]\r\n firmwareDownloadProtocol=tftp\r\n firmwareFilename=tg1682_2.0p2s4_prodse_signed.bin.ccs\r\n firmwareLocation=162.150.228.179\r\n firmwareVersion=TG1682_2.0p2s4_PRODse\r\n ipv6FirmwareLocation=<null>\r\n upgradeDelay=<null>\r\n rebootImmediately=true\r\n id=64ba7bfb-db90-4f7d-8271-1d7a61273cef]\n was blocked/modified by filter REBOOT_IMMEDIATELY_FILTER[ FirmwareRule{id='539dfdae-fb14-4066-a3b1-6d10066aa31f', name='Arris_XB3_test', type=REBOOT_IMMEDIATELY_FILTER} ]", |
...
"config": { |
...
"firmwareDownloadProtocol": "tftp", |
...
"firmwareFilename": "tg1682_2.0p2s4_prodse_signed.bin.ccs", |
...
"firmwareLocation": "162.150.228.179", |
...
"firmwareVersion": "TG1682_2.0p2s4_PRODse", |
...
"rebootImmediately": true |
...
} |
...
} |
...
] |
Request
Code Block | ||||
---|---|---|---|---|
| ||||
http://<host>:<port>/featureControl/getSettings?estbMacAddress=8C:00:34:00:99:00&model=XYZ&channelMapId=1234aa |
Header
Code Block | ||||
---|---|---|---|---|
| ||||
Accept: application/json |
...
or Accept: application/xml |
Response
Code Block | ||||
---|---|---|---|---|
| ||||
{ |
...
"featureControl": { |
...
"features": [ |
...
{ |
...
"name": "likeSimple", |
...
"effectiveImmediate": true, |
...
"enable": true, |
...
"configData": { |
...
"like": "simple" |
...
} |
...
} |
...
], |
...
"configset-id": "2c628aa6-7372-4b2a-bbcc-2fe8a33b1b3d", |
...
"configset-label": "likeSimple" |
...
} |
...
} |