RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
The scope of this document is to capture the details for bring-up the RdkWanManager on Raspberry-pi platform using rdk-next branch. This
document also captures the issues that are faced during bring up and resolution for the same.
Please refer the below link for host environment set-up & flashing procedure for yocto build ,
Dunfell :
RPI 3B/3B+ Model Reference Platform
Morty:
To build, follow below instructions
$ 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
$ cd ~/rdkb/components/opensource/ccsp/CcspEthAgent $ git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspEthAgent refs/changes/98/58898/2 && git cherry-pick FETCH_HEAD $ cd ~/rdkb/components/generic/json-rpc $ git fetch https://code.rdkcentral.com/r/rdkb/components/generic/json-rpc refs/changes/91/58891/1 && git cherry-pick FETCH_HEAD $ cd ~/rdk/components/generic/rdk_logger $ git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk_logger refs/changes/85/58885/1 && 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/51/58951/1 && git cherry-pick FETCH_HEAD $ cd ~/meta-cmf-broadband $ git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-cmf-broadband refs/changes/65/58865/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.
We are using the following distro features to enable rdkb wanmanager . Please add the following distro features into OEM machine configuration file,
Please open the below rpi machine configuration file and add the following line in that file .
$ vi ~/meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-broadband.conf DISTRO_FEATURES_append = " rdkb_wan_manager" |
---|
Also , we need to disable the GwProvapp-EthWan component in ccsp packagegroup . For that, please open the below file and add the following line in that file ,
$ vi ~/meta-cmf-raspberrypi/recipes-core/packagegroups/packagegroup-rdk-ccsp-broadband.bbappend GWPROVAPP = "" |
---|
Note : The above distro changes are temporary given as instructions. This is not required once the change is gets merged into the appropriate repo.
$ MACHINE=raspberrypi-rdk-broadband source meta-cmf-raspberrypi/setup-environment $ bitbake rdk-generic-broadband-image
We will get the following rdk-wanmanager compilation errors While bitbaking the target image,
$ cd ~/build-raspberrypi-rdk-broadband/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/rdk-wanmanager/1.99+gitAUTOINC+b6db33d891-r0/git/source $ git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/RdkWanManager refs/changes/00/58500/2 && git cherry-pick FETCH_HEAD $ bitbake rdk-wanmanager -c compile -f $ bitbake rdk-generic-broadband-image
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.
The following components are newly introduced for Porting of RdkWanManager in RPI Target Platform ,
The following are the existing components which are modified,
Following diagram depicts the flow of control among the components,
<project name="rdkb/components/opensource/ccsp/RdkWanManager" revision="rdk-next"/> <project name="rdkb/components/generic/json-rpc" revision="rdk-next"/>
Note : RdkWanManager Project will be added in RPI Manifest , Once the RdkWanManager Compilation error changes are merged in rdk-next(58500)
We enabled WanManager CFLAGS in below file in rpi(meta-cmf-raspberrypi) layer,
CFLAGS_append += "${@bb.utils.contains('DISTRO_FEATURES', 'rdkb_wan_manager', ' -DFEATURE_RDKB_WAN_MANAGER ', '', d)}"
To enable the RDKB Wanmanager components, added those components into the final build target. So, We have added those components into the ccsp packagegroup(58865),
RDEPENDS_packagegroup-rdk-ccsp-broadband_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'rdkb_wan_manager', ' rdk-wanmanager json-hal-lib hal-json-ethsw', '', d)} "
Recipe-path for JSON HAL server
For wanmanager, the default configurations are stored in PSM. As of now, we have 1 interfaces defined for WAN in wanmanager modules (i,e) wanoe.
For WANOE, by default we are using `eth0 `port for WAN connection.
|
<!-- rdk-wanmanager records --> <Record name="dmsb.wanmanager.wanenable" type="astr">1</Record>
|
---|
S.No | Recipe / Component Names | Layer | Error/Warning/challenges | Root Cause | Action |
---|---|---|---|---|---|
1 | ccsp-cr.bbappend | CcspEthAgent will start once it gets the signal status from CR but CR is taking long time to send the Signal status . | CR is waiting to get the MTA System_Ready Signal but MTA is not supported for RPI. | ||
2 | ccsp-psm.bbappend | meta-cmf-raspberrypi | Need to add wanmanager default DM values in PSM database | WanManager DM parameters are not getting the default values from PSM DB | https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/58559/1/recipes-ccsp/ccsp/ccsp-psm.bbappend |
3 | utopia.bbappend | meta-cmf-raspberrypi | Below gaps needs to be filled in rpi,
|
| https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/58554/1/recipes-ccsp/util/utopia.bbappend |
4 | system_defaults (utopia recipe) | meta-cmf-raspberrypi | Added WanManager default values to syscfg.db | These default values are used by PAM | https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/58567/1/recipes-ccsp/util/utopia/system_defaults |
5 | ccsp-p-and-m.bbappend | meta-cmf-raspberrypi | 210629-12:11:47.500509 [mod=PAM, lvl=WARN] [tid=8164] Found an unresolved api: Client_GetEntryCount | PandM DM was not loading after the WanManager Integration Device.DHCPv6.Client.{i} and Device.DHCPv4.Client.{i}. was | https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/58681/2/recipes-ccsp/ccsp/ccsp-p-and-m.bbappend |
6 | RdkWanManager | RdkWanManager fails to build with the folloiwing errors: | ../../../git/source/WanManager/wanmgr_interface_sm.c:720:62: error: macro LOG_CONSOLE passed 3 arguments, but takes just 0 | 720 | LOG_CONSOLE(%s Wan_init_complete:%d\n,buffer,uptime); | | ^ | In file included from ../../../git/source/WanManager/wanmgr_interface_sm.c:31: | ../../../git/source/WanManager/wanmgr_platform_events.h:48: note: macro LOG_CONSOLE defined here | 48 | #define LOG_CONSOLE() | | | ../../../git/source/WanManager/wanmgr_interface_sm.c:720:9: error: LOG_CONSOLE undeclared (first use in this function) | 720 | LOG_CONSOLE(%s Wan_init_complete:%d\n,buffer,uptime); | | | LOG_CONSOLE () api is not defined | https://code.rdkcentral.com/r/c/rdkb/components/opensource/ccsp/RdkWanManager/+/58500 | |
7 | ccsp-common-library.bbappend | meta-cmf-raspberrypi | ccsp-gwprov-app starts initialization scripts utopia_init.sh | Added utopia.service to call utopia_init.sh utopia_init.sh needs to be started before starting of the RdkWanManager executable | https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/58899 |
8 | hal | hal | Device.X_RDK_WanManager.CPEInterface.1.Wan.LinkStatus is getting Incorrect value . | Eth Hal will configure interface and monitor the link. CcspEthAgent will subscribe for ‘EthInterfaceStatus’ event so that it can receive the notification form Vendor Software (i.e. Eth Hal)whenever physical link event change. |