Openembedded Devel Discussions
 help / color / mirror / Atom feed
* [meta-networking][PATCH v5 0/3] Add static/embedded wireless regulatory data
@ 2018-07-05 18:58 Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 1/3] wireless-regdb: Bump version to latest upstream 2018.05.31 Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2018-07-05 18:58 UTC (permalink / raw)
  To: openembedded-devel

Hi,

Changes since v4:
1. Extend kernel_wireless_regdb.bbclass description (suggested by Khem Raj).
2. Use '-D' for install (suggested by Khem Raj).

Changes since v3:
1. Re-order patches, start with version bump.
2. Add patch 2/3 for new kernel (since v4.15 embedding regulatory
   data has changed).

Changes since v2:
1. Rebase on sumo.
2. Fix task order - run do_kernel_add_regdb task after do_configure.

Changes since v1:
1. Remove debugging echo.

Best regards,
Krzysztof

Krzysztof Kozlowski (3):
  wireless-regdb: Bump version to latest upstream 2018.05.31
  wireless-regdb: Add wireless-regdb-static package with static
    regulatory data
  kernel_wireless_regdb: Add class for embedding regulatory data into
    older kernel

 .../classes/kernel_wireless_regdb.bbclass          | 20 +++++++++++
 .../wireless-regdb/wireless-regdb_2016.06.10.bb    | 20 -----------
 .../wireless-regdb/wireless-regdb_2018.05.31.bb    | 42 ++++++++++++++++++++++
 3 files changed, 62 insertions(+), 20 deletions(-)
 create mode 100644 meta-networking/classes/kernel_wireless_regdb.bbclass
 delete mode 100644 meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
 create mode 100644 meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb

-- 
2.14.1



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [meta-networking][PATCH v5 1/3] wireless-regdb: Bump version to latest upstream 2018.05.31
  2018-07-05 18:58 [meta-networking][PATCH v5 0/3] Add static/embedded wireless regulatory data Krzysztof Kozlowski
@ 2018-07-05 18:58 ` Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 2/3] wireless-regdb: Add wireless-regdb-static package with static regulatory data Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 3/3] kernel_wireless_regdb: Add class for embedding regulatory data into older kernel Krzysztof Kozlowski
  2 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2018-07-05 18:58 UTC (permalink / raw)
  To: openembedded-devel

Bump the wireless-regdb recipe to use newest wireless regulatory
database.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../{wireless-regdb_2016.06.10.bb => wireless-regdb_2018.05.31.bb}    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-networking/recipes-connectivity/wireless-regdb/{wireless-regdb_2016.06.10.bb => wireless-regdb_2018.05.31.bb} (82%)

diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
similarity index 82%
rename from meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
rename to meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
index 64e9401e7a3c..8bb866ff1281 100644
--- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
+++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
@@ -5,8 +5,8 @@ LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
 
 SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[md5sum] = "d282cce92b6e692e8673e2bd97adf33b"
-SRC_URI[sha256sum] = "cfedf1c3521b3c8f32602f25ed796e96e687c3441a00e7c050fedf7fd4f1b8b7"
+SRC_URI[md5sum] = "0cbbdc21186c76cf58aba01b03f3dc5b"
+SRC_URI[sha256sum] = "e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b"
 
 inherit bin_package
 
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [meta-networking][PATCH v5 2/3] wireless-regdb: Add wireless-regdb-static package with static regulatory data
  2018-07-05 18:58 [meta-networking][PATCH v5 0/3] Add static/embedded wireless regulatory data Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 1/3] wireless-regdb: Bump version to latest upstream 2018.05.31 Krzysztof Kozlowski
@ 2018-07-05 18:58 ` Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 3/3] kernel_wireless_regdb: Add class for embedding regulatory data into older kernel Krzysztof Kozlowski
  2 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2018-07-05 18:58 UTC (permalink / raw)
  To: openembedded-devel

Small embedded systems might:
1. Want to get rid of daemons as much as possible (therefore be built
   without CRDA),
2. Not receive user-space incremental updates but an entire system
   upgrade (with kernel).

Linux kernel since v4.15 allows loading static regulatory data from
/lib/firmware/regulatory.db.

