This page is under development

Introduction

FirmwareSanity is a RDK-B component that validates the firmware of the Broadband gateway. The gateway sets firmware validity flag to FALSE after downloading new firmware, prior to rebooting. If firmware validity flag is FALSE at boot, broadband gateway:

  1. Enables hardware watchdog timer as soon as Linux kernel executes and pings hardware watchdog timer every 15 seconds.
  2. Determines reachability of configurable URL (Xconf or other) and runs 60 minute timer, and if both reachability test and timer complete successfully, broadband gateway sets firmware validity flag to TRUE and boot count to 0.

A check is put in place as part of this component to avoid a scenario where a newly downloaded image crashes right after bootup and end up in a loop where it boots up and crashes continuously, we mark the new image as “good” once it has 

  1. Established communications with XConf (guaranteeing that it can download a new image if need be).
  2. Operational for some period of time

Once the newly downloaded image is confirmed as “good” only then we update the bootloader to flag that the bootloader can pick this image on subsequent reboots.


Code Flow

How It Works

Feature configuration

Validation can be done by

  1. Defining the firmware config
  2. Defining the firmware rule
  3. Defining the Firmware Download Location

Sample




Feature validation

Client end verification (RPI)

  • As soon as the box comes up , check for “cat /version.txt” , which should hold the flashed image
  • Verify the below log files for curl response , Xconf http code and upgrade logs

  • No labels