The Raspberry Pi 3 Model B+ featuring a 64-bit quad core processor running at 1.4 Ghz. R-Pi3 B+ supports the dual band 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN which provides an high edge for the broadband developer community to test the RDK-B stack with Router, WiFi functionalities. 

Build Instructions

Repo setup

In order to install Repo make sure you have a /bin directory in your home directory and that it is included in your path

$ mkdir ~/bin
$ PATH=~/bin:$PATH
Download the repo tool and ensure that it is executable
$ curl > ~/bin/repo
$ chmod a+x ~/bin/repo

Note: it is also recommended to put credentials in .netrc when interacting with repo.

A sample .netrc file is illustrated below


Yocto Build Steps

To build, follow below instructions

$ mkdir <workspace dir>
$ cd <workspace dir>
$ repo init -u -b rdk-next -m rdkb-extsrc.xml
$ repo sync -j4 --no-clone-bundle
$ source meta-cmf-raspberrypi/setup-environment (Select option raspberrypi-rdk-broadband.conf)
$ bitbake rdk-generic-broadband-image

Hardware and Setup Information

Note : RPI-3 B and B+ have same Build instructions and testing procedure

Flashing Procedure

Following command can be used to flash the RPI image to sd card using linux machine . dd tool should be available in linux

sudo dd if=<path to ImageName.rpi-sdimg> of=<path to SD card space> bs=4M
$ sudo dd if=rdk-generic-broadband-image-raspberrypi-rdk-broadband.rpi-sdimg of=/dev/sdb bs=4M can be used to flash RPI image in sd card using windows 

RDK-B Bootup Sequence 

RDKB Boot sequence for Router Profile

Router Profile Test Bed using RPI

Router Profile Test Bed using R-Pi

Router Functionality Use Case - Internet connectivity for Wired and Wireless Client(s)

  1. Ethernet Port of RPI should be connected to WAN Network
  2. Connect WiFi Dongle to RPI ( Please refer to supported dongle here RDKB RPI Setup Information#DonglesInformationLinks )
  3. Client PC(s)  should be connected to RPI through Usb2Ethernet Adaptor which should be supported by RPI ( Please refer to for supported usb to ethernet adapter by RPI ). Ethernet switch is an optional in between usb2ethernet adapter and Client PC
  4. Once powered on, RPI should be able to list interfaces erouter0,brlan0 and wlan0 after boot up 
  5. Logs can be verified under /rdklogs/logs folder 
  6. Now, client pc should be able to get private ip in the rage 10.0.0.x range 
  7. Two radios are supported by RPI (2.4 and 5 GHz) respectively. By default following SSID's are broadcasted by RPI under respective radio 
    1. 2.4GHz (Private WiFi)
      1. SSID name - "RPI3_RDKB-AP0" 
      2. Password - "rdk@1234"
    2. 5 GHz (Xfinity WiFi)
      1. SSID name - "RPI3_RDKB-AP1" 
      2. Password - "rdk@1234"
  8. Connect mobile with above default SSID name and password for respective radio. Any one radio should be used for establishing connection in mobile
  9. Now, mobile should be able to get private ip in the rage 10.0.0.x range 
  10. To get Internet for both mobile and wired client pc , user should configure captive portal by accessing any url or from mobile browser or PC browser. When RPI image is flashed for the first time captive portal will be enabled which will auto redirect to captive portal page and asks user to re-configure the default SSID name and password of radio(s) . Please refer to Captive Portal in R-Pi User Manual for more information. 
  11. Client PC should be able to connect to internet now. Ping test can also be done by connecting gateway ip
  12. Since reconfiguration is done for default SSID username and password in webUI, provide the reconfigured SSID and password in mobile for reconnection with RPI
  13. Now, mobile and wired client pc should be able to browse the internet. Please refer to Clients Connection and its set up Diagram in RPI - User Manual for more information regarding the same for both wired and wireless connection information
  14. Connected client(s) PC and mobile information can be verified through webui by executing URL in Client PC Browser and login with following credentials 
    1. Username : admin
    2. Password : password
  15. Please refer to link Webui Functions for various features that can be controlled through webui 

Lists of Supported Features

  1. DHCP Gateway Configuration
  2. Connected Devices (Wired/Wireless)
  3. Private Wifi 2g/5g
  4. Xfinity-wifi 2g/5g
  5. Parental Control(Managed Devices,Managed Sites,Managed Services)
  6. Port Forwarding
  7. Remote Management ( Available only with http support )
  8. DMZ
  9. Factory-Reset
  10. Captive Portal 
  11. Password-Reset
  12. Test and Diagnostics
  13. Bridge Mode
  14. Webpa
  15. WPS
  16. Bootchart
  17. MAC Filtering
  18. Firewall Settings
  19. Log level control through CcspLogAgent
  20. Firmware Upgrade using Dual bank
  21. Log Rotation Support 

Supported Features User manual

Additional Links

Yocto Modification for RDK B+ Support

  1. Back port of Linux kernel from sumo branch(4.14.68) to morty branch in meta-raspberrypi layer
  2. Modified linux-firmware bbappend in meta-raspberrypi layer to bring up wireless interface
  3. Modified bcm2835-bootfiles bbappend and (added dtb files) in meta-cmf-raspberrypi layer to boot up  RPI B+ Board