Skip to content

Commit d57591b

Browse files
committed
Merge branch 'rdkcentral:develop' into csi_raw_hex_data
2 parents a056a61 + 709ec40 commit d57591b

57 files changed

Lines changed: 2771 additions & 1632 deletions

Some content is hidden

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

configure.ac

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ AM_CONDITIONAL([HAL_IPC], [test x$HAL_IPC = xtrue])
135135
AM_CONDITIONAL([ONEWIFI_CAC_APP_SUPPORT], [test x$ONEWIFI_CAC_APP_SUPPORT = xtrue])
136136
AM_CONDITIONAL([ONEWIFI_STA_MGR_APP_SUPPORT], [test x$ONEWIFI_STA_MGR_APP_SUPPORT = xtrue])
137137
AM_CONDITIONAL([ONEWIFI_DML_SUPPORT], [test x$ONEWIFI_DML_SUPPORT_MAKEFILE = xtrue])
138+
AM_CONDITIONAL([ONEWIFI_JSON_DML_SUPPORT], [test x$ONEWIFI_JSON_DML_SUPPORT = xtrue])
138139
AM_CONDITIONAL([ONEWIFI_DBUS_SUPPORT], [test x$ONEWIFI_DBUS_SUPPORT = xtrue])
139140
AM_CONDITIONAL([ONEWIFI_ANALYTICS_APP_SUPPORT], [test x$ONEWIFI_ANALYTICS_APP_SUPPORT = xtrue])
140141
AM_CONDITIONAL([ONEWIFI_LEVL_APP_SUPPORT], [test x$ONEWIFI_LEVL_APP_SUPPORT = xtrue])

include/webconfig_external_proto.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#define EXTERNAL_PROTO_H
2222
#include <webconfig_external_proto_ovsdb.h>
2323
#include <webconfig_external_proto_tr181.h>
24-
#if defined EASY_MESH_NODE || defined EASY_MESH_COLOCATED_NODE
24+
#if defined EASY_MESH_NODE
2525
#include <webconfig_external_proto_easymesh.h>
2626
#endif
2727

