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 |
---|
language | bash |
---|
theme | DJango |
---|
title | RPI4 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-halgeneric/mtu_modifier
git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hal/rdk-wifi-halgeneric/mtu_modifier refs/changes/0299/8430297299/12 && git cherry-pick FETCH_HEAD
&& cd -
cd meta-cmf-raspbeerypi
git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/MACHINE=raspberrypi4-rdk-broadband source meta-cmf-raspberrypi refs/changes/60/85060/1 && 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 - |
...
/setup-environment
bitbake rdk-generic-broadband-image |
Reference link: RPI 4B Model Reference Platform
RPI4 64bit
Code Block |
---|
language | c#bash |
---|
theme | DJango |
---|
title | Observed 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....
|
...
|
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/ |
...
...
...
Code Block |
---|
language | c# |
---|
theme | DJango |
---|
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 |
Added systemd service of onewifi and Enabled missing CFLAGS for OneWiFi and Added required changes in RPI layer.
Code Block |
---|
language | c# |
---|
theme | DJango |
---|
title | Observed 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.
...
language | c# |
---|
theme | DJango |
---|
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 |
---|
name | RPI4-64b-GW-onewifi-Validation-TestResults.docx |
---|
height | 250 |
---|
|
Supported Dongles
- TP-Link AC1200(Realtek)
- TP-Link AC1300(Realtek)
- Netgear(MediaTek) (Supported only on RPI4 32bit build)
References
Jira |
---|
server | JIRA - 2 |
---|
serverId | 11deff04-0380-3a3d-a916-0849d4e573f7 |
---|
key | REFPLTB-2020 |
---|
|
Jira |
---|
server | JIRA - 2 |
---|
serverId | 11deff04-0380-3a3d-a916-0849d4e573f7 |
---|
key | REFPLTB-2491 |
---|
|
- Code review link: https://code.rdkcentral.com/r/q/topic:OneWifi
- Onewifi Reference Porting Documentation
EPIC/User Stories
Jira |
---|
server | JIRA - 2 |
---|
columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
maximumIssues | 20 |
---|
jqlQuery | project = REFPLTB AND "Epic Name" = "One-Wifi Integration in RPI" ORDER BY priority DESC, updated DESC |
---|
serverId | 11deff04-0380-3a3d-a916-0849d4e573f7 |
---|
|
Porting guide:
Contact us
For support please reach out to support@rdkcentral.com