diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf
index c643e88..5716eb3 100644
--- a/meta-openembedded/meta-networking/conf/layer.conf
+++ b/meta-openembedded/meta-networking/conf/layer.conf
@@ -22,7 +22,6 @@
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
   wireguard-tools->wireguard-module \
-  wireless-regdb->crda \
 "
 BBFILES_DYNAMIC += " \
     meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-Make-alpha2-to-be-3-characters-long.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-Make-alpha2-to-be-3-characters-long.patch
deleted file mode 100644
index f1d2cbc..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-Make-alpha2-to-be-3-characters-long.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 078e962d345fd0536fe7ba797485ee1a4159c032 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 4 Feb 2022 09:18:30 -0800
-Subject: [PATCH] Make alpha2 to be 3 characters long
-
-Fixes buffer overflow
-reglib.c:969:9: error: 'sscanf' may overflow; destination buffer in argument 3 has size 2, but the corresponding specifier may require size 3 [-Werror,-Wfortify-source]
-                      alpha2,
-                      ^
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- reglib.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/reglib.c b/reglib.c
-index e00e9b8..8565a0b 100644
---- a/reglib.c
-+++ b/reglib.c
-@@ -958,7 +958,7 @@ reglib_parse_rules(FILE *fp, struct ieee80211_regdomain *trd)
- static int reglib_parse_country_dfs(char *line, struct ieee80211_regdomain *rd)
- {
- 	char dfs_region_alpha[9];
--	char alpha2[2];
-+	char alpha2[3];
- 	int hits;
- 
- 	memset(rd, 0, sizeof(*rd));
--- 
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-Makefile-respect-LDFLAGS-for-libreg.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-Makefile-respect-LDFLAGS-for-libreg.patch
deleted file mode 100644
index d61ea80..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-Makefile-respect-LDFLAGS-for-libreg.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1e1a78b7b4fa1662b4447aa19c15b1e839b7e9db Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= <s.mueller-klieser@phytec.de>
-Date: Wed, 24 Aug 2016 10:58:45 +0200
-Subject: [PATCH] Makefile: respect LDFLAGS for libreg
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
-
-Rebase for crda 4.15.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 528a14e..31f1b5e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -116,7 +116,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
- 
- $(LIBREG): reglib.c regdb.h reglib.h
- 	$(NQ) '  CC  ' $@
--	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $< $(LIBREGLDLIBS)
-+	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $< $(LDFLAGS) $(LIBREGLDLIBS)
- 
- install-libreg-headers:
- 	$(NQ) '  INSTALL  libreg-headers'
--- 
-1.9.1
-
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch
deleted file mode 100644
index c6c3c53..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/0001-reglib-Remove-unused-variables.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 1bd6ff9d10c83afbc9954fc38b953e9167e6d4a9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 28 Aug 2022 14:01:55 -0700
-Subject: [PATCH] reglib: Remove unused variables
-
-These counters are not used anywhere therefore delete them
-Fixes
-reglib.c:1015:15: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
-        unsigned int i = 0;
-                     ^
-reglib.c:1062:15: error: variable 'lines' set but not used [-Werror,-Wunused-but-set-variable]
-        unsigned int lines = 0;
-                     ^
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- reglib.c | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/reglib.c b/reglib.c
-index 8565a0b..6c62c2c 100644
---- a/reglib.c
-+++ b/reglib.c
-@@ -1012,7 +1012,6 @@ static int reglib_find_next_country_stream(FILE *fp)
- {
- 	fpos_t prev_pos;
- 	int r;
--	unsigned int i = 0;
- 
- 	while(1) {
- 		char line[1024];
-@@ -1030,7 +1029,6 @@ static int reglib_find_next_country_stream(FILE *fp)
- 		line_p = fgets(line, sizeof(line), fp);
- 		if (line_p == line) {
- 			if (strspn(line, "\n") == strlen(line)) {
--				i++;
- 				continue;
- 			}
- 			if (strncmp(line, "country", 7) != 0)
-@@ -1059,7 +1057,6 @@ struct ieee80211_regdomain *reglib_parse_country(FILE *fp)
- 
- FILE *reglib_create_parse_stream(FILE *f)
- {
--	unsigned int lines = 0;
- 	FILE *fp;
- 
- 	fp = tmpfile();
-@@ -1076,7 +1073,6 @@ FILE *reglib_create_parse_stream(FILE *f)
- 		if (line_p == line) {
- 			if (strchr(line, '#') == NULL) {
- 				fputs(line, fp);
--				lines++;
- 			}
- 			continue;
- 		} else
--- 
-2.37.2
-
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/crda-4.14-python-3.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/crda-4.14-python-3.patch
deleted file mode 100644
index 6c209dc..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/crda-4.14-python-3.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-Imported from Gentoo
-https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c50acec16bc7c33d6dc122c007d713e7fbecf9c
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Rebase for crda 4.15.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
- utils/key2pub.py | 28 +++++++++++++++-------------
- 1 file changed, 15 insertions(+), 13 deletions(-)
-
-diff --git a/utils/key2pub.py b/utils/key2pub.py
-index 22fda55..2a4980b 100755
---- a/utils/key2pub.py
-+++ b/utils/key2pub.py
-@@ -1,22 +1,22 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- 
- import sys
- try:
-        from M2Crypto import RSA
--except ImportError, e:
-+except ImportError as e:
-        sys.stderr.write('ERROR: Failed to import the "M2Crypto" module: %s\n' % e.message)
-        sys.stderr.write('Please install the "M2Crypto" Python module.\n')
-        sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n')
-        sys.exit(1)
- 
- def print_ssl_64(output, name, val):
--    while val[0] == '\0':
-+    while val[0:1] == b'\0':
-         val = val[1:]
-     while len(val) % 8:
--        val = '\0' + val
-+        val = b'\0' + val
-     vnew = []
-     while len(val):
--        vnew.append((val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]))
-+        vnew.append((val[0:1], val[1:2], val[2:3], val[3:4], val[4:5], val[5:6], val[6:7], val[7:8]))
-         val = val[8:]
-     vnew.reverse()
-     output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
-@@ -34,13 +34,13 @@ def print_ssl_64(output, name, val):
-     output.write('};\n\n')
- 
- def print_ssl_32(output, name, val):
--    while val[0] == '\0':
-+    while val[0:1] == b'\0':
-         val = val[1:]
-     while len(val) % 4:
--        val = '\0' + val
-+        val = b'\0' + val
-     vnew = []
-     while len(val):
--        vnew.append((val[0], val[1], val[2], val[3], ))
-+        vnew.append((val[0:1], val[1:2], val[2:3], val[3:4]))
-         val = val[4:]
-     vnew.reverse()
-     output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
-@@ -81,21 +81,21 @@ struct pubkey {
- 
- static struct pubkey keys[] __attribute__((unused))= {
- ''')
--    for n in xrange(n + 1):
-+    for n in range(n + 1):
-         output.write('	KEYS(e_%d, n_%d),\n' % (n, n))
-     output.write('};\n')
-     pass
- 
- def print_gcrypt(output, name, val):
-     output.write('#include <stdint.h>\n')
--    while val[0] == '\0':
-+    while val[0:1] == b'\0':
-         val = val[1:]
-     output.write('static const uint8_t %s[%d] = {\n' % (name, len(val)))
-     idx = 0
-     for v in val:
-         if not idx:
-             output.write('\t')
--        output.write('0x%.2x, ' % ord(v))
-+        output.write('0x%.2x, ' % (v if sys.version_info[0] >=3 else ord(v)))
-         idx += 1
-         if idx == 8:
-             idx = 0
-@@ -118,7 +118,7 @@ struct key_params {
- 
- static const struct key_params __attribute__ ((unused)) keys[] = {
- ''')
--    for n in xrange(n + 1):
-+    for n in range(n + 1):
-         output.write('	KEYS(e_%d, n_%d),\n' % (n, n))
-     output.write('};\n')
-     
-@@ -136,7 +136,7 @@ except IndexError:
-     mode = None
- 
- if not mode in modes:
--    print 'Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys()))
-+    print('Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys())))
-     sys.exit(2)
- 
- output = open(outfile, 'w')
-@@ -154,3 +154,5 @@ for f in files:
-     idx += 1
- 
- modes[mode][1](output, idx - 1)
-+
-+output.close()
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/do-not-run-ldconfig-if-destdir-is-set.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/do-not-run-ldconfig-if-destdir-is-set.patch
deleted file mode 100644
index b5bce40..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/do-not-run-ldconfig-if-destdir-is-set.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sat, 23 Aug 2014 12:27:34 -0700
-Subject: crda: Do not run ldconfig if DESTDIR is set
-
-Upstream-Status: Backport [http://www.spinics.net/lists/linux-wireless/msg126028.html]
-
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
-
-Rebase patch for crda 4.15.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
- Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 6ca26f3..528a14e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -127,7 +127,9 @@ install-libreg:
- 	$(NQ) '  INSTALL  libreg'
- 	$(Q)mkdir -p $(DESTDIR)/$(LIBDIR)
- 	$(Q)$(INSTALL) -m 644 $(LIBREG) $(DESTDIR)/$(LIBDIR)/
-+ifndef DESTDIR
- 	$(Q)ldconfig
-+endif
- 
- %.o: %.c regdb.h $(LIBREG)
- 	$(NQ) '  CC  ' $@
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch
deleted file mode 100644
index 1bb5c63..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 8d2164a090f17286ea8291f30a123595cf447dc3 Mon Sep 17 00:00:00 2001
-From: Haiqing Bai <Haiqing.Bai@windriver.com>
-Date: Wed, 30 Nov 2016 10:27:36 +0800
-Subject: [PATCH] crda: fix issues when 'USE_OPENSSL=1'.
-
-Fxed the below issues if configured with 'USE_OPENSSL=1':
-a. keys-ssl.c uses BN_ULONG but doesn't include the openssl headers leading
-   to build failures:
-   keys-ssl.c:2:8: error: unknown type name 'BN_ULONG'
-   static BN_ULONG e_0[1] = {
-
-b. The large unqualified constants also break building:
-   keys-ssl.c:8:2: warning: overflow in implicit constant conversion [-Woverflow]
-     0x63a2705416a0d8e1, 0xdc9fca11c8ba757b,
-
-c. keys-ssl.c: error: 'keys' defined but not used [-Werror=unused-variable]
-   static struct pubkey keys[] = {
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-Upstream-Status: Pending
-Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
----
- utils/key2pub.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/utils/key2pub.py b/utils/key2pub.py
-index 401d58a..3ae00b8 100755
---- a/utils/key2pub.py
-+++ b/utils/key2pub.py
-@@ -24,7 +24,7 @@ def print_ssl_64(output, name, val):
-     for v1, v2, v3, v4, v5, v6, v7, v8 in vnew:
-         if not idx:
-             output.write('\t')
--        output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x, ' % (ord(v1), ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
-+        output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2xULL, ' % (ord(v1), ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
-         idx += 1
-         if idx == 2:
-             idx = 0
-@@ -60,6 +60,7 @@ def print_ssl_32(output, name, val):
- def print_ssl(output, name, val):
-     import os
-     output.write('#include <stdint.h>\n')
-+    output.write('#include <openssl/bn.h>\n')
-     if os.getenv('TARGET_BITS') == '64':
-         return print_ssl_64(output, name, val)
-     else:
-@@ -78,7 +79,7 @@ struct pubkey {
- 
- #define KEYS(e,n)	{ KEY(e), KEY(n), }
- 
--static struct pubkey keys[] = {
-+static struct pubkey keys[] __attribute__((unused))= {
- ''')
-     for n in xrange(n + 1):
-         output.write('	KEYS(e_%d, n_%d),\n' % (n, n))
--- 
-1.9.1
-
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch
deleted file mode 100644
index a7fb22a..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 890f5bf2654b695a866262d72bfa9750af921a3b Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sat, 23 Aug 2014 12:26:37 -0700
-Subject: [PATCH] Fix linking of libraries used by libreg
-
-The math and crypto libraries are called by and need to be linked to
-libreg.so, not to the executables.
-
-Upstream-Status: Backport [http://www.spinics.net/lists/linux-wireless/msg126027.html]
-
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
----
- Makefile | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 528a14e..acd818b 100644
---- a/Makefile
-+++ b/Makefile
-@@ -30,7 +30,7 @@ CFLAGS += -std=gnu99 -Wall -Werror -pedantic
- CFLAGS += -Wall -g
- LDLIBREG += -lreg
- LDLIBS += $(LDLIBREG)
--LDLIBS += -lm
-+LIBREGLDLIBS += -lm
- LIBREG += libreg.so
- LDFLAGS += -L ./
- 
-@@ -40,13 +40,13 @@ all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize
- 
- ifeq ($(USE_OPENSSL),1)
- CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl`
--LDLIBS += `pkg-config --libs openssl`
-+LIBREGLDLIBS += `pkg-config --libs openssl`
- 
- $(LIBREG): keys-ssl.c
- 
- else
- CFLAGS += -DUSE_GCRYPT
--LDLIBS += -lgcrypt
-+LIBREGLDLIBS += -lgcrypt
- 
- $(LIBREG): keys-gcrypt.c
- 
-@@ -116,7 +116,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
- 
- $(LIBREG): reglib.c regdb.h reglib.h
- 	$(NQ) '  CC  ' $@
--	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $<
-+	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $< $(LIBREGLDLIBS)
- 
- install-libreg-headers:
- 	$(NQ) '  INSTALL  libreg-headers'
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/use-target-word-size-instead-of-host-s.patch b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/use-target-word-size-instead-of-host-s.patch
deleted file mode 100644
index 100b765..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda/use-target-word-size-instead-of-host-s.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c1c42513edd27c97341f2033af77c13a4724eb8f Mon Sep 17 00:00:00 2001
-From: Haiqing Bai <Haiqing.Bai@windriver.com>
-Date: Fri, 25 Nov 2016 16:48:01 +0800
-Subject: [PATCH] crda: Use target word size instead of host's.
-
-In key2pub.py, the codes check the wordsize
-of the host machine but not the target's, this fix
-fetches the wordsize of target from the build system.
-
-Upstream-Status: Pending
-Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
----
- utils/key2pub.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/key2pub.py b/utils/key2pub.py
-index 3e84cd2..401d58a 100755
---- a/utils/key2pub.py
-+++ b/utils/key2pub.py
-@@ -58,9 +58,9 @@ def print_ssl_32(output, name, val):
-     output.write('};\n\n')
- 
- def print_ssl(output, name, val):
--    import struct
-+    import os
-     output.write('#include <stdint.h>\n')
--    if len(struct.pack('@L', 0)) == 8:
-+    if os.getenv('TARGET_BITS') == '64':
-         return print_ssl_64(output, name, val)
-     else:
-         return print_ssl_32(output, name, val)
--- 
-1.9.1
-
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_4.15.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_4.15.bb
deleted file mode 100644
index dd2df32..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_4.15.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Wireless Central Regulatory Domain Agent"
-HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
-SECTION = "net"
-LICENSE = "copyleft-next-0.3.0"
-LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
-
-DEPENDS = "python3-m2crypto-native libnl libgcrypt"
-
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git;branch=master \
-           file://do-not-run-ldconfig-if-destdir-is-set.patch \
-           file://fix-linking-of-libraries-used-by-reglib.patch \
-           file://0001-Makefile-respect-LDFLAGS-for-libreg.patch \
-           file://use-target-word-size-instead-of-host-s.patch \
-           file://fix-issues-when-USE_OPENSSL-1.patch \
-           file://crda-4.14-python-3.patch \
-           file://0001-Make-alpha2-to-be-3-characters-long.patch \
-           file://0001-reglib-Remove-unused-variables.patch \
-"
-SRCREV = "6aeea99ceeec85dd7a9202ee39c7f3b2a8f5195d"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig python3-dir python3native siteinfo
-
-# Recursive make problem
-EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \
-                UDEV_RULE_DIR=${nonarch_base_libdir}/udev/rules.d/"
-TARGET_BITS = "${SITEINFO_BITS}"
-export TARGET_BITS
-
-do_compile() {
-    oe_runmake all_noverify
-}
-
-do_install() {
-    oe_runmake SBINDIR=${sbindir}/ install
-}
-
-RDEPENDS:${PN} = "udev wireless-regdb"
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
new file mode 100644
index 0000000..e70edef
--- /dev/null
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "a graphical user interface that allows the user to change print settings"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/OpenPrinting/system-config-printer.git;protocol=https;branch=master"
+
+SRCREV = "895d3dec50c93bfd4f142bac9bfcc13051bf84cb"
+S = "${WORKDIR}/git"
+
+inherit autotools gettext pkgconfig python3native features_check
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+
+DEPENDS = "cups glib-2.0 libusb xmlto-native intltool-native desktop-file-utils-native"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = ",,systemd"
+
+do_configure:prepend() {
+    # This file is not provided if fetching from git but required for configure
+    touch ${S}/ChangeLog
+}
+
+FILES:${PN} += "${libdir} ${datadir}"
+
+RDEPENDS:${PN} = " \
+    dbus-x11 \
+    gtk+3 \
+    libnotify \
+    python3-core \
+    python3-dbus \
+    python3-firewall \
+    python3-pycups \
+    python3-pycurl \
+    python3-pygobject \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
index 2343cec..eb42e62 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
@@ -4,7 +4,7 @@
 
 DEPENDS = "gtk+3 glib-2.0 bluez5 python3-pygobject python3-cython-native"
 
-inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache
+inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache useradd
 
 SRC_URI = " \
     git://github.com/blueman-project/blueman.git;protocol=https;branch=2-3-stable \
@@ -23,6 +23,7 @@
 RRECOMMENDS:${PN} += "adwaita-icon-theme"
 RDEPENDS:${PN} += " \
     python3-core \
+    python3-ctypes \
     python3-dbus \
     python3-pygobject \
     python3-terminal \
@@ -58,3 +59,28 @@
                                               ${D}${bindir}/blueman-tray
 }
 
+do_install:append() {
+    install -d ${D}${datadir}/polkit-1/rules.d
+    cat >${D}${datadir}/polkit-1/rules.d/51-blueman.rules <<EOF
+/* Allow users in wheel group to use blueman feature requiring root without authentication */
+polkit.addRule(function(action, subject) {
+    if ((action.id == "org.blueman.network.setup" ||
+         action.id == "org.blueman.dhcp.client" ||
+         action.id == "org.blueman.rfkill.setstate" ||
+         action.id == "org.blueman.pppd.pppconnect") &&
+        subject.isInGroup("wheel")) {
+
+        return polkit.Result.YES;
+    }
+});
+EOF
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 --shell /bin/nologin polkitd"
+
+do_install:append() {
+        # Fix up permissions on polkit rules.d to work with rpm4 constraints
+        chmod 700 ${D}/${datadir}/polkit-1/rules.d
+        chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch
index 91b3046..23e4368 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch
@@ -17,19 +17,10 @@
  void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
  {
 -    mbedtls_mpi_uint c = 0, t = 0;
-+    mbedtls_mpi_uint c = 0;
++    mbedtls_mpi_uint c = 0, t __attribute__ ((unused)) = 0;
  
  #if defined(MULADDC_HUIT)
      for( ; i >= 8; i -= 8 )
-@@ -1595,8 +1595,6 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_
-     }
- #endif /* MULADDC_HUIT */
- 
--    t++;
--
-     do {
-         *d += c; c = ( *d < c ); d++;
-     }
 --- a/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt
 +++ b/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt
 @@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU)
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch
index be26a20..ffaff48 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch
@@ -17,19 +17,10 @@
  void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
  {
 -    mbedtls_mpi_uint c = 0, t = 0;
-+    mbedtls_mpi_uint c = 0;
++    mbedtls_mpi_uint c = 0, t __attribute__ ((unused)) = 0;
  
  #if defined(MULADDC_HUIT)
      for( ; i >= 8; i -= 8 )
-@@ -1595,8 +1595,6 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_
-     }
- #endif /* MULADDC_HUIT */
- 
--    t++;
--
-     do {
-         *d += c; c = ( *d < c ); d++;
-     }
 --- a/third_party/mbedtls/repo/CMakeLists.txt
 +++ b/third_party/mbedtls/repo/CMakeLists.txt
 @@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU)
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0008-Deleted-settiong-of-python-to-fix-the-install-confli.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch
similarity index 100%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0008-Deleted-settiong-of-python-to-fix-the-install-confli.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-waf-Fix-errors-with-Werror-implicit-function-declara.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-waf-Fix-errors-with-Werror-implicit-function-declara.patch
deleted file mode 100644
index 91eb229..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-waf-Fix-errors-with-Werror-implicit-function-declara.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 95946ce8b6317f68c51338d19d237ce6da61d1c3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Aug 2022 13:05:26 -0700
-Subject: [PATCH] waf: Fix errors with Werror=implicit-function-declaration
- turned on
-
-Clang-15 turns this option into errors by default, and it results in
-rpath check failures
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- buildtools/wafsamba/samba_waf18.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/buildtools/wafsamba/samba_waf18.py b/buildtools/wafsamba/samba_waf18.py
-index e2a078b..e145c77 100644
---- a/buildtools/wafsamba/samba_waf18.py
-+++ b/buildtools/wafsamba/samba_waf18.py
-@@ -209,7 +209,7 @@ def CHECK_LIBRARY_SUPPORT(conf, rpath=False, version_script=False, msg=None):
-         lib_node.parent.mkdir()
-         lib_node.write('int lib_func(void) { return 42; }\n', 'w')
-         main_node = bld.srcnode.make_node('main.c')
--        main_node.write('int main(void) {return !(lib_func() == 42);}', 'w')
-+        main_node.write('int lib_func(void); int main(void) {return !(lib_func() == 42);}', 'w')
-         linkflags = []
-         if version_script:
-             script = bld.srcnode.make_node('ldscript')
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.17.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.17.5.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.17.4.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.17.5.bb
index 966eaf9..1548ffa 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.17.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.17.5.bb
@@ -23,8 +23,7 @@
            file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
            file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \
            file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \
-           file://0007-waf-Fix-errors-with-Werror-implicit-function-declara.patch \
-           file://0008-Deleted-settiong-of-python-to-fix-the-install-confli.patch \
+           file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \
            "
 
 SRC_URI:append:libc-musl = " \
@@ -33,7 +32,7 @@
            file://cmocka-uintptr_t.patch \
            "
 
-SRC_URI[sha256sum] = "c0512079db4cac707ccea4c18aebbd6b2eb3acf6e90735e7f645a326be1f4537"
+SRC_URI[sha256sum] = "ebb7880d474ffc09d73b5fc77bcbd657f6235910337331a9c24d7f69ca11442b"
 
 UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.17(\.\d+)+).tar.gz"
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.3.bb b/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.3.bb
index 746c08b..4badff8 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.3.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.3.bb
@@ -25,6 +25,7 @@
 DEPENDS += "flex-native bison-native libpam libtirpc"
 inherit autotools-brokensep features_check
 
+CPPFLAGS += "-P"
 CFLAGS += "-I${STAGING_INCDIR}/tirpc"
 LIBS += "-ltirpc"
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam
index 83c403c..a9ec35d 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam
@@ -5,6 +5,7 @@
 # This allows root to change user infomation without being
 # prompted for a password
 auth		sufficient	pam_rootok.so
+account		sufficient	pam_rootok.so
 
 # The standard Unix authentication modules, used with
 # NIS (man nsswitch) as well as normal /etc/passwd and
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.1.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.1.bb
rename to meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb
index d3c86e7..2cbcbb3 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.1.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb
@@ -14,7 +14,7 @@
            file://0001-m4-ax_python.m4-check-for-python-x.y-emded.pc-not-py.patch \
            "
 
-SRCREV = "70151e264bbb697a10fed711aa8c937d4f0009b1"
+SRCREV = "62ac43de9f3bc470586cf4f51fadf013bf542b32"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb
rename to meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb
index 96eb4e5..612d343 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.60.25.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1790.80.10.bb
@@ -23,7 +23,7 @@
            file://0008-Handle-errors-from-socket-calls.patch \
            file://mdns.service \
            "
-SRCREV = "e48e3a58b763a0d7b76a14f7f309e24d7502e796"
+SRCREV = "8769ab51605e465425d33d757f602ce5905ca639"
 
 # We install a stub Makefile in the top directory so that the various checks
 # in base.bbclass pass their tests for a Makefile, this ensures (that amongst
diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.88.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.89.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.88.bb
rename to meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.89.bb
index 4bf1dd8..1a009f2 100644
--- a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.88.bb
+++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.89.bb
@@ -18,7 +18,7 @@
            file://dnsmasq-noresolvconf.service \
            file://dnsmasq-resolved.conf \
 "
-SRC_URI[sha256sum] = "da9d26aa3f3fc15f3b58b94edbb9ddf744cbce487194ea480bd8e7381b3ca028"
+SRC_URI[sha256sum] = "8651373d000cae23776256e83dcaa6723dee72c06a39362700344e0c12c4e7e4"
 
 inherit pkgconfig update-rc.d systemd
 
diff --git a/meta-openembedded/meta-networking/recipes-support/mctp/mctp_git.bb b/meta-openembedded/meta-networking/recipes-support/mctp/mctp_git.bb
index 9e97a6a..edc614d 100644
--- a/meta-openembedded/meta-networking/recipes-support/mctp/mctp_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/mctp/mctp_git.bb
@@ -23,7 +23,7 @@
 # we'll want to declare the dep and install the service.
 PACKAGECONFIG[systemd] = ",,systemd,libsystemd"
 SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
 
 do_install:append () {
     if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
diff --git a/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb b/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb
index dca929b..110ca36 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb
@@ -6,7 +6,7 @@
 
 SECTION = "console/network"
 
-DEPENDS = "curl libmaxminddb libpcap lua mariadb ndpi json-c rrdtool zeromq"
+DEPENDS = "curl hiredis libmaxminddb libpcap lua mariadb ndpi json-c rrdtool zeromq"
 RDEPENDS:${PN} = "bash redis"
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb
index 86243a5..a2d5142 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_42.0.bb
@@ -28,7 +28,7 @@
 FILES:${PN} += "${libdir}/*"
 INSANE_SKIP:${PN} += "dev-so"
 
-inherit cmake cpan-base pkgconfig python3native systemd
+inherit cmake cpan-base pkgconfig python3native python3targetconfig systemd
 
 SYSTEMD_SERVICE:${PN} = " \
     srp_daemon.service \
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
index 1a4aedc..693a167 100644
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
@@ -24,7 +24,7 @@
 
 PE = "1"
 
-inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg
+inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg
 
 PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
 
@@ -46,6 +46,7 @@
 PACKAGECONFIG[libssh] = ",,libssh2"
 PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
 PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd"
+PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2"
 
 # these next two options require addional layers
 PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