@@ -33,7 +33,7 @@ typedef struct {
3333
union {
3434
webconfig_external_ovsdb_t ovsdb;
3535
webconfig_external_tr181_t tr181;
36-
#if defined EASY_MESH_NODE || defined EASY_MESH_COLOCATED_NODE
36+
#if defined EASY_MESH_NODE
3737
webconfig_external_easymesh_t easymesh;
3838
#endif
3939
}u;
@@ -57,7 +57,7 @@ webconfig_error_t webconfig_ovsdb_decode(webconfig_t *config,
5757

5858
webconfig_error_t webconfig_convert_ifname_to_subdoc_type(const char *ifname, webconfig_subdoc_type_t *type);
5959

60-
#if defined EASY_MESH_NODE || defined EASY_MESH_COLOCATED_NODE
60+
#if defined EASY_MESH_NODE
6161
// external api sets for easymesh agent, encode takes webconfig object, easymesh structure
6262
// and subdocument type as input, encoded string (4th argument) is output
6363
webconfig_error_t webconfig_easymesh_encode(webconfig_t *config,

include/wifi_base.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ extern "C" {
8787
#define MAX_NUM_MLD_LINKS 15
8888
#endif /*MAX_NUM_MLD_LINKS*/
8989

90+
#define UNDEFINED_MLD_ID 255
91+
9092
#ifdef CONFIG_NO_MLD_ONLY_PRIVATE
9193
#define MLD_UNIT_COUNT 8
9294
#else

lib/ovsdb/ovsdb_table.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ void* onewifi_ovsdb_table_select_where(const char *ovsdb_sock_path, ovsdb_table_
197197
if (!retval && records_array)
198198
free(records_array);
199199
json_decref(jrows);
200-
return retval;
200+
return records_array;
201201
}
202202

203203
void* onewifi_ovsdb_table_select(const char *ovsdb_sock_path, ovsdb_table_t *table, char *column, char *value, int *count)

lib/qm/qm_conn.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ bool qm_conn_read_req(int fd, qm_request_t *req, char **topic, void **data)
251251
if (!*topic) goto alloc_err;
252252
ret = read(fd, *topic, size);
253253
if (ret != size) goto read_err;
254+
(*topic)[size] = '\0';
254255
}
255256
total += size;
256257

@@ -264,7 +265,7 @@ bool qm_conn_read_req(int fd, qm_request_t *req, char **topic, void **data)
264265
}
265266
total += size;
266267

267-
LOG(TRACE, "%s: t:%s ds:%d b:%d", __FUNCTION__, *topic, size, total);
268+
LOG(TRACE, "%s: t:%s ds:%d b:%d", __FUNCTION__, *topic ? *topic : "", size, total);
268269

269270
return true;
270271

scripts/OneWiFi_Selfheal.sh

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ radio_6g_instance=3
3333
private_2g_instance=1
3434
private_5g_instance=2
3535
private_6g_instance=17
36+
lnf_2g_instance=7
37+
lnf_5g_instance=8
38+
lnf_6g_instance=20
3639
hal_indication="/tmp/hal_initialize_failed"
3740
prev_reboot_timestamp=0
3841
cur_reboot_timestamp=0
@@ -220,6 +223,50 @@ onewifi_conn_clients_count() {
220223
done
221224
}
222225

226+
check_lnf_status()
227+
{
228+
radio_status_2g=`dmcli eRT retv Device.WiFi.Radio.$radio_2g_instance.Enable`
229+
if [ "$radio_status_2g" == "true" ]; then
230+
if ! ovs-vsctl list-ifaces br106 | grep -q "wl0.4"; then
231+
status_lnf_2g=`dmcli eRT retv Device.WiFi.AccessPoint.$lnf_2g_instance.Enable`
232+
if [ "$status_lnf_2g" == "true" ]; then
233+
ssid_lnf_2g=`wl -i wl0.4 bssid`
234+
if [ "$ssid_lnf_2g" == "00:00:00:00:00:00" ]; then
235+
wl -i wl0.4 bss up
236+
fi
237+
fi
238+
fi
239+
fi
240+
241+
radio_status_5g=`dmcli eRT retv Device.WiFi.Radio.$radio_5g_instance.Enable`
242+
if [ "$radio_status_5g" == "true" ]; then
243+
if ! ovs-vsctl list-ifaces br106 | grep -q "wl1.4"; then
244+
status_lnf_5g=`dmcli eRT retv Device.WiFi.AccessPoint.$lnf_5g_instance.Enable`
245+
if [ "$status_lnf_5g" == "true" ]; then
246+
ssid_lnf_5g=`wl -i wl1.4 bssid`
247+
if [ "$ssid_lnf_5g" == "00:00:00:00:00:00" ]; then
248+
wl -i wl1.4 bss up
249+
fi
250+
fi
251+
fi
252+
fi
253+
254+
if [ "$MODEL_NUM" == "$CGM49" ] || [ "${MODEL_NUM}" = "CGM601TCOM" ] || [ "${MODEL_NUM}" = "CWA438TCOM" ] || [ "${MODEL_NUM}" = "SG417DBCT" ] || [ "${MODEL_NUM}" == "SCER11BEL" ] || [ "$MODEL_NUM" == "SCXF11BFL" ]; then
255+
radio_status_6g=`dmcli eRT retv Device.WiFi.Radio.$radio_6g_instance.Enable`
256+
if [ "$radio_status_6g" == "true" ]; then
257+
if ! ovs-vsctl list-ifaces br106 | grep -q "wl2.4"; then
258+
status_lnf_6g=`dmcli eRT retv Device.WiFi.AccessPoint.$lnf_6g_instance.Enable`
259+
if [ "$status_lnf_6g" == "true" ]; then
260+
ssid_lnf_6g=`wl -i wl2.4 bssid`
261+
if [ "$ssid_lnf_6g" == "00:00:00:00:00:00" ]; then
262+
wl -i wl2.4 bss up
263+
fi
264+
fi
265+
fi
266+
fi
267+
fi
268+
}
269+
223270
onewifi_mem_restart() {
224271
# Find the OneWifi process PID
225272
onewifi_pid=$(ps | grep "/usr/bin/OneWifi -subsys eRT\." | grep -v grep | awk '{print $1}')
@@ -327,7 +374,7 @@ do
327374
eco_mode_5g=`dmcli eRT getv Device.WiFi.Radio.$radio_5g_instance.X_RDK_EcoPowerDown | grep "value:" | cut -f2- -d:| cut -f2- -d:`
328375
eco_mode_6g="false"
329376
elif [ "$MODEL_NUM" == "SCER11BEL" ] || [ "$MODEL_NUM" == "SCXF11BFL" ]; then
330-
eco_mode_2g=`dmcli eRT getv Device.WiFi.Radio.$radio_2g_instance.X_RDK_EcoPowerDown | grep "value:" | cut -f2- -d:| cut -f2- -d:`
377+
eco_mode_2g=`dmcli eRT getv Device.WiFi.Radio.$radio_2g_instance.X_RDK_EcoPowerDown | grep "value:" | cut -f2- -d:| cut -f2- -d:`
331378
eco_mode_5g=`dmcli eRT getv Device.WiFi.Radio.$radio_5g_instance.X_RDK_EcoPowerDown | grep "value:" | cut -f2- -d:| cut -f2- -d:`
332379
eco_mode_6g=`dmcli eRT getv Device.WiFi.Radio.$radio_6g_instance.X_RDK_EcoPowerDown | grep "value:" | cut -f2- -d:| cut -f2- -d:`
333380
else
@@ -482,6 +529,9 @@ do
482529

483530
# Check if OneWifi process RSS memory usage exceeds threshold, if does restart OneWifi.
484531
onewifi_mem_restart
532+
if [ "$MODEL_NUM" != "SR213" ] && [ "$MODEL_NUM" != "GR-EXT02A-CTS" ] && [ "$MODEL_NUM" != "SR203" ] && [ "$MODEL_NUM" != "$TG4" ]; then
533+
check_lnf_status
534+
fi
485535
sleep 5m
486536
((check_count++))
487537
done

scripts/mesh_setip.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,9 +317,6 @@ if [ "$MODEL_NUM" == "$X50" ] || [ "$MODEL_NUM" == "$CGM43" ] || [ "$MODEL_NUM"
317317
if [ "$wifiDynamicProfile" == "1" ]; then # Only create brlan115 onboarding bridge with interface wl0.4 if wifiDynamicProfile is already set to 1 (mesh onboarding)
318318
sysevent set multinet-up 19 # Trigger to initialise brlan115 onboarding bridge
319319
fi
320-
else
321-
sysevent set multinet-down 18 # Trigger to remove br412 bridge
322-
sysevent set multinet-down 19 # Trigger to remove brlan115 onboarding bridge
323320
fi
324321
fi
325322
else

source/apps/analytics/wifi_analytics.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ void device_statistics_info(analytics_data_t *data)
101101
char temp_str[128];
102102
unsigned int radio_index = 0;
103103
radio_data_t radio_stats;
104-
char client_mac[32], sta_stats_str[256], tm_str[64];
104+
char client_mac[32], sta_stats_str[256], tm_str[128];
105105
analytics_sta_info_t *sta_info;
106106
wifi_associated_dev3_t *dev_stats;
107107
sta_data_t *sta_data;
@@ -872,7 +872,8 @@ int command_event_analytics(wifi_app_t *apps, wifi_event_subtype_t sub_type, voi
872872
break;
873873

874874
case wifi_event_type_rsn_override_rfc:
875-
wifi_util_info_print(WIFI_APPS, "%s:%d: Change in WPA3-Personal-Compatibility RFC %d \r\n", __func__, __LINE__, (bool *)arg);
875+
wifi_util_info_print(WIFI_APPS, "%s:%d: Change in WPA3-Personal-Compatibility RFC %d\r\n",
876+
__func__, __LINE__, *(int *)arg);
876877
break;
877878

878879
default:

source/apps/levl/wifi_levl.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,11 @@ static int schedule_from_pending_map(wifi_app_t *wifi_app)
114114
memcpy(mac_addr, levl_sc_data->mac_addr, sizeof(mac_address_t));
115115
levl_sc_data = hash_map_remove(p_map, mac_str);
116116
if (levl_sc_data != NULL) {
117+
//schedule for sounding
118+
schedule_mac_for_sounding(ap_index, mac_addr, levl_sc_data->duration, levl_sc_data->interval);
117119
free(levl_sc_data);
118120
}
119121

120-
//schedule for sounding
121-
schedule_mac_for_sounding(ap_index, mac_addr, levl_sc_data->duration, levl_sc_data->interval);
122122
break;
123123
}
124124
}
@@ -1831,7 +1831,11 @@ int levl_init(wifi_app_t *app, unsigned int create_flag)
18311831
levl_event_exec_timeout, app, (APPS_FRAME_EXEC_TIMEOUT_PERIOD * 1000), 0, FALSE);
18321832

18331833
//Create FIFO for the csi.
1834-
mkfifo(CSI_LEVL_PIPE, 0777);
1834+
if (mkfifo(CSI_LEVL_PIPE, 0777) != 0 && errno != EEXIST) {
1835+
wifi_util_error_print(WIFI_APPS, "%s:%d Failed to create FIFO %s, errno:%d\n",
1836+
__func__, __LINE__, CSI_LEVL_PIPE, errno);
1837+
return RETURN_ERR;
1838+
}
18351839
app->data.u.levl.csi_fd = -1;
18361840

18371841
rc = get_bus_descriptor()->bus_open_fn(&app->handle, component_name);

source/apps/motion/wifi_motion.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ void csi_set_client_mac(char *r_mac_list, int csi_session_number)
377377
csi->no_of_mac = 0;
378378
}
379379

380-
strncpy(mac_list, r_mac_list, MAX_CSI_CLIENTMACLIST_STR);
380+
snprintf(mac_list, MAX_CSI_CLIENTMACLIST_STR, "%s", r_mac_list);
381381
rest = mac_list;
382382
if (strlen(mac_list) > 0) {
383383
gettimeofday(&t_now, NULL);
@@ -817,7 +817,7 @@ bus_error_t csi_set_handler(char *event_name, raw_data_t *p_data, bus_user_data_
817817
str_to_mac_bytes(str, l_client_list[itr]);
818818
str = strtok_r(NULL, ",", &cptr);
819819
itr++;
820-
if (itr > MAX_NUM_CSI_CLIENTS) {
820+
if (itr >= MAX_NUM_CSI_CLIENTS) {
821821
wifi_util_error_print(WIFI_APPS,"%s:%d client list is big %d\n", __func__, __LINE__, itr);
822822
if (str_dup) {
823823
free(str_dup);

0 commit comments

Comments
 (0)