RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Children Display |
---|
Table of Contents |
---|
Info |
---|
This Page is under Development |
This document describes the firmware update of RPI board using FirmwareControl plugin.Plugin can be enabled via controller UI once image is booted. Based on the request given to board, tarred firmware image is downloaded to RPI board from the given HTTP server and the image is updated accordingly.
The build procedure is as follows:
Note |
---|
|
Image is flashed to SD card before inserting to RPI board.
sd-card size requisite It is must to have minimal size of 8GB SD-Card for Firmware upgrade support |
Command to flash the image
Generated image has to be flashed to an SD card using this command in local PC:
$ sudo dd if=<path to ImageName.rpi-sdimg> of=<path to SD card space> bs=4M
Ex: $ sudo dd if=rdk-generic-hybrid-thunder-image_default_ |
...
20200302130659.rootfs.rpi-sdimg of=/dev/ |
...
sdc bs=4M |
The SD card is then inserted to the Raspberry Pi board and booted to check for containers created.
The Raspberry Pi board is connected to the PC via a USB to serial converter and the logs can be checked in console or can be connected via HDMI cable to a TV and logs will be shown in the terminal
For testing Firmware Control plugin , we need HTTP server that hosts the tarred image.
draw.io Diagram diagramName Test Setup.drawio revision 1
For setting up a HTTP server we can use Apache 2.0 or lighttpd. Below are the steps for HTTP server using Apache 2
Server can be connected using http request, http://<ip of device> (ex: http://192.168.2.8)
We should place tar file to document root folder for accessing it. Check document root folder mentioned in conf file. This can be found in path /etc/apache2/sites-available/.
Ex: vim /etc/apache2/sites-available/000-default.conf <VirtualHost *:80> |
---|
FirmwareControl plugin is enabled or disabled via Controller UI. Controller UI is launched using browser via http://<board ip>
Ex: http://192.168.2.20
Upon booting the image, firmwareControl plugin will be disabled
...
Plugin needs to be enabled before proceeding with firmware update.
cat /etc/WPEFramework/plugins/FirmwareControl.json { "locator":"libWPEFrameworkFirmwareControl.so", "classname":"FirmwareControl", "autostart":false, "configuration":{ "download":"/var/lib", "waittime":600000 } }root@raspberrypi-rdk-hybrid-thunder:~# |
---|
Execute curl request for firmware update. One more memory partition is created and device auto reboots.
|
---|
Eg: sha256sum mediaclient.tar.gz 21dd673fad68fbfd418e7bd9f0f16cb359c5743b4724c9af7347278e3183f2e4 mediaclient.tar.gz |
---|
Please find the summary on firmware upgrade explained above
...
root@raspberrypi-rdk-hybrid-thunder:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.1G 607.4M 443.3M 58% / devtmpfs 300.5M 0 300.5M 0% /dev tmpfs 305.0M 4.0K 305.0M 0% /dev/shm tmpfs 305.0M 8.4M 296.6M 3% /run tmpfs 305.0M 0 305.0M 0% /sys/fs/cgroup tmpfs 305.0M 292.0K 304.7M 0% /tmp tmpfs 305.0M 292.0K 304.7M 0% /etc/snmp/snmpd.conf tmpfs 305.0M 28.0K 305.0M 0% /var/volatile /dev/root 1.1G 607.4M 443.3M 58% /var/lib root@raspberrypi-rdk-hybrid-thunder:~# |
---|
<Briefly describe and graphically depict as appropriate the equipment, communications, and network configuration of the system in a way that a non-technical user can understand>
<Provide detailed information and describe the procedures necessary to access the system. If applicable, include how to get a user ID and log on to the system, as well as the actions a user must take to change and/or reset a password.>
<Describe how system flow is happening mentioning checkpoints which can be verified during flow to ensure system is working as expected>
<Mention the validation artifacts that are essential to ensure the functionality is working as expected. Also any limitation while closing the validation process>
Describe the specific system function or feature in detail and depict graphically by including screen prints and descriptive narrative as appropriate. Ensure each screen print is captioned and has an associated tag providing appropriate alternative text
Follow the above for sub feature / use cases
<Identify the error messages that a user may receive and the likely cause(s) and/or possible corrective actions for the error>
<If applicable, describe any special circumstances, actions, exceptions, etc., that should be considered for troubleshooting.>
Contact
Organization
Phone
Role
<Contact Name>
<Organization>
<Phone>
<Email>