CcspPsm

Created on June 21, 2022


Introduction

  • PSM (Persistent Storage Manager) component is responsible for the storage of default/system configurations.
  • Provides software interfaces and abstractions to read/write variables stored in persistent storage and read factory config variables.
  • PSM holds mainly parameters related to hardware configuration.
  • In dual processor architecture a process running in peer processor can access PSM DB over DBUS.
  • All defaults/system configuration which are not modified during runtime are part of PSM.
  • PSM should be up and running for normal configuration of RDKB unit.
  • For WiFi initialization, PSM holds all default values of OEM specific custom parameters which is fetched through PSM HAL.

Architecture

 

Figure 1 – Architectural view of PSM sub-system

Code Flow

Initialization

 

Figure 2 – Initialization of PSM sub-system

Current and default configuration files

PSM properties files

Configuration files are saved as below on the device:

  • /usr/ccsp/config/bbhm_def_cfg.xml
  • /nvram/bbhm_bak_cfg.xml
  • /nvram/bbhm_cur_cfg.xml

Factory reset removes the configuration files from nvram and copies default file to nvram.

 To prevent system configuration file from becoming corrupted or lost when the device is suddenly rebooted or power loss conditions, following counter-measures are in place:

  • First copy the current system file into the backup file
  • Then flush the configuration into the current file

Reading configuration

 

Figure 3 – Reading Configuration

  • PsmSysroCfmReadCurConfig/PsmSysroCfmReadDefConfig – This function is called to read the current or default Psm configuration into the memory.
  • AnscReadFile – performs a sequential read

Restore configuration is tried first from the current system file. If it passes the verification, read is done otherwise restore configuration is tried from the backup system file. If it passes the verification, read is done otherwise restores the factory default configuration. This step has to succeed since there is no any other plan to back it up.

Get values from PSM

 

Figure 4 – Retrieving Parameter

Using CLI utility:
psmcli get <parameter name as in bbhm file>
Eg: psmcli get eRT.com.cisco.spvtg.ccsp.Device.WiFi.NotifyWiFiChanges

Set values for PSM

 

Figure 5 – Setting Parameter

Using CLI utility:
psmcli set <parameter name as in bbhm file>
Eg: psmcli set eRT.com.cisco.spvtg.ccsp.Device.WiFi.NotifyWiFiChanges true

 

PSM CLIENT Operation

PSM CLI operation information captured here PSM CLI Operations.

 

Go To Top