What is RDK Broadband(RDK-B)?

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

Benefits of RDK-B

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.


Key Features

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. 


RDK-B Profiles

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:



Router Profile

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.

WiFi Extender profile

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.


Additional Resources

Getting Started:

  • Try out RDK: To know how to begin with trying out RDK, please follow Try Out RDK.

User Guides:

  • Features: A detailed list of features supported by RDK-B is available at Features.
  • Architecture: For RDK-B architecture details and structuring of RDK-B Components, follow Architecture.
  • Components: For detailed documentation of RDK-B components, follow Components.
  • Builds/Yocto: For details on Yocto build systems and RDK Yocto builds, follow Yocto build systems.

API References:

  • HAL: For details of RDK-B HAL , please follow HAL.


  • No labels

10 Comments

  1. 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'

    1. Hi Unknown User (s.bakkanagari)

      Please try adding WORKDIR or S with respect to your actual folder in front of the bootstrap command

  2. Unknown User (s.bakkanagari)

    1. 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 )

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


    this was my recipe here i was fetching code from git hub when i open the url (in browser) which was mentioned in the recipe it was accessible but i dont know why the code is not downloading. can you help me with this 
  4. Unknown User (s.bakkanagari)

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

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


        1. 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?

  5. Can you please share with me the DOCSIS tests cases? and if that also including DOCSIS 4.0 testing?  Thanks