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

  1. meta-raspberrypi or meta-cmf-soc-<soc_name>
  2. meta-cmf-raspberrypi or meta-cmf-<platform_name>
  3. meta-cmf-broadband

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.

HAL APIs

Bulk Atomic HAL APIs:

For bulk atomic HAL APIs related to common configuration, refer to the HAL APIs documentation 

Stats Implementation

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 ,check for the respective logs in /tmp, 

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 )
  1. 320 MHZ
  2. 4kQAM
  3. MLO

Additional References


For more info refer Porting Guide - OneWifi