RDK-V iteration rdkv-20180226 is now available.

The latest rdkv iteration addresses licensing issues so users are advised to move to the latest iteration.

Note: For the Gerrit links, you need to log in before you will be able to see the contents.

A detailed changelog since the last iteration rdkv-20180125 can be found here.


Baseline

Baselinenightly/2018022620180226 baseline.
Post-baseline updates

TDKM55https://wiki.rdkcentral.com/display/TDK/TDK+Release+M55
Manifestrdkv-20180226


Highlights since rdkv-20180125

  • Opensourced components:

    • rdk/components/generic/rdm, rdk/components/generic/xconf-simulator, rdk/components/generic/dcm, rdk/components/generic/rfc, rdk/components/generic/netmonitor, rdk/components/generic/cpuprocanalyzer
  • Components updated:

    • meta-cmf-bsp-emulator, meta-rdk-asp, meta-rdk-bsp-emulator, aamp, closedcaption, dvr, gst-plugins-rdk-dvr, mediaframework, devicesettings-hal-sample, iarmmgrs-hal-sample, meta-cmf, meta-cmf-raspberrypi, meta-cmf-video, meta-rdk, meta-rdk-video, recorder, tr69, westeros, podManager, meta-cmf-restricted, meta-rdk-restricted, devices/raspberrypi/gst-plugins-rdk/playersinkbin, devices/raspberrypi/tdk, audiocapturemgr, bluetooth, bluetooth_mgr, crashupload, dca, devicesettings, diagnostics, iarmbus, iarmmgrs, injectedbundle, mocahal, netsrvmgr, rdk_logger, rdkbrowser2, rmf_mediastreamer, servicemanager, storagemanager, host, sys_resource, sysint, tr69hostif, xupnp, rdk/devices/intel-x86-pc/emulator/sysint, tools/tdk, tools/tdk-advanced
  • Patches:

    • Separate patch files for the open-source OE layers are no longer maintained. Instead, mirrors of the OE layers used by RDK are maintained at CMF, containing rdk branches that contain the patches already applied. The RDK build scripts and recipes now all use these instead of the previous patches.
  • Community contributions:

    • 14670 (RDKCMF-8056) Fix TSB crash
    • 15251 Add linux-yocto recipe append for morty
    • 14614 (RDKCMF-8025) Only build podmgr code if POD is enabled
    • 14557 (RDKCMF-8037) mediaplayersink: audio mute support
    • 15130 rdk.conf: update PREFERRED_VERSION_openssl for OE 2.4
    • 14877 libseshat: update to latest upstream version
    • 15190 fix build issues with musl libc
    • 15224 setup-environment: enable verbose debug when patching OE meta layers
    • 15217 REFPLTB-30 : Updated Hostapd bbappend for xfinity-wifi feature support
    • 15169 REFPLTV-13 : Add pxcore-standalone package to rpi
    • 15165 REFPLTB-1: RDK-B boot time data on R-Pi
    • 15120 REFPLTB-30 : Updated Hostapd bbappend for xfinity-wifi feature support
    • 14990 bluez5: drop obsolete .bbappend for version 5.42
    • 14965 lighttpd_1.4.45: minor cleanup and fixes to .bbappend
    • 15144 ca-certificates: drop unnecessary .bbappend
    • 14672 (RDKCMF-8058) Support for shutting down before power off
    • 15129 (RDKCMF-5857) Add build support for syslog-helper
    • 15073CODEMGMT-569 Remove duplicate files.
    • 14948 Add tr69hostif dependency to rfc
    • 14929 update misc dependencies on msgpack-c
    • 14951 lighttpd: drop redundant attempts to build with openssl enabled
    • 15083 fcgi: drop obsolete .bbappend
    • 14928 rdk.conf: update PREFERRED_VERSION_openssl for OE 2.4
    • 14966 lighttpd: drop redundant attempts to build with openssl enabled
    • 14964 obexpushd: deterministically disable building manpages
    • 14756 ccsp-lm-lite-headers: don't install private headers ( only lm_api.h )
    • 14939 qemux86-soc.inc: drop redundant PREFERRED_VERSION for gmp
    • 15074TDK-529: RDKV RPI Update Required to StartTDK.sh for E2E and RMF TDK Tests
    • 15072 RDKRIDP-1345 : RDK Emulator not starting correctly
    • 14665 (RDKCMF-8054) DVB-SI descriptor feature needs glib-2.0
    • 14986 Add removal of rdkbrowser-webserver dependency
    • 15048 Revert "Add removal of rdkbrowser-webserver dependency"
    • 15047 Update wsproxy SRC_URI override
    • 14524 (RDKCMF-8034) Fix libqamsrc dependency
    • 15011 Fix occaisional bad position after netflix seek
    • 14818 Add removal of nativesdk-wayland dependency
    • 15010 Revert "Add removal of nativesdk-wayland dependency"
    • 14988 Add mutex protection to surface attach
    • 14950 Add media consumption time tracking
    • 14947 Add pxcore-standalone recipe append
    • 14949 Add tr69hostif dependency to rfc
    • 14927 Add video_width and video_height properties
    • 14883 (RDKCMF-5857) Add build support for rdm
    • 14766CODEMGMT-494: Correct CONTRIBUTING file.
    • 14426 systemd_216: use systemd libgudev with systemd 216
    • 14938 rdk-rpi.inc: drop redundant PREFERRED_VERSION for breakpad
    • 14776 (RDKCMF-8073) Fix for memory corruption when generating PAT/PMT
    • 14671 (RDKCMF-8057) Specify access permission with open() + O_CREAT
    • 14522 (RDKCMF-8033) Fast channel change
    • 14773 (RDKCMF-8070) Fix problem storing recording properties
    • 14772 (RDKCMF-8069) Fix PTS wrap
    • 14635 (RDKCMF-8052) Fix segfault when "properties" is NULL
    • 14634 (RDKCMF-8050) Fix speed change notification in sink elements
    • 14869 Rename wpe-webkit recipe append to be generic to all 0.3 versions
    • 14732 Update hdhomerun SRC_URI
    • 14876 REFPLTV-12: RDK RNE support on Raspberrypi
    • 14875 (RDKCMF-5857) Add build support for dcm
    • 14878 rdk-rpi.inc: drop unnecessary PREFERRED_VERSION for file
    • 14841 REFPLTV-11 : Contribute playersinkbin implementation with westerossink
    • 14873 Fix adding rfc to media-common packagegroup
    • 14866 Update rmfstreamer overrides
    • 13834 musl build fixes
    • 14842 Add use of resource destroy listeners for surface buffers
    • 14840 Remove rfc bbmask
    • 14839 (RDKCMF-5857) Add build support for rfc
    • 14729 Add pxcore-libnide patch to remove libGL dependency
    • 14822 Fix thread issue with repeating compositor initialization
    • 14821 Remove nlmonitor overrides in netsrvmgr recipe append
    • 14820 Update hdhomerun SRC_URI
    • 14819 (RDKCMF-5857) Add build support for nlmonitor
    • 14803 (RDKCMF-7543) Revert " Playersinkbin pipeline changed to use westerossink as video-sink. Added a signal to get video native size."
    • 14731 linux-firmware-brcm43430 was renamed to linux-firmware-bcm43430
    • 14734 Add hdhomerun SRC_URI override
    • 14765 Revert "Passing DecoderHandler from westeros-sink to support Closed Caption in player applications"
    • 14802 (RDKCMF-5857) Add build support for cpuprocanalyzer
    • 14799 (RDKCMF-8054) DVB-SI descriptor feature needs glib-2.0
    • 13824 (RDKCMF-7953) Fix nopod build failures
    • 14778 Add support for independently clocked video
    • 14745 Update bbmask for bluetooth-leappmgr
    • 13833 ssmtp: misc cleanups and fixes
    • 13606 (RDKCMF-7933) Remove debug typo in closedcaption
    • 13510 msgpackc: rename recipe ( msgpackc -> msgpack-c )
    • 12765 ccsp-lm-lite: Delete lm_api.h
    • 14733 Revert "Add pxcore dependency to tdk"
    • 14664 Add pxcore dependency to tdk
    • 14728 Remove makefile overrides for pxcore
    • 14419 REFPLTV-6: RPi Mediaclient krogoth WPE ASP TDK build broken
    • 14574 REFPLTV-6 Add gstcheck linker dependency
    • 14700 Add iarm and ds support in aamp
    • 13555 linux-yocto: drop realtek patch for one kernel release
    • 13832 openssl: fix do_configure error when cwd is not in @INC
    • 14611 RDKTT-1371 : Migrating few modules in to advance repo
    • 14663 Add pxcore dependency to tdk
    • 14699 Add bbmask for bluetooth-leAppMgr
    • 14669 Update CMF dev machine config
    • 14659 Remove closedcaption overrides in tdk recipe append
    • 14660 Add Remove of closedcaption from tdk dependency.
    • 14560 (RDKCMF-8040) qamsrc is the live source
    • 14639 added a notification when a surface is updated.
    • 14637 added verbose option to commandline parameters
    • 14607 Reason for change: Need to add this change to make essos-sample working in emulator in emu get egl surface works with null native window as well Test Procedure: run essos-sample in emulator Risks: None
    • 14633 REFPLTB-28 : Bridge Mode Support in R-Pi
    • 14610 RDKTT-1371 Migrating modules to tdk-advanced repo
    • 14609 RDKTT-1371 Migrating modules to tdk-advanced repo
    • 14604 Add gst-plugins-playersinkbin bbmask for RDKB
    • 14556 (RDKCMF-8036) LGI#29 Increase max pids per program from 16 to 32
    • 14573 REFPLTV-6 Add check to gstreamer component config
    • 14572 Update tr69agent overrides
    • 14562 breakpad: disable calls to getcontext() with musl
    • 14561 Ensure surface is destroyed prior to destroying wl_queue
    • 14514 REFPLTB-20 : Xfinity-wifi suppport in RPI
    • 14525 qemux86hybdev.conf: drop redundant PREFERRED_VERSION_gmp

