Versions Compared

Key

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

Table of Contents

Scope

The scope of this activity is to migrate from existing CcspWiFiAgent component to OneWiFi component in RDK-B Reference platform

Build Instructions

RPI4 32bit

OneWIFi build instructions for RPI4-32 

...

Code Block
languagebash
themeDJango
titleRPI4 32bit
mkdir <workspace dir>
cd <workspace dir>
repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkb-extsrc.xml
repo sync -j`nproc` --no-clone-bundle

# Need to cherry-pick the below change.
cd rdkb/components/opensource/ccsp/rdk-wifi-hal
git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hal/rdk-wifi-hal refs/changes/02/84302/1 && git cherry-pick FETCH_HEAD
cd -
cd meta-cmf-raspbeerypigeneric/mtu_modifier 
git fetch https://code.rdkcentral.com/r/rdkrdkb/components/generic/rdk-oe/meta-cmf-raspberrypimtu_modifier refs/changes/6099/8506097299/12 && git cherry-pick FETCH_HEAD
git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi refs/changes/92/85092/1 && git cherry-pick FETCH_HEAD
cd -
MACHINE=raspberrypi4-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-broadband-image

...

    

Reference link: RPI 4B Model Reference Platform

RPI4 64bit

Code Block
languagec#bash
themeDJango
titleObserved below compilation errors during ccsp-one-wifi-libwebconfig compilation.
| In file included from ../../../git/source/core/wifi_ctrl.h:38,
|                  from ../../../git/source/webconfig/wifi_ovsdb_translator.c:37:
| ../../../git/source/webconfig/wifi_ovsdb_translator.c: In function 'blaster_config_ovs_schema_dump':
| ../../../git/source/webconfig/wifi_ovsdb_translator.c:125:87: error: dereferencing pointer to incomplete type 'const struct schema_Wifi_Blaster_Config'
|   125 |     wifi_util_dbg_print(WIFI_WEBCONFIG,  " plan_id                  : %s\n",   blaster->plan_id);
|       |                                                                                       ^~
| ../../../git/source/utils/wifi_util.h:56:105: note: in definition of macro 'wifi_util_dbg_print'
|    56 | #define wifi_util_dbg_print(module, format, ...)  wifi_util_print(WIFI_LOG_LVL_DEBUG, module, format, ##__VA_ARGS__)
|       |                                                                                                         ^~~~~~~~~~~
| ../../../git/source/webconfig/wifi_ovsdb_translator.c: In function 'blaster_state_ovs_schema_dump':
| ../../../git/source/webconfig/wifi_ovsdb_translator.c:133:87: error: dereferencing pointer to incomplete type 'const struct schema_Wifi_Blaster_State'
|   133 |     wifi_util_dbg_print(WIFI_WEBCONFIG, " plan id                   : %s\n",   blaster->plan_id);
|       |                                                                                       ^~
| ../../../git/source/utils/wifi_util.h:56:105: note: in definition of macro 'wifi_util_dbg_print'
|    56 | #define wifi_util_dbg_print(module, format, ...)  wifi_util_print(WIFI_LOG_LVL_DEBUG, module, format, ##__VA_ARGS__)
|       |                                                                                                         ^~~~~~~~~~~
| ../../../git/source/webconfig/wifi_ovsdb_translator.c: In function 'translate_blaster_info_to_blaster_table':
| ../../../git/source/webconfig/wifi_ovsdb_translator.c:4818:23: error: dereferencing pointer to incomplete type 'struct schema_Wifi_Blaster_State'
|  4818 |     memset(blaster_row->plan_id, '\0', PLAN_ID_LENGTH);
|       |                       ^~
| Makefile:721: recipe for target 'libwifi_webconfig_la-wifi_ovsdb_translator.lo' failed
| make: *** [libwifi_webconfig_la-wifi_ovsdb_translator.lo] Error 1
| make: *** Waiting for unfinished jobs....

...

RPI4 64bit
mkdir <workspace dir>
cd <workspace dir>
repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkb-extsrc.xml
repo sync -j`nproc` --no-clone-bundle
cd rdkb/components/generic/mtu_modifier 
git fetch https://code.rdkcentral.com/r/

...

rdkb/

...

components/generic/

...

Code Block
languagec#
themeDJango
title Observed below compilation errors during ccsp-one-wifi compilation. Also, rdk-wifi-hal is dependency of ccsp-one-wifi component
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/wifi_hal_nl80211.c: In function 'wifi_drv_set_key':
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/wifi_hal_nl80211.c:8306:19: error: 'NL80211_KEY_DEFAULT_BEACON' undeclared (first use in this function); did you mean 'NL80211_KEY_DEFAULT_TYPES'?
|  8306 |                   NL80211_KEY_DEFAULT_BEACON :
|       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
|       |                   NL80211_KEY_DEFAULT_TYPES
| ../../../../../../../mtu_modifier refs/changes/99/97299/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/rdk-wifi-hal/src/wifi_hal_nl80211.c:8306:19: note: each undeclared identifier is reported only once for each function it appears in
| mv -f .deps/librdk_wifihal_la-wifi_hal_rx_test.Tpo .deps/librdk_wifihal_la-wifi_hal_rx_test.Plo
| Makefile:777: recipe for target 'librdk_wifihal_la-wifi_hal_nl80211.lo' failed
| make[2]: *** [librdk_wifihal_la-wifi_hal_nl80211.lo] Error 1
| make[2]: *** Waiting for unfinished jobs....
 ../../../../../../..OneWifi 