Add additional package to wireless-regdb recipe which provides such
static data.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../wireless-regdb/wireless-regdb_2018.05.31.bb             | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
index 8bb866ff1281..2ae9e85427bc 100644
--- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
+++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
@@ -15,6 +15,19 @@ do_install() {
     install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys
     install -m 0644 regulatory.bin ${D}${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.
+PACKAGES =+ "${PN}-static"
+RCONFLICTS_${PN} = "${PN}-static"
+
+FILES_${PN}-static = " \
+    ${nonarch_base_libdir}/firmware/regulatory.db \
+    ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
+"
+
 RSUGGESTS_${PN} = "crda"
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [meta-networking][PATCH v5 3/3] kernel_wireless_regdb: Add class for embedding regulatory data into older kernel
  2018-07-05 18:58 [meta-networking][PATCH v5 0/3] Add static/embedded wireless regulatory data Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 1/3] wireless-regdb: Bump version to latest upstream 2018.05.31 Krzysztof Kozlowski
  2018-07-05 18:58 ` [meta-networking][PATCH v5 2/3] wireless-regdb: Add wireless-regdb-static package with static regulatory data Krzysztof Kozlowski
@ 2018-07-05 18:58 ` Krzysztof Kozlowski
  2 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2018-07-05 18:58 UTC (permalink / raw)
  To: openembedded-devel

Linux kernels before v4.15, allowed to be compiled with static
regulatory database if it was put under net/wireless/db.txt.

Add kernel_wireless_regdb class which allows in such cases to embed the
wireless regulatory database directly in the Linux kernel during build
process.

Usage:
1. The class should be inherited by kernel recipe (e.g. in
   linux-yocto_%.bbappend).
2. For Linux kernels up to v4.14, build kernel with CONFIG_EXPERT and
   CONFIG_CFG80211_INTERNAL_REGDB.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../classes/kernel_wireless_regdb.bbclass            | 20 ++++++++++++++++++++
 .../wireless-regdb/wireless-regdb_2018.05.31.bb      |  9 +++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 meta-networking/classes/kernel_wireless_regdb.bbclass

diff --git a/meta-networking/classes/kernel_wireless_regdb.bbclass b/meta-networking/classes/kernel_wireless_regdb.bbclass
new file mode 100644
index 000000000000..1238172bd4b7
--- /dev/null
+++ b/meta-networking/classes/kernel_wireless_regdb.bbclass
@@ -0,0 +1,20 @@
+# Linux kernels before v4.15, allowed to be compiled with static
+# regulatory database if it was put under net/wireless/db.txt.
+#
+# This class copies the regulatory plaintext database to kernel sources before
+# compiling.
+#
+# Usage:
+# 1. The class should be inherited by kernel recipe (e.g. in
+#    linux-yocto_%.bbappend).
+# 2. For Linux kernels up to v4.14, build kernel with CONFIG_EXPERT and
+#    CONFIG_CFG80211_INTERNAL_REGDB.
+
+DEPENDS += "wireless-regdb-native"
+
+SRCTREECOVEREDTASKS += "do_kernel_add_regdb"
+do_kernel_add_regdb() {
+    cp ${STAGING_LIBDIR_NATIVE}/crda/db.txt ${S}/net/wireless/db.txt
+}
+do_kernel_add_regdb[dirs] = "${S}"
+addtask kernel_add_regdb before do_build after do_configure
diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
index 2ae9e85427bc..d1c8d567597b 100644
--- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
+++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
@@ -22,6 +22,7 @@ do_install() {
 
 # 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 kernel's recipe.
 PACKAGES =+ "${PN}-static"
 RCONFLICTS_${PN} = "${PN}-static"
 
@@ -30,4 +31,12 @@ FILES_${PN}-static = " \
     ${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.
+do_install_append_class-native() {
+    install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
+}
+
 RSUGGESTS_${PN} = "crda"
+
+BBCLASSEXTEND = "native"
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-07-05 18:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-05 18:58 [meta-networking][PATCH v5 0/3] Add static/embedded wireless regulatory data Krzysztof Kozlowski
2018-07-05 18:58 ` [meta-networking][PATCH v5 1/3] wireless-regdb: Bump version to latest upstream 2018.05.31 Krzysztof Kozlowski
2018-07-05 18:58 ` [meta-networking][PATCH v5 2/3] wireless-regdb: Add wireless-regdb-static package with static regulatory data Krzysztof Kozlowski
2018-07-05 18:58 ` [meta-networking][PATCH v5 3/3] kernel_wireless_regdb: Add class for embedding regulatory data into older kernel Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox