RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
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.
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,
Refer to the below link for Host Machine Setup
How to Build#SettinguptheHostEnvironment
All RPi based RDK images with the latest features are from the rdk-next branch
To build RDK images from ipstb_bringup branch, follow the below build procedure
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 rdk-next -m rdkv-extsrc.xml repo sync -j `nproc` --no-clone-bundle --no-tags
MACHINE=raspberrypi-rdk-ipmc source meta-cmf-raspberrypi/setup-environment bitbake rdk-generic-ipclient-image
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
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:~# |
---|
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
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.
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
S. No | Issues | Status | Remarks |
---|---|---|---|
1 | Unable to pair bluetooth remote via resident app | open | BT via controller UI is working as expected |
2 | Wifi connections are unsuccessful via resident app | Open | Wifi via controller Ui is working as expected |
3 | Board reboot every 30 minutes | open | As work around, comment out On failure from dsmgr.service. Path : /lib/systemd/system/dsmgr.service Comment out " OnFailure=reboot-notifier@%i.service" |
4 | App launch takes time to load | Open | blank screen is observed between key press and video playback begins for a small amount of time |
1 Comment
Lewis Peel
Unknown User (rnarayanan) I've setup a host environment in an AWS EC2 instance and followed the steps above but about 2 hours into the build I'm seeing an error. Can you tell me what I'm doing wrong?
FYI: I had to change the version of python from python3 to python2.7 because after running "MACHINE=raspberrypi-rdk-ipmc source meta-cmf-raspberrypi/setup-environment" I was seeing this error;