A detailed changelog since the last iteration rdkv-20180125 can be found here.


Build System

  • Reference platform build testing performed with podManager enabled.
  • All builds (emulator and reference platforms) now use rdk-oe (Yocto).
  • The old build_framework system is no longer supported.
  • rdk/components/generic/injectedbundle cannot be built by the community because of a dependency on AVE.


Root Filesystem uncompressed image size

  • XG1v3 229560 (KiB)
  • XI3v2 219204 (KiB)


Getting the code

Note: The manifests repository is only available to RDK licensees.

$ mkdir rdkv
$ cd rdkv
$ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv.xml -b rdkv-20180226
$ repo sync -j4 --no-clone-bundle
  • The -m rdkv.xml in the build sequence above is important. If this is not specified, you will get an RDK-V tree by default.
  • The -b rdkv-20180226 in the build sequence above specifies the branch to use.
  • If you omit the -b rdkv-20180226 entirely, you will get the master (HEAD) of each component.
  • At any time, the community can build latest master by dropping the -b rdkv-20180226 option in the repo init command.


Building for the emulator

$ source meta-cmf/setup-environment

Select the option number for the required build (Hybrid: qemux86hyb; Media Client: qemux86mc).

Initiate the build using either of the following commands, depending on the desired device:

$ bitbake rdk-generic-hybrid-image or
$ bitbake rdk-generic-mediaclient-image

