Skip to content

Commit c0bea1b

Browse files
authored
Merge branch 'develop' into mso_csi_gui
2 parents dad4d3b + 7829a72 commit c0bea1b

134 files changed

Lines changed: 30017 additions & 6358 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/community_authors.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
"Arumugam-panchatcharam",
1818
"meycint",
1919
"smrithisurendran",
20-
"vlad-safonov"
20+
"vlad-safonov",
21+
"hp490",
22+
"ap934",
23+
"dhiyanesh-dhiyanesh",
24+
"Sangeetha-selvaraj18",
25+
"sundram0711"
2126
]
2227
}

.github/workflows/makefile.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
platform:
1616
- name: "Raspberry Pi"
1717
makefile_path: "build/linux/rpi/makefile"
18-
- name: "Banana Pi R4"
18+
- name: "Banana Pi R4 - MLO"
1919
makefile_path: "build/linux/bpi/makefile"
2020
fail-fast: false
2121

@@ -66,7 +66,19 @@ jobs:
6666
mariadb-server \
6767
gnupg \
6868
file \
69-
golang
69+
golang \
70+
pkg-config \
71+
libperl-dev \
72+
libjson-c-dev
73+
74+
# Steps for ucode installation required for hostapd compilation
75+
git clone https://github.com/jow-/ucode.git ucode
76+
cd ucode
77+
mkdir build && cd build
78+
cmake -DUBUS_SUPPORT=OFF -DUCI_SUPPORT=OFF -DULOOP_SUPPORT=OFF ..
79+
make -j$(nproc)
80+
sudo make install
81+
sudo ldconfig
7082
7183
- name: Setup OneWiFi for ${{ matrix.platform.name }}
7284
working-directory: easymesh_project/OneWifi

NOTICE

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,7 @@ generating it. i.e. RDK Management.
4949
opensync_stats.proto, used in the generation of opensync_stats.pb-c.c/h, is based on an original file which is:
5050
Copyright (c) 2015, Plume Design Inc. All rights reserved.
5151
Licensed under the BSD-3 License.
52+
53+
The Data_Elements_JSON_Schema_v3.0.json file is:
54+
Copyright (C) 2021 Wi-Fi Alliance. All Rights Reserved.
55+
The file is licensed according to the conditions in the header, and your use of the file must be in accordance with the permissions given in that header.

README.md

Lines changed: 576 additions & 1 deletion
Large diffs are not rendered by default.

build/linux/bpi/makefile

Lines changed: 107 additions & 21 deletions
Large diffs are not rendered by default.

build/linux/bpi/setup.sh

Lines changed: 87 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,111 @@
11
#!/bin/sh
22

33
ONEWIFI_DIR=$(pwd)
4-
HOSTAP_DIR="$(pwd)/../rdk-wifi-libhostap/source"
4+
OPENWRT_ROOT="$(pwd)/../../.."
5+
HOSTAP_DIR="$(pwd)/../rdk-wifi-libhostap"
6+
HOSTAP_SRC_DIR="$HOSTAP_DIR/source"
7+
HOSTAP_PATCH_LIST="$ONEWIFI_DIR/build/openwrt/hostap_patch_list.txt"
8+
HOSTAP_PATCH_DIR_META_CMF_BPI="$HOSTAP_DIR/meta-cmf-bananapi/meta-rdk-mtk-bpir4/recipes-ccsp/rdk-wifi-libhostap/files/2.11/kernel_6_6"
9+
HOSTAP_PATCH_DIR_META_FILOGIC="$HOSTAP_DIR/meta-filogic/recipes-wifi/hostapd/files/kernel6-6-patches"
10+
HOSTAP_PATCH_FLAG="$HOSTAP_DIR/.hostap_patched"
11+
RDK_WIFI_HAL_DIR="$(pwd)/../rdk-wifi-hal"
12+
KERNEL_PATCH_DIR="$RDK_WIFI_HAL_DIR/platform/banana-pi/kernel-patches_6.6/openwrt"
513
UPSTREAM_HOSTAP_URL="https://git.w1.fi/hostap.git"
6-
SRCREV_2_10="9d07b9447e76059a2ddef2a879c57d0934634188"
14+
SRCREV_2_11="4b8ac10cb77c3d4dbf7ccefbe697dc0578da374c"
15+
META_CMF_BPI_URL="https://github.com/rdkcentral/meta-cmf-bananapi.git"
16+
META_FILOGIC_URL="https://git01.mediatek.com/filogic/rdk-b/meta-filogic"
17+
SRCREV_META_FILOGIC="c67a32a7c8876b328a8d1eeaca213e860d85b3ce"
18+
19+
# Apply network optimizations for reliable git clone
20+
export GIT_HTTP_LOW_SPEED_LIMIT=0
21+
export GIT_HTTP_LOW_SPEED_TIME=999999
722

