RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
RDK-B is an open-source software platform capable of powering next-gen gateways across DOCSIS, PON, DSL, 5G, and ethernet access networks, enabling OEMs to standardize elements of their modems,gateways, and converged devices. It allows easy customization of applications and common functionalities such as routing, Wi-Fi, DNS,diagnostics, remote management, and IoT interfaces, such as Bluetooth®, Thread, and Zigbee®.
RDK-B stands out as a highly advantageous solution in the realm of broadband technology, offering a plethora of benefits that underscore its versatility and efficiency. At its core, RDK-B provides a common software platform that serves as a unifying foundation for diverse broadband devices. Rigorously tested releases ensure reliability and performance, instilling confidence in the stability of the platform. The integration of a common System-on-Chip (SoC) further streamlines device compatibility, fostering a seamless and interoperable ecosystem.
One of the key strengths of RDK-B lies in its open-source architecture, empowering developers with the flexibility to innovate and build upon the software. Its modular design not only facilitates continuous innovation but also optimizes the platform for deployment across a spectrum of devices, ranging from low- to high-end. Notably, RDK-B supports containerization at the application layer, enhancing scalability and flexibility in deploying applications.
Moreover, the framework ensures application and services portability across various technologies, promoting a cohesive and integrated user experience. Another significant advantage is the platform's robust support for various access networks, making it a versatile choice for different broadband technologies. RDK-B seamlessly accommodates DOCSIS, PON, DSL, 5G, and Ethernet, ensuring compatibility with a wide array of access technologies. Furthermore, it boasts support for multiple management protocols and data models, contributing to its adaptability and ease of integration.
In essence, RDK-B emerges as a comprehensive and forward-thinking solution, offering a unified software platform that not only prioritizes reliability and flexibility but also embraces innovation and compatibility across diverse access networks.
RDK-B encompasses a comprehensive set of features designed to enhance the functionality and performance of broadband devices. At its core, RDK-B includes fundamental capabilities such as device management, routing, and support for IP features, as well as seamless integration with wide-area network (WAN) setups. Robust network management tools further contribute to the foundational aspects of RDK-B, ensuring efficient operation and control.
Tailored to meet the specific needs of operators, RDK-B incorporates home security and automation functionalities, reinforcing the protection of users and their connected environments. Intrusion detection and cloud-based features are integral components, providing a secure and intelligent framework for broadband services. Telemetry support enhances data gathering and analysis, facilitating informed decision-making, while self-healing mechanisms contribute to system resilience. The inclusion of Multicast (MABR) capabilities enhances content delivery efficiency in multicast scenarios.
In the realm of advanced features, RDK-B goes beyond the basics to offer sophisticated device management tools, advanced routing and IP features, and secure transport through VPN/IPSEC protocols. A focus on advanced Wi-Fi and mesh integration ensures optimal wireless connectivity, while robust parental controls provide users with the ability to manage and monitor access.
Let's dive into RDK-B's profiles, starting with Router and Extender, uncovering how they shape seamless connectivity.
For a basic grouping of RDK Broadband features across router and extender profiles, please refer below diagram:
A router serves as a central hub for distributing internet connectivity in homes or offices, managing seamless data transmission through wired and wireless connections. The RDK-B router profile offers comprehensive LAN management capabilities, empowering users to configure and manage their local area network settings effectively. This includes features like DHCP (Dynamic Host Configuration Protocol) server for automatic IP address assignment, NAT (Network Address Translation) for private network connectivity, and firewall settings for network security. In terms of WAN management, RDK-B supports various technologies such as EthWAN (Ethernet WAN), DSL (Digital Subscriber Line), GPON (Gigabit Passive Optical Network), and LTE (Long-Term Evolution). These technologies enable flexible and reliable connections to different types of internet services.
The RDK-B WiFi extender is designed to extend the WiFi range for wireless clients. It operates in conjunction with the RDKB gateway and broadcasts the same SSID as the gateway, ensuring seamless connectivity. The hardware of the WiFi extender is cost sensitive, and it does not require all the software components of the gateway. Acting as a Layer-2 switch, it supports various RF technologies like MoCA, Wi-Fi, Zigbee, and BLE for user device connectivity. The extender can establish backhaul IP connectivity using MoCA, Ethernet, or WiFi. The RDKM utilizes the Turris Omnia as a reference extender platform, which is an Ethernet-based router and facilitates the development of a tri-band design.
Getting Started:
User Guides:
API References:
10 Comments
Unknown User (s.bakkanagari)
Hi,
I am trying to port an application onto RDK-B. Below lines are my recipe do_compile part. while executing do_compile part i was getting error which was mentioned below , the main theme of do compile is to setup environment and build binary after downloading the source code but i as getting an error called files not present can you suggest me what was the backoff of went through.
S = "${WORKDIR}"
do_compile() {
./script/bootstrap
./bootstrap
make -f src/posix/Makefile-posix
make -f examples/Makefile-cc1352
}
ERROR: Function failed: do_compile (log file is located at /home/muddu/rdkb-2018q1/build-qemux86broadband/tmp/work/i586-rdk-linux/openthread/1-r0/temp/log.do_compile.8266)
ERROR: Logfile of failure stored in: /home/muddu/rdkb-2018q1/build-qemux86broadband/tmp/work/i586-rdk-linux/openthread/1-r0/temp/log.do_compile.8266
Log data follows:
| DEBUG: Executing shell function do_compile
| /home/muddu/rdkb-2018q1/build-qemux86broadband/tmp/work/i586-rdk-linux/openthread/1-r0/temp/run.do_compile.8266: line 100: ./script/bootstrap: No such file or directory
| WARNING: /home/muddu/rdkb-2018q1/build-qemux86broadband/tmp/work/i586-rdk-linux/openthread/1-r0/temp/run.do_compile.8266:1 exit 1 from
| ./script/bootstrap
| ERROR: Function failed: do_compile (log file is located at /home/muddu/rdkb-2018q1/build-qemux86broadband/tmp/work/i586-rdk-linux/openthread/1-r0/temp/log.do_compile.8266)
ERROR: Task 6 (/home/muddu/rdkb-2018q1/meta-openthread/recipes-openthread/openthread/openthread_1.bb, do_compile) failed with exit code '1'
Narayanaswamy Ramaiyer
Hi Unknown User (s.bakkanagari)
Please try adding WORKDIR or S with respect to your actual folder in front of the bootstrap command
Unknown User (s.bakkanagari)
.
Narayanaswamy Ramaiyer
Hi Unknown User (s.bakkanagari),
For a regular Yocto recipe, the output of do_compile will be in the same folder as source code( or as mentioned in the Makefile,if it is different from the normal format ). If you are looking for where the binaries will be available in target platform, it is as mentioned in the do_install( from you recipe and normal terms, it should be /bin/ in target platform,i presume )
Unknown User (s.bakkanagari)
Hi Unknown User (nvysya200)
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb"
SRCBRANCH="thread-reference-20180926"
SRCREV = "${AUTOREV}"
SRC_URI = "https://github.com/openthread/openthread.git;protocol=https"
SRC_URI[md5sum] = "a30ae374b45fb970bd1931b633a69ae4"
SRC_URI[sha256sum] = "2de394f342c8be199e801a71060655dd1bc59961aef9a9abe09482964ef6b364"
S = "${WORKDIR}/git/openthread
Unknown User (s.bakkanagari)
.
Narayanaswamy Ramaiyer
hi Unknown User (s.bakkanagari)
Please try if you can manually try a git clone for that repo from the command line of pc where you are performing this operation
Unknown User (s.bakkanagari)
Hi Unknown User (narayanaswamy)
yes I tried in that way also, when i was tried to clone it it was cloning successfully. but through recipe it was not happening.
Narayanaswamy Ramaiyer
Hi Unknown User (s.bakkanagari),
Are you seeing a fail in do_fetch or are you seeing a fail in invoke of the recipe itself?
Hythem Salem
Can you please share with me the DOCSIS tests cases? and if that also including DOCSIS 4.0 testing? Thanks