[rdkb][common][conf][Add filogic830 onewifi build support]

[Description]
Add filogic830 onewifi build support

[Release-log]

Change-Id: I5db0bc298ecfbc84c4338bf6dac77a15ddd3474e
diff --git a/recipes-connectivity/opensync/files/0001-add-mesh-header-file.patch b/recipes-connectivity/opensync/files/0001-add-mesh-header-file.patch
deleted file mode 100644
index 6b6cdef..0000000
--- a/recipes-connectivity/opensync/files/0001-add-mesh-header-file.patch
+++ /dev/null
@@ -1,322 +0,0 @@
-diff --git a/src/lib/target/inc/mesh/meshsync_msgs.h b/src/lib/target/inc/mesh/meshsync_msgs.h
-new file mode 100644
-index 0000000..03d5c6a
---- /dev/null
-+++ b/src/lib/target/inc/mesh/meshsync_msgs.h
-@@ -0,0 +1,316 @@
-+/*
-+ * If not stated otherwise in this file or this component's Licenses.txt file the
-+ * following copyright and licenses apply:
-+ *
-+ * Copyright 2018 RDK Management
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ * http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+*/
-+
-+/*
-+ * meshcfg.h
-+ *
-+ */
-+
-+#ifndef MESHCFG_H_
-+#define MESHCFG_H_
-+
-+#include <sys/types.h>
-+#include <inttypes.h>
-+
-+#define MAX_SSID_LEN         65
-+#define MAX_PASS_LEN         65
-+#define MAX_MODE_LEN         25
-+#define MAX_SUBNET_LEN       25
-+#define MAX_IP_LEN           64
-+#define MAX_URL_LEN          256
-+#define MAX_TXRATE_LEN       256
-+#define MAX_CHANNEL_MODE_LEN 32
-+#define MAX_MAC_ADDR_LEN     18
-+#define MAX_HOSTNAME_LEN     256
-+
-+#if defined(ENABLE_MESH_SOCKETS)
-+/**************************************************************************/
-+/*      Unix Domain Socket Name                                           */
-+/**************************************************************************/
-+#define MESH_SOCKET_PATH_NAME   "\0/tmp/mesh-socket-queue" // MeshAgent Server message socket
-+#else
-+/**************************************************************************/
-+/*      Posix Message Queue Names                                         */
-+/**************************************************************************/
-+#define MESH_SERVER_QUEUE_NAME   "/mqueue-mesh-server" // Message traffic from Mesh Application Layer to RDKB
-+#define MESH_CLIENT_QUEUE_NAME   "/mqueue-mesh-client" // Message traffic from RDKB to Mesh Application Layer
-+#endif
-+
-+#define MAX_FINGERPRINT_LEN 512
-+/**************************************************************************/
-+/*      Mesh sync message types                                         */
-+/**************************************************************************/
-+typedef enum {
-+    MESH_WIFI_RESET,
-+    MESH_WIFI_RADIO_CHANNEL,
-+    MESH_WIFI_RADIO_CHANNEL_MODE,
-+    MESH_WIFI_SSID_NAME,
-+    MESH_WIFI_SSID_ADVERTISE,
-+    MESH_WIFI_AP_SECURITY,
-+    MESH_WIFI_AP_KICK_ASSOC_DEVICE,
-+    MESH_WIFI_AP_KICK_ALL_ASSOC_DEVICES,
-+    MESH_WIFI_AP_ADD_ACL_DEVICE,
-+    MESH_WIFI_AP_DEL_ACL_DEVICE,
-+    MESH_WIFI_MAC_ADDR_CONTROL_MODE,
-+    MESH_SUBNET_CHANGE,
-+    MESH_URL_CHANGE,
-+    MESH_WIFI_STATUS,
-+    MESH_WIFI_ENABLE,
-+    MESH_STATE_CHANGE,
-+    MESH_WIFI_TXRATE,
-+    MESH_CLIENT_CONNECT,
-+    MESH_DHCP_RESYNC_LEASES,
-+    MESH_DHCP_ADD_LEASE,
-+    MESH_DHCP_REMOVE_LEASE,
-+    MESH_DHCP_UPDATE_LEASE,
-+    MESH_WIFI_RADIO_CHANNEL_BW,
-+    MESH_SYNC_MSG_TOTAL
-+} eMeshSyncType;
-+
-+/**
-+ * Mesh States
-+ */
-+typedef enum {
-+    MESH_STATE_FULL = 0,
-+    MESH_STATE_MONITOR,
-+    MESH_STATE_WIFI_RESET,
-+    MESH_STATE_TOTAL
-+} eMeshStateType;
-+
-+/**
-+ * Mesh Status states
-+ */
-+typedef enum {
-+    MESH_WIFI_STATUS_OFF = 0,
-+    MESH_WIFI_STATUS_INIT,
-+    MESH_WIFI_STATUS_MONITOR,
-+    MESH_WIFI_STATUS_FULL,
-+    MESH_WIFI_STATUS_TOTAL
-+} eMeshWifiStatusType;
-+
-+/**
-+ * Mesh Connected Client Interfaces
-+ */
-+typedef enum {
-+    MESH_IFACE_NONE = 0,
-+    MESH_IFACE_ETHERNET,
-+    MESH_IFACE_MOCA,
-+    MESH_IFACE_WIFI,
-+    MESH_IFACE_OTHER,
-+    MESH_IFACE_TOTAL
-+} eMeshIfaceType;
-+
-+/**
-+ * Mesh Sync Wifi Reset/Init message
-+ */
-+typedef struct _MeshWifiReset {
-+    uint8_t reset; // boolean dummy value for structure set to true.
-+} MeshWifiReset;
-+
-+/**
-+ * Mesh Sync Wifi SSID name change message
-+ */
-+typedef struct _MeshWifiSSIDName {
-+    uint32_t  index;                    // index [0-15]
-+    char      ssid[MAX_SSID_LEN];       // SSID
-+} MeshWifiSSIDName;
-+
-+/**
-+ * Mesh Sync Wifi SSID Advertise change message
-+ */
-+typedef struct _MeshWifiSSIDAdvertise {
-+    uint32_t  index;                    // index [0-15]
-+    uint8_t   enable;                   // boolean enable
-+} MeshWifiSSIDAdvertise;
-+
-+/**
-+ * Mesh Sync Wifi Radio channel change
-+ */
-+typedef struct _MeshWifiRadioChannel {
-+    uint32_t index;                // Radio index
-+    uint32_t channel;              // Channel
-+} MeshWifiRadioChannel;
-+
-+/**
-+ * Mesh Sync Wifi Radio channel mode change
-+ */
-+typedef struct _MeshWifiRadioChannelMode {
-+    uint32_t index;                             // Radio index
-+    char     channelMode[MAX_CHANNEL_MODE_LEN]; // ChannelMode
-+    uint8_t  gOnlyFlag;            // Is this g only?
-+    uint8_t  nOnlyFlag;            // Is this n only?
-+    uint8_t  acOnlyFlag;           // Is this ac only?
-+} MeshWifiRadioChannelMode;
-+
-+
-+/**
-+ * Mesh Sync Wifi configuration change message
-+ */
-+typedef struct _MeshWifiAPSecurity {
-+    uint32_t  index;                    // AP index [0-15]
-+    char      passphrase[MAX_PASS_LEN]; // AP Passphrase
-+    char      secMode[MAX_MODE_LEN];    // Security mode
-+    char      encryptMode[MAX_MODE_LEN];    // Encryption mode
-+} MeshWifiAPSecurity;
-+
-+
-+/**
-+ * Mesh Sync Wifi Kick AP Associated Device based on device mac
-+ */
-+typedef struct _MeshWifiAPKickAssocDevice {
-+    uint32_t  index;                    // AP index [0-15]
-+    char      mac[MAX_MAC_ADDR_LEN];    // Mac Address
-+} MeshWifiAPKickAssocDevice;
-+
-+/**
-+ * Mesh Sync Wifi Kick All AP Associated Devices
-+ */
-+typedef struct _MeshWifiAPKickAllAssocDevices {
-+    uint32_t  index;                    // AP index [0-15]
-+} MeshWifiAPKickAllAssocDevices;
-+
-+
-+/**
-+ * Mesh Sync Wifi AP Add Acl Device
-+ */
-+typedef struct _MeshWifiAPAddAclDevice {
-+    uint32_t  index;                    // AP index [0-15]
-+    char      mac[MAX_MAC_ADDR_LEN];    // Mac Address
-+} MeshWifiAPAddAclDevice;
-+
-+
-+/**
-+ * Mesh Sync Wifi AP Delete Acl Device
-+ */
-+typedef struct _MeshWifiAPDelAclDevice {
-+    uint32_t  index;                    // AP index [0-15]
-+    char      mac[MAX_MAC_ADDR_LEN];    // Mac Address
-+} MeshWifiAPDelAclDevice;
-+
-+/**
-+ * Mesh Sync Wifi Mac Address Control Mode
-+ */
-+typedef struct _MeshWifiMacAddrControlMode {
-+    uint32_t  index;                        // AP index [0-15]
-+    uint8_t   isEnabled;   // Filter Enabled bool
-+    uint8_t   isBlacklist; // blacklist=1; whitelist=0
-+} MeshWifiMacAddrControlMode;
-+
-+
-+/**
-+ * Mesh Sync Subnet configuration change message
-+ */
-+typedef struct _MeshSubnetChange {
-+    char gwIP[MAX_IP_LEN];   // GW IP value
-+    char netmask[MAX_SUBNET_LEN];   // Subnet value
-+} MeshSubnetChange;
-+
-+/**
-+ * Mesh Sync URL configuration change message
-+ */
-+typedef struct _MeshUrlChange {
-+    char url[MAX_URL_LEN];  // url
-+} MeshUrlChange;
-+
-+/**
-+ * Mesh Network Status message
-+ */
-+typedef struct _MeshWifiStatus {
-+    eMeshWifiStatusType status; // Status of mesh network
-+} MeshWifiStatus;
-+
-+/**
-+ * Mesh State message
-+ */
-+typedef struct _MeshStateChange {
-+    eMeshStateType state; // State of mesh network
-+} MeshStateChange;
-+
-+/**
-+ * Mesh WiFi TxRate
-+ */
-+typedef struct _MeshWifiTxRate {
-+    uint32_t  index;                        // AP index [0-15]
-+    char      basicRates[MAX_TXRATE_LEN];   // Basic Rates
-+    char      opRates   [MAX_TXRATE_LEN];   // Operational Rates
-+} MeshWifiTxRate;
-+
-+/**
-+ * Mesh Client Connect
-+ */
-+typedef struct _MeshClientConnect {
-+    eMeshIfaceType  iface;                  // Interface
-+    char            mac[MAX_MAC_ADDR_LEN];  // MAC address
-+    char            host[MAX_HOSTNAME_LEN];  // Hostname
-+    uint8_t         isConnected;            // true=connected; false=offline/disconnected
-+} MeshClientConnect;
-+
-+/**
-+ * DHCP lease notification
-+ */
-+typedef struct _MeshWifiDhcpLease {
-+    char        mac[MAX_MAC_ADDR_LEN];
-+    char        ipaddr[MAX_IP_LEN];
-+    char        hostname[MAX_HOSTNAME_LEN];
-+    char        fingerprint[MAX_FINGERPRINT_LEN];
-+} MeshWifiDhcpLease;
-+
-+/**
-+ * Channel Bandwidth change notification
-+ */
-+typedef struct _MeshWifiRadioChannelBw {
-+    int index;
-+    int bw;
-+} MeshWifiRadioChannelBw;
-+
-+/**
-+ * Mesh Sync message
-+ */
-+typedef struct _MeshSync {
-+    eMeshSyncType msgType;
-+
-+    union {
-+        MeshWifiReset                   wifiReset;
-+        MeshWifiRadioChannel            wifiRadioChannel;
-+        MeshWifiRadioChannelMode        wifiRadioChannelMode;
-+        MeshWifiSSIDName                wifiSSIDName;
-+        MeshWifiSSIDAdvertise           wifiSSIDAdvertise;
-+        MeshWifiAPSecurity              wifiAPSecurity;
-+        MeshWifiAPKickAssocDevice       wifiAPKickAssocDevice;
-+        MeshWifiAPKickAllAssocDevices   wifiAPKickAllAssocDevices;
-+        MeshWifiAPAddAclDevice          wifiAPAddAclDevice;
-+        MeshWifiAPDelAclDevice          wifiAPDelAclDevice;
-+        MeshWifiMacAddrControlMode      wifiMacAddrControlMode;
-+        MeshSubnetChange                subnet;
-+        MeshUrlChange                   url;
-+        MeshWifiStatus                  wifiStatus;
-+        MeshStateChange                 meshState;
-+        MeshWifiTxRate                  wifiTxRate;
-+        MeshClientConnect               meshConnect;
-+        MeshWifiDhcpLease               meshLease;
-+        MeshWifiRadioChannelBw          wifiRadioChannelBw; 
-+    } data;
-+} MeshSync;
-+
-+typedef struct _LeaseNotify {
-+    MeshWifiDhcpLease        lease;
-+    eMeshSyncType msgType;
-+} LeaseNotify;
-+
-+#endif /* MESHCFG_H_ */
diff --git a/recipes-connectivity/opensync/files/999-mtk-add-vendor.patch b/recipes-connectivity/opensync/files/999-mtk-add-vendor.patch
deleted file mode 100644
index 2cfb4f6..0000000
--- a/recipes-connectivity/opensync/files/999-mtk-add-vendor.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN a/vendor/turris/build/vendor-arch.mk b/vendor/turris/build/vendor-arch.mk
---- a/vendor/turris/build/vendor-arch.mk	2022-06-02 12:40:23.648854464 +0800
-+++ b/vendor/turris/build/vendor-arch.mk	2022-06-02 12:41:07.232071037 +0800
-@@ -9,7 +9,7 @@
- 
- # To customize: This vendor layer supports Turris Omnia as a residential / business gateway
- # and Turris Omnia as Extender/GW. Put your machine name here.
--ifeq ($(RDK_MACHINE),$(filter $(RDK_MACHINE),turris turris-extender turris-bci turris_5.10))
-+ifeq ($(RDK_MACHINE),$(filter $(RDK_MACHINE),filogic830 turris turris-extender turris-bci turris_5.10))
- 
- # To customize: put OEM and MODEL names here
- RDK_OEM = turris
diff --git a/recipes-connectivity/opensync/files/999-mtk-fix-64bit-build.patch b/recipes-connectivity/opensync/files/999-mtk-fix-64bit-build.patch
deleted file mode 100644
index 8de0c1b..0000000
--- a/recipes-connectivity/opensync/files/999-mtk-fix-64bit-build.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -urN a/core/src/bm/src/bm_ieee80211.c b/core/src/bm/src/bm_ieee80211.c
---- a/core/src/bm/src/bm_ieee80211.c	2022-06-02 13:18:30.792245507 +0800
-+++ b/core/src/bm/src/bm_ieee80211.c	2022-06-02 13:19:57.178711952 +0800
-@@ -294,7 +294,7 @@
-     memset(&client->op_classes, 0, sizeof(client->op_classes));
- 
-     if (len > BM_CLIENT_MAX_OP_CLASSES) {
--        LOGW("%s Size of operating classes more than expected (%d): %d",
-+        LOGW("%s Size of operating classes more than expected (%zu): %d",
-              client->mac_addr, len, BM_CLIENT_MAX_OP_CLASSES);
-         client->op_classes.size = BM_CLIENT_MAX_OP_CLASSES;
-     } else {
-diff -urN a/platform/rdk/src/lib/target/src/bsal_legacy.c b/platform/rdk/src/lib/target/src/bsal_legacy.c
---- a/platform/rdk/src/lib/target/src/bsal_legacy.c	2022-06-02 13:03:06.764635550 +0800
-+++ b/platform/rdk/src/lib/target/src/bsal_legacy.c	2022-06-02 13:03:48.023904674 +0800
-@@ -1068,7 +1068,7 @@
-                 memcpy(info, &client_info_cache->client, sizeof(*info));
-             }
- #endif
--            LOGI("BSAL Client "MAC_ADDR_FMT" is connected apIndex: %d, SNR: %d, rx: %lld, tx: %lld", MAC_ADDR_UNPACK(mac_addr),
-+            LOGI("BSAL Client "MAC_ADDR_FMT" is connected apIndex: %d, SNR: %d, rx: %zu, tx: %zu", MAC_ADDR_UNPACK(mac_addr),
-                 apIndex, info->snr, info->rx_bytes, info->tx_bytes);
- 
-             break;
-diff -urN a/platform/rdk/src/tools/band_steering_test/bs_testd/bs_testd.c b/platform/rdk/src/tools/band_steering_test/bs_testd/bs_testd.c
---- a/platform/rdk/src/tools/band_steering_test/bs_testd/bs_testd.c	2022-06-02 13:32:26.222966518 +0800
-+++ b/platform/rdk/src/tools/band_steering_test/bs_testd/bs_testd.c	2022-06-02 13:35:42.306842191 +0800
-@@ -906,7 +906,7 @@
-         }
- 
-         total_bytes += bytes;
--        LOGD("total_bytes = %d\n", total_bytes);
-+        LOGD("total_bytes = %zu\n", total_bytes);
- 
-         if (total_bytes >= (ssize_t)sizeof(buf) && buf[sizeof(buf) - 1] != '\0')
-         {
-@@ -921,7 +921,7 @@
-             // Otherwise we're blocking (on purpose).
-             // in case of client malfunction this loop needs to be interrupted by a signal.
-             // Non-blocking variant may be implemented in the future.
--            LOGD("incomplete, bytes = %d , buf = >>%s<<\n", bytes, buf);
-+            LOGD("incomplete, bytes = %zu , buf = >>%s<<\n", bytes, buf);
-             incomplete = true;
-             ptr += bytes;
-             continue;
diff --git a/recipes-connectivity/opensync/files/MeshAgentSync.patch b/recipes-connectivity/opensync/files/MeshAgentSync.patch
deleted file mode 100644
index a704bb7..0000000
--- a/recipes-connectivity/opensync/files/MeshAgentSync.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/src/lib/target/inc/target_internal.h b/src/lib/target/inc/target_internal.h
-index 1608b03..c520ad2 100644
---- a/src/lib/target/inc/target_internal.h
-+++ b/src/lib/target/inc/target_internal.h
-@@ -171,6 +171,9 @@ bool                 maclearn_update(maclearn_type_t type,
- bool                 radio_cloud_mode_set(radio_cloud_mode_t mode);
- radio_cloud_mode_t   radio_cloud_mode_get(void);
- bool                 radio_rops_vstate(struct schema_Wifi_VIF_State *vstate);
-+#if defined(_PLATFORM_TURRIS_)
-+bool                 radio_rops_vconfig(struct schema_Wifi_VIF_Config *vconfig,const char *ifname);
-+#endif
- void                 radio_trigger_resync(void);
- 
- void                 clients_connection(INT apIndex,
-diff --git a/src/lib/target/src/radio.c b/src/lib/target/src/radio.c
-index 9bedd00..b0cbe33 100644
---- a/src/lib/target/src/radio.c
-+++ b/src/lib/target/src/radio.c
-@@ -786,6 +786,20 @@ void radio_trigger_resync()
-     }
- }
- 
-+#if defined(_PLATFORM_TURRIS_)
-+bool radio_rops_vconfig(struct schema_Wifi_VIF_Config *vconfig , const char *ifname)
-+{
-+    if (!g_rops.op_vconf)
-+    {
-+        LOGE("%s: op_vconfig not set", __func__);
-+        return false;
-+    }
-+
-+    g_rops.op_vconf(vconfig, ifname);
-+    return true;
-+}
-+#endif
-+
- bool radio_rops_vstate(struct schema_Wifi_VIF_State *vstate)
- {
-     if (!g_rops.op_vstate)
-diff --git a/src/lib/target/src/vif.c b/src/lib/target/src/vif.c
-index aaecbf9..4e6b4ed 100644
---- a/src/lib/target/src/vif.c
-+++ b/src/lib/target/src/vif.c
-@@ -1071,7 +1071,17 @@ bool vif_state_update(INT ssidIndex)
-         LOGE("%s: cannot update VIF state for SSID index %d", __func__, ssidIndex);
-         return false;
-     }
-+#if defined(_PLATFORM_TURRIS_)
-+    /*  After setting Wifi_VIF_State, updating Wifi_VIF_Config table also in order to avoid overwritting content from Wifi_VIF_Config    */
- 
-+    struct schema_Wifi_VIF_Config vconfig;
-+
-+    if (vif_copy_to_config(ssidIndex, &vstate, &vconfig))
-+    {
-+        LOGE("%s: copying VIF state to config for SSID index %d", __func__, ssidIndex);
-+        radio_rops_vconfig(&vconfig, vconfig.if_name);
-+    }
-+#endif
-     LOGN("Updating VIF state for SSID index %d", ssidIndex);
-     return radio_rops_vstate(&vstate);
- }
-
diff --git a/recipes-connectivity/opensync/files/absolute-value-glibc-dunfell-fix.patch b/recipes-connectivity/opensync/files/absolute-value-glibc-dunfell-fix.patch
deleted file mode 100644
index 0348ebb..0000000
--- a/recipes-connectivity/opensync/files/absolute-value-glibc-dunfell-fix.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/src/bm/src/bm_events.c b/src/bm/src/bm_events.c
-index 19bcd47..dfdf33c 100644
---- a/src/bm/src/bm_events.c
-+++ b/src/bm/src/bm_events.c
-@@ -315,14 +315,14 @@ bm_events_handle_event(bsal_event_t *event)
-         }
- 
-         /* This one managed by cloud */
--        if (abs(stats->probe.last_snr - event->data.probe_req.rssi) < client->preq_snr_thr) {
-+        if (abs((int32_t)(stats->probe.last_snr - event->data.probe_req.rssi)) < client->preq_snr_thr) {
-             LOGD("[%s] %s: %s skip preq report (%d %d)", bandstr, ifname, client->mac_addr,
-                  stats->probe.last_snr, event->data.probe_req.rssi);
-             break;
-         }
- 
-         /* This is short time probe report filtering/limitation */
--        if (abs(stats->probe.last_snr - event->data.probe_req.rssi) <= BM_CLIENT_PREQ_SNR_TH &&
-+        if (abs((int32_t)(stats->probe.last_snr - event->data.probe_req.rssi)) <= BM_CLIENT_PREQ_SNR_TH &&
-             (now - last_probe) < BM_CLIENT_PREQ_TIME_TH) {
-             LOGD("[%s] %s: %s skip preq report (%d %d) short time", bandstr, ifname, client->mac_addr,
-                  stats->probe.last_snr, event->data.probe_req.rssi);
-@@ -790,7 +790,7 @@ bm_events_handle_rssi_xing(bm_client_t *client, bsal_event_t *event)
- {
-     if (event->data.rssi_change.low_xing == client->xing_low &&
-         event->data.rssi_change.high_xing == client->xing_high &&
--        (abs(event->data.rssi_change.rssi - client->xing_snr) <= BM_CLIENT_SNR_XING_DIFF)) {
-+        (abs((int32_t)(event->data.rssi_change.rssi - client->xing_snr)) <= BM_CLIENT_SNR_XING_DIFF)) {
-         LOGT("%s same xing skip (%d, %d) snr %d old %d", client->mac_addr, client->xing_low, client->xing_high,
-              event->data.rssi_change.rssi, client->xing_snr);
-         return;
diff --git a/recipes-connectivity/opensync/files/config-rdk-multi-psk-disable.patch b/recipes-connectivity/opensync/files/config-rdk-multi-psk-disable.patch
new file mode 100644
index 0000000..28020e8
--- /dev/null
+++ b/recipes-connectivity/opensync/files/config-rdk-multi-psk-disable.patch
@@ -0,0 +1,38 @@
+From b48455dba9196e19b9d16e4290ec0605537672de Mon Sep 17 00:00:00 2001
+Source: Kaviya Kumaresan <kaviya.kumaresan@ltts.com>
+Subject: To avoid the build issue related to wifi clients declarations
+Date: Thu, 26 Jan 2023 10:25:15 +0000
+---
+ kconfig/RDK          | 2 +-
+ kconfig/RDK_EXTENDER | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/vendor/rpi/kconfig/RDK b/vendor/rpi/kconfig/RDK
+index ac5125f..c18afc9 100644
+--- a/vendor/rpi/kconfig/RDK
++++ b/vendor/rpi/kconfig/RDK
+@@ -48,7 +48,7 @@ CONFIG_RDK_FRONTHAUL_AP_50_IFNAME="wifi5"
+ CONFIG_RDK_HOME_AP_24_IFNAME="wifi0"
+ CONFIG_RDK_HOME_AP_50_IFNAME="wifi1"
+ CONFIG_RDK_LAN_BRIDGE_NAME="brlan0"
+-CONFIG_RDK_MULTI_PSK_SUPPORT=y
++#CONFIG_RDK_MULTI_PSK_SUPPORT=y
+ CONFIG_RDK_ONBOARD_AP_24_IFNAME="wifi6"
+ CONFIG_RDK_ONBOARD_AP_50_IFNAME="wifi7"
+ # CONFIG_SERVICE_HEALTHCHECK is not set
+diff --git a/vendor/rpi/kconfig/RDK_EXTENDER b/vendor/rpi/kconfig/RDK_EXTENDER
+index bca8583..531b908 100644
+--- a/vendor/rpi/kconfig/RDK_EXTENDER
++++ b/vendor/rpi/kconfig/RDK_EXTENDER
+@@ -31,7 +31,7 @@ CONFIG_PLATFORM_IS_RDK=y
+ CONFIG_RDK_DISABLE_SYNC=y
+ CONFIG_RDK_EXTENDER=y
+ CONFIG_RDK_LAN_BRIDGE_NAME="brlan0"
+-CONFIG_RDK_MULTI_PSK_SUPPORT=y
++# CONFIG_RDK_MULTI_PSK_SUPPORT=y
+ CONFIG_TARGET_CAP_EXTENDER=y
+ CONFIG_TARGET_ETH0_NAME="eth0"
+ CONFIG_TARGET_FIXED_HWREV_STRING=""
+-- 
+2.37.0 (Apple Git-136)
+
diff --git a/recipes-connectivity/opensync/files/disable-dry-run.patch b/recipes-connectivity/opensync/files/disable-dry-run.patch
deleted file mode 100644
index a493102..0000000
--- a/recipes-connectivity/opensync/files/disable-dry-run.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 61e04f8186c734312e0641a198f96a59f049f666
-Author: Mateusz Bajorski <mbajorski@plume.com>
-Date:   Thu Jan 30 16:46:33 2020 +0000
-
-    disable dry run
-
-diff --git a/src/cm2/unit.mk b/src/cm2/unit.mk
-index 8abe642..922e1fd 100644
---- a/src/cm2/unit.mk
-+++ b/src/cm2/unit.mk
-@@ -52,6 +52,8 @@ UNIT_LDFLAGS += -ldl
- UNIT_LDFLAGS += -lev
- UNIT_LDFLAGS += -lrt
- 
-+UNIT_CFLAGS += -DCONFIG_PLUME_CM2_DISABLE_DRYRUN_ON_GRE
-+
- ifneq ($(CONFIG_USE_KCONFIG),y)
- # Disable dryrun on GRE by default for all platforms without KConfig
- UNIT_CFLAGS += -DCONFIG_PLUME_CM2_DISABLE_DRYRUN_ON_GRE
diff --git a/recipes-connectivity/opensync/files/dunfell-nm-crash-fix.patch b/recipes-connectivity/opensync/files/dunfell-nm-crash-fix.patch
deleted file mode 100644
index 78a53b6..0000000
--- a/recipes-connectivity/opensync/files/dunfell-nm-crash-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/lib/inet/src/inet_base.c b/src/lib/inet/src/inet_base.c
-index a93cefc..db66cf2 100644
---- a/src/lib/inet/src/inet_base.c
-+++ b/src/lib/inet/src/inet_base.c
-@@ -1080,7 +1080,7 @@ bool inet_base_dhcpc_option_set(inet_t *super, enum osn_dhcp_option opt, const c
- {
-     inet_base_t *self = (void *)super;
-     bool _req;
--    const char *_value;
-+    const char *_value=NULL;
- 
-     if (!osn_dhcp_client_opt_get(self->in_dhcpc, opt, &_req, &_value))
-     {
diff --git a/recipes-connectivity/opensync/files/get-used-link-type.patch b/recipes-connectivity/opensync/files/get-used-link-type.patch
deleted file mode 100644
index 20eebf6..0000000
--- a/recipes-connectivity/opensync/files/get-used-link-type.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: core/src/cm2/src/cm2_ovsdb.c
-===================================================================
---- core.orig/src/cm2/src/cm2_ovsdb.c	2020-01-27 15:10:38.435076332 +0000
-+++ core/src/cm2/src/cm2_ovsdb.c	2020-01-27 15:11:01.481520930 +0000
-@@ -861,7 +861,7 @@
- }
- 
- bool cm2_connection_get_used_link(struct schema_Connection_Manager_Uplink *uplink) {
--    return ovsdb_table_select_one(&table_Connection_Manager_Uplink, SCHEMA_COLUMN(Connection_Manager_Uplink, is_used), "true", uplink);
-+    return ovsdb_table_select_one_where(&table_Connection_Manager_Uplink, ovsdb_where_simple_typed(SCHEMA_COLUMN(Connection_Manager_Uplink, is_used), "true",OCLM_BOOL), uplink);
- }
- 
- static void cm2_connection_clear_used(void)
diff --git a/recipes-connectivity/opensync/files/opensync-4.4.service b/recipes-connectivity/opensync/files/opensync-4.4.service
new file mode 100644
index 0000000..9174419
--- /dev/null
+++ b/recipes-connectivity/opensync/files/opensync-4.4.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Open-source software that delivers and manages your evolving offer of home connectivity and entertainment services.
+Documentation=https://www.opensync.io/documentation
+
+[Service]
+Type=simple
+EnvironmentFile=/usr/opensync/etc/kconfig
+
+ExecStartPre=/usr/bin/env "${CONFIG_TARGET_PATH_SCRIPTS}"/opensync.init pre-start
+ExecStart=/usr/bin/env "${CONFIG_DM_MANAGER_PATH}"/dm
+
+ExecStopPost=/usr/bin/env "${CONFIG_TARGET_PATH_SCRIPTS}"/opensync.init post-stop
+Restart=no
diff --git a/recipes-connectivity/opensync/files/platform-rdk.patch b/recipes-connectivity/opensync/files/platform-rdk.patch
new file mode 100644
index 0000000..b733687
--- /dev/null
+++ b/recipes-connectivity/opensync/files/platform-rdk.patch
@@ -0,0 +1,55 @@
+diff --git a/src/lib/connector/override.mk b/src/lib/connector/override.mk
+deleted file mode 100644
+index cd36b42..0000000
+--- a/src/lib/connector/override.mk
++++ /dev/null
+@@ -1,49 +0,0 @@
+-# Copyright (c) 2017, Plume Design Inc. All rights reserved.
+-# 
+-# Redistribution and use in source and binary forms, with or without
+-# modification, are permitted provided that the following conditions are met:
+-#    1. Redistributions of source code must retain the above copyright
+-#       notice, this list of conditions and the following disclaimer.
+-#    2. Redistributions in binary form must reproduce the above copyright
+-#       notice, this list of conditions and the following disclaimer in the
+-#       documentation and/or other materials provided with the distribution.
+-#    3. Neither the name of the Plume Design Inc. nor the
+-#       names of its contributors may be used to endorse or promote products
+-#       derived from this software without specific prior written permission.
+-# 
+-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+-# DISCLAIMED. IN NO EVENT SHALL Plume Design Inc. BE LIABLE FOR ANY
+-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-
+-##############################################################################
+-#
+-# unit override for connector
+-#
+-##############################################################################
+-UNIT_DISABLE := $(if $(CONFIG_MANAGER_XM),n,y)
+-
+-UNIT_CFLAGS += -I$(OVERRIDE_DIR)/inc
+-UNIT_CFLAGS += -I${STAGING_INCDIR}/dbus-1.0
+-UNIT_CFLAGS += -I${STAGING_LIBDIR}/dbus-1.0/include
+-UNIT_CFLAGS += -I${STAGING_INCDIR}/ccsp
+-UNIT_CFLAGS += -D_ANSC_LINUX -D_ANSC_USER -D_ANSC_LITTLE_ENDIAN_
+-UNIT_LDFLAGS := $(SDK_LIB_DIR) -lccsp_common
+-
+-UNIT_SRC_TOP := $(OVERRIDE_DIR)/src/connector_main.c
+-UNIT_SRC_TOP += $(OVERRIDE_DIR)/src/connector_dm.c
+-
+-UNIT_DEPS += src/lib/kconfig
+-UNIT_DEPS += src/lib/log
+-UNIT_DEPS += src/lib/schema
+-UNIT_DEPS += src/lib/common
+-UNIT_DEPS += src/lib/ovsdb
+-
+-UNIT_EXPORT_CFLAGS := $(UNIT_CFLAGS)
+-UNIT_EXPORT_LDFLAGS := $(UNIT_LDFLAGS)
diff --git a/recipes-connectivity/opensync/files/raspberrypi-rdk-broadband-target.patch b/recipes-connectivity/opensync/files/raspberrypi-rdk-broadband-target.patch
new file mode 100644
index 0000000..845bd4b
--- /dev/null
+++ b/recipes-connectivity/opensync/files/raspberrypi-rdk-broadband-target.patch
@@ -0,0 +1,25 @@
+From 17b1dbc378cba95dfd072949a48a265ab8bf52e9 Mon Sep 17 00:00:00 2001
+From: Jenkins Slave <jenkins@code.rdkcentral.com>
+Date: Fri, 24 Mar 2023 13:49:44 +0000
+Subject: [PATCH] raspberrypi-rdk-broadband-target
+
+---
+ build/vendor-arch.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/vendor-arch.mk b/build/vendor-arch.mk
+index ffd252b..70cb97d 100644
+--- a/build/vendor-arch.mk
++++ b/build/vendor-arch.mk
+@@ -14,7 +14,7 @@
+ #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ #See the License for the specific language governing permissions and
+ #limitations under the License.
+-RDK_TARGETS = RDKB raspberrypi4-rdk-broadband raspberrypi4-rdk-extender raspberrypi-rdk-broadband raspberrypi4-64-rdk-broadband
++RDK_TARGETS = RDKB filogic830-onewifi raspberrypi4-rdk-broadband raspberrypi4-rdk-extender raspberrypi-rdk-broadband raspberrypi4-64-rdk-broadband raspberrypi4-rdk-broadband-bci raspberrypi4-rdk-broadband-gwprovapp
+ 
+ ifneq ($(filter $(TARGET),$(RDK_TARGETS)),)
+ 
+-- 
+2.37.3
+
diff --git a/recipes-connectivity/opensync/files/rdk-ext-support.patch b/recipes-connectivity/opensync/files/rdk-ext-support.patch
deleted file mode 100644
index fc6ddf9..0000000
--- a/recipes-connectivity/opensync/files/rdk-ext-support.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/ovsdb/inet.json b/ovsdb/inet.json
-index af2994e..4adb651 100644
---- a/ovsdb/inet.json
-+++ b/ovsdb/inet.json
-@@ -19,6 +19,32 @@
-             "if_type": "bridge",
-             "enabled": true
-        }
-+    },
-+    {
-+        "op":"insert",
-+        "table":"Wifi_Inet_Config",
-+        "row": {
-+            "if_name": "bhaul-sta-24",
-+            "ip_assign_scheme": "dhcp",
-+            "mtu": 1600,
-+            "if_type": "vif",
-+            "enabled" : true,
-+            "network" : true,
-+            "NAT": false
-+        }
-+    },
-+    {
-+        "op":"insert",
-+        "table":"Wifi_Inet_Config",
-+        "row": {
-+            "if_name": "bhaul-sta-50",
-+            "ip_assign_scheme": "dhcp",
-+            "mtu": 1600,
-+            "if_type": "vif",
-+            "enabled" : true,
-+            "network" : true,
-+            "NAT": false
-+        }
-     }
- ]
- 
-diff --git a/src/lib/target/src/map.c b/src/lib/target/src/map.c
-index 55af881..fa535f9 100644
---- a/src/lib/target/src/map.c
-+++ b/src/lib/target/src/map.c
-@@ -20,10 +20,12 @@ typedef struct
- 
- static ifmap_t  ifmap[] = {
- //    idx   cloud-ifname     dev-ifname  bridge    gre-br            vlan     description
--    { 1,    "wifi2",   "wifi2",    "brlan0", "wifi2", 0 },  // 2G Backhaul
--    { 1,    "wifi3",   "wifi3",    "brlan0", "wifi3",  0 },  // 5G Backhaul
--    { 2,    "wifi0",    "wifi0",    "brlan0",  NULL,            0 },  // 2G User SSID
--    { 2,    "wifi1",    "wifi1",    "brlan0",  NULL,            0 },  // 5G User SSID
-+    { 0,    "bhaul-sta-24",   "bhaul-sta-24",    "br-wan", "bhaul-sta-24", 0 },  // 2G Backhaul
-+    { 0,    "bhaul-sta-50",   "bhaul-sta-50",    "br-wan", "bhaul-sta-50", 0 },  // 2G Backhaul
-+    { 1,    "wifi2",   "wifi2",    "br-home", "wifi2", 0 },  // 2G Backhaul
-+    { 1,    "wifi3",   "wifi3",    "br-home", "wifi3",  0 },  // 5G Backhaul
-+    { 2,    "wifi0",    "wifi0",    "br-home",  NULL,            0 },  // 2G User SSID
-+    { 2,    "wifi1",    "wifi1",    "br-home",  NULL,            0 },  // 5G User SSID
-     { 0,    NULL,            NULL,        NULL,     NULL,            0 }
- };
- 
-diff --git a/src/lib/target/src/target.c b/src/lib/target/src/target.c
-index de884b5..59c1b59 100644
---- a/src/lib/target/src/target.c
-+++ b/src/lib/target/src/target.c
-@@ -5,3 +5,23 @@ const char* target_tls_privkey_filename(void)
- {
-     return "/usr/plume/etc/certs/client_dec.key";
- }
-+
-+bool target_device_connectivity_check(const char *ifname,
-+                                      target_connectivity_check_t *cstate,
-+                                      target_connectivity_check_option_t opts)
-+{
-+    cstate->ntp_state = true;
-+    cstate->link_state = true;
-+    cstate->router_state = true;
-+    cstate->internet_state = true;
-+    return true;
-+}
-+
-+int target_device_capabilities_get()
-+{
-+#if defined(CONFIG_RDK_EXTENDER)
-+    return TARGET_EXTENDER_TYPE;
-+#else
-+    return 0;
-+#endif
-+}
diff --git a/recipes-connectivity/opensync/files/rdk-extender.patch b/recipes-connectivity/opensync/files/rdk-extender.patch
deleted file mode 100644
index 56c99ad..0000000
--- a/recipes-connectivity/opensync/files/rdk-extender.patch
+++ /dev/null
@@ -1,563 +0,0 @@
-diff --git a/kconfig/Kconfig.platform b/kconfig/Kconfig.platform
-new file mode 100644
-index 0000000..4a045b2
---- /dev/null
-+++ b/kconfig/Kconfig.platform
-@@ -0,0 +1,15 @@
-+menuconfig PLATFORM_IS_RDK
-+    bool "RDK"
-+    help
-+        Support for RDK-based platforms
-+
-+
-+if PLATFORM_IS_RDK
-+
-+config RDK_EXTENDER
-+    bool "RDK Extender device (EXPERIMENTAL)"
-+    default n
-+
-+
-+endif
-+
-diff --git a/src/lib/osn/override.mk b/src/lib/osn/override.mk
-index bf128b7..ff210ed 100644
---- a/src/lib/osn/override.mk
-+++ b/src/lib/osn/override.mk
-@@ -33,11 +33,22 @@ UNIT_EXPORT_CFLAGS := -I$(UNIT_PATH)/inc
- UNIT_SRC := src/osn_inet.c
- UNIT_SRC += src/osn_types.c
- 
-+#if extender
-+ifeq ($(CONFIG_RDK_EXTENDER),y)
-+UNIT_SRC += src/osn_dnsmasq.c
-+UNIT_SRC += src/osn_udhcpc.c
-+UNIT_SRC += src/osn_route.c
-+endif
-+
- UNIT_SRC_DIR := $(OVERRIDE_DIR)/src
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_upnpd.c
-+
-+ifneq ($(CONFIG_RDK_EXTENDER),y)
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_dhcpc.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_route.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_dhcps.c
-+endif
-+
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_dhcps6.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_odhcp6c.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/osn_inet6.c
-diff --git a/src/lib/osn/src/osn_dhcps.c b/src/lib/osn/src/osn_dhcps.c
-index d183172..f2885fd 100644
---- a/src/lib/osn/src/osn_dhcps.c
-+++ b/src/lib/osn/src/osn_dhcps.c
-@@ -284,11 +284,13 @@ static bool dhcp_server_init(osn_dhcp_server_t *self, const char *ifname)
-         return false;
-     }
- 
-+#ifndef CONFIG_RDK_EXTENDER
-     if (!sync_init(SYNC_MGR_NM))
-     {
-         LOGE("Cannot init sync manager for NM");
-         return false;
-     }
-+#endif
- 
-     /* Initialize this instance */
-     memset(self, 0 ,sizeof(*self));
-diff --git a/src/lib/osync_hal/src/inet.c b/src/lib/osync_hal/src/inet.c
-index b221667..580ff83 100644
---- a/src/lib/osync_hal/src/inet.c
-+++ b/src/lib/osync_hal/src/inet.c
-@@ -304,7 +304,11 @@ osync_hal_return_t osync_hal_inet_add_to_bridge(
- 
-     memset(cmd, 0, sizeof(cmd));
- 
-+#ifdef CONFIG_RDK_EXTENDER
-+    snprintf(cmd, sizeof(cmd), "ovs-vsctl add-port %s %s", br_name, if_name);
-+#else
-     snprintf(cmd, sizeof(cmd), "brctl addif %s %s", br_name, if_name);
-+#endif
-     LOGD("%s: Adding to bridge with \"%s\"", if_name, cmd);
-     rc = system(cmd);
-     if (!WIFEXITED(rc) || WEXITSTATUS(rc) != 0)
-diff --git a/src/lib/target/inc/target_internal.h b/src/lib/target/inc/target_internal.h
-index 1608b03..61f0f06 100644
---- a/src/lib/target/inc/target_internal.h
-+++ b/src/lib/target/inc/target_internal.h
-@@ -35,7 +35,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #include "osync_hal.h"
- #include "osn_dhcp.h"
- 
-+#if !defined(CONFIG_RDK_EXTENDER)
- #include <mesh/meshsync_msgs.h>  // needed only by sync_send_security_change()
-+#endif
- 
- #ifndef __WIFI_HAL_H__
- #include "ccsp/wifi_hal.h"
-@@ -182,12 +184,15 @@ bool                 sync_init(sync_mgr_t mgr);
- bool                 sync_cleanup(void);
- bool                 sync_send_ssid_change(INT ssid_index, const char *ssid_ifname,
-                                     const char *new_ssid);
-+#if !defined(CONFIG_RDK_EXTENDER)
- bool                 sync_send_security_change(INT ssid_index, const char *ssid_ifname,
-                                     MeshWifiAPSecurity *sec);
-+#endif
- bool                 sync_send_status(radio_cloud_mode_t mode);
- 
- bool                 vif_state_update(INT ssidIndex);
- bool                 vif_state_get(INT ssidIndex, struct schema_Wifi_VIF_State *vstate);
-+bool                 vif_state_sta_get(INT ssidIndex, struct schema_Wifi_VIF_State *vstate);
- bool                 vif_copy_to_config(INT ssidIndex, struct schema_Wifi_VIF_State *vstate,
-                                         struct schema_Wifi_VIF_Config *vconf);
- struct               target_radio_ops;
-diff --git a/src/lib/target/override.mk b/src/lib/target/override.mk
-index 8c37835..369d2a5 100644
---- a/src/lib/target/override.mk
-+++ b/src/lib/target/override.mk
-@@ -44,7 +44,11 @@ UNIT_SRC_TOP += $(UNIT_SRC_DIR)/radio.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/vif.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/stats.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/log.c
-+
-+ifneq ($(CONFIG_RDK_EXTENDER),y)
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/sync.c
-+endif
-+
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/maclearn.c
- UNIT_SRC_TOP += $(UNIT_SRC_DIR)/bsal.c
- 
-@@ -53,6 +57,8 @@ UNIT_CFLAGS  += -DENABLE_MESH_SOCKETS
- 
- UNIT_DEPS    := $(PLATFORM_DIR)/src/lib/devinfo
- UNIT_DEPS    += $(PLATFORM_DIR)/src/lib/osync_hal
-+
-+#UNIT_DEPS    += src/lib/kconfig
- UNIT_DEPS    += src/lib/evsched
- UNIT_DEPS    += src/lib/schema
- UNIT_DEPS    += src/lib/const
-@@ -66,6 +72,7 @@ endif
- 
- UNIT_LDFLAGS := $(SDK_LIB_DIR)  -lhal_wifi -lrt
- UNIT_CFLAGS += -DCONTROLLER_ADDR="\"$(shell echo -n $(CONTROLLER_ADDR))\""
-+UNIT_CFLAGS += -include "$(KCONFIG_WORK).h" 
- 
- UNIT_EXPORT_CFLAGS  := $(UNIT_CFLAGS)
- UNIT_EXPORT_LDFLAGS := $(UNIT_LDFLAGS)
-diff --git a/src/lib/target/src/radio.c b/src/lib/target/src/radio.c
-index 9bedd00..33a2032 100644
---- a/src/lib/target/src/radio.c
-+++ b/src/lib/target/src/radio.c
-@@ -72,6 +72,7 @@ static c_item_t map_country_str[] =
- {
-     C_ITEM_STR_STR("826",                       "UK"),  // ISO 3166-1
-     C_ITEM_STR_STR("840",                       "US"),
-+    C_ITEM_STR_STR("705",                       "SI"),  // (non-standard)
-     C_ITEM_STR_STR("841",                       "US"),  // (non-standard)
- };
- 
-@@ -620,6 +621,62 @@ bool target_radio_config_init2()
-             g_rops.op_vconf(&vconfig, rconfig.if_name);
-             g_rops.op_vstate(&vstate);
-         }
-+#ifdef CONFIG_RDK_EXTENDER
-+        /* CLIENT-API */
-+        ret = wifi_getSTANumberOfEntries(&snum);
-+        if (ret != RETURN_OK)
-+        {
-+            LOGE("%s: failed to get SSID count", __func__);
-+            return false;
-+        }
-+
-+        for (s = 0; s < snum; s++)
-+        {
-+            memset(ssid_ifname, 0, sizeof(ssid_ifname));
-+            ret = wifi_getSTAName(s, ssid_ifname);
-+            if (ret != RETURN_OK)
-+            {
-+                LOGW("%s: failed to get STA name for index %lu. Skipping.\n", __func__, s);
-+                continue;
-+            }
-+            // Filter SSID's that we don't have mappings for
-+            if (!target_unmap_ifname_exists(ssid_ifname))
-+            {
-+                LOGW("%s: STA %s not in map. Skipping.\n", __func__, ssid_ifname);
-+                continue;
-+            }
-+
-+            ret = wifi_getSTARadioIndex(s, &ssid_radio_idx);
-+            if (ret != RETURN_OK)
-+            {
-+                LOGW("Cannot get radio index for SSID %lu", s);
-+                continue;
-+            }
-+
-+            if ((ULONG)ssid_radio_idx != r)
-+            {
-+                continue;
-+            }
-+
-+            LOGI("Found STA index %lu: %s", s, ssid_ifname);
-+            if (!vif_state_sta_get(s, &vstate))
-+            {
-+                LOGE("%s: cannot get vif state for STA index %lu", __func__, s);
-+                continue;
-+            }
-+            if (!vif_copy_to_config(s, &vstate, &vconfig))
-+            {
-+                LOGE("%s: cannot copy VIF state to config for STA index %lu", __func__, s);
-+                continue;
-+            }
-+            g_rops.op_vconf(&vconfig, rconfig.if_name);
-+            g_rops.op_vstate(&vstate);
-+
-+
-+        }
-+
-+        /* END CLIENT-API */
-+#endif
- 
-     }
- 
-@@ -807,6 +864,9 @@ bool
- radio_cloud_mode_set(radio_cloud_mode_t mode)
- {
-     radio_cloud_mode = mode;
--
-+#ifdef CONFIG_RDK_EXTENDER
-+    return true;
-+#else
-     return sync_send_status(radio_cloud_mode);
-+#endif
- }
-diff --git a/src/lib/target/src/sync.c b/src/lib/target/src/sync.c
-index 5b4337d..b8dfc17 100644
---- a/src/lib/target/src/sync.c
-+++ b/src/lib/target/src/sync.c
-@@ -43,7 +43,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #include <sys/socket.h>
- #include <sys/un.h>
- 
-+#ifndef CONFIG_RDK_EXTENDER
- #include <mesh/meshsync_msgs.h>  // this file is included by vendor
-+#endif
- 
- #include "os.h"
- #include "log.h"
-@@ -146,6 +148,7 @@ static char* sync_iface_name(int iface_type)
-     return tmp;
- }
- 
-+#ifndef CONFIG_RDK_EXTENDER
- static int wiifhal_sync_iface_mltype(int iface_type)
- {
-     c_item_t            *citem;
-@@ -157,7 +160,7 @@ static int wiifhal_sync_iface_mltype(int iface_type)
- 
-     return -1;
- }
--
-+#endif
- static void sync_process_msg(MeshSync *mp)
- {
-     radio_cloud_mode_t              cloud_mode;
-diff --git a/src/lib/target/src/target.c b/src/lib/target/src/target.c
-index ffaaf6a..ef20eda 100644
---- a/src/lib/target/src/target.c
-+++ b/src/lib/target/src/target.c
-@@ -281,12 +281,13 @@ bool target_init(target_init_opt_t opt, struct ev_loop *loop)
-                         "(Failed to initialize EVSCHED)");
-                 return -1;
-             }
--
-+            #ifndef CONFIG_RDK_EXTENDER
-             if (!sync_init(SYNC_MGR_WM))
-             {
-                 // It reports the error
-                 return false;
-             }
-+            #endif
-             if (!set_deauth_and_scan_filter_flags())
-             {
-                 LOGE("Failed to set csa_deauth and scan filter flags");
-@@ -296,11 +297,13 @@ bool target_init(target_init_opt_t opt, struct ev_loop *loop)
-             break;
- 
-         case TARGET_INIT_MGR_CM:
-+            #ifndef CONFIG_RDK_EXTENDER
-             if (!sync_init(SYNC_MGR_CM))
-             {
-                 // It reports the error
-                 return false;
-             }
-+            #endif
-             break;
- 
-         case TARGET_INIT_MGR_BM:
-@@ -323,7 +326,9 @@ bool target_close(target_init_opt_t opt, struct ev_loop *loop)
-     switch (opt)
-     {
-         case TARGET_INIT_MGR_WM:
-+            #ifndef CONFIG_RDK_EXTENDER
-             sync_cleanup();
-+            #endif
-             /* fall through */
- 
-         case TARGET_INIT_MGR_SM:
-diff --git a/src/lib/target/src/vif.c b/src/lib/target/src/vif.c
-index aaecbf9..a987aa3 100644
---- a/src/lib/target/src/vif.c
-+++ b/src/lib/target/src/vif.c
-@@ -262,7 +262,8 @@ static bool acl_apply(
- 
-     return true;
- }
--
-+//FIXME: is this needed only for mesh something?
-+#if !defined(CONFIG_RDK_EXTENDER) 
- static const char* security_conf_find_by_key(
-         const struct schema_Wifi_VIF_Config *vconf,
-         char *key)
-@@ -279,6 +280,7 @@ static const char* security_conf_find_by_key(
- 
-     return NULL;
- }
-+#endif
- 
- static bool security_to_state(
-         INT ssid_index,
-@@ -449,7 +451,7 @@ static bool security_to_state(
-     vstate->security_len = n;
-     return true;
- }
--
-+#if !defined(CONFIG_RDK_EXTENDER)
- static bool security_to_syncmsg(
-         const struct schema_Wifi_VIF_Config *vconf,
-         MeshWifiAPSecurity *dest)
-@@ -527,7 +529,7 @@ static bool security_to_syncmsg(
- 
-     return true;
- }
--
-+#endif
- static bool vif_is_enabled(INT ssid_index)
- {
-     BOOL        enabled = false;
-@@ -602,10 +604,177 @@ bool vif_copy_to_config(
-         STRSCPY(vconf->mac_list[i], vstate->mac_list[i]);
-     }
-     vconf->mac_list_len = vstate->mac_list_len;
-+    /* CLIENT-API */
-+    SCHEMA_SET_STR(vconf->parent, vstate->parent);
-+    LOGT("vconf->parent = %s", vconf->parent);
-+    SCHEMA_SET_INT(vconf->uapsd_enable, vstate->uapsd_enable);
-+    LOGT("vconf->uapsd_enable = %d", vconf->uapsd_enable);
-+
- 
-     return true;
- }
- 
-+#if defined(CONFIG_RDK_EXTENDER)
-+/* CLIENT-API */
-+
-+bool vif_state_sta_get(INT ssidIndex, struct schema_Wifi_VIF_State *vstate)
-+{
-+    CHAR                            buf[WIFIHAL_MAX_BUFFER];
-+    INT                             ret;
-+    char                            ssid_ifname[128];
-+    hw_mode_t                       min_hw_mode;
-+    INT                             radio_idx;
-+    char                            band[128];
-+    BOOL                            gOnly, nOnly, acOnly;
-+    char                            *str;
-+    ULONG                           lval;
-+    int                             n = 0;
-+
-+    memset(vstate, 0, sizeof(*vstate));
-+    schema_Wifi_VIF_State_mark_all_present(vstate);
-+    vstate->_partial_update = true;
-+    vstate->associated_clients_present = false;
-+    vstate->vif_config_present = false;
-+    memset(ssid_ifname, 0, sizeof(ssid_ifname));
-+
-+    ret = wifi_getSTAName(ssidIndex, ssid_ifname);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGE("%s: cannot get sta name for index %d", __func__, ssidIndex);
-+        return false;
-+    }
-+
-+    SCHEMA_SET_STR(vstate->if_name, target_unmap_ifname(ssid_ifname));
-+
-+    SCHEMA_SET_STR(vstate->mode, "sta");
-+    SCHEMA_SET_INT(vstate->enabled, true);
-+    SCHEMA_SET_INT(vstate->uapsd_enable, false);
-+    SCHEMA_SET_INT(vstate->vif_radio_idx, target_map_ifname_to_vif_radio_idx(vstate->if_name));
-+
-+    // mac (w/ exists)
-+    memset(buf, 0, sizeof(buf));
-+    ret = wifi_getSTAMAC(ssidIndex, buf);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGW("%s: Failed to get STA (mac)", ssid_ifname);
-+    }
-+    else
-+    {
-+        SCHEMA_SET_STR(vstate->mac, buf);
-+    }
-+
-+    // mac (w/ exists)
-+    memset(buf, 0, sizeof(buf));
-+    ret = wifi_getSTABSSID(ssidIndex, buf);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGW("%s: Failed to get STA (parent)", ssid_ifname);
-+    }
-+    else
-+    {
-+        SCHEMA_SET_STR(vstate->parent, buf);
-+    }
-+
-+
-+    ret = wifi_getSSIDRadioIndex(ssidIndex, &radio_idx);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGE("%s: cannot get radio idx for SSID %s\n", __func__, ssid_ifname);
-+        return false;
-+    }
-+
-+
-+    memset(band, 0, sizeof(band));
-+    ret = wifi_getRadioOperatingFrequencyBand(radio_idx, band);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGE("%s: cannot get radio band for idx %d", __func__, radio_idx);
-+        return false;
-+    }
-+
-+
-+    // min_hw_mode (w/ exists)
-+    if (band[0] == '5')
-+    {
-+        min_hw_mode = HW_MODE_11A;
-+    } else
-+    {
-+        min_hw_mode = HW_MODE_11B;
-+    }
-+    ret = wifi_getRadioStandard(radio_idx, buf, &gOnly, &nOnly, &acOnly);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGW("%s: Failed to get min_hw_mode from %d", ssid_ifname, radio_idx);
-+    }
-+    else
-+    {
-+        if (gOnly)
-+        {
-+            min_hw_mode = HW_MODE_11G;
-+        }
-+        else if (nOnly)
-+        {
-+            min_hw_mode = HW_MODE_11N;
-+        }
-+        else if (acOnly)
-+        {
-+            min_hw_mode = HW_MODE_11AC;
-+        }
-+    }
-+
-+    str = c_get_str_by_key(map_hw_mode, min_hw_mode);
-+    if (strlen(str) == 0)
-+    {
-+        LOGW("%s: failed to encode min_hw_mode (%d)",
-+             ssid_ifname, min_hw_mode);
-+    }
-+    else
-+    {
-+        SCHEMA_SET_STR(vstate->min_hw_mode, str);
-+    }
-+    // channel (w/ exists)
-+    ret = wifi_getRadioChannel(radio_idx, &lval);
-+    if (ret != RETURN_OK)
-+    {
-+        LOGW("%s: Failed to get channel from radio idx %d", ssid_ifname, radio_idx);
-+    }
-+    else
-+    {
-+        SCHEMA_SET_INT(vstate->channel, lval);
-+    }
-+
-+
-+    SCHEMA_SET_STR(vstate->ssid_broadcast, "disabled");
-+    SCHEMA_SET_STR(vstate->mac_list_type, "none");
-+    SCHEMA_SET_INT(vstate->btm, 0);
-+    SCHEMA_SET_INT(vstate->rrm, 0);
-+    SCHEMA_SET_INT(vstate->wds, 0);
-+    SCHEMA_SET_INT(vstate->ap_bridge, false);
-+    //Wifi credentials
-+    SCHEMA_SET_STR(vstate->ssid, "opensync.onboard");
-+
-+    strncpy(vstate->security_keys[n],
-+            OVSDB_SECURITY_ENCRYPTION,
-+            sizeof(vstate->security_keys[n]) - 1);
-+
-+    strncpy(vstate->security[n],
-+            OVSDB_SECURITY_ENCRYPTION_WPA_PSK,
-+            sizeof(vstate->security[n]) - 1);
-+    n++;
-+    strncpy(vstate->security_keys[n],
-+            OVSDB_SECURITY_KEY,
-+            sizeof(vstate->security_keys[n]) - 1);
-+    strncpy(vstate->security[n],
-+            "7eCyoqETHiJzKBBALPFP9X8mVy4dwCga",
-+            sizeof(vstate->security[n]) - 1);
-+
-+    n++;
-+    vstate->security_len = n;
-+    return true;
-+
-+}
-+#endif
-+
- bool vif_state_get(INT ssidIndex, struct schema_Wifi_VIF_State *vstate)
- {
-     ULONG                           lval;
-@@ -888,7 +1055,9 @@ bool target_vif_config_set2(
-     INT ret;
-     c_item_t *citem;
-     char tmp[256];
-+#if !defined(CONFIG_RDK_EXTENDER)
-     MeshWifiAPSecurity sec;
-+#endif
-     const char *ssid_ifname = target_map_ifname((char *)vconf->if_name);
- 
-     if (!vif_ifname_to_idx(ssid_ifname, &ssid_index))
-@@ -966,10 +1135,12 @@ bool target_vif_config_set2(
-             else
-             {
-                 LOGI("%s: SSID updated to '%s'", ssid_ifname, tmp);
-+                #if !defined(CONFIG_RDK_EXTENDER)
-                 if (!sync_send_ssid_change(ssid_index, ssid_ifname, vconf->ssid))
-                 {
-                     LOGE("%s: Failed to sync SSID change to '%s'", ssid_ifname, vconf->ssid);
-                 }
-+                #endif
-             }
-         }
-     }
-@@ -977,6 +1148,8 @@ bool target_vif_config_set2(
- 
-     if (changed->security && vconf->security_len)
-     {
-+	//TODO: add proper WA
-+	#if !defined(CONFIG_RDK_EXTENDER)
-         memset(&sec, 0, sizeof(sec));
-         if (!security_to_syncmsg(vconf, &sec))
-         {
-@@ -1018,6 +1191,7 @@ bool target_vif_config_set2(
-                 }
-             }
-         }
-+	#endif
-     }
- 
- 
diff --git a/recipes-connectivity/opensync/files/remove-log-dup.patch b/recipes-connectivity/opensync/files/remove-log-dup.patch
deleted file mode 100644
index 8890e94..0000000
--- a/recipes-connectivity/opensync/files/remove-log-dup.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: rdk/rootfs/common/usr/plume/scripts/managers.init
-===================================================================
---- rdk.orig/rootfs/common/usr/plume/scripts/managers.init	2020-01-27 15:26:13.921034680 +0000
-+++ rdk/rootfs/common/usr/plume/scripts/managers.init	2020-01-27 15:27:04.707089802 +0000
-@@ -133,15 +133,6 @@
- 
-     echo "Starting OpenSync managers"
-     start-stop-daemon -c ${RUN_USER} -S -b -x ${PLUME_BIN_DIR}/dm
--    sleep 10
--    managers="DM WM SM CM LM BM QM OM FSM"
--    ${PLUME_OVSH} d AW_Debug
--    for m in $managers
--    do
--        ${PLUME_OVSH} i AW_Debug name:=$m log_severity:=CRIT
--    done
--    sleep 3
--    ${PLUME_OVSH} i AW_Debug name:=NM log_severity:=CRIT
- }
- 
- plume_stop() {
diff --git a/recipes-connectivity/opensync/files/service.patch b/recipes-connectivity/opensync/files/service.patch
index 582703a..fbdcecd 100644
--- a/recipes-connectivity/opensync/files/service.patch
+++ b/recipes-connectivity/opensync/files/service.patch
@@ -1,3 +1,6 @@
+Source: Mateusz Bajorski <mbajorski@plume.com>
+Subject: Add IMAGE_DEPLOYMENT_PROFILES specifications and backhaul credential
+
 diff --git a/service-provider/academy/build/provider.mk b/service-provider/academy/build/provider.mk
 new file mode 100644
 index 0000000..c81cafd
diff --git a/recipes-connectivity/opensync/files/update-format-specifier-for-time_t.patch b/recipes-connectivity/opensync/files/update-format-specifier-for-time_t.patch
deleted file mode 100644
index 9c4bedf..0000000
--- a/recipes-connectivity/opensync/files/update-format-specifier-for-time_t.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/sm/src/sm_survey_report.c b/src/sm/src/sm_survey_report.c
-index 3e464e8..c94008c 100644
---- a/src/sm/src/sm_survey_report.c
-+++ b/src/sm/src/sm_survey_report.c
-@@ -967,7 +967,7 @@ bool sm_survey_threshold_util_cb (
-     survey_ctx->threshold_record = *survey_entry;
- 
-     int threshold_util = result_entry.chan_tx + result_entry.chan_self;
--    LOGD("Checking %s %s survey threshold util: %d/%d delay: %ld/%d count: %d/%d",
-+    LOGD("Checking %s %s survey threshold util: %d/%d delay: %lld/%d count: %d/%d",
-          radio_get_name_from_cfg(radio_cfg_ctx),
-          radio_get_scan_name_from_type(scan_type),
-          threshold_util, request_ctx->threshold_util,
-@@ -1099,7 +1099,7 @@ bool sm_survey_stats_update (
-             scan_interval = SURVEY_MIN_SCAN_INTERVAL;
- 
-             // always scan if max_delay exceeded
--            LOGI("Force processing %s %s survey delay: %ld/%d count: %d/%d",
-+            LOGI("Force processing %s %s survey delay: %lld/%d count: %d/%d",
-                  radio_get_name_from_cfg(radio_cfg_ctx),
-                  radio_get_scan_name_from_type(scan_type),
-                  survey_ctx->threshold_time_delta, request_ctx->threshold_max_delay,
diff --git a/recipes-connectivity/opensync/opensync_%.bbappend b/recipes-connectivity/opensync/opensync_%.bbappend
new file mode 100644
index 0000000..5b443b7
--- /dev/null
+++ b/recipes-connectivity/opensync/opensync_%.bbappend
@@ -0,0 +1,19 @@
+CORE_URI_remove = "${@bb.utils.contains('DISTRO_FEATURES', 'extender', 'file://0002-Use-osync_hal-in-inet_gretap.patch', '', d)}"
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+OPENSYNC_VENDOR_URI = "git://git@github.com/rdkcentral/opensync-vendor-rdk-rpi.git;protocol=${CMF_GIT_PROTOCOL};branch=main;name=vendor;destsuffix=git/vendor/rpi"
+VENDOR_URI = "git://git@github.com/rdkcentral/opensync-vendor-rdk-rpi.git;protocol=${CMF_GIT_PROTOCOL};branch=main;name=vendor;destsuffix=git/vendor/rpi"
+VENDOR_URI += "file://config-rdk-multi-psk-disable.patch;patchdir=${WORKDIR}/git/"
+VENDOR_URI += "file://service.patch;patchdir=${WORKDIR}/git/"
+VENDOR_URI += "file://opensync.service"
+
+DEPENDS_append = " rdk-logger"
+DEPENDS_append_extender = " hal-wifi-cfg80211"
+
+RDK_CFLAGS += " -D_PLATFORM_RASPBERRYPI_"
+
+do_compile_prepend_broadband(){
+	cd ${WORKDIR}/git/vendor/rpi/
+	rm -rf src
+	cd -
+}
diff --git a/recipes-connectivity/opensync/opensync_2.0.5.bbappend b/recipes-connectivity/opensync/opensync_2.0.5.bbappend
deleted file mode 100644
index 596c6ae..0000000
--- a/recipes-connectivity/opensync/opensync_2.0.5.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-CORE_URI_remove = "${@bb.utils.contains('DISTRO_FEATURES', 'extender', 'file://0002-Use-osync_hal-in-inet_gretap.patch', '', d)}"
-
-CORE_URI_append_dunfell = " file://absolute-value-glibc-dunfell-fix.patch"
-CORE_URI_append_dunfell = " file://dunfell-nm-crash-fix.patch"
-CORE_URI_append_dunfell = " ${@bb.utils.contains('DISTRO_FEATURES', 'extender', 'file://update-format-specifier-for-time_t.patch', '', d)}"
-
-VENDOR_URI = "git://git@github.com/rdkcentral/opensync-vendor-rdk-turris.git;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITHUB_MASTER_BRANCH};name=vendor;destsuffix=git/vendor/turris"
-VENDOR_URI += "file://service.patch;patchdir=${WORKDIR}/git/"
-VENDOR_URI += "file://opensync.service"
-
-DEPENDS_append = " rdk-logger hal-wifi-cfg80211"
-
-RDK_CFLAGS += " -D_PLATFORM_TURRIS_"
diff --git a/recipes-connectivity/opensync/opensync_3.%.bbappend b/recipes-connectivity/opensync/opensync_3.%.bbappend
deleted file mode 100644
index 4ab741b..0000000
--- a/recipes-connectivity/opensync/opensync_3.%.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append_filogic = " file://999-mtk-add-vendor.patch;apply=no"
-SRC_URI_append_filogic = " file://999-mtk-fix-64bit-build.patch;apply=no"
-
-do_filogic_patches() {
-    cd ${S}/../
-        if [ ! -e patch_applied ]; then
-            patch -p1 < ${WORKDIR}/999-mtk-add-vendor.patch
-            patch -p1 < ${WORKDIR}/999-mtk-fix-64bit-build.patch
-            touch patch_applied
-        fi
-}
-
-addtask filogic_patches after do_patch before do_compile
diff --git a/recipes-connectivity/opensync/opensync_git.bbappend b/recipes-connectivity/opensync/opensync_git.bbappend
new file mode 100644
index 0000000..c521035
--- /dev/null
+++ b/recipes-connectivity/opensync/opensync_git.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+OPENSYNC_VENDOR_URI += "file://raspberrypi-rdk-broadband-target.patch;patchdir=${WORKDIR}/git/vendor/rpi"
+OPENSYNC_VENDOR_URI += " ${@bb.utils.contains('DISTRO_FEATURES', 'extender', 'file://opensync-4.4.service', '', d)} "
+OPENSYNC_PLATFORM_URI += " ${@bb.utils.contains('DISTRO_FEATURES', 'extender', 'file://platform-rdk.patch;patchdir=${WORKDIR}/git/platform/rdk', '', d)} "
+
+
+do_install_append_extender() {
+         install -d ${D}${systemd_unitdir}/system
+         install -m 0644 ${WORKDIR}/opensync-4.4.service ${D}${systemd_unitdir}/system/opensync.service
+         rm ${D}/etc/ppp/*
+}