Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents
maxLevel1

Introduction

In RDK, User Initiated Firmware

Info

This page is under construction

Introduction

The firmware upgrade can be achieved through the RDK4 System plugin as well as using the systemd service.

User Initiated FW upgrade is handled by org.rdk.System Plugin through ‘updateFirmware’ method. System plugin will invoke ‘deviceInitiatedFWDnld.sh’  script to communicate with Xconf server and fetch firmware information. Image download will be initiated by ‘deviceInitiatedFWDnld.sh’. Once download is completed then a device specific script will be executed. The device specific script can have implementation specific to the platform and will invoke the Flash Utility after verifying integrity of the firmware.

...

  • Admin: Responsible for configuring the XConf firmware control rules specific to the model and upload the stable release firmware image to the file server.
  • File Server: It hosts the firmware upgrade package. Could be supporting various protocols (HTTP,HTTPS, FTP, SFTP, TFTP etc) but these are not coming under Xconf's scope. XConf provides a File Server to host the firmware upgrade package but it it does not mandate to use the same.
  • XConf Server: When an STB queries for details about any available update, XConf shares the available details of firmware update package to STB after matching against its configured rules for that STB make & model.
  • STB: This could be any RDKV flavor (IP/Hybrid STB, TV Platforms etc).  


How to prepare XConf Server

Xconf server provide information to STB like which Firmware version, From where to download the image and how(protocol) to download.

...

  • Xconf server login page can be accessed from https://xconf.rdkcentral.com:19093/admin/ux/loginForm
  • Xconf authorization works through servlet filter, the login page will be intercepted by the servlet filter. After successful login, backend API will be called to retrieve all the matching user information and permissions.
  • The permissions can be admin permission-permitAll or list of permissions for each page like –read/write common, ‘read-dcm-stb’ etc. Each page has a permission verification on each access. There is permission verification in the UI action elements also. For example, if you want to edit or write a firmware rule, the user should have write firmware permission.
  • If the user wants both read and write permissions ,then enter username and password for the login as 'admin' and 'admin' respectively

  • If the user wants only read permissions ,then enter username and password for the login as 'admin' and 'RdkXcadm$2120' respectively.For accessing the XCONF server,  refer this section Xconf Reference Setup Credentials

Create Environment

  • Select Environments option within common list to enter Environments page.
  • After entered Environments page press create button to add your device environment detail.
  • Give ID and Description to setup Environment for your device and save those details in Xconf server

Image Added


Create Model

  • Select Models option within common list to enter Models page.
  • After entered Models page press create button to add your device model detail.
  • Give ID and Description to setup Model for your device and save those details in Xconf server.

Image Added


Create Mac List

  • Select MAC Lists option within common list to enter MAC Lists page.
  • After entered MAC Lists page press create button to add your device MAC detail.
  • Give Name and Data to set MAC detail for your device and save those details in Xconf server.

Image Added


Create Firmware Config

Before configuring Firmware essentials, Ensure application type is stb.

  • Select Firmware Configs option within common list to enter Firmware Configs page.
  • After entered Firmware Configs page press create button to add your device firmware configuration detail.
  • Give Description, File name ( Upgrading image name ), Version( Upgrading image name) and select your model name and save the details in Xconf server.

Image Added

Create Firmware Rules

  • Select Firmware Rule option within common list to enter Firmware Rule page.
  • After entered Firmware Rule page press create button to add your device firmware Rule detail.
  • After entered firmware Rule page you can see list of default templates(ENV_MODEL_RULE, IP_RULE, MAC_RULE etc.)
    Note: If we need to create new custom template, go to Firmware → Firmware templates. Enter the ID name. Select priority from the 'Priority' drop down menu. Add conditions. Once saved s
    elect the new template to create firmware rule
  • Choose MAC_RULE(any required template) in this list of Template to add your device MAC list in Firmware Configuration.
  • After we select the required template, 'Add firmware Rule' page will be displayed. Here the build conditions will be present from the 'template' that we added and in addition to that we can add additional Build Conditions also.
  • Add your device specific eStbMac under build condition option.
  • Select your firmware config under Action option and save your Firmware rule in XConf server.

Image Added


Edit Download Location Round Robin Filter

...

Add the firmwareDownloadProtocol and copied link address as the firmwareLocation in Xconf server.

Image Added


Validation Steps

Verification via Xconf firmware Test page

After creating the Firmware configs and Firmware rules, go to Firmware->Test page and give a parameter that will match the one of the rules that you have created. Then matched rule will be displayed like below. 


     Image Added


Verification via curl command:

...

The cloud URL should be set in the file /etc/include.properties (In RPI images, this configuration is enough)

...