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

...

/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}

...

ERROR: hostapd-2.10-r0 do_patch: Applying patch 'nl80211-relax-bridge-setup.patch' on target directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/hostapd/2.10-r0/hostapd-2.10'
CmdError('quilt --quiltrc /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/hostapd/2.10-r0/recipe-sysroot-native/etc/quiltrc push', 0, 'stdout: Applying patch nl80211-relax-bridge-setup.patch
patching file src/drivers/driver_nl80211.c
Hunk #1 FAILED at 6923.
1 out of 1 hunk FAILED – rejects in file src/drivers/driver_nl80211.c
Patch nl80211-relax-bridge-setup.patch does not apply (enforce with -f)stderr: ')
ERROR: Logfile of failure stored in: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/hostapd/2.10-r0/temp/log.do_patch.2538029
ERROR: Task (/home/apv547/extender_dunfell_to_kirk/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb:do_patch) failed with exit code '1'
Waiting for 6 running tasks to finish:
WARNING: libevent-2.1.12-r0 do_patch: Fuzz detected:Applying patch header_installation.patch
patching file Makefile.am
Hunk #1 succeeded at 331 with fuzz 1 (offset 105 lines).
The context lines in the patches can be updated with devtool:    devtool modify libevent
    devtool finish --force-patch-refresh libevent <layer_path>Don't forget to review changes done by devtool!WARNING: libevent-2.1.12-r0 do_patch: QA Issue: Patch log indicates that patches do not apply cleanly. [patch-fuzz]
NOTE: Tasks Summary: Attempted 1146 tasks of which 1126 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 8 secondsSummary: 1 task failed:
  /home/apv547/extender_dunfell_to_kirk/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb:do_patch
Summary: There were 94 WARNING messages.
Summary: There was 1 ERROR message, returning a non-zero exit code.
apv547@dvm-yocto4-docker-apv547:~/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender$

...

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 secondsSummary: 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

...