Versions Compared

Key

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

...


  • TFTP Server Setup

    STEP 1:
    Install xinetd and tftpd-hpa application in your local PC to setup tftp server by using below command
    sudo apt-get install xinetd
    sudo apt-get install tftpd-hpa

...

  • Procedure for image flashing
    • Have 2 different broadband images and copy to the linux machine
  • Flash a image to the SD card(SD card Minimum size should be 8GB)
    → for Morty version
        sudo dd if=<image> of=/dev/sdb bs=4M
        Example : $ sudo dd if=rdkb-generic-broadband-image_default_20190808132609.rootfs.rpi-sdimg of=/dev/sdb bs=1M
    → For dunfell version
         bzip2 -d <image>
         sudo -E bmaptool copy --nobmap <image> /dev/sdb
         Example:
         $ bzip2 -d rdk-generic-broadband-image-raspberrypi-rdk-broadband.wic.bz2
         $ sudo -E bmaptool copy --nobmap rdk-generic-broadband-image-raspberrypi-rdk-broadband.wic /dev/sd

...

    • Copy both (image as well as the checksum) to tftp server
      for Ex:
      md5sum "rdkb-generic-broadband-image_rdk-next_20251201131409.bin.wic.bz2" > rdkb-generic-broadband-image_rdk-next_20251201131409.bin.wic.bz2.txt
      cp -r rdkb-generic-broadband-image_rdk-next_20251201131409.bin.wic.bz2  rdkb-generic-broadband-image_rdk-next_20251201131409.bin.wic.bz2.txt  /home/xyz/tftphometftphome     

...

Xconf Server UI Configurations

  • Create Model
    Flow: Xconf-Server ->Common ->Models
    Give ID and Description to setup Model for your device and save that details in xconf server.

...

  • Edit Download Location Round Robin Filter
    Flow: Xconf-server -> Firmware -> Download Location Filter -> Edit
    After entered Download Location Filter page press Edit button to add your Download Location detail.
    Location (FQDN) : <xconf.rdkcentral.com>
    Location (full HTTP Location) : <https://xconf.rdkcentral.com/xconf/upload/>
    TFTP :< Tftp server IPv4 and IPv6 Address> 

