Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 3

Table of Contents
maxLevel3

Porting onewifi on RPI:

These details will help RDK-B community to port OneWifi on their reference platforms(RPI) with step by step procedure.

Include rdkb2023q2 release on top of SoC SDK.this is the recommended rdkb stable release for OneWifi (rdkb-2023q2-dunfell). NOTE: Documentation hold same for latest kirkstone release.

draw.io Diagram
bordertrue
diagramNamePortingGuideRPI
simpleViewerfalse
width600
linksauto
tbstyletop
diagramDisplayNamelboxtrue
diagramWidth541
height421
revision1


Integration segments:

draw.io Diagram
bordertrue
diagramNameIntegration
simpleViewerfalse
width600
linksauto
tbstyletop
lboxtrue
diagramWidth402
height362
revision1

Dependencies to build OneWifi

draw.io Diagram
diagramDisplayName
bordertrue
diagramNameDependencies
simpleViewerfalse
width1200
linksauto
tbstyletop
lboxtrue
diagramWidth1551
height511
revision1

Systemd Service file:

  • onewifi.service

Create platform layer for mediatek platform,please consider raspberry pi as reference

Manifest entries:

  • Onewifi component entry in manifest file (OneWifi) and rdk-wifi-hal component entry in manifest (rdk-wifi-hal)

Layers to consider:

  1. meta-raspberrypi ( Or )meta-cmf-soc-<soc name>  ------- Firmware/drivers/kernel to be available

    1. For proposing a new component,please create a bb file here

  2. meta-cmf-raspberrypi (Or) meta-cmf-<platformname> --------- RDK-B changes to specific to SOC platform

    1. All changes that need to be done for the primary recipe are handled in the form of bbappend

    2. Patches: Patches are recommended if the changes are very specific and tied with SOC platform code.

  3. meta-cmf-broadband ----------- RDK-B changes which are common for all RDK-B community members

    1. All changes that need to be done for the primary recipe are handled in the form of bbappend

    2. Patches: Patches are recommended if the changes are very specific and tied with SOC platform code.

    3. 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 fixing or feature enhancement:

  • Bug fixing or feature enhancement done as part of OneWifi which are generic enough should come to OneWifi generic repo

Flags defined in Onewifi:

  • Raspberry Pi has certain limitations on the driver side to support end to end use case of OneWifi and Build dependencies which are specific to comcast.to avoid such issues we have introduced a flag (_PLATFORM_RASPBERRYPI_) to keep it under conditional compilation.for Real targets we dont really need this flags

HAL APIs:

  • For Bulk atomic HAL apis for common configuration refer HAL APIs

Stats implementation:

  • This is vendor specific.we can use vendor based implementation from device specific HAL.pls refer this ticket for reference(
    Jira
    serverJIRA - 2
    serverId11deff04-0380-3a3d-a916-0849d4e573f7
    keyREFPLTB-2510
    )

wifi database:

  • rdkb-wifi.db

64 bit build support:

  • Comcast doesnt have 64 bit support in the current platforms.from RDK team side we have Raspberrypi 4 platform which support 64bit.we have supported Onewifi as part of this platform and fixed lot of alignment issues and warning treated as errors

Difference Between CcspWifiAgent and OneWiFi Apply settings

CcspWifiAgent:

Code Block
languagebash
themeRDark
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:

Code Block
languagebash
themeRDark
#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: https://code.rdkcentral.com/r/plugins/gitiles/rdkb/components/opensource/ccsp/halinterface/+/490e08dc0edc9180a18c60eb4d6d3b0c85a1ebe3

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


For more info refer Porting Guide - OneWifi