Versions Compared

Key

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

Children Display

Table of Contents

Introduction

The Firmware upgrade will upgrade higher or lower version of the current image in RPI target with the help of Xconf server and Local TFTP server.

This page dedicated to bringing up and validation of Firmware upgrade in R-Pi Zero. 

Environment Setup

Refer below link for RPI-0 Environment setup

RDK-C Environment Setup

Yocto Build Steps

Refer below link to build camera image

RDK-C Build Instructions Instruction for RRPI-Pi0

Image Flash Procedure

Code Block
languagebash
titleImage Flash step
$ sudo dd if="Image Name" of="Device Name" bs=4M

Example:
sudo dd if=rdk-generic-camera-image_default_20200130060729.rootfs.rpi-sdimg of=/dev/sdb bs=4M

Test Setup Block Diagram for RPI RDK-C Firmware Upgrade


Firmware Upgrade Validation Procedure

TFTP Server Setup

STEP 1:

Install xinetd and tftpd-hpa application in your local PC to setup tftp server by using below command

...

Code Block
languagebash
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd restart

XCONF Server Setup

XConf URL

Enter XConf server wiki page with below URL to create Environment,Model,Mac list,Firmware config,Firmware rule and Download Location Round Robin Filter.

Code Block
languagebash
titleXConf URL
http://35.155.171.121:9093/admin/ux

Create Environments

STEP 1:

Select Environments option within common list to enter Environments page.

...

Give ID and Description to setup Environment for your device and save that details in xconf server..

Create Model

STEP 1:

Select Models option within common list to enter Models page.

...

Give ID and Description to setup Model for your device and save that details in xconf server..


Create MAC List

STEP 1:

Select MAC Lists option within common list to enter MAC Lists page.

...

Give Name and Data to set MAC detail for your device and save that details in xconf server..

Create Firmware config

Ensure application type is stb. If the application type is xhome then change application into stb.

...

Give Description,File name ( Upgrading image name ),Version( Upgrading image name without .rootfs.rpi.sdimg) and select your model name and save the details in xconf server.

Create Firmware Rule

STEP 1:

Select Firmware Rule option within common list to enter Firmware Rule page.

...

Select your firmware config under Action option and save your Firmware rule in XConf server.


Edit Download Location Round Robin Filter

STEP 1:

Select Download Location Filter option within common list to enter Download Location Filter page.

...

Give TFTP server running IP address to download image.


Verify XConf server configuration

Verify that XConf Server configuration displays the Json response from the mentioned URL:

...

For Ex: http://35.155.171.121:9092/xconf/swu/stb?eStbMac=B8:27:EB:2E:72:2B

RPI-Board

  1. Flash the RDKC image supported for Firmware upgrade feature in the Rpi and verify the 2 partitions(ex. mmcblk0p1, mmcblk0p2) present under dev folder (use command ls /dev)
  2. Device auto-reboots and verify there are 2 more additional partitions are created (ex. mmcblk0p3, mmcblk0p4).
  3. Open /etc/include.properties file and verify the CLOUDURL parameter where XConf Server URL is configured
  4. Verify the image version ( cat /version.txt) displays the flashed image version
  5. Open /rdklogs/logs/swupdate.log to verify the communication from RPI board with XConf Server and the download status
  6. Verify the tftp download is happening by noticing the change of file size using below command: ls /extblock/tftpimage/imagedwnldls  -sh  (use this command frequently to verify the file size change)
  7. Once image download completed, the Rpi board will auto reboot and come up with downloaded image
  8.  Verify the version of booted image which shows the downloaded image version

Conclusion

Please find the summary on firmware upgrade explained above

...

https://youtu.be/CZhsVBEMYuk

Limitations

RPI will support only tftp protocol . No http protocol support is provided yet.