823
#git clone other wifi related components
924
cd ..
1025
git clone https://github.com/rdkcentral/rdk-wifi-hal.git rdk-wifi-hal
1126
git clone https://github.com/rdkcentral/rdkb-halif-wifi.git halinterface
1227
git clone https://github.com/xmidt-org/trower-base64.git trower-base64
13-
1428
cd $ONEWIFI_DIR
1529
mkdir -p install/bin
1630
mkdir -p install/lib
1731

1832

1933
#Check if the HOSTAP_DIR already present before creating
2034
if [ -d "$HOSTAP_DIR" ]; then
21-
echo "Hostap directory $HOSTAP_DIR already exists."
35+
echo "Hostap directory $HOSTAP_DIR already exists."
2236
else
2337
mkdir -p $HOSTAP_DIR
2438
fi
2539

26-
#clone the upstream hostap in HOSTAP_DIR as hostap-x.xx
27-
#and move to the relevant commit
28-
cd $HOSTAP_DIR
29-
echo "Cloning hostap in $HOSTAP_DIR"
30-
git clone $UPSTREAM_HOSTAP_URL hostap-2.10
31-
cd hostap-2.10
32-
git reset --hard $SRCREV_2_10
33-
34-
#clone the hostap-patches and apply
35-
git clone https://github.com/rdkcentral/hostap-patches.git hostap-patches
36-
37-
#Apply the patch
38-
patch_filenames="hostap-patches/0001-OneWifi-related-hostap-patch-for-2.10-based-hostap.patch \
39-
hostap-patches/0002-radius_failover_2.10.patch \
40-
hostap-patches/0003-mbssid_support_2.10.patch \
41-
hostap-patches/wpa3_compatibility_hostap_2_10.patch \
42-
hostap-patches/0005-RDKB-58414-Dynamically-update-NAS_2_10.patch \
43-
hostap-patches/0006-RDKB-59523-connectivity-via-supplicant.patch \
44-
hostap-patches/mdu_radius_psk_auth_2_10.patch"
45-
echo "Applying patches ..."
46-
git am $patch_filenames
47-
48-
#Delete the hostap-patches directory after applying
49-
rm -rf hostap-patches
40+
#Check if the HOSTAP_SRC_DIR already present before creating
41+
if [ -d "$HOSTAP_SRC_DIR" ]; then
42+
echo "Hostap source directory $HOSTAP_SRC_DIR already exists."
43+
else
44+
mkdir -p "$HOSTAP_SRC_DIR"
45+
#clone the upstream hostap in HOSTAP_DIR as hostap-x.xx
46+
#and move to the relevant commit
47+
cd $HOSTAP_SRC_DIR
48+
echo "Cloning hostap in $HOSTAP_SRC_DIR"
49+
git clone $UPSTREAM_HOSTAP_URL hostap-2.11
50+
cd hostap-2.11
51+
git reset --hard $SRCREV_2_11
52+
cd $HOSTAP_DIR
53+
fi
54+
55+
if [ -f "$HOSTAP_PATCH_FLAG" ]; then
56+
echo "Hostap patches are already applied. Retry after deleting $HOSTAP_DIR"
57+
else
58+
#Clone meta-cmf-bananapi, meta-filogic and apply hostap patches
59+
[ ! -d "meta-cmf-bananapi" ] && git clone "$META_CMF_BPI_URL" meta-cmf-bananapi
60+
61+
if [ ! -d "meta-filogic" ]; then
62+
mkdir -p meta-filogic && cd meta-filogic
63+
git init
64+
git remote add origin "$META_FILOGIC_URL"
65+
#Increased HTTP post buffer to 1GB to prevent "RPC failed" or "Broken pipe" errors.
66+
git config http.postBuffer 1048576000
67+
git fetch --depth 1 origin "$SRCREV_META_FILOGIC"
68+
git reset --hard FETCH_HEAD
69+
cd "$HOSTAP_DIR"
70+
fi
71+
72+
echo "Applying hostap patches ..."
73+
74+
if [ ! -f "$HOSTAP_PATCH_LIST" ]; then
75+
echo "$HOSTAP_PATCH_LIST not found!"
76+
exit 1
77+
fi
78+
79+
while IFS= read -r line || [ -n "$line" ]; do
80+
81+
[ -z "$line" ] && continue
82+
line=$(echo "$line" | sed 's/\\$//' | xargs)
83+
raw_patch_file=$(echo "$line" | cut -d';' -f1)
84+
eval patch_file="$raw_patch_file"
85+
86+
patch_dir=$(echo "$line" | grep -o 'patchdir=[^;]*' | cut -d'=' -f2)
87+
88+
echo "Applying patch: $patch_file"
89+
90+
if [ -n "$patch_dir" ]; then
91+
patch --forward -p1 -d "$patch_dir" < "$patch_file"
92+
else
93+
patch --forward -p1 < "$patch_file"
94+
fi
95+
96+
if [ $? -ne 0 ]; then
97+
echo "Patch failed: $patch_file"
98+
exit 1
99+
fi
100+
101+
done < "$HOSTAP_PATCH_LIST"
102+
touch "$HOSTAP_PATCH_FLAG"
103+
echo "All patches applied successfully."
104+
fi
105+
106+
#Delete the meta-cmf-bananapi and meta-filogic directories after applying patches
107+
rm -rf meta-cmf-bananapi
108+
rm -rf meta-filogic
50109

