Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents
maxLevel3

Porting onewifi on RPI:

...

This step by step guide provides detailed instructions to assist the RDK-B community

...

in porting the OneWifi component to the RPi4 reference platform

Tip

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:

draw.io Diagram
bordertrue
diagramNamePortingGuideRPI
simpleViewerfalse
width600
linksauto
tbstyletop
lboxtrue
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
bordertrue
diagramNameDependencies
simpleViewerfalse
width1200
linksauto
tbstyletop
lboxtrue
diagramWidth1551
height511
revision1

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

...

Manifest entries:

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

Layers to consider:

...

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

...

  1. _name>
    • Firmware/drivers/kernel to be available
    • For proposing a new component, please create a bb file here
  2. meta-cmf-raspberrypi

...

  1. or meta-cmf-

...

  1. <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

...

  1. 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

...

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

...

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.

...

  • 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
    Jira
    serverJIRA - 2
    serverId11deff04-0380-3a3d-a916-0849d4e573f7
    keyREFPLTB-2510

...

  • for more details. 

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:

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

...

is 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. 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