...

  • Client end Configurations and verification (in BPI)
    Verify the CLOUDURL URL in /etc/include.properties File
    CLOUDURL="https://xconf.rdkcentral.com/xconf/swu/stb?eStbMac="
    Code Block
    root@Filogic-GW:~# cat /etc/include.properties   
    LOG_PATH=/rdklogs/logs
    CRON_SPOOL=/var/spool/cron/crontabs
    CRON_FIFO_FILE=/etc/cron.d/FIFO
    PERSISTENT_PATH=/nvram
    RAMDISK_PATH=/tmp
    TEMP_LOG_PATH=/var/logs
    UTILITY_PATH=/lib/rdk
    RDK_PATH=/lib/rdk
    EROUTER_INTERFACE=erouter0
    TELEMETRY_JSON_RESPONSE=/nvram/rtl_json.txt
    
    CLOUDURL="https://xconf.rdkcentral.com/xconf/swu/stb?eStbMac="
  • Verify the contents of /etc/dcm.properties
    Code Block
    root@Filogic-GW:~# cat /etc/dcm.properties 
    LOG_SERVER=xconf.rdkcentral.com
    DCM_LOG_SERVER=https://xconf.rdkcentral.com/xconf/logupload.php
    DCM_LOG_SERVER_URL=https://xconf.rdkcentral.com/loguploader/getSettings
    DCM_SCP_SERVER=xconf.rdkcentral.com
    HTTP_UPLOAD_LINK=https://xconf.rdkcentral.com/xconf/telemetry_upload.php
    DCA_UPLOAD_URL=xconf.rdkcentral.com
    
    DCM_HTTP_SERVER_URL=https://xconf.rdkcentral.com/xconf/telemetry_upload.php
    DCM_LA_SERVER_URL=https://xconf.rdkcentral.com/xconf/logupload.php
  • Check the current image version using  “cat /version.txt”
    Code Block
    root@Filogic-GW:~# cat /version.txt 
    imagename:rdkb-generic-broadband-image_rdk-next_20251204071936
    BRANCH=rdk-next
    YOCTO_VERSION=kirkstone
    VERSION=6.1.12.04.25
    SPIN=0
    BUILD_TIME="2025-12-04 07:19:36"
    JENKINS_JOB=Default
    JENKINS_BUILD_NUMBER=0
    Generated on Thu Dec 04  07:19:36 UTC 2025
  • Verify if Firmware job is available using the command "crontab -l | grep fwupgrade" as shown below
    Code Block
    root@Filogic-GW:~# crontab -l | grep fwupgrade
    */15 * * * * /usr/bin/fwupgrade >> /var/log/fwupgrade_cron.log 2>&1
  • Automatically the Firmware upgrade job will be triggered every 15mins of current system time.
  • Once the Firmware Upgrade job is started, verify the log file - /var/log/fwupgrade.log
    Code Block
    cat /var/log/fwupgrade.log
    cloudFWFile     : rdkb-generic-broadband-image_rdk-next_20251103090407.bin.wic.bz2
    cloudFWLocation : 192.168.0.7
    cloudFWVersion  : rdkb-generic-broadband-image_rdk-next_20251103090407.bin.wic.bz2.txt
    cloudProto      : http
    Active root partition: /dev/mmcblk0p4
    downloading image using curl -fgLo /tmp/rdkb-generic-broadband-image_rdk-next_20251103090407.bin.wic.bz2.txt  http://192.168.0.7/rdkb-generic-broadband-image_rdk-next_20251103090407.bin.wic.bz2.txt  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100    99  100    99    0     0  42471      0 --:--:-- --:--:-- --:--:-- 49500
    Xconf-server Version: rdkb-generic-broadband-image_rdk-next_20251103090407
    Current Partition Version: rdkb-generic-broadband-image_rdk-next_20251103110434
    Passive Partition device: /dev/mmcblk0p8
    Mount successful and version.txt found at /mnt/passiveroot/version.txt
    Passive Partition Version: rdkb-generic-broadband-image_rdk-next_20251103110434
    Passive partition does not contain version.txt yet.
    Neither active nor passive have the required version. Proceeding with upgrade...
    Opened /tmp/xconf_flag for writing
    Successfully wrote to /tmp/xconf_flag
    the value of Xconf upgarde flag  is 1CR component name is: eRT.com.cisco.spvtg.ccsp.CR
    subsystem_prefix eRT.
    Execution succeed.CR component name is: eRT.com.cisco.spvtg.ccsp.CR
    subsystem_prefix eRT.
    Execution succeed.CR component name is: eRT.com.cisco.spvtg.ccsp.CR
    subsystem_prefix eRT.
    Execution succeed.CR component name is: eRT.com.cisco.spvtg.ccsp.CR
    subsystem_prefix eRT.
    Execution succeed.[INFO] Firmware upgrade is in progress.....
  • Verify the tftp/http download is happening by noticing the change of file size using below command:
    ls /mnt/bootpart/ -sh  (use this command frequently to verify the file size change)
    Code Block
    root@Filogic-GW:~# ls /mnt/bootpart/ -sh
    total 203M
     16K lost+found  203M rdkb-generic-broadband-image_rdk-next_20250916120622.bin.wic.bz2
    root@Filogic-GW:~# ls /mnt/bootpart/ -sh
    total 205M
     16K lost+found  205M rdkb-generic-broadband-image_rdk-next_20250916120622.bin.wic.bz2
    root@Filogic-GW:~# ls /mnt/bootpart/ -sh
    total 207M
     16K lost+found  207M rdkb-generic-broadband-image_rdk-next_20250916120622.bin.wic.bz2
    root@Filogic-GW:~# ls /mnt/bootpart/ -sh
    total 209M
  • Once image download completed, the BPI board will auto reboot and come up with downloaded image.
    Code Block
  • Once the board comes up, check the image loaded in the box using “cat /version.txt” command .It will be upgraded with the image from xconf-server.
    Code Block
    root@Filogic-GW:~# cat /version.txt 
    imagename:rdkb-generic-broadband-image_rdk-next_20250916120622
    BRANCH=rdk-next
    YOCTO_VERSION=kirkstone
    VERSION=6.1.09.16.25
    SPIN=0
    BUILD_TIME="2025-09-16 12:06:22"
    JENKINS_JOB=Default
    JENKINS_BUILD_NUMBER=0
    Generated on Tue Sep 16  12:06:22 UTC 2025

NOTE : Every time need to flash the different images . Because, here they are using the bank switching approach where the images will be stored in the cloud.
So for the next time, when you try to flash the same image to SD card , the firmware upgrade will not happen . The reason is, it will check in the bank (cloud – active and passive banks). If the image is already available in any one of the bank, then it will not go for image upgrade. 

If you want recover previous image, execute the below command and the device will boot up with the passive bank image.

Code Block
root@Filogic-GW:~# /usr/bin/fwupgrade recover
[INFO] Running recovery process...
recovering base image has startedbl2 and fip 2 are ready to swapping
All done. Rebooting...
Connection to 192.168.2.15 closed by remote host.
Connection to 192.168.2.15 closed.
chtsl00601@chtsl00601-Latitude-3420:~$

...