Upon a successful build, the rootfs (in vmdk format) is available at:

$ {HOME}/emulator/build-qemux86hyb/tmp/deploy/images/qemux86hyb or
$ {HOME}/emulator/build-qemux86mc/tmp/deploy/images/qemux86mc


Building for RaspberryPi MediaClient

$ mkdir <workspace dir>
$ cd <workspace dir>
$ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv.xml -b rdkv-20180226-rpi
$ repo sync -j4 --no-clone-bundle
$ source meta-cmf-raspberrypi/setup-environment

Select option raspberrypi-rdk-mc.conf

$ bitbake rdk-generic-mediaclient-wpe-image

Note. The kernel Image and root filesystem will be created under the ./tmp/deploy/images/raspberrypi-rdk-mc folder


Building for RaspberryPi Hybrid

$ mkdir <workspace dir>
$ cd <workspace dir>
$ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv.xml -b rdkv-20180226-rpi
$ repo sync -j4 --no-clone-bundle
$ source meta-cmf-raspberrypi/setup-environment

Select option raspberrypi-rdk-hybrid.conf

$ bitbake rdk-generic-hybrid-wpe-image

Note. The kernel Image and root filesystem will be created under the ./tmp/deploy/images/raspberrypi-rdk-hybrid folder


Documentation for RDK-V on RaspberryPi

