Inside RDK

The Toolshed: Introducing the RDK-B Emulator

Since its inception, RDK Management has been investing in the creation and enhancement of what we call the “RDK Toolshed” — which is quickly filling up with tools and utilities that support the adoption and deployment of RDK across the globe. Tools such as the Test Development Kit (TDK), RDK-V Emulator, RDK Hardware Development Platform (HDP) and RDK Doxygen Documentation have been well received and are widely used by the community. Each quarter, we upgrade the existing tools with new features, and create new tools that will complement the overall offering.

This quarter, we added another new tool – the RDK-B Emulator. As the name suggests, the RDK-B Emulator aims to simplify the process of working with the RDK-B software stack — without the need for a full reference hardware platform. It was built specifically for the RDK-B development community (integrators, component developers and application developers) and represents a PC-based (Intel x86) implementation of the RDK-B software stack. Because the RDK-B emulator runs on desktop computers, applications can be tested and debugged before being deployed on actual RDK-B devices.

The RDK-B build scripts provide Yocto recipes to compile an emulator image, which can then be launched using a PC virtualization software application, such as the Oracle® Virtual Box. It includes basic router functionalities and features that are part of the RDK-B implementation. The emulator currently supports WebUI, to remotely log in to the router, for management/configuration or settings changes. Not all features have been ported to the PC platform yet, but rest assured that the development team is ceaselessly implementing and integrating new features that make the emulator an ever more reliable RDK-B platform tool.
The following broadband router features have already been implemented and are available as part of the RDK-B emulator:

  • Yocto build support
  • Ethernet HAL emulation
  • Connected Devices on LAN
  • Devices on the LAN can connect to WAN
  • DHCP Gateway Configuration
  • Parental Control
  • Ethernet Status – Active/Disabled
  • Wi-Fi HAL Emulation
  • Connected Devices on WiFi
  • Devices on the WiFi can connect to WAN
  • Wi-Fi Configuration : Password, Channel, SSID Settings, Encryption
  • Parental Control
  • Wi-Fi Status – Active/Disabled
  • MAC Filtering

Creating the RDK-B emulator didn’t come without the challenges of simulating real-world capabilities on a PC. For example, routers typically contain multiple Ethernet ports, and need to support a Wi-Fi hotspot. Such features required additional hardware, which a PC does not normally support. In order to support multiple Ethernet ports, the RDK-B emulator uses a USB-to-Ethernet adapter; an external USB-Wi-Fi adapter is used to support the Wi-Fi hotspot feature.

For information about how to builld the RDK-B emulator, please visit the RDK-B Emulator Build Guide page on the RDK Wiki.