From f47a2c3ef3bef6ebbf9b04fe9ad96706b6b82ec0 Mon Sep 17 00:00:00 2001 From: Vivek Kumar Dutta Date: Mon, 18 Sep 2023 12:03:48 +0530 Subject: [PATCH] obuspa: wait for datamodel micro-services --- obuspa/Makefile | 4 ++-- .../etc/uci-defaults/00-obuspa-extender-mode | 8 ++++--- .../udhcpc.user.d/udhcpc_obuspa_opt125.user | 23 ++++++++++++++----- .../patches/0003-set-internal-role-fix.patch | 2 +- .../0004-suppress-notification-logs.patch | 4 ++-- .../0005-optimise_ubus_calls_cli.patch | 8 +++---- 6 files changed, 30 insertions(+), 19 deletions(-) diff --git a/obuspa/Makefile b/obuspa/Makefile index af1bbedec..6ccdb9da0 100644 --- a/obuspa/Makefile +++ b/obuspa/Makefile @@ -5,13 +5,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=obuspa -PKG_VERSION:=7.0.4.1 +PKG_VERSION:=7.0.4.2 LOCAL_DEV:=0 ifneq ($(LOCAL_DEV),1) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa.git -PKG_SOURCE_VERSION:=840b2fd662f3a7941c926975caff090959a7422b +PKG_SOURCE_VERSION:=6d8ef8b7c7546b0405fd19b33f0cc3c62902e0a0 PKG_MAINTAINER:=Vivek Dutta PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MIRROR_HASH:=skip diff --git a/obuspa/files/etc/uci-defaults/00-obuspa-extender-mode b/obuspa/files/etc/uci-defaults/00-obuspa-extender-mode index 9f967cd0a..e8e559c20 100644 --- a/obuspa/files/etc/uci-defaults/00-obuspa-extender-mode +++ b/obuspa/files/etc/uci-defaults/00-obuspa-extender-mode @@ -5,7 +5,9 @@ config_load obuspa config_get interface global interface "" -mode="$(fw_printenv -n netmode)" -if [ "${mode}" == "extender" -a -z "$interface" ] ; then - uci_set obuspa global interface "lan" +if command -v fw_printenv; then + mode="$(fw_printenv -n netmode)" + if [ "${mode}" == "extender" -a -z "$interface" ] ; then + uci_set obuspa global interface "lan" + fi fi diff --git a/obuspa/files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user b/obuspa/files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user index f5317ba3c..8c9e2c15e 100644 --- a/obuspa/files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user +++ b/obuspa/files/etc/udhcpc.user.d/udhcpc_obuspa_opt125.user @@ -124,6 +124,21 @@ get_vivsoi() { done } +get_netmode() +{ + local mode + + if command -v fw_printenv; then + mode="$(fw_printenv -n netmode)" + fi + + if [ "$mode" != "extender" ]; then + mode="full_access" + fi + + echo "$mode" +} + config_load obuspa config_get_bool enable_obuspa global enabled 1 config_get wan_intf global interface "wan" @@ -210,12 +225,8 @@ if [ "${wan_intf}" == "${INTERFACE}" ]; then mtp_encrypt="0" fi fi - mode="$(fw_printenv -n netmode)" - if [ "$mode" == "extender" ]; then - uci -q set obuspa.dhcpcontroller.assigned_role_name='extender' - else - uci -q set obuspa.dhcpcontroller.assigned_role_name='full_access' - fi + + uci -q set obuspa.dhcpcontroller.assigned_role_name="$(get_netmode)" uci -q set obuspa.dhcpcontroller.Enable='1' uci_change=1 fi diff --git a/obuspa/patches/0003-set-internal-role-fix.patch b/obuspa/patches/0003-set-internal-role-fix.patch index d5a1c31e0..7264f98f0 100644 --- a/obuspa/patches/0003-set-internal-role-fix.patch +++ b/obuspa/patches/0003-set-internal-role-fix.patch @@ -20,7 +20,7 @@ void DM_PRIV_RequestInit(dm_req_t *req, dm_node_t *node, char *path, dm_instances_t *inst); --- a/src/core/msg_handler.c +++ b/src/core/msg_handler.c -@@ -893,6 +893,20 @@ char *MtpSendItemToString(mtp_send_item_ +@@ -902,6 +902,20 @@ char *MtpSendItemToString(mtp_send_item_ /*********************************************************************//** ** diff --git a/obuspa/patches/0004-suppress-notification-logs.patch b/obuspa/patches/0004-suppress-notification-logs.patch index 76672fc37..d1da65fd5 100644 --- a/obuspa/patches/0004-suppress-notification-logs.patch +++ b/obuspa/patches/0004-suppress-notification-logs.patch @@ -1,6 +1,6 @@ --- a/src/core/data_model.c +++ b/src/core/data_model.c -@@ -1242,7 +1242,7 @@ int DATA_MODEL_NotifyInstanceAdded(char +@@ -1243,7 +1243,7 @@ int DATA_MODEL_NotifyInstanceAdded(char // Exit if instance already exists - nothing to do if (exists) { @@ -9,7 +9,7 @@ return USP_ERR_CREATION_FAILURE; } -@@ -1327,7 +1327,7 @@ int DATA_MODEL_NotifyInstanceDeleted(cha +@@ -1328,7 +1328,7 @@ int DATA_MODEL_NotifyInstanceDeleted(cha // Exit if instance does not exist - nothing to do if (exists == false) { diff --git a/obuspa/patches/0005-optimise_ubus_calls_cli.patch b/obuspa/patches/0005-optimise_ubus_calls_cli.patch index bf621155b..81a8ce128 100644 --- a/obuspa/patches/0005-optimise_ubus_calls_cli.patch +++ b/obuspa/patches/0005-optimise_ubus_calls_cli.patch @@ -1,16 +1,14 @@ -diff --git a/src/core/data_model.c b/src/core/data_model.c -index 2cf4b6c..b92cf59 100644 --- a/src/core/data_model.c +++ b/src/core/data_model.c -@@ -136,6 +136,7 @@ void DumpDataModelNodeMap(void); - int GetVendorParam(dm_node_t *node, char *path, dm_instances_t *inst, char *buf, int len, dm_req_t *req); +@@ -137,6 +137,7 @@ int GetVendorParam(dm_node_t *node, char int SetVendorParam(dm_node_t *node, char *path, dm_instances_t *inst, char *value, dm_req_t *req); + double_link_t *FindLinkToFirstObject(double_linked_list_t *list); +extern bool is_running_cli_local_command; /*********************************************************************//** ** ** DATA_MODEL_Init -@@ -223,7 +224,9 @@ int DATA_MODEL_Init(void) +@@ -224,7 +225,9 @@ int DATA_MODEL_Init(void) } // Set the default values of OUI, Serial Number and (LocalAgent) EndpointID, and cache EndpointID