From 9e1b9672767c173e3181c677e005128bfb9d3135 Mon Sep 17 00:00:00 2001 From: Patrick Walther Date: Fri, 24 Jul 2020 11:40:07 +0200 Subject: [PATCH] ADD: [wireless-regdb] add wireless-regdb to meta layer BugzId: 65179 --- ...tion-with-ranges-allowed-for-all-EU-.patch | 16 +++ ...firmware-file-format-version-code-20.patch | 97 ++++++++++++++++++ .../wireless-regdb/500-world-regd-5GHz.patch | 16 +++ .../wireless-regdb/regulatory.db | Bin 0 -> 3752 bytes .../wireless-regdb/regulatory.db.p7s | Bin 0 -> 2309 bytes .../wireless-regdb_2020.04.29.bb | 41 ++++++++ 6 files changed, 170 insertions(+) create mode 100644 recipes-connectivity/wireless-regdb/wireless-regdb/0001-ADD-regdb-EU-section-with-ranges-allowed-for-all-EU-.patch create mode 100644 recipes-connectivity/wireless-regdb/wireless-regdb/100-regdb-write-firmware-file-format-version-code-20.patch create mode 100644 recipes-connectivity/wireless-regdb/wireless-regdb/500-world-regd-5GHz.patch create mode 100644 recipes-connectivity/wireless-regdb/wireless-regdb/regulatory.db create mode 100644 recipes-connectivity/wireless-regdb/wireless-regdb/regulatory.db.p7s create mode 100644 recipes-connectivity/wireless-regdb/wireless-regdb_2020.04.29.bb diff --git a/recipes-connectivity/wireless-regdb/wireless-regdb/0001-ADD-regdb-EU-section-with-ranges-allowed-for-all-EU-.patch b/recipes-connectivity/wireless-regdb/wireless-regdb/0001-ADD-regdb-EU-section-with-ranges-allowed-for-all-EU-.patch new file mode 100644 index 0000000..af4a5e6 --- /dev/null +++ b/recipes-connectivity/wireless-regdb/wireless-regdb/0001-ADD-regdb-EU-section-with-ranges-allowed-for-all-EU-.patch @@ -0,0 +1,16 @@ +--- a/db.txt 2020-03-30 18:33:22.648532785 +0200 ++++ b/db.txt 2020-03-30 18:34:14.684508147 +0200 +@@ -1671,3 +1671,13 @@ country ZW: DFS-ETSI + (5250 - 5330 @ 80), (20), DFS, AUTO-BW + (5490 - 5710 @ 160), (27), DFS + ++country EU: DFS-ETSI ++ (2400 - 2483.5 @ 40), (100 mW) ++ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI ++ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI ++ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI ++ # short range devices (ETSI EN 300 440-1) ++ (5725 - 5875 @ 80), (25 mW) ++ # 60 GHz band channels 1-4 (ETSI EN 302 567) ++ (57000 - 66000 @ 2160), (40) ++ diff --git a/recipes-connectivity/wireless-regdb/wireless-regdb/100-regdb-write-firmware-file-format-version-code-20.patch b/recipes-connectivity/wireless-regdb/wireless-regdb/100-regdb-write-firmware-file-format-version-code-20.patch new file mode 100644 index 0000000..f106b91 --- /dev/null +++ b/recipes-connectivity/wireless-regdb/wireless-regdb/100-regdb-write-firmware-file-format-version-code-20.patch @@ -0,0 +1,97 @@ +diff --git a/Makefile b/Makefile +index 2f1ed93..317d01c 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,5 @@ + # Install prefix + PREFIX ?= /usr +-CRDA_PATH ?= $(PREFIX)/lib/crda +-CRDA_KEY_PATH ?= $(CRDA_PATH)/pubkeys + FIRMWARE_PATH ?= /lib/firmware + + MANDIR ?= $(PREFIX)/share/man/ +@@ -31,33 +29,28 @@ REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \ + fi) + + REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem +-REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem + REGDB_PUBCERT ?= $(REGDB_AUTHOR).x509.pem + + REGDB_UPSTREAM_PUBKEY ?= sforshee.key.pub.pem + + REGDB_CHANGED = $(shell $(SHA1SUM) -c --status sha1sum.txt >/dev/null 2>&1; \ + if [ $$? -ne 0 ]; then \ +- echo maintainer-clean $(REGDB_PUBKEY) $(REGDB_PUBCERT); \ ++ echo maintainer-clean $(REGDB_PUBCERT); \ + fi) + + .PHONY: all clean mrproper install maintainer-clean install-distro-key + +-all: $(REGDB_CHANGED) regulatory.bin sha1sum.txt regulatory.db.p7s ++all: $(REGDB_CHANGED) regulatory.db.p7s sha1sum.txt + + clean: + @rm -f *.pyc *.gz + + maintainer-clean: clean +- @rm -f regulatory.bin regulatory.db regulatory.db.p7s ++ @rm -f regulatory.db regulatory.db.p7s + + mrproper: clean maintainer-clean +- @echo Removed public key, regulatory.bin, regulatory.db* and compressed man pages +- @rm -f $(REGDB_PUBKEY) $(REGDB_PUBCERT) .custom +- +-regulatory.bin: db.txt $(REGDB_PRIVKEY) $(REGDB_PUBKEY) +- @echo Generating $@ digitally signed by $(REGDB_AUTHOR)... +- ./db2bin.py regulatory.bin db.txt $(REGDB_PRIVKEY) ++ @echo Removed public key, regulatory.db* and compressed man pages ++ @rm -f $(REGDB_PUBCERT) .custom + + regulatory.db: db.txt db2fw.py + @echo "Generating $@" +@@ -74,20 +67,6 @@ regulatory.db.p7s: regulatory.db $(REGDB_PRIVKEY) $(REGDB_PUBCERT) + sha1sum.txt: db.txt + sha1sum $< > $@ + +-$(REGDB_PUBKEY): $(REGDB_PRIVKEY) +- @echo "Generating public key for $(REGDB_AUTHOR)..." +- openssl rsa -in $(REGDB_PRIVKEY) -out $(REGDB_PUBKEY) -pubout -outform PEM +- +-$(REGDB_PUBCERT): $(REGDB_PRIVKEY) +- @echo "Generating certificate for $(REGDB_AUTHOR)..." +- ./gen-pubcert.sh $(REGDB_PRIVKEY) $(REGDB_PUBCERT) +- @echo $(REGDB_PUBKEY) > .custom +- +- +-$(REGDB_PRIVKEY): +- @echo "Generating private key for $(REGDB_AUTHOR)..." +- openssl genrsa -out $(REGDB_PRIVKEY) 2048 +- + ifneq ($(shell test -e $(DISTRO_PRIVKEY) && echo yes),yes) + $(DISTRO_PRIVKEY): + @echo "Generating private key for $(LSB_ID) packager..." +@@ -115,15 +94,7 @@ install-distro-key: maintainer-clean $(DISTRO_PRIVKEY) + # make maintainer-clean + # make + # sudo make install +-install: regulatory.bin.5.gz regulatory.db.5.gz +- install -m 755 -d $(DESTDIR)/$(CRDA_PATH) +- install -m 755 -d $(DESTDIR)/$(CRDA_KEY_PATH) +- install -m 755 -d $(DESTDIR)/$(FIRMWARE_PATH) +- if [ -f .custom ]; then \ +- install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(shell cat .custom); \ +- fi +- install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(REGDB_UPSTREAM_PUBKEY) +- install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.bin +- install -m 644 -t $(DESTDIR)/$(FIRMWARE_PATH) regulatory.db regulatory.db.p7s ++install: regulatory.db.5.gz ++ install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.db + install -m 755 -d $(DESTDIR)/$(MANDIR)/man5/ +- install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.bin.5.gz regulatory.db.5.gz ++ install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.db.5.gz +diff --git a/regulatory.db b/regulatory.db +index b86cffa..7221523 100644 +Binary files a/regulatory.db and b/regulatory.db differ +diff --git a/regulatory.db.p7s b/regulatory.db.p7s +index ac6b4cc..5ae61b4 100644 +Binary files a/regulatory.db.p7s and b/regulatory.db.p7s differ diff --git a/recipes-connectivity/wireless-regdb/wireless-regdb/500-world-regd-5GHz.patch b/recipes-connectivity/wireless-regdb/wireless-regdb/500-world-regd-5GHz.patch new file mode 100644 index 0000000..ae38f93 --- /dev/null +++ b/recipes-connectivity/wireless-regdb/wireless-regdb/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 +--- +--- a/db.txt ++++ b/db.txt +@@ -16,7 +16,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-connectivity/wireless-regdb/wireless-regdb/regulatory.db b/recipes-connectivity/wireless-regdb/wireless-regdb/regulatory.db new file mode 100644 index 0000000000000000000000000000000000000000..68346a839bfc8cf93f248274d4114ee4027d5ea2 GIT binary patch literal 3752 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 v4.15. +# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe. +PACKAGES =+ "${PN}-static" +RCONFLICTS_${PN} = "${PN}-static" + +FILES_${PN}-static = " \ + ${nonarch_base_libdir}/firmware/regulatory.db \ +" + +RSUGGESTS_${PN} = "crda" +BBCLASSEXTEND = "native"