Versions Compared

Key

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

...

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

...

Code Block
languagebash
themeRDark
titleGeneric build
mkdir workspace
cd workspace

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

...

Code Block
languagebash
themeRDark
titlegeneric 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

 dsrava434@dvm-yocto3-docker-dsrava434:~/varsha/build-raspberrypi-rdk-ipmc/tmp/deploy/images/raspberrypi-rdk-ipmc$ pwd/home/dsrava434/varsha/build-raspberrypi-rdk-ipmc/tmp/deploy/images/raspberrypi-rdk-ipmc

dsrava434@dvm-yocto3-docker-dsrava434:~/varsha/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

dsrava434@dvm-yocto3-docker-dsrava434:~/varsha/build-raspberrypi-rdk-ipmc/tmp/deploy/images/raspberrypi-rdk-ipmc$ 

For flashing the image use dd command.

eg:   eg:  bcpuser149@bcpuser149-Lenovo-ideapad-330-15IKB:~$ sudo dd if=rdk-generic-ip-stb-client_rdk-next_20210914060227.rootfs.rpi-sdimg of=/dev/sdb bs=4M

[sudo] password for bcpuser149: 

...

Code Block
languagebash
themeRDark
# 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

Image Modified

Testing Procedure

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

 

  • Pluggins can be enabled or disabled 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 ssh, we can use ssh root@machineip
  • 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_2021090210193020210913065804

BRANCH=rdk-next

YOCTO_VERSION=dunfellmorty

VERSION=4.09.0213.21

SPIN=0

BUILD_TIME="2021-09-02 1013 06:1958:3004"

Generated on Thu Mon Sep 02  1013  06:1958:30 04 UTC 2021

root@raspberrypi-rdk-ipmc:~# 

  • For playing  Playing a video using aamp-cli, launch aamp-cli from terminal, cd /usr/bin;aamp-cli.

 Image Removed

  •  For playing a video using gstreamer, use gst-launch-1.0.

...

  • 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.

    Image Modified

Image Removed

  • Youtube Launched Output in the TV:

Image Added


  • Youtube Launching Via Resident App: To load

...

  • Youtube from

...

  • Resident app UI, select Premium content 1 and press enter

...

Image Added

  • Once entered the premium content1,

...

  • Youtube page will be loaded.

Image Modified

  • Select and press enter to begin the playback.

Image Modified

  • 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.

            Image Added

            Image Added

         select video and press Enter key to start playback

          Image Added

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

          Image Added

      Select and press Enter to start playback.

         Image Added


         Image Added  

To return to main menu from any of the app window use "Home" button in keyboard.

For further details on UI page, visit RDK Accelerator Home UI - Version 2.0#ControllerUI

Cobalt lifecycle using terminal:

Launching cobalt using RDK Shell : execute below command from ssh terminal

   curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.launch", "params":{"callsign": "Cobalt", "type":"", "uri":""}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc

 Setting a video URL using deeplink method.

    curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"Cobalt.1.deeplink","params": "<videoURL>"}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc

Sending enter key to proceed video playback

    curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.generateKey", "params":{"keys":[ {"keyCode": 13,"modifiers": [],"delay":1.0}]}}' http://127.0.0.1:9998/jsonrpc

Suspending the plugin using RDKShell

   curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.suspend", "params":{"callsign": "Cobalt"}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc

Resuming the plugin

   curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.launch", "params":{"callsign": "Cobalt", "type":"", "uri":""}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc

Destroy

    curl --data-binary ' {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.destroy", "params":{"callsign":"Cobalt"}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc

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, but screen is visible only if we disable residentapp service.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"

4App 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.       Disable cntlm-main.service if device reboot occasionally.