git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:55:24: error: unknown type name 'wifi_wps_event_t'; did you mean 'wifi_chan_eventCB_t'?





|    55 | int platform_wps_event(wifi_wps_event_t data)
|       |                        ^~~~~~~~~~~~~~~~
|       |                        wifi_chan_eventCB_t
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:85:34: error: unknown type name 'u16'
|    85 | int platform_get_aid(void* priv, u16* aid, const u8* addr)
|       |                                  ^~~
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:85:50: error: unknown type name 'u8'
|    85 | int platform_get_aid(void* priv, u16* aid, const u8* addr)
|       |                                                  ^~
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:90:35: error: unknown type name 'u16'
|    90 | int platform_free_aid(void* priv, u16* aid)
|       |                                   ^~~
| Makefile:857: recipe for target '../platform/raspberry-pi/librdk_wifihal_la-platform_pi.lo' failed
| make[2]: *** [../platform/raspberry-pi/librdk_wifihal_la-platform_pi.lo] Error 1
Code Block
languagec#
themeDJango
titleObserved below compilation errors during ccsp-one-wifi compilation for rdk-wifi-hal as it is a dependency for ccsp-one-wifi component.
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/wifi_hal_nl80211.c: In function 'wifi_drv_set_key':
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/wifi_hal_nl80211.c:8306:19: error: 'NL80211_KEY_DEFAULT_BEACON' undeclared (first use in this function); did you mean 'NL80211_KEY_DEFAULT_TYPES'?
|  8306 |                   NL80211_KEY_DEFAULT_BEACON :
|       |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
|       |                   NL80211_KEY_DEFAULT_TYPES
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/wifi_hal_nl80211.c:8306:19: note: each undeclared identifier is reported only once for each function it appears in
| mv -f .deps/librdk_wifihal_la-wifi_hal_rx_test.Tpo .deps/librdk_wifihal_la-wifi_hal_rx_test.Plo
| Makefile:777: recipe for target 'librdk_wifihal_la-wifi_hal_nl80211.lo' failed
| make[2]: *** [librdk_wifihal_la-wifi_hal_nl80211.lo] Error 1
| make[2]: *** Waiting for unfinished jobs....
 ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:55:24: error: unknown type name 'wifi_wps_event_t'; did you mean 'wifi_chan_eventCB_t'?
|    55 | int platform_wps_event(wifi_wps_event_t data)
|       |                        ^~~~~~~~~~~~~~~~
|       |                        wifi_chan_eventCB_t
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:85:34: error: unknown type name 'u16'
|    85 | int platform_get_aid(void* priv, u16* aid, const u8* addr)
|       |                                  ^~~
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:85:50: error: unknown type name 'u8'
|    85 | int platform_get_aid(void* priv, u16* aid, const u8* addr)
|       |                                                  ^~
| ../../../../../../../rdkb/components/opensource/ccsp/rdk-wifi-hal/src/../platform/raspberry-pi/platform_pi.c:90:35: error: unknown type name 'u16'
|    90 | int platform_free_aid(void* priv, u16* aid)
|       |                                   ^~~
| Makefile:857: recipe for target '../platform/raspberry-pi/librdk_wifihal_la-platform_pi.lo' failed
| make[2]: *** [../platform/raspberry-pi/librdk_wifihal_la-platform_pi.lo] Error 1
  • Observed below error while building ccsp-one-wifi-libwebconfig component.

...

languagec#
themeDJango
title "wifi_security_mode_enhanced_open" variable is undeclared in wifi_ovsdb_translator.c while building ccsp-one-wifi-libwebconfig component

...

OneWifi refs/changes/36/96136/4 && git cherry-pick FETCH_HEAD && cd -
MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-broadband-image

Reference link: RPI 4B Model Reference Platform with 64bit Arch

Supported Wi-Fi Chipsets

  • Broadcom (In built 2.4Ghz Radio in Raspberry Pi4)
  • Realtek (5Ghz USB dongle)
  • Mediatek (5Ghz USB dongle) (Supported only on RPI4 32bit build)

Feature Enhancements

  •    RDKM team will be starting OneWiFi Working group after RDK Release 2023 Q2.All operator use cases will be discussed,reviewed,planned and implemented as part of OneWiFi Working group and contributed back to RDK

Test Results:

View file
nameRPI4-64b-GW-onewifi-Validation-TestResults.docx
height250

Supported Dongles

  • TP-Link AC1200(Realtek)
  • TP-Link AC1300(Realtek)     
  • Netgear(MediaTek)​ (Supported only on RPI4 32bit build)

References


EPIC/User Stories

Jira
serverJIRA - 2
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = REFPLTB AND "Epic Name" = "One-Wifi Integration in RPI" ORDER BY priority DESC, updated DESC
serverId11deff04-0380-3a3d-a916-0849d4e573f7


Porting guide:

Contact us

  For support please reach out to support@rdkcentral.com

...