You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Host Setup

The OpenEmbedded build system should be able to run on Ubuntu 18.04 distribution/other compatible linux distribution with the following versions for Git, tar, and Python.

  • Git 1.8.3.1 or greater
  • tar 1.27 or greater
  • Python 3.4.0 or greater
  • Coreutils(E.g realpath)

Note: You should also have about 50 Gbytes of free disk space for building images.

The essential packages you need for a supported Ubuntu or Debian distribution are shown in the following command:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
  build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
  xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
  pylint3 xterm bmap-tools

$ sudo apt-get install git cmake autoconf texinfo openjdk-8-jdk openjdk-8-jre \
  m4 libtool libtool-bin curl pkg-config lib32z1 doxygen

Repo Setup

In order to use Yocto build system, the repo tool must be properly installed on the machine.

To install Repo make sure you have a /bin directory in your home directory and that it is included in your path

Repo Setup Steps
$ mkdir ~/bin
$ PATH=~/bin:$PATH
Download the repo tool and ensure that it is executable
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

Note: it is also recommended to put credentials in ~/.netrc when interacting with repo.

A sample ~/.netrc file is illustrated below

.netrc
machine code.rdkcentral.com login YOUR_USERNAME password YOUR_PASSWORD

Yocto Build Steps

To build, follow below instructions

Build Steps
$ mkdir <workspace dir>
$ cd <workspace dir>
$ repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkb-extsrc.xml
$ repo sync -j`nproc` --no-clone-bundle

Please cherry-pick the below changes ,

Build Errors
$ cd ~/rdkb/components/opensource/ccsp/CcspMisc
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspMisc refs/changes/95/65895/1 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspCommonLibrary
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspCommonLibrary refs/changes/75/66175/4 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspXDNS
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspXDNS refs/changes/35/66035/1 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspLMLite
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspLMLite refs/changes/92/64692/4 && git cherry-pick FETCH_HEAD
$ cd ~/rdk/components/generic/WebconfigFramework 
          git fetch https://code.rdkcentral.com/r/rdk/components/generic/WebconfigFramework refs/changes/23/63823/6 && git cherry-pick FETCH_HEAD
$ cd ~/rdk/components/generic/telemetry
          git fetch https://code.rdkcentral.com/r/rdk/components/generic/telemetry refs/changes/12/65912/4 && git cherry-pick FETCH_HEAD 
$ cd ~/rdkb/components/opensource/ccsp/CcspPsm
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspPsm refs/changes/16/65916/1 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspMoCA
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspMoCA refs/changes/36/66036/1 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspHomeSecurity           
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspHomeSecurity refs/changes/15/66215/2 && git cherry-pick FETCH_HEAD 
$ cd ~/rdkb/components/opensource/ccsp/TestandDiagnostic
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/TestAndDiagnostic refs/changes/62/65862/2 && git cherry-pick FETCH_HEAD   
$ cd ~/rdkb/components/opensource/ccsp/CcspTr069Pa
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspTr069Pa refs/changes/34/66034/2 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/hotspot
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hotspot refs/changes/66/66066/1 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspEthAgent
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspEthAgent refs/changes/48/65848/3 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspSnmpPa
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspSnmpPa refs/changes/27/65327/2 && git cherry-pick FETCH_HEAD
$ cd ~/rdkb/components/opensource/ccsp/CcspPandM
          git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspPandM refs/changes/76/66176/2 && git cherry-pick FETCH_HEAD

Note : The above bug fixes changes are temporary given as instructions. This is not required once the change is gets merged into the appropriate repo.

Image Generation Steps
$ MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment
$ bitbake rdk-generic-broadband-image

Flashing Procedure

Following command can be used to flash the RPI image to sd card using linux machine . bmap tool should be available in linux

Flash command
bzip2 -d <path to ImageName.wic.bz2>
sudo -E bmaptool copy --nobmap <path to ImageName.wic> <path to SD card space>

Example:

$ bzip2 -d rdk-generic-broadband-image-raspberrypi4-64-rdk-broadband.wic.bz2
$ sudo -E bmaptool copy --nobmap rdk-generic-broadband-image-raspberrypi4-64-rdk-broadband.wic /dev/sdb

Validated Functionalities


No

Feature

Supported

1LAN Connected Devices-Ethernet(tick)
2WAN Connected Devices-Wi-Fi(tick)
3Parental Control(error)
4Firewall settings(tick)
5Advanced Config: Port Triggering(error)
6Advanced Config: Port Forwarding(error)
7Advanced Config: Remote Management(tick)
8Advanced Config: DMZ(tick)
9Xfinity Wi-Fi 2.4/5 GHz – Public Hotspot(tick)
10Test and Diagnostics(tick)
11Local WebUI Configuration(tick)
12Factory Reset(tick)
13DHCP /Reserved IP(tick)
14EthWan(error)
15Eth Agent(tick)
162.4 GHz Band Support(tick)
175 GHz Band Support(tick)
18Bridge Mode Support(tick)
19Persistent Storage Management(tick)
20WebPA for Comcast,community(tick)
21Lost and Found(error)
22Bluetooth(error)
22Harvester Support(error)
23TR-69(error)
24SNMP(tick)
27Boot time data measurement(error)
28Wireless Protection Setup(WPS)(tick)
29Captive Portal(tick)
30Wi-Fi MAC Filtering(error)
31Log Rotation Support(tick)
32Firmware Upgrade Support(tick)
33Multiboot Support(error)
34Telemetry Support(tick)
35IPV6(error)
     36

Log level control through CcspLogAgent

                     (tick)
      37

Band Steering using RSSI

                     (tick)  
      38

Backup and Restore

                     (error)
      39

SelfHeal

                     (tick) 
       40Password-Reset                     (tick) 
       41WebUI JST                      (tick) 
      42Telemetry 2                     (tick) 
      43RdkWanManager                     (tick) 
      44RdkFwUpgradeManager                     (tick) 


Known Issues

  1.  Parental Control & PF feature's are not working
  2.  None of the ccsp components are not started due to CR crash if dbus process is running

Performance comparison metrics between RPi4 64 bit Vs 32 bit


  • No labels