Versions Compared

Key

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

Table of Contents

Introduction - RDK Extender

  • RDK Extender profile is a Yocto based RDK miniature build with opensource OpenSync agent
  • OpenSync agent is cloud agnostic and it forms mesh orchestrated by Plume cloud
  • RPI4 target is chosen for extender profile since this target is chip and widely available
  • Two external Wi-Fi dongles are used for 2.4GHz and 5GHz radio support
  • OpenSync's minimum requirement on the WiFi radio is the support for 2AP and 1 Station interface
  • Conceptually, RPI4 extender can be used with different Gateway devices(which has OpenSync agent). But currently validated with TurrisOmnia RDKB GW
  • Prerequisite: Need to contact Plume to acquiring TLS certificate and backhaul credential

Host Setup

NOTE: Observing fetch errors in VMs with Ubuntu14.x. Thus, suggesting to use VMs with Ubuntu16.x or higher.

Building

Note: Cloning the code before login once to code.rdkcentral.com, user would get the Authentication error, even though the account is in good standing and has all the required access. Please login to code.rdkcentral.com before attempting to clone.

...

Code Block
languagebash
themeDJango
repo init -u https://code.rdkcentral.com/r/manifests manifests -b rdkb-2024q2-kirkstone -m rdkb-pod-nosrcextsrc.xml
repo sync repo sync -j4 --no-clone-bundle
<UPDATE 0001-Update-bhaul-credential.patch in metapatch in meta-cmf-broadband layer>
MACHINE=raspberrypi4-rdk-extender source metaextender source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-extender-image

OpenSync version details:

Ported OpenSync version is 4.4.0.

...

OpenSync components

...

Branch

...

OpenSync Core component

...

osync_4.4.0

...

Platform-RDK

...

osync_4.4.0

...

RPI Vendor component

...

main

Sanity Test cases :

...

S.No

...

Sanity tested on

...

Status

...

S.No

...

Sanity tested on

...

Status

...

1

...

Image should be stable

...

Pass

...

2

...

OpenSync service and its manager should be running

...

Pass

...

3

...

RPI Extender onboarding over Wi-Fi

...

Pass

...

4

...

Able to Ping www.google.com from RPI Extender

...

Pass

...

5

...

Wifi Extension of Internet to mobile from GW

...

Pass

...

Image Removed

kirkstone build issues :

...

/home/apv547/extenter_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-xravs/xr-speech-avs/xr-speech-avs_%.bbappend
NOTE: Resolving any missing task queue dependencies 
ERROR: Nothing RPROVIDES 'python-core' (but /home/apv547/extenter_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-core/images/rdk-generic-extender-image.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python-core' is unbuildable, removing... Missing or unbuildable dependency chain was: ['python-core']
ERROR: Required build target 'rdk-generic-extender-image' has no buildable providers. Missing or unbuildable dependency chain was: ['rdk-generic-extender-image', 'python-core']
Summary: There were 93 WARNING messages

...

Proposed Soln: 
python-core related to meta-python2 in dunfell
Python3 recipes will continue to be supported via the original meta-python layer.
Python 2 is going EOL (end of life) - NOT applicable for kirkstone and so removing for kirkstone in meta-cmf-raspberrypi/recipes-core
/images/rdk-generic-extender-image.bb ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "python-core",  d)} \

...

NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'dhcp-server' (but /home/apv547/extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-core/images
/rdk-generic-extender-image.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'dhcp-server' is unbuildable, removing... Missing or unbuildable dependency chain was: ['dhcp-server']
ERROR: Required build target 'rdk-generic-extender-image' has no buildable providers. Missing or unbuildable dependency chain was: ['rdk-generic-extender-image', 'dhcp-server']

...

Proposed Soln:
For kirkstone, its NOT applicable and so removing it from meta-cmf-raspberrypi/recipes-core/images/rdk-generic-extender-image.bb
${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "dhcp-server",  d)} \

...

ERROR: Nothing PROVIDES 'python' (but /home/apv547/extender_dunfell_to_kirk/meta-rdk-ext/recipes-common/nmap/nmap_7.60.bb DEPENDS on or otherwise requires it).
Close matches:  
python3  
python3-py  
python3-sh
NOTE: Runtime target 'nmap' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['nmap', 'python']
ERROR: Required build target 'rdk-generic-extender-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['rdk-generic-extender-image', 'nmap', 'python']

...

Proposed Soln:
For kirkstone GW broadband build, its NOT available and so removing it in kirkstone extender build as well meta-cmf-raspberrypi/recipes-core
/images/rdk-generic-extender-image.bb  ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "nmap",  d)} \{noformat}

...

Proposed Soln:
removed nl80211-relax-bridge-setup.patch from meta-cmf-raspberrypi/recipes-connectivity/hostapd
/hostapd_%.bbappend as patch got upstreamed in hostapd-2.10 version [dunfell uses hostapd-2.9] and hostapd needed for extender profile,
however,kirkstone GW does not need hostapd for oneWiFi build

...

make[3]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender

/kernel-source/scripts/Makefile.build:552: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp
/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/lttng-modules/2.13.4-r0/lttng-modules-2.13.4/src/probes] Error 2

make[3]: *** Waiting for unfinished jobs....

make[2]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source/Makefile:1903: 
/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work
/raspberrypi4_rdk_extender-rdk-linux-gnueabi/lttng-modules/2.13.4-r0/lttng-modules-2.13.4/src] Error 2

make[2]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-build-artifacts'

make[1]: *** [Makefile:219: __sub-make] Error 2

make[1]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source'

make: *** [Makefile:31: modules] Error 2

ERROR: oe_runmake failed 

WARNING: exit code 1 from a shell command.
ERROR: Task (/home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3743 tasks of which 1282 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 15 seconds
Summary: 1 task failed:   /home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb:do_compile
Summary: There were 190 WARNING messages.
Summary: There were 2 ERROR messages, returning a non-zero exit code.

...

Proposed Soln: 
kirk[lttng_2.13.4.bb] - lttng NOT available in build*/tmp/work/ dunfell[lttng_2.11.2.bb] - lttng available in build*/tmp
/work/removed "lttng-tools" for kirkstone extender in  meta-cmf-raspberrypi/recipes-core
/images/rdk-generic-extender-image.bb  ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "lttng-tools",  d)} {noformat}

Patch: https://comcastcorp-my.sharepoint.com/:u:/r/personal/cpokur625_cable_comcast_com/Documents/opensyncpatch/0001-Update-bhaul-credential.patch?csf=1&web=1&e=GXY1k6

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

Code Block
themeMidnight
titleFlash 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-raspberrypi-rdk-broadband.wic.bz2
$ sudo -E bmaptool copy --nobmap rdk-generic-broadband-image-raspberrypi-rdk-broadband.wic.bz2 /dev/sdb

OpenSync version details:

Ported OpenSync version is 4.4.0.

OpenSync components

Branch

OpenSync Core component

osync_4.4.0

Platform-RDK

osync_4.4.0

RPI Vendor component

main


References:

Kirkstone build errors and its fixes in this link Kirkstone RDK-B RPI4 32-bit Extender User Manual

Validation test results and their corresponding fixes in this link Kirkstone RDK-B RPI4 32-bit Extender Validation

Jira Tickets :

Jira
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTB-3030

Hardwares

...

Image Removed

Purchase link: RPi4 – 1No

Image Removed

...