Skip to end of metadata
Go to start of metadata

Introduction

RDK-V IP Client is a IP based Client Set-Top-Box (STB) with RDK 4.0 features which connects directly with Network Gateways. Targets on Accelerator platforms and utilizes only open-sourced RDK components.

Unused components from MediaClient :

IP STB build is based from medicalient image with out the licensed components and other components which are not required for IP streaming. Some of the components which are removed as of now are,

Host Setup

Refer to the below link for Host Machine Setup

How to Build#SettinguptheHostEnvironment

Yocto Build Setup

All RPi based RDK images with the latest features are from the rdk-next branch

Initializing the Build Environment

To build RDK images from ipstb_bringup branch, follow the below build procedure

Generic build
mkdir workspace
cd workspace

# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/manifests -b ipstb_bringup -m rdkv-ipstb-nosrc-morty.xml
repo sync -j `nproc` --no-clone-bundle --no-tags

Image build

generic image
MACHINE=raspberrypi-rdk-ipmc source meta-cmf-raspberrypi/setup-environment

bitbake rdk-generic-ipclient-image

Flashing Procedure

The image file will be generated under build-<MACHINE>/tmp/deploy/images/<MACHINE> directory.

eg: $ pwd

build-raspberrypi-rdk-ipmc/tmp/deploy/images/raspberrypi-rdk-ipmc

$ ls -lrt rdk-generic-ip-stb-client_rdk-next_20210914060227.rootfs.rpi-sdimg

-rw-r--r-- 2 dsrava434 dsrava434 478150656 Sep 13 12:33 rdk-generic-ip-stb-client_rdk-next_20210914060227.rootfs.rpi-sdimg

build-raspberrypi-rdk-ipmc/tmp/deploy/images/raspberrypi-rdk-ipmc$ 

For flashing the image use dd command.

eg:   sudo dd if=rdk-generic-ip-stb-client_rdk-next_20210914060227.rootfs.rpi-sdimg of=/dev/sdb bs=4M

[sudo] password for bcpuser149: 

114+0 records in

114+0 records out

478150656 bytes (478 MB, 456 MiB) copied, 7.01847 s, 68.1 MB/s


# Insert the micro SD card to the host system and mention the card's device file name
# input file (if) is the image file to flash and the output file (of) is the card's device file name
sudo dd if=<imagename> of=/dev/<sd file> bs=4M 

System View

Testing Procedure

  •  Controller UI : For connecting Controller UI, use URL: http://<machineip>:9998

 

  • Enabling / Disabling the Plugins from controller UI. 

     

  • Wi-Fi Services: Wifi related services can be triggered from Wi-Fi tab in controller UI. We can scan and select from available networks.

  • R-Pi Board Console Access : Execute ssh root@machineip from your host PC
  • Image Details Verification: For verifying the image details, we can use cat /version.txt command.     

root@raspberrypi-rdk-ipmc:~# cat /version.txt 

imagename:rdk-generic-ip-stb-client_rdk-next_20210913065804

BRANCH=rdk-next

YOCTO_VERSION=morty

VERSION=4.09.13.21

SPIN=0

BUILD_TIME="2021-09-13 06:58:04"

Generated on Mon Sep 13  06:58:04 UTC 2021

root@raspberrypi-rdk-ipmc:~# 

  •  Playing a video using gstreamer, with aamp as gstreamer plugin element by using aamp:// in the uri:

  eg :- gst-launch-1.0 playbin uri=aamp://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8 video-sink=westerossink

  • Playback through Youtube Application : For launching youtube from controller UI, enable cobalt plugin, youtube page will be loaded in TV UI.

   

  • Youtube Launched Output in the TV:


  • Youtube Launching Via Resident App: To load Youtube from Resident app UI, select Premium content 1 and press enter

  • Once entered the premium content1, Youtube page will be loaded.

  • Select and press enter to begin the playback.

  • To return to main menu, press cntl+m or home button.
  • CNN Launching via Resident App UI: Select CNN and press Enter key to launch CNN.

           

           

         select video and press Enter key to start playback

         

Launching Vimeo using Resident APP : Select vimeo from resident app UI and press Enter to launch app.

         

      Select and press Enter to start playback.

         


           

Known Issues

S. NoIssuesStatusRemarks
1Unable to pair bluetooth remote via resident appopenBT via controller UI is working as expected
2Wifi connections are unsuccessful via resident appOpenWifi via controller Ui is working as expected
3Playback using aamp-cli is not working as expectedopenplayback is successful only during first time and subsequent playbacks are failed.
4Board reboot every 30 minutesopen

As work around, comment out On failure from dsmgr.service.

Path : /lib/systemd/system/dsmgr.service

Comment out " OnFailure=reboot-notifier@%i.service"

5App launch takes time to loadOpenblank screen is observed between key press and video playback begins for a small amount of time

Trouble Shooting

  • Overcoming build time fetch errors: 
    • If fetch failure occurs for libinput, comment SRC_URI related changes from meta-cmf/recipes-graphics/libinput/libinput_git.bbappend.
    • If fetch failure occurs for gst-plugins-ugly,use mirror source, for that comment out SRC_URI related changes from meta-cmf/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bbappend.    
  •  If the wireless networks are not listed in controller wifi page, try after disabling and enabling wifi from Network page, networks will be listed.