Media Gateway Hybrid (RaspberryPi)

Media Client (RaspberryPi)


RaspberryPi Sanity Testing

Sanity tests include:

  • Playing video from YouTube using WPELauncher.
  • Playing video from local source using gst-play.
  • Streaming from hybrid to media client using rmfApp.


Known Issues

TDK M53 or later must be used to test this release as prior versions of TDK Manager are not compatible with the TDK Agent in this release due to a recent change in the TDK JSON RPC version

Emulators:

  • TDK-346 RDK-V CMF Emulators xcal-device service and xdiscovery not running
    • Causes most XUPNP tests to fail, issue (which is a work around procedure) is marked as resolved but the underlying issue won't be addressed until dependency on POD manager issue is removed
    • The output.json file created by this service is required for a number of the E2E tests, we have worked around this by creating the /opt/output.json file on hybrid and media client as follows:
      {"playbackUrl": "http://<hybrid IP>:8080/hnStreamStart?deviceId=<hybrid mac address>&DTCP1HOST=<hybrid IP>&DTCP1PORT=5000"}
      e.g. {"playbackUrl": "http://192.168.21.234:8080/hnStreamStart?deviceId=08:bb:83:b3:b3:07&DTCP1HOST=192.168.21.234&DTCP1PORT=5000"}
      
  • TDK-292 RDKV Emulator-HYB recorder failures
    • requires DVR Simulator (refer to TDK-277)
  • TDK-380 RDKV Emulator "No such file or directory:" retrieving recordDetails.txt
  • TDK-381 RDKV Emulator RMF_HNSrc_MPSink GetMediaTime() Failures
  • TDK-448 RDKV EMU Hybrid E2E and RMF Failures
  • TDK-577 RDKV EMU SM Test Failures

RPI:

  • TDK-451 RDKV RPI Most E2E TSB Tests Failing
  • TDK-561 RDKV RPI-V TDK test causes device corruption
  • REFPLTV-2 Duration of the recorded content is not as expected on RPI Hybrid
  • REFPLTV-11 Contribute playersinkbin implementation with westerossink

Platforms:

  • RDK-283 Absence of POD in CMF image blocks RMF system level functionality
    • xcal device service doesn't start, so /opt/output.json file required by E2E tests not created we have worked around this by creating the tmp/ip_acquired file, with this workaround we can run TDK E2E tests
  • TDK-277 Testing of Recorder component will remain blocked until DVR Simulator code is available
  • TDK-276 Subset of Recorder tests still consistently failing for CMF
  • TDK-387 RDKV Platform XG1V3 XUPNP Event not received by xcal-device process
  • TDK-388 RDKV Platform XG1V3 RMF MPSink Set Volume Errors
  • TDK-389 RDKV Platform E2E Tests Failures "HNSource play failed current state not playing"
  • TDK-523 RDKV Platform All DTCP Xi3v2 Tests Failing
  • TDK-525 RDKV Platform All TRM xg1v3 Tests Failing
  • No labels