This step by step guide provides detailed instructions to assist the RDK-B community in porting the OneWiFi component to the Raspberry Pi 4 reference platform
It is recommended to use the rdkb-2023q2-dunfell release as the base for porting OneWiFi, and to integrate this release on top of the System-on-Chip (SoC) SDK. However, the documentation is applicable to Kirkstone release too |
Architectural details
RDK-B Layers:

Integration segments:

Dependencies to build OneWiFi

Change details
Systemd Service File
onewifi.service
Platform Layer
Target Platform: MediaTek platform (using Raspberry Pi as a reference)
Platform Layer: Create a platform layer for MediaTek, using Raspberry Pi as the reference.
Code References
HAL Changes
OneWifi Process Bringup Patches
Manifest entries
OneWiFi component entry: OneWiFi manifest
HAL component entry: rdk-wifi-hal manifest
Layers to Consider
- meta-raspberrypi or meta-cmf-soc-<soc_name>
- Firmware/drivers/kernel to be available
- For proposing a new component, please create a bb file here
- meta-cmf-raspberrypi or meta-cmf-<platform_name>
- RDK-B specific changes to the SOC platform
- All changes that need to be done for the primary recipe are handled in the form of bbappend
- Patches: Patches are recommended if the changes are very specific and tied with SOC platform code
- meta-cmf-broadband
- RDK-B changes common to all RDK-B community members.
- All changes that need to be done for the primary recipe are handled in the form of bbappend
- Patches: Patches are recommended if the changes are very specific and tied with SOC platform code
- Note: All existing reference patches in Raspberry pi may not be applicable for real targets, Because of hardware limitation & functionality limitation we have added patches
Bug Fixes or Feature Enhancements
Generic Bug Fixes:
Any bug fixes or feature enhancements that are generic enough should be committed to the OneWiFi generic repository
Flags defined in OneWiFi
Platform-Specific Flags:
Raspberry Pi has certain limitations related to driver support and end-to-end functionality for OneWiFi. To manage these limitations, a flag _PLATFORM_RASPBERRYPI_ has been introduced to enable conditional compilation.
- Note: This flag is not needed for real targets.
HAL APIs
Bulk Atomic HAL APIs:
For bulk atomic HAL APIs related to common configuration, refer to the HAL APIs documentation
Stats Implementation
- Vendor-Specific Implementation:
Stats implementation is vendor-specific. The implementation from the device-specific HAL can be used. Refer to
for more details
Wi-Fi database
Database File:
rdkb-wifi.db
64 bit build support:
Currently, Comcast does not support 64-bit platforms. However, the RDK team supports 64-bit builds for Raspberry Pi 4 platforms, where OneWiFi has been fully supported. Numerous alignment issues and warnings treated as errors have been addressed in this support
Difference Between CcspWifiAgent and OneWiFi Apply settings
CcspWifiAgent:
dmcli eRT setv Device.WiFi.Radio.2.X_CISCO_COM_ApplySetting bool true
dmcli eRT setv Device.WiFi.Radio.1.X_CISCO_COM_ApplySetting bool true |
OneWiFi:
#Any dmcli commands specific to SSID and AccessPoint execute the Below Access Point Related apply settings
dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true
#Any dmcli executions specific to Radio level use the below Radio apply settings command
dmcli eRT setv Device.WiFi.ApplyRadioSettings bool true |
Debugging Tips
Below are the list of logs present in /rdklogs/logs for Debugging OneWiFi Issues.For Additional in-depth Debugging one should enable below commands ,- touch /nvram/wifiMgrDbg
- touch /nvram/wifiDbDbg
- touch /nvram/wifiWebConfigDbg
- touch /nvram/wifiHalDbg
- touch /nvram/wifiCtrlDbg
- touch /nvram/wifiMonDbg
- touch /nvram/wifiDMCLI
- touch /nvram/wifiLib
- touch /nvram/wifiLibhostapDbg
check for the respective logs in /tmp,- tail -f wifiCtrl &
- tail -f wifiHal &
- tail -f wifiMgr &
- tail -f wifiDMCLI &
- tail -f wifiDb &
- tail -f wifiWebConfig &
- tail -f wifilibhostap &
Wi-Fi 7 segment
Initial Headers are available in this commit . Below things will be supported by OneWiFi as part of Wi-Fi 7 which includes changes in onewifi ,rdk-wifi-hal & libhostap (for Wi-Fi 7 we use libhostap 2.11 version )- 320 MHZ
- 4kQAM
- MLO
Additional References
For more info refer Porting Guide - OneWifi