Pre-requisites

  • The user must configure a local TFTP (Trivial File Transfer Protocol) or HTTP (Hypertext Transfer Protocol) server.
  • Ensure that both the local HTTP/TFTP server and the device are on the same network

Overview

This page details how to perform firmware upgrade using RDKM XConf Server.

RDKM offers a reference XConf server that is publicly accessible at the URL XConf.rdkcentral.com. Users have the option either use this XConf server or can create their own.

If you are interested in setting up a custom XConf server, please visit the page  https://wiki.rdkcentral.com/display/RDK/XConf+Server+-+User+guide+for+configuration+and+feature+validation for detailed instructions on installation and a usage guide.

The primary focus of this page is to guide you through the process of firmware upgrade using the RDKM XConf server XConf.rdkcentral.com

User would be able to see two options in the landing page

  1.  XConf Admin UI
  2. XConf Data service


User can configure firmware rules, configurations, Telemetry settings, RFC settings etc in the admin UI. While  dataservice, currently tells the XConf version information - Which version is used, when was it updated lastly and the commit informations etc.


Configure the device in XConf Server

In order to configure the device information user needs to login to XConf admin UI . For getting the access details, refer this page XConf Reference Setup Credentials and fill the information in admin UI and press login button.

Once logged in, Users need to do basic configuration like setting up the environment, Creating the model information, Saves the mac Lists, IP Lists. These configurations are required for all device management features like RFC, Firmware upgrade, Telemetry etc.


Common Configurations

Create Environment

  • Select Environments option within Common list to enter Environment 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


Create Model

  • Select Models option within Common list to enter Model 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.


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.

User also has the option to choose multiple mac address from a file. User can use a browse button on the right side of the UI to select the files which holds the mac addresses. 

Note: All formats are not accepted here. each line holds only a single mac address

Eg: 
AA:AA:AA:AA:AA:AA
BB:BB:BB:BB:BB:BB
  • Press the Add '+' button
  • Then press save


Create IP Lists

  • Select IP Lists option within Common list to enter IP Lists page.
  • After entering IP Lists page press create button to add your device IP detail.
  • Give Name and Data to set IP detail for your device and save those details in XConf server.


As our requirement is to perform firmware upgrade, User need to configure the information  like which Firmware version, From where to download the image and how(protocol) to download.

There are 3 significant steps involved in the XConf firmware upgrade configuration:

1. Firmware Config – The firmware details can be configured here.

    Where : Go to Firmware - > Firmware Configs -> Create.

    How : Add your firmware details - File name ( Upgrading image name ), Version( Upgrading image version) and select your model name and save the details in XConf server.

Create Firmware Config

Before configuring Firmware essentials, Ensure application type is stb.

    • Select Firmware Config option within Firmware 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.


2. Firmware rule – Rule is to map your device to the configuration created.

    Where : Go to Firmware -> FirmwareRule - > Create.

     How : Select one of the default template like MAC_RULE.

Enter name of the rule, build condition (you can add estbMacAddress i.e. )

select the firmware config from the drop down list to map it with the rule

Create Firmware Rules

    • Select Firmware Rules option within Firmware 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 select 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.



3. Download Location Filter – Here we can specify the download location URL and it’s protocol.

  There is a by default location available in Download Round Robin location filter’, but admin can set up an alternative download location for hosting the firmware image using any local file server . To add alternative location for the device, we need to override it from firmware rules.

  •  Go to Firmware -> Firmware Rules -> Define Properties -> Create
  •  A page will be displayed with options to select the template. Select ‘DOWNLOAD_LOCATION_FILTER’ from the list
  • In this 'firmware rule' page with type 'DOWNLOAD_LOCATION_FILTER', we can specify the firmwareDownloadProtocol and firmware location . This property will override the default value set from ‘Download Round Robin location filter’.
  •  Add the firmwareDownloadProtocol and the local http/tfp location as the firmwareLocation in XConf server. (Make sure local server and STB are in same network)


By default, rebootImmediately flag will be false. If we need to perform reboot immediately after writing the image to other partition, User can configure REBOOT_IMMEDIATELY_FILTER

  •  Go to Firmware -> Firmware Rules -> Define Properties -> Create
  •  A page will be displayed with options to select the template. Select ‘REBOOT_IMMEDIATELY_FILTER’ from the list
  • In this 'firmware rule' page with type 'REBOOT_IMMEDIATELY_FILTER', we can specify the 'rebootImmediately’ as true.



Now we have everything configured in the XCONF server side. we can validate in the XConf Firmware test page to see the configurations set.

Verification using 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. 


     



How to perform the Firmware upgrade in STB 

RDKUI provides the option to perform the firmware upgrade. User can go to Settings->Other Settings->Advanced Settings-> Device -> Firmware Update

Select Check for Update



As this being the reference UI, Current implementation is using only the API calls not the Events of plugin and API is invoked only when a page transition is done. So we may need to go to the previous screen's in order to see the transitions


  • State indicates validation is completed


  • State indicates when preparing for reboot 

STB will check for upgrade and downloads to the other partition and next time boots up with this image. If reboot immediately filter is set to true in the XConf server, STB will go for immediate reboot once the image write is successful in the other partition.



  • No labels