[Add and sync wireless-regdb from Openwrt master]
[Description]
Add and sync wireless-regdb from Openwrt master
[Release-log]
N/A
diff --git a/recipes-kernel/wireless-regdb/files/patches/500-world-regd-5GHz.patch b/recipes-kernel/wireless-regdb/files/patches/500-world-regd-5GHz.patch
new file mode 100644
index 0000000..3f6d4c7
--- /dev/null
+++ b/recipes-kernel/wireless-regdb/files/patches/500-world-regd-5GHz.patch
@@ -0,0 +1,16 @@
+Remove the NO-IR flag from channels 36-48 on the World domain,
+to make it usable for AP mode.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+--- a/db.txt
++++ b/db.txt
+@@ -19,7 +19,7 @@ country 00:
+ # Channel 14. Only JP enables this and for 802.11b only
+ (2474 - 2494 @ 20), (20), NO-IR, NO-OFDM
+ # Channel 36 - 48
+- (5170 - 5250 @ 80), (20), NO-IR, AUTO-BW
++ (5170 - 5250 @ 80), (20), AUTO-BW
+ # Channel 52 - 64
+ (5250 - 5330 @ 80), (20), NO-IR, DFS, AUTO-BW
+ # Channel 100 - 144
diff --git a/recipes-kernel/wireless-regdb/files/patches/600-world-regd-6GHz.patch b/recipes-kernel/wireless-regdb/files/patches/600-world-regd-6GHz.patch
new file mode 100644
index 0000000..cd3545e
--- /dev/null
+++ b/recipes-kernel/wireless-regdb/files/patches/600-world-regd-6GHz.patch
@@ -0,0 +1,16 @@
+diff --git a/db.txt b/db.txt
+index 4f36062..f7c0082 100644
+--- a/db.txt
++++ b/db.txt
+@@ -26,6 +26,8 @@ country 00:
+ (5490 - 5730 @ 160), (20), NO-IR, DFS
+ # Channel 149 - 165
+ (5735 - 5835 @ 80), (20), NO-IR
++ # WiFi 6E
++ (5925 - 7125 @ 320), (12), NO-OUTDOOR
+ # IEEE 802.11ad (60GHz), channels 1..3
+ (57240 - 63720 @ 2160), (0)
+
+--
+2.18.0
+
diff --git a/recipes-kernel/wireless-regdb/files/patches/patches.inc b/recipes-kernel/wireless-regdb/files/patches/patches.inc
new file mode 100644
index 0000000..5e2fb3a
--- /dev/null
+++ b/recipes-kernel/wireless-regdb/files/patches/patches.inc
@@ -0,0 +1,5 @@
+#patch patches (come from openwrt/lede/target/linux/mediatek)
+SRC_URI_append = " \
+ file://500-world-regd-5GHz.patch \
+ file://600-world-regd-6GHz.patch \
+ "
diff --git a/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb b/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb
new file mode 100644
index 0000000..4035805
--- /dev/null
+++ b/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Wireless Central Regulatory Domain Database"
+HOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda"
+SECTION = "net"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
+
+SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "ac00f97efecce5046ed069d1d93f3365fdf994c7c7854a8fc50831e959537230"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files/patches:"
+require files/patches/patches.inc
+
+inherit bin_package allarch
+
+do_install() {
+ install -d -m0755 ${D}${nonarch_libdir}/crda
+ install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys
+ install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin
+ install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem
+
+ install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db
+ install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s
+}
+
+# Install static regulatory DB in /lib/firmware for kernel to load.
+# This requires Linux kernel >= v4.15.
+# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass
+# (in meta-networking) in kernel's recipe.
+PACKAGES = "${PN}-static ${PN}"
+RCONFLICTS:${PN} = "${PN}-static"
+
+FILES:${PN}-static = " \
+ ${nonarch_base_libdir}/firmware/regulatory.db \
+ ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
+"
+
+# Native users might want to use the source of regulatory DB.
+# This is for example used by Linux kernel <= v4.14 and
+# kernel_wireless_regdb.bbclass in meta-networking.
+do_install:append:class-native() {
+ install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
+}
+
+RSUGGESTS:${PN} = "crda"
+
+BBCLASSEXTEND = "native"