This step by step guide provides detailed instructions to assist the RDK-B community in porting the OneWifi component to the RPi4 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 RPi4 as a reference)

Platform Layer: Create a platform layer for MediaTek, using RPi4 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:

RPi4 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:

At present, support for 64-bit platforms is limited. However, the RDK team provides support for 64-bit builds on RPi4 platforms, with full integration of OneWifi. Many alignment issues and warnings that were previously treated as errors have been resolved 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 is 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. The following features will be supported by OneWifi as part of Wi-Fi 7, which includes changes in OneWifi, rdk-wifi-hal and 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