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.
...
![](/download/attachments/238229467/login-page.png?version=1&modificationDate=1674042840000&api=v2)
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 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.
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)
...