51110
#return back to initial directory
52111
cd $ONEWIFI_DIR

build/linux/rpi/makefile

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ ONEWIFI_STA_MGR_APP_SUPPORT = 1
3838
HAL_LIBRARY = $(INSTALLDIR)/lib/libwifihal.a
3939
WEBCONFIG_LIBRARY = $(INSTALLDIR)/lib/libwebconfig.a
4040
HE_BUS_LIBRARY = $(INSTALLDIR)/lib/libhebus.a
41+
MATH_UTIL_LIBRARY = $(INSTALLDIR)/lib/libwifi_math_utils.la
42+
QUALITY_MANAGER_LIBRARY = $(INSTALLDIR)/lib/libwifi_quality_manager.la
4143

4244
INCLUDE_HAL_LIB_DIRS = \
4345
-I$(ONE_WIFI_HOME)/include \
@@ -235,6 +237,9 @@ INCLUDEDIRS = \
235237
-I$(ONE_WIFI_HOME)/source/apps/whix \
236238
-I$(ONE_WIFI_HOME)/source/apps/easyconnect \
237239
-I$(ONE_WIFI_HOME)/source/apps/em \
240+
-I$(ONE_WIFI_HOME)/source/apps/linkquality \
241+
-I$(ONE_WIFI_HOME)/source/utils/quality_mgr/inc/ \
242+
-I$(ONE_WIFI_HOME)/source/utils/math_utils/inc/ \
238243
-I$(ONE_WIFI_HOME)/source/core/services \
239244
-I$(ONE_WIFI_HOME)/include/tr_181/ml \
240245
-I$(ONE_WIFI_HOME)/include \
@@ -291,6 +296,7 @@ LIBS = -lm -luuid -lwifihal -lpthread -ldl -ljansson -lev -lssl -lcrypto -lnl-3
291296
CSOURCES = $(wildcard $(ONE_WIFI_HOME)/source/db/wifi_db.c) \
292297
$(filter-out $(ONE_WIFI_HOME)/source/core/services/vap_svc_mesh_pod.c,$(wildcard $(ONE_WIFI_HOME)/source/core/services/*.c)) \
293298
$(wildcard $(ONE_WIFI_HOME)/source/apps/*.c) \
299+
$(wildcard $(ONE_WIFI_HOME)/source/apps/linkquality/*.c) \
294300
$(wildcard $(ONE_WIFI_HOME)/source/stubs/*.c) \
295301
$(wildcard $(ONE_WIFI_HOME)/source/stats/*.c) \
296302
$(ONE_WIFI_HOME)/lib/common/util.c \
@@ -343,6 +349,11 @@ WEBCONFIG_SOURCES = $(ONE_WIFI_HOME)/source/webconfig/wifi_decoder.c \
343349
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_multivap.c \
344350
$(ONE_WIFI_HOME)/source/utils/wifi_util.c \
345351

352+
353+
MATH_UTIL_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/utils/math_utils/src/*.cpp) \
354+
355+
QUALITY_MANAGER_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/utils/quality_mgr/src/*.cpp) \
356+
346357
HEBUS_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/platform/linux/he_bus/src/*.c) \
347358

348359
INCLUDE_HE_LIB_DIRS = \
@@ -400,6 +411,7 @@ ifdef ONEWIFI_MEMWRAPTOOL_APP_SUPPORT
400411
CSOURCES += $(wildcard $(ONE_WIFI_HOME)/source/apps/memwraptool/*.c) \
401412
WEBCONFIG_SOURCES += $(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_memwraptool.c
402413
endif
414+
WEBCONFIG_SOURCES += $(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_ignite.c
403415

404416
ifdef EM_APP
405417
#INCLUDEDIRS += -I$(ONE_WIFI_HOME)/source/apps/em
@@ -410,16 +422,23 @@ ifdef EM_APP
410422
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_em_sta_link_metrics.c \
411423
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_em_ap_metrics_report.c
412424
endif
425+
WEBCONFIG_SOURCES += $(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_link_report.c
413426

414427
COBJECTS = $(CSOURCES:.c=.o) # expands to list of object files
415428

416429
WEBCONFIG_OBJECTS = $(WEBCONFIG_SOURCES:.c=.o) # expands to list of object files
417430
ALL_WEBCFG_LIB_OBJECTS = $(WEBCONFIG_OBJECTS)
418431

432+
MATH_UTIL_OBJECTS = $(MATH_UTIL_SOURCES:.cpp=.o) # expands to list of object files
433+
ALL_MATH_UTIL_LIB_OBJECTS = $(MATH_UTIL_OBJECTS)
434+
435+
QUALITY_MANAGER_OBJECTS = $(QUALITY_MANAGER_SOURCES:.cpp=.o) # expands to list of object files
436+
ALL_QUALITY_MANAGER_LIB_OBJECTS = $(QUALITY_MANAGER_OBJECTS)
437+
419438
HEBUS_OBJECTS = $(HEBUS_SOURCES:.c=.o) # expands to list of object files
420439
ALL_HEBUS_LIB_OBJECTS = $(HEBUS_OBJECTS)
421440

422-
ALLOBJECTS = $(CXXOBJECTS) $(COBJECTS) $(WEBCONFIG_OBJECTS) $(HEBUS_OBJECTS)
441+
ALLOBJECTS = $(CXXOBJECTS) $(COBJECTS) $(WEBCONFIG_OBJECTS) $(MATH_UTIL_OBJECTS) $(QUALITY_MANAGER_OBJECTS) $(HEBUS_OBJECTS)
423442

424443
CFLAGS = $(INCLUDEDIRS) $(INCLUDE_HE_LIB_DIRS) -g -fPIC -D_ANSC_LINUX -D_COSA_INTEL_USG_ATOM_ -DUSE_NOTIFY_COMPONENT -DCISCO_XB3_PLATFORM_CHANGES -DDUAL_CORE_XB3 -DFEATURE_ONE_WIFI -DWIFI_HAL_VERSION_3 -DFEATURE_SUPPORT_PASSPOINT -DFEATURE_SUPPORT_WEBCONFIG -DRASPBERRY_PI_PORT -DNL80211_ACL -D_PLATFORM_RASPBERRYPI_ -DEASY_MESH_NODE -DEM_APP \
425444
-DONEWIFI_STA_MGR_APP_SUPPORT
@@ -441,7 +460,7 @@ $(BUILD_DIR):
441460
#
442461

443462

444-
all: $(BUILD_DIR) $(CMN_LIBRARY) $(HAL_LIBRARY) $(WEBCONFIG_LIBRARY) $(HE_BUS_LIBRARY) $(PROGRAM)
463+
all: $(BUILD_DIR) $(CMN_LIBRARY) $(HAL_LIBRARY) $(WEBCONFIG_LIBRARY) $(HE_BUS_LIBRARY) $(MATH_UTIL_LIBRARY) $(QUALITY_MANAGER_LIBRARY) $(PROGRAM)
445464

446465
$(CMN_LIBRARY): $(ALL_CMN_LIB_OBJECTS)
447466
$(AR) $@ $^
@@ -452,6 +471,13 @@ $(HAL_LIBRARY): $(ALL_HAL_LIB_OBJECTS)
452471
$(WEBCONFIG_LIBRARY): $(ALL_WEBCFG_LIB_OBJECTS)
453472
$(AR) $@ $^
454473

474+
475+
$(MATH_UTIL_LIBRARY): $(ALL_MATH_UTIL_LIB_OBJECTS)
476+
$(AR) $@ $^
477+
478+
$(QUALITY_MANAGER_LIBRARY): $(ALL_QUALITY_MANAGER_LIB_OBJECTS)
479+
$(AR) $@ $^
480+
455481
$(HE_BUS_LIBRARY): $(ALL_HEBUS_LIB_OBJECTS)
456482
$(AR) $@ $^
457483
#
@@ -478,7 +504,7 @@ $(PROGRAM): $(ALLOBJECTS)
478504
#
479505

480506
clean:
481-
$(RM) $(ALLOBJECTS) $(ALL_CMN_LIB_OBJECTS) $(ALL_HAL_LIB_OBJECTS) $(CMN_LIBRARY) $(HE_BUS_LIBRARY) $(WEBCONFIG_LIBRARY) $(HAL_LIBRARY) $(HOSTAP_LIBRARY) $(PROGRAM)
507+
$(RM) $(ALLOBJECTS) $(ALL_CMN_LIB_OBJECTS) $(ALL_HAL_LIB_OBJECTS) $(CMN_LIBRARY) $(HE_BUS_LIBRARY) $(WEBCONFIG_LIBRARY) $(MATH_UTIL_LIBRARY) $(QUALITY_MANAGER_LIBRARY)$(HAL_LIBRARY) $(HOSTAP_LIBRARY) $(PROGRAM)
482508

483509
#
484510
# Run target: "make -f Makefile.Linux run" to execute the application

build/linux/rpi/setup.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ patch_filenames="hostap-patches/0001-OneWifi-related-hostap-patch-for-2.10-based
4545
echo "Applying patches ..."
4646
git am $patch_filenames
4747

48+
#Apply additional patches
49+
patch -p3 --no-backup-if-mismatch < hostap-patches/xfi-tel-complete_2_10.patch
50+
4851
#Delete the hostap-patches directory after applying
4952
rm -rf hostap-patches
5053

build/linux/stamgr_setup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ONEWIFI_DIR=$(pwd)
44
STA_MGR_DIR="$(pwd)/../WiFiStaManager"
55

66
cd ..
7-
git clone -b 25Q3_sprint https://gerrit.teamccp.com/rdk/rdkb/components/opensource/ccsp/WiFiStaManager/generic WiFiStaManager
7+
git clone -b 26Q1_sprint https://gerrit.teamccp.com/rdk/rdkb/components/opensource/ccsp/WiFiStaManager/generic WiFiStaManager
88
if [ -d "$STA_MGR_DIR" ]; then
99
echo "copying sta_mgr..."
1010
cp -r $STA_MGR_DIR/* $ONEWIFI_DIR/source/apps/sta_mgr

0 commit comments

Comments
 (0)