diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 1d1c8f6bdf..5f364ec207 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.14 = .176 LINUX_VERSION-4.19 = .115 -LINUX_VERSION-5.4 = .35 +LINUX_VERSION-5.4 = .36 LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2 LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2 -LINUX_KERNEL_HASH-5.4.35 = e16bd5f7284a80a41328bf712e1136b0adf5b71cc0bd263efa7cac75539806d4 +LINUX_KERNEL_HASH-5.4.36 = b9faea98122e8316af8fb428c942e81797b5d28a8fc59a24a4e47959e3765b8d remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/include/prereq-build.mk b/include/prereq-build.mk index 830a9eff9a..801d2e20b7 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -14,8 +14,8 @@ PKG_NAME:=Build dependency # Required for the toolchain $(eval $(call TestHostCommand,working-make, \ - Please install GNU make v3.81 or later. (This version has bugs), \ - $(MAKE) -v | grep -E 'Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)')) + Please install GNU make v3.82 or later. (This version has bugs), \ + $(MAKE) -v | grep -E 'Make (3\.8[2-9]|3\.9[0-9]|[4-9]\.)')) $(eval $(call TestHostCommand,case-sensitive-fs, \ OpenWrt can only be built on a case-sensitive filesystem, \ diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index 86343be04c..fc18d159b1 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb -PKG_VERSION:=2019.06.03 +PKG_VERSION:=2020.04.29 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ -PKG_HASH:=cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf +PKG_HASH:=89fd031aed5977c219a71501e144375a10e7c90d1005d5d086ea7972886a2c7a PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch b/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch deleted file mode 100644 index 81f50f5dc0..0000000000 --- a/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 651e39dee8605995b736b6056c6f7dc5c5a9c948 Mon Sep 17 00:00:00 2001 -From: Johannes Berg -Date: Thu, 22 Aug 2019 21:46:27 +0200 -Subject: [PATCH] regdb: fix compatibility with python2 - -Various changes in the commit mentioned below broke -compatibility with python2. Restore it in a way that -makes it worth with both versions. - -Fixes: f3c4969c2485 ("wireless-regdb: make scripts compatible with Python 3") -Signed-off-by: Johannes Berg -Signed-off-by: Seth Forshee ---- - db2bin.py | 2 +- - db2fw.py | 2 +- - dbparse.py | 3 +-- - 3 files changed, 3 insertions(+), 4 deletions(-) - ---- a/db2bin.py -+++ b/db2bin.py -@@ -118,7 +118,7 @@ reg_country_ptr.set() - for alpha2 in countrynames: - coll = countries[alpha2] - # struct regdb_file_reg_country -- output.write(struct.pack('>BBxBI', alpha2[0], alpha2[1], coll.dfs_region, reg_rules_collections[coll.permissions])) -+ output.write(struct.pack('>2sxBI', alpha2, coll.dfs_region, reg_rules_collections[coll.permissions])) - - - if len(sys.argv) > 3: ---- a/db2fw.py -+++ b/db2fw.py -@@ -85,7 +85,7 @@ countrynames = list(countries) - countrynames.sort() - for alpha2 in countrynames: - coll = countries[alpha2] -- output.write(struct.pack('>BB', alpha2[0], alpha2[1])) -+ output.write(struct.pack('>2s', alpha2)) - country_ptrs[alpha2] = PTR(output) - output.write(b'\x00' * 4) - ---- a/dbparse.py -+++ b/dbparse.py -@@ -1,6 +1,5 @@ - #!/usr/bin/env python - --from builtins import bytes - from functools import total_ordering - import sys, math - from math import ceil, log -@@ -359,7 +358,7 @@ class DBParser(object): - for cname in cnames: - if len(cname) != 2: - self._warn("country '%s' not alpha2" % cname) -- cname = bytes(cname, 'ascii') -+ cname = cname.encode('ascii') - if not cname in self._countries: - self._countries[cname] = Country(dfs_region, comments=self._comments) - self._current_countries[cname] = self._countries[cname] diff --git a/package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch b/package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch deleted file mode 100644 index 6febcc060f..0000000000 --- a/package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Martin Willi -Date: Tue, 2 Jul 2019 16:19:44 +0200 -Subject: [PATCH] wireless-regdb: Fix overlapping ranges for Switzerland and - Liechtenstein - -The commit referenced below changes the 5GHz frequency range 5250-5330 -to 5150-5330, making that range overlapping with the existing range -5170-5250. This imposes DFS limitations and a reduced maximum power -level for the range 5170-5250. - -The change of the frequency range seems not intentional. Instead the -commit should have changed the 5170-5250 range to 5150-5250, and the -5250-5330 range to 5250-5350 (see [1]). - -[1] https://www.ofcomnet.ch/api/rir/1010/05 - -Fixes: 957a7cff72a3 ("wireless-regdb: update regulatory rules for Switzerland (CH), and Liechtenstein (LI) on 5GHz") -Signed-off-by: Martin Willi -Signed-off-by: Seth Forshee - -diff --git a/db.txt b/db.txt -index d47ab94c3aa5..37393e6a793e 100644 ---- a/db.txt -+++ b/db.txt -@@ -271,8 +271,8 @@ country CF: DFS-FCC - # transmitter power control is in use: 5250-5330@23db, 5490-5710@30db - country CH: DFS-ETSI - (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5150 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) -@@ -747,8 +747,8 @@ country LC: DFS-ETSI - # transmitter power control is in use: 5250-5330@23db, 5490-5710@30db - country LI: DFS-ETSI - (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5150 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) diff --git a/package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch b/package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch deleted file mode 100644 index f9b97bc885..0000000000 --- a/package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch +++ /dev/null @@ -1,843 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Emil Petersky -Date: Tue, 17 Sep 2019 09:49:19 +0200 -Subject: [PATCH] wireless-regdb: Fix ranges of EU countries as they are - harmonized since 2014 - -This patch unites entries for EU countries, as they have been harmonized -latest by July 2014... - -EU decision 2005/513/EC: -https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -EU decision 2006/771/EC: -https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - -Signed-off-by: Emil Petersky -Signed-off-by: Seth Forshee - -diff --git a/db.txt b/db.txt -index 2e149b6e0ea2..a57452479a9b 100644 ---- a/db.txt -+++ b/db.txt -@@ -87,12 +87,20 @@ country AS: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# AT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# AT: https://www.rtr.at/en/tk/Spektrum5GHz/1997_bmvit-info-052010en.pdf -+# AT: acceptance https://www.ris.bka.gv.at/Dokumente/BgblAuth/BGBLA_2014_II_63/BGBLA_2014_II_63.pdfsig - country AT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - # Source: -@@ -139,12 +147,22 @@ country BD: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -+# BE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# BE: https://www.ibpt.be/public/files/en/21760/B03-01_2.1_EN.pdf -+# BE: https://www.ibpt.be/public/files/en/21761/B03-02_2.1_EN.pdf -+# BE: https://www.ibpt.be/public/files/en/21762/B03-03_2.1_EN.pdf -+# BE: https://www.ibpt.be/public/files/en/22165/B01-28_3.1_EN.pdf - country BE: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country BF: DFS-FCC -@@ -167,22 +185,29 @@ country BF: DFS-FCC - # - # Note: The transmit power limits in the 5250-5350 MHz and 5470-5725 MHz bands - # can be raised by 3 dBm if TPC is enabled. Refer to BDS EN 301 893 for details. -+# -+# BG as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# BG: https://crc.bg/files/_en/Electronic_Communications_Revised_EN1.pdf -+# BG: acceptance of 2006/771/EC https://crc.bg/files/Pravila_06_12_2018.pdf - country BG: DFS-ETSI - # Wideband data transmission systems (WDTS) in the 2.4GHz ISM band, ref: - # I.22 of the List, BDS EN 300 328 -- (2402 - 2482 @ 40), (20) -+ (2400 - 2483.5 @ 40), (100 mW) - # 5 GHz Radio Local Area Networks (RLANs), ref: - # II.H01 of the List, BDS EN 301 893 -- (5170 - 5250 @ 80), (23), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - # II.H01 of the List, I.54 from the List, BDS EN 301 893 -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # Short range devices (SRDs) in the 5725-5875 MHz frequency range, ref: -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) - # I.43 of the List, BDS EN 300 440-2, BDS EN 300 440-1 -- (5725 - 5875 @ 80), (14) -- # 60 GHz Multiple-Gigabit RLAN Systems, ref: -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - # II.H03 of the List, BDS EN 302 567-2 -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ (57000 - 66000 @ 2160), (40) - - country BH: DFS-JP - (2402 - 2482 @ 40), (20) -@@ -265,16 +290,22 @@ country CF: DFS-FCC - (5490 - 5730 @ 40), (24), DFS - (5735 - 5835 @ 40), (30) - --# Source: --# https://www.ofcomnet.ch/#/fatTable --# Note that the maximum transmitter power can be doubled for 5250-5710MHz if --# transmitter power control is in use: 5250-5330@23db, 5490-5710@30db -+# CH as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# CH: https://www.ofcomnet.ch/api/rir/1010/05 -+# CH: https://www.ofcomnet.ch/api/rir/1010/04 -+# CH: https://www.ofcomnet.ch/api/rir/1008/12 -+# CH: https://www.ofcomnet.ch/#/fatTable - country CH: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country CI: DFS-FCC -@@ -329,26 +360,42 @@ country CX: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# CY as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# CY: http://www.mcw.gov.cy/mcw/dec/dec.nsf/all/292484CFC7013DD4C2256EBA0023D447/$file/Sxedio%20Radiosyxnothtwn%20ths%20Dhmokratias-3-8-2018-E2.2(English%20Unified%20Unofficial).pdf?openelement - country CY: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - --# Data from http://www.ctu.eu/164/download/VOR/VOR-12-08-2005-34.pdf --# and http://www.ctu.eu/164/download/VOR/VOR-12-05-2007-6-AN.pdf --# Power at 5250 - 5350 MHz and 5470 - 5725 MHz can be doubled if TPC is --# implemented. -+# CZ as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# CZ: https://www.ctu.cz/cs/download/vseobecna-opravneni/archiv/vo-r_12-06_2010-09.pdf -+# CZ: https://www.ctu.cz/sites/default/files/obsah/ctu/vseobecne-opravneni-c.vo-r/10/12.2017-10/obrazky/vo-r10-122017-10.pdf - country CZ: 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 -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 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) - -+# DE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# - # Allocation for the 2.4 GHz band (Vfg 10 / 2013, Allgemeinzuteilung von - # Frequenzen für die Nutzung in lokalen Netzwerken; Wireless Local Area - # Networks (WLAN-Funkanwendungen). -@@ -379,16 +426,22 @@ country DE: DFS-ETSI - # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - --# Sources: -+# DK as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# DK: https://ens.dk/sites/ens.dk/files/Tele/frekvensplan_0.pdf - # 5GHz: https://erhvervsstyrelsen.dk/sites/default/files/007_interface-datanet_5-6_ghz.pdf.pdf - # 60GHz: https://erhvervsstyrelsen.dk/sites/default/files/radiograenseflader-63.pdf - country DK: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=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), NO-OUTDOOR -+ (57000 - 66000 @ 2160), (40) - - # Source: - # http://www.ntrcdom.org/index.php?option=com_content&view=category&layout=blog&id=10&Itemid=55 -@@ -417,12 +470,20 @@ country EC: DFS-FCC - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -+# EE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# EE: https://www.ttja.ee/et/ettevottele-organisatsioonile/sideteenused/raadioseadmed/wifi-seade -+# EE: https://www.itu.int/ITU-D/study_groups/SGP_1998-2002/JGRES09/pdf/estonia.pdf - country EE: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country EG: DFS-ETSI -@@ -430,17 +491,19 @@ country EG: DFS-ETSI - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - --# Source: --# Cuadro nacional de atribución de frecuencias (CNAF) --# https://avancedigital.gob.es/espectro/Paginas/cnaf.aspx -+# ES as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# ES: https://avancedigital.gob.es/espectro/Paginas/cnaf.aspx - country ES: 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 (SRD) (ETSI EN 300 440) -+ # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country ET: DFS-ETSI -@@ -449,14 +512,18 @@ country ET: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -+# FI as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country FI: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=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, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country FM: DFS-FCC -@@ -466,22 +533,34 @@ country FM: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# FR as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country FR: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # short range devices (ETSI EN 300 440) -+ (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, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# GB as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# GB: https://www.ofcom.org.uk/__data/assets/pdf_file/0019/136009/Ofcom-Information-Sheet-5-GHz-RLANs.pdf -+# GB: https://www.ofcom.org.uk/__data/assets/pdf_file/0028/84970/ir-2030.pdf - country GB: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country GD: DFS-FCC -@@ -523,12 +602,20 @@ country GP: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -+# GR as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# GR: https://www.eett.gr/opencms/export/sites/default/EETT_EN/Electronic_Communications/Radio_Communications/TelecommunicationEquipment/Radio_equipment_interface_requirement_2012.pdf -+# GR: https://www.eett.gr/opencms/export/sites/default/EETT_EN/Electronic_Communications/Radio_Communications/TelecommunicationEquipment/Radio_equipment_interface_requirement_107.pdf - country GR: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country GT: DFS-FCC -@@ -563,11 +650,18 @@ country HN: DFS-FCC - (5735 - 5835 @ 80), (30) - - country HR: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+# HR as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# HR: http://tablice.hakom.hr:8080/vis?lang=en -+ (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) - - country HT: DFS-FCC -@@ -577,37 +671,42 @@ country HT: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - --# http://stir.nmhh.hu/?oldal=dokumentumGeneralo&root_rendeletelem_id=3&hatalyos=1 --# http://english.nmhh.hu/cikk/297/Eljarasi_tajekoztato_a_24_GHzes_es_az_5_GHzes_savban_mukodo_berendezesek_engedelyezeserol --# http://nmhh.hu/dokumentum/319/kis_hatotavolsagu_eszkozok_srdk.pdf -+# HU as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# HU: http://stir.nmhh.hu/?oldal=dokumentumGeneralo&root_rendeletelem_id=3&hatalyos=1 -+# HU: http://english.nmhh.hu/cikk/297/Eljarasi_tajekoztato_a_24_GHzes_es_az_5_GHzes_savban_mukodo_berendezesek_engedelyezeserol -+# HU: http://nmhh.hu/dokumentum/319/kis_hatotavolsagu_eszkozok_srdk.pdf - country HU: DFS-ETSI -- # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 300 328 -- # additionally: 100mW @ 10MHz channels, 50mW @ 5MHz (max. 10mW/MHz) -- (2400 - 2483.5 @ 40), (20) -- # ref: 2005/513/EK -- # note: TPC not needed @ 5150-5250 -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- # note: max would be +3dB with TPC @ 5250-5725 -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # "Short Range Devices (SRD)" -- # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 300 440, MSZ EN 302 064 -+ (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, "Fixed outdoor installation not allowed" -- # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 302 567 -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) -+ (57000 - 66000 @ 2160), (40) - - country ID: DFS-JP - # ref: http://www.postel.go.id/content/ID/regulasi/standardisasi/kepdir/bwa%205,8%20ghz.pdf - (2402 - 2482 @ 20), (20) - (5735 - 5815 @ 20), (23) - -+# IE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# IE: https://www.comreg.ie/publication-download/interface-requirements-for-radio-services-in-ireland -+# IE: https://www.comreg.ie/publication-download/permitted-short-range-devices-ireland - country IE: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country IL: DFS-ETSI -@@ -626,20 +725,33 @@ country IR: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -+# IS as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# IS: https://www.pfs.is/library/Skrar/Tidnir-og-taekni/MHZ_21022019.pdf - country IS: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - -+# IT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country IT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country JM: DFS-FCC -@@ -741,16 +853,22 @@ country LC: DFS-ETSI - (5490 - 5710 @ 160), (30), DFS - (5735 - 5815 @ 80), (30) - --# Source: --# https://www.ofcomnet.ch/#/fatTable --# Note that the maximum transmitter power can be doubled for 5250-5710MHz if --# transmitter power control is in use: 5250-5330@23db, 5490-5710@30db -+# LI as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LI: https://www.ofcomnet.ch/api/rir/1010/05 -+# LI: https://www.ofcomnet.ch/api/rir/1010/04 -+# LI: https://www.ofcomnet.ch/api/rir/1008/12 -+# LI: https://www.ofcomnet.ch/#/fatTable - country LI: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country LK: DFS-FCC -@@ -768,28 +886,50 @@ country LS: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -+# LT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LT: https://www.rrt.lt/en/radio-spectrum/frequency-management/ or direct link: -+# LT: https://www.e-tar.lt/portal/lt/legalAct/6e718fd037a011e69101aaab2992cbcd/dGRioCBBHb - country LT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - -+# LU as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LU: https://assets.ilr.lu/frequences/Documents/ILRLU-1723895916-183.pdf#search=en%20300%20440 - country LU: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - -+# LV as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LV: http://likumi.lv/doc.php?id=198903 - country LV: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country MA: DFS-ETSI -@@ -875,12 +1015,19 @@ country MR: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -+# MT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# MT: https://www.mca.org.mt/sites/default/files/NFP_edition%206-1.pdf - country MT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country MU: DFS-FCC -@@ -930,34 +1077,36 @@ country NI: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - --# Regulation on the use of frequency space without a license and --# without notification 2015 --# --# http://wetten.overheid.nl/BWBR0036378/2015-03-05 -- -+# NL as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# NL: http://wetten.overheid.nl/BWBR0036378/2015-03-05 - country NL: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=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, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - --# Data from http://www.lovdata.no/dokument/SF/forskrift/2012-01-19-77 --# Power at 5250 - 5350 MHz, 5470 - 5725 MHz and 5815 – 5850 MHz can --# be doubled if TPC is implemented. --# Up to 2W (or 4W with TPC) is allowed in the 5725 – 5795 MHz band --# which has been merged with 5470 - 5725 MHz to allow wide channels -+# NO as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# NO: https://eng.nkom.no/technical/temporary-licenses/mobile-videolink/wireless-cameras-mobile-video-links/_attachment/9947 -+# NO: http://www.lovdata.no/dokument/SF/forskrift/2012-01-19-77 -+# In addition to EU NO can use 5725–5795 MHz and 5815–5850 bands with limit of 4 W EIRP (with DFS and TPC) - country NO: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) -- (5150 - 5250 @ 80), (200 mW), AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5795 @ 160), (500 mW), DFS, wmmrule=ETSI -- (5815 - 5850 @ 35), (2000 mW), DFS -- (17100 - 17300 @ 200), (100 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country NP: DFS-JP -@@ -1020,12 +1169,18 @@ country PK: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -+# PL as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country PL: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - country PM: DFS-ETSI -@@ -1041,14 +1196,19 @@ country PR: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# PT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# PT: https://www.anacom.pt/render.jsp?categoryId=336334 - country PT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=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, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country PW: DFS-FCC -@@ -1079,15 +1239,21 @@ country RE: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -+# RO as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# RO: http://www.ancom.org.ro/en/uploads/links_files/ordin_262_2006.pdf - country RO: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - -- - # Source: - # http://www.ratel.rs/upload/documents/Plan_namene/Plan_namene-sl_glasnik.pdf - country RS: DFS-ETSI -@@ -1119,18 +1285,20 @@ country SA: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - --# Source: --# https://pts.se/globalassets/startpage/dokument/legala-dokument/foreskrifter/radio/beslutade_ptsfs-2018-3-undantagsforeskrifter.pdf -+# SE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# SE: https://pts.se/globalassets/startpage/dokument/legala-dokument/foreskrifter/radio/beslutade_ptsfs-2018-3-undantagsforeskrifter.pdf - country SE: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- # note: max would be +3dB with TPC @ 5250-5725 -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # short range devices (ETSI EN 300 440) -+ (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, ref: Etsi En 302 567 -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) -+ (57000 - 66000 @ 2160), (40) - - # Source - # https://www.imda.gov.sg/~/media/imda/files/regulation%20licensing%20and%20consultations/ict%20standards/telecommunication%20standards/radio-comms/imdatssrd.pdf?la=en -@@ -1144,20 +1312,36 @@ country SG: DFS-FCC - # (5470 - 5725 @ 160), (30), DFS - (5725 - 5850 @ 80), (30) - -+# SI as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# SI: https://www.akos-rs.si/bwa - country SI: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - -+# SK as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# SK: https://www.teleoff.gov.sk/data/files/25911.pdf -+# SK: https://www.teleoff.gov.sk/data/files/41072.pdf -+# SK: https://www.teleoff.gov.sk/data/files/49125_vpr-01_2018-rusi-vpr-10_2014a21_2012-nespecifik-srd_021018.pdf - country SK: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (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) - - # Source: diff --git a/package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch b/package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch deleted file mode 100644 index 7b883e6000..0000000000 --- a/package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dmitry Tunin -Date: Sat, 24 Aug 2019 11:48:10 +0300 -Subject: [PATCH] wireless-regdb: Update regulatory rules for Russia (RU) - -Russian entry is incorrect. According to the last regulations -document of Feb 29, 2016, 160 MHz channels and 802.11ad are allowed. - -http://rfs-rf.ru/upload/medialibrary/c1a/prilozhenie-1-k-resheniyu-gkrch-_-16_36_03.pdf - -Note that there was never a DFS requirement in Russia, but always was -NO-OUTDOOR on 5GHz. -Maximum power is 200mW that is ~23dBm on all 5GHz channels. -Also Russia has never been regulated by ETSI. - -EIRP has been reduced by 4dBm because of TPC requirement. - -Signed-off-by: Dmitry Tunin -Signed-off-by: Seth Forshee - -diff --git a/db.txt b/db.txt -index f6b2f921416c..9c4b447536e4 100644 ---- a/db.txt -+++ b/db.txt -@@ -1349,14 +1349,12 @@ country RS: DFS-ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - --country RU: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW -- (5650 - 5730 @ 80), (30), DFS -- (5735 - 5835 @ 80), (30) -+country RU: -+ (2400 - 2483.5 @ 40), (20) -+ (5150 - 5350 @ 160), (20), NO-OUTDOOR -+ (5650 - 5850 @ 160), (20), NO-OUTDOOR - # 60 GHz band channels 1-4, ref: Changes to NLA 124_Order №129_22042015.pdf -- (57000 - 66000 @ 2160), (40) -+ (57000 - 66000 @ 2160), (40), NO-OUTDOOR - - country RW: DFS-FCC - (2402 - 2482 @ 40), (20) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index c4a55b6af5..16930a13a8 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2020-03-25 -PKG_SOURCE_VERSION:=3d173a471d3e583f2885ce68190c4387424cecc5 -PKG_MIRROR_HASH:=496279322f3cd26b262d4999cb5a8c1ea022e92a7bb0d43d008bce235abb9a65 +PKG_SOURCE_DATE:=2020-04-29 +PKG_SOURCE_VERSION:=3637be6f6baf99e85a7f0b27f80a99a2f2a5f78d +PKG_MIRROR_HASH:=97cf22a4a57381c7eb7a9b8a8b1e347e9711ce51c89db971b4ab9a35af476ece # Build the 5.4 ath10k-ct driver version. Other option is "-4.19". # Probably this should match as closely as diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index 159c0eac9a..0b9e9d8b13 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -29,6 +29,20 @@ define AddDepends/hwmon DEPENDS:=+kmod-hwmon-core $(1) endef +define KernelPackage/hwmon-ad7418 + TITLE:=AD741x monitoring support + KCONFIG:=CONFIG_SENSORS_AD7418 + FILES:=$(LINUX_DIR)/drivers/hwmon/ad7418.ko + AUTOLOAD:=$(call AutoLoad,60,ad7418 ad7418) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-ad7418/description + Kernel module for Analog Devices AD7416, AD7417 and AD7418 temperature monitor chip +endef + +$(eval $(call KernelPackage,hwmon-ad7418)) + define KernelPackage/hwmon-ads1015 TITLE:=Texas Instruments ADS1015 KCONFIG:= CONFIG_SENSORS_ADS1015 diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index b26e146535..c26433563e 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -110,11 +110,6 @@ dhcp_check() { udhcpc -n -q -s /bin/true -t 1 -i "$ifname" >&- && rv=1 || rv=0 - [ $rv -eq 1 ] && \ - logger -t dnsmasq \ - "found already running DHCP-server on interface '$ifname'" \ - "refusing to start, use 'option force 1' to override" - echo $rv > "$stamp" return $rv } @@ -517,7 +512,12 @@ dhcp_add() { #check for an already active dhcp server on the interface, unless 'force' is set config_get_bool force "$cfg" force 0 - [ $force -gt 0 ] || dhcp_check "$ifname" || return 0 + [ $force -gt 0 ] || dhcp_check "$ifname" || { + logger -t dnsmasq \ + "found already running DHCP-server on interface '$ifname'" \ + "refusing to start, use 'option force 1' to override" + return 0 + } config_get start "$cfg" start 100 config_get limit "$cfg" limit 150 diff --git a/package/utils/ugps/Makefile b/package/utils/ugps/Makefile index 85c64533d1..38433e360f 100644 --- a/package/utils/ugps/Makefile +++ b/package/utils/ugps/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ugps -PKG_RELEASE:=3 +PKG_RELEASE:=1 PKG_SOURCE_URL=$(PROJECT_GIT)/project/ugps.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2019-06-25 -PKG_SOURCE_VERSION:=cd7eabcd8c9d17dab3946002127a82ad2f9e68c2 -PKG_MIRROR_HASH:=04a5bfa3a67f94d823911751ba4f0dbfd99a2264b393e1e81fdf0641b873d579 +PKG_SOURCE_DATE:=2020-04-29 +PKG_SOURCE_VERSION:=db40e3a22599641be68c88ece287d3fbbacd8a45 +PKG_MIRROR_HASH:=0ad8b1265ef3de880f0d7623bcf504e7976df8ee06d64e92f896f2e2a6030c39 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=GPL-2.0+ diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch index 55686a2fd8..7f09adf6a3 100644 --- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -43,7 +43,7 @@ produce a noisy warning. hcd->msi_enabled = 1; --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1879,6 +1879,7 @@ struct xhci_hcd { +@@ -1880,6 +1880,7 @@ struct xhci_hcd { struct xhci_hub usb2_rhub; struct xhci_hub usb3_rhub; /* support xHCI 1.0 spec USB2 hardware LPM */ diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts new file mode 100644 index 0000000000..862776a4d1 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar9344_teltonika_rut9xx.dtsi" +#include + +/ { + model = "Teltonika RUT955 H7V3C0"; + compatible = "teltonika,rut955-h7v3c0", "teltonika,rut9xx", "qca,ar9344"; + + aliases { + led-boot = &led_system_green; + led-failsafe = &led_system_red; + led-running = &led_system_green; + led-upgrade = &led_system_red; + }; + + leds { + compatible = "gpio-leds"; + + signal0 { + label = "rut955:green:signal0"; + gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; + }; + + signal1 { + label = "rut955:green:signal1"; + gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; + }; + + signal2 { + label = "rut955:green:signal2"; + gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; + }; + + signal3 { + label = "rut955:green:signal3"; + gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; + }; + + signal4 { + label = "rut955:green:signal4"; + gpios = <&gpio_ext 4 GPIO_ACTIVE_HIGH>; + }; + + led_system_red: system_red { + label = "rut955:red:system"; + gpios = <&gpio_ext 5 GPIO_ACTIVE_HIGH>; + }; + + led_system_green: system_green { + label = "rut955:green:system"; + gpios = <&gpio_ext 6 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + gpio-line-names = "RS485_D", "led_wan", "wmac_lna", "mmc_cs", + "EXT_INT", "", "", "", + "", "", "", "", + "", "led_lan2", "led_lan1", "", + "i2c_scl", "i2c_sda", "", "", + "", "", "led_lan3", "", + "", "", "", "", + "", "", "", ""; + + ext_lna { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:wmac:ext_lna"; + }; + + mmc_cs { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:mmc:cs"; + }; + + ext_int { + gpio-hog; + gpios = <4 GPIO_ACTIVE_LOW>; + input; + line-name = "rut955:ext:int"; + }; + + uart1_td { + gpio-hog; + gpios = <18 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:uart1:td"; + }; + + uart1_rd { + gpio-hog; + gpios = <11 GPIO_ACTIVE_LOW>; + input; + line-name = "rut955:uart1:rd"; + }; + + led_wan { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:wan"; + }; + + led_lan2 { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:lan2"; + }; + + led_lan1 { + gpio-hog; + gpios = <14 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:lan1"; + }; + + led_lan3 { + gpio-hog; + gpios = <22 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:lan3"; + }; +}; + +&i2c0 { + gpio_ext: gpio_ext@74 { + status = "okay"; + + compatible = "nxp,pca9539"; + reg = <0x74>; + + #address-cells = <1>; + #size-cells = <0>; + + gpio-controller; + #gpio-cells = <2>; + + reset-gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; + + interrupt-parent = <&gpio>; + interrupts = <4 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + + gpio-line-names = "signal_bar0", "signal_bar1", "signal_bar2", "signal_bar3", + "signal_bar4", "status_red", "status_green", "sim_sel", + "DOUT1", "DOUT2", "DIN2", "DIN1", + "MON", "MRST", "SDCD", "RS485_R"; + }; +}; + +&hs_uart { + dtr-gpios = <&gpio_ext 15 GPIO_ACTIVE_HIGH>; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&config 0x0>; + mtd-mac-address-increment = <1>; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&config 0x0>; +}; + +&builtin_switch { + pinctrl-names = "default"; + pinctrl-0 = <&pmx_leds_switch>; +}; + +&wmac { + pinctrl-names = "default"; + pinctrl-0 = <&pmx_ext_lna>; +}; + +&pinmux { + pmx_ext_lna: ext_lna { + // EXT_LNA0 on GPIO 2 + pinctrl-single,bits = <0x0 0x002e0000 0x00ff0000>; + }; +}; diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts index a8aeef0fa4..c4e1148734 100644 --- a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts @@ -1,63 +1,44 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include -#include - -#include "ar9344.dtsi" +#include "ar9344_teltonika_rut9xx.dtsi" / { model = "Teltonika RUT955"; - compatible = "teltonika,rut955", "qca,ar9344"; + compatible = "teltonika,rut955", "teltonika,rut9xx", "qca,ar9344"; aliases { - serial0 = &uart; - serial1 = &hs_uart; led-boot = &led_system_green; led-failsafe = &led_system_red; led-running = &led_system_green; led-upgrade = &led_system_red; - label-mac-device = ð1; - }; - - i2c { - compatible = "i2c-gpio"; - scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; - sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; - #address-cells = <1>; - #size-cells = <0>; - - hwmon@4d { - compatible = "microchip,mcp3221"; - reg = <0x4d>; - }; }; leds { compatible = "gpio-leds"; + signal0 { + label = "rut955:green:signal0"; + gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; + }; + signal1 { label = "rut955:green:signal1"; - gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; }; signal2 { label = "rut955:green:signal2"; - gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; }; signal3 { label = "rut955:green:signal3"; - gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; }; signal4 { label = "rut955:green:signal4"; - gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; - }; - - signal5 { - label = "rut955:green:signal5"; gpios = <&gpio_ext 4 GPIO_ACTIVE_HIGH>; }; @@ -72,17 +53,6 @@ default-state = "on"; }; }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - linux,code = ; - gpios = <&gpio 15 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; - }; }; &gpio { @@ -169,83 +139,12 @@ }; }; -&ref { - clock-frequency = <40000000>; -}; - -&uart { - status = "okay"; -}; - -&hs_uart { - status = "okay"; - - pinctrl-names = "default"; - pinctrl-0 = <&pmx_uart2>; - - rts-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; - rs485-rts-active-low; - linux,rs485-enabled-at-boot-time; -}; - &spi { status = "okay"; num-cs = <3>; pinctrl-names = "default"; - pinctrl-0 = <&pmx_spi>; - - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <25000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - config: partition@20000 { - label = "config"; - reg = <0x20000 0x10000>; - read-only; - }; - - art: partition@30000 { - label = "art"; - reg = <0x30000 0x10000>; - read-only; - }; - - partition@40000 { - label = "firmware"; - reg = <0x40000 0xf30000>; - compatible = "tplink,firmware"; - }; - - partition@f70000 { - label = "event-log"; - reg = <0xf70000 0x90000>; - read-only; - }; - }; - }; - - microsd@1 { - status = "disabled"; - - compatible = "mmc-spi-slot"; - spi-max-frequency = <25000000>; - reg = <1>; - voltage-ranges = <3200 3400>; - broken-cd; - }; + pinctrl-0 = <&pmx_spi>, <&pmx_spi_ext>; gpio_ext: gpio_ext@2 { compatible = "fairchild,74hc595"; @@ -254,50 +153,15 @@ #gpio-cells = <2>; registers-number = <2>; spi-max-frequency = <10000000>; - gpio-line-names = "led_signal_bar1", "led_signal_bar2", "led_signal_bar3", "led_signal_bar4", - "led_signal_bar5", "led_status_red", "led_status_green", "sim_sel", + gpio-line-names = "signal_bar0", "signal_bar1", "signal_bar2", "signal_bar3", + "signal_bar4", "status_red", "status_green", "sim_sel", "DOUT1", "DOUT2", "modem_vbus", "modem_rst", "DOUT3", "RS485_R", "SDCS", "HWRST"; }; }; -&usb { - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - port@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - - port@1 { - compatible = "usb-a-connector"; - reg = <1>; - }; - - port@3 { - label = "RS-232 serial adapter"; - reg = <3>; - }; - - port@4 { - label = "internal wwan modem"; - reg = <4>; - }; - }; -}; - -&usb_phy { - status = "okay"; -}; - -&wmac { - status = "okay"; - - mtd-cal-data = <&art 0x1000>; - mtd-mac-address = <&config 0x0>; - mtd-mac-address-increment = <2>; +&hs_uart { + dtr-gpios = <&gpio_ext 13 GPIO_ACTIVE_HIGH>; }; ð0 { @@ -321,26 +185,10 @@ }; &pinmux { - pmx_spi: spi { - // SPI_CS1 on GPIO 3, 2nd SCK on GPIO 4 - // 2nd MOSI on GPIO 12, SPI_CS2 on GPIO 20 - pinctrl-single,bits = <0x0 0x07000000 0xff000000>, - <0x4 0x0a 0xff>, + pmx_spi_ext: spi_ext { + // 2nd SCK on GPIO 4, 2nd MOSI on GPIO 12, SPI_CS2 on GPIO 20 + pinctrl-single,bits = <0x4 0x0a 0xff>, <0xc 0x0b 0xff>, <0x14 0x08 0xff>; }; - - pmx_leds_switch: leds_switch { - // switch port LEDs on GPIO 1, GPIO 13, GPIO 14 and GPIO 22 - pinctrl-single,bits = <0x0 0x00002d00 0x0000ff00>, - <0xc 0x002c2b00 0x00ffff00>, - <0x14 0x002a0000 0x00ff0000>; - }; - - pmx_uart2: uart2 { - // UART1_DTR on GPIO 0, UART1_RD on GPIO 11, UART1_TD on GPIO 18 - pinctrl-single,bits = <0x0 0x0 0xff>, - <0x10 0x4f000000 0xff000000>, - <0x3c 0x000b0000 0x00ff0000>; - }; }; diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi b/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi new file mode 100644 index 0000000000..0025e5d8b0 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi @@ -0,0 +1,179 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "ar9344.dtsi" + +/ { + compatible = "teltonika,rut9xx", "qca,ar9344"; + + aliases { + serial0 = &uart; + serial1 = &hs_uart; + label-mac-device = ð1; + }; + + i2c0: i2c { + compatible = "i2c-gpio"; + scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + #address-cells = <1>; + #size-cells = <0>; + + hwmon@4d { + compatible = "microchip,mcp3221"; + reg = <0x4d>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +&ref { + clock-frequency = <40000000>; +}; + +&uart { + status = "okay"; +}; + +&hs_uart { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pmx_uart2>; + + rts-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + rs485-rts-active-low; + linux,rs485-enabled-at-boot-time; +}; + +&spi { + status = "okay"; + num-cs = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&pmx_spi>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + config: partition@20000 { + label = "config"; + reg = <0x20000 0x10000>; + read-only; + }; + + art: partition@30000 { + label = "art"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0xf30000>; + compatible = "tplink,firmware"; + }; + + partition@f70000 { + label = "event-log"; + reg = <0xf70000 0x90000>; + read-only; + }; + }; + }; + + microsd@1 { + status = "disabled"; + + compatible = "mmc-spi-slot"; + spi-max-frequency = <25000000>; + reg = <1>; + voltage-ranges = <3200 3400>; + broken-cd; + }; +}; + +&usb { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + + port@1 { + compatible = "usb-a-connector"; + reg = <1>; + }; + + port@3 { + label = "RS-232 serial adapter"; + reg = <3>; + }; + + port@4 { + label = "internal wwan modem"; + reg = <4>; + }; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&config 0x0>; + mtd-mac-address-increment = <2>; +}; + +&pinmux { + pmx_spi: spi { + // SPI_CS1 on GPIO 3 + pinctrl-single,bits = <0x0 0x07000000 0xff000000>; + }; + + pmx_leds_switch: leds_switch { + // switch port LEDs on GPIO 1, GPIO 13, GPIO 14 and GPIO 22 + pinctrl-single,bits = <0x0 0x00002d00 0x0000ff00>, + <0xc 0x002c2b00 0x00ffff00>, + <0x14 0x002a0000 0x00ff0000>; + }; + + pmx_uart2: uart2 { + // UART1_DTR on GPIO 0, UART1_RD on GPIO 11, UART1_TD on GPIO 18 + pinctrl-single,bits = <0x0 0x0 0xff>, + <0x10 0x4f000000 0xff000000>, + <0x3c 0x000b0000 0x00ff0000>; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index d7f7eed829..9768e4e076 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -228,7 +228,8 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth0" "1:lan" "2:lan" "3:wan" ;; - teltonika,rut955) + teltonika,rut955|\ + teltonika,rut955-h7v3c0) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches b/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches index 051c468f87..66b2a3e1d8 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches @@ -50,6 +50,14 @@ teltonika,rut955) ucidef_add_gpio_switch "modem_rst" "Modem reset" "507" "0" ucidef_add_gpio_switch "DOUT3" "DOUT3" "508" "0" ;; +teltonika,rut955-h7v3c0) + ucidef_add_gpio_switch "sim_sel" "SIM select" "503" "1" + ucidef_add_gpio_switch "DOUT1" "DOUT1 (OC)" "504" "0" + ucidef_add_gpio_switch "DOUT2" "DOUT2 (Relay)" "505" "0" + ucidef_add_gpio_switch "modem_vbus" "Modem enable" "508" "1" + ucidef_add_gpio_switch "modem_rst" "Modem reset" "509" "0" + ;; + tplink,archer-c25-v1) ucidef_add_gpio_switch "led_control" "LED control" "21" "0" ucidef_add_gpio_switch "led_reset" "LED reset" "19" "1" diff --git a/target/linux/ath79/generic/config-default b/target/linux/ath79/generic/config-default index 5459bafd7d..d49df6bbee 100644 --- a/target/linux/ath79/generic/config-default +++ b/target/linux/ath79/generic/config-default @@ -1,8 +1,14 @@ CONFIG_AT803X_PHY=y CONFIG_BCM_NET_PHYLIB=y CONFIG_BROADCOM_PHY=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_WATCHDOG=y CONFIG_GPIO_WATCHDOG_ARCH_INITCALL=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y CONFIG_INTEL_XWAY_PHY=y CONFIG_IP17XX_PHY=y CONFIG_LEDS_RESET=y diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 321615f014..8d8767ddf6 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1158,6 +1158,12 @@ define Device/teltonika_rut955 endef TARGET_DEVICES += teltonika_rut955 +define Device/teltonika_rut955-h7v3c0 + $(Device/teltonika_rut955) + DEVICE_VARIANT := H7V3C0 +endef +TARGET_DEVICES += teltonika_rut955-h7v3c0 + define Device/trendnet_tew-823dru SOC := qca9558 DEVICE_VENDOR := Trendnet diff --git a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch index 0823c01c53..a613aa6e60 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch @@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5306,7 +5306,7 @@ static void port_event(struct usb_hub *h +@@ -5318,7 +5318,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); @@ -1051,7 +1051,7 @@ Signed-off-by: Jonathan Bell USB_PORT_FEAT_C_OVER_CURRENT); --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -1993,6 +1993,85 @@ free_interfaces: +@@ -2000,6 +2000,85 @@ free_interfaces: if (cp->string == NULL && !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) cp->string = usb_cache_string(dev, cp->desc.iConfiguration); diff --git a/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch index f2e829aec3..58418ce973 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2145,7 +2145,7 @@ static void bcmgenet_init_tx_ring(struct +@@ -2147,7 +2147,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /* Disable rate control for now */ bcmgenet_tdma_ring_writel(priv, index, flow_period_val, TDMA_FLOW_PERIOD); -@@ -3567,9 +3567,12 @@ static int bcmgenet_probe(struct platfor +@@ -3570,9 +3570,12 @@ static int bcmgenet_probe(struct platfor netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ diff --git a/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index fe1d069c20..127e91cd24 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell * have been called previously. Use for set_configuration, set_interface, --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -1113,6 +1113,21 @@ static void remove_intf_ep_devs(struct u +@@ -1120,6 +1120,21 @@ static void remove_intf_ep_devs(struct u intf->ep_devs_created = 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch index afddaa9462..6dba6fbc5f 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch @@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell dma_addr_t addr; u64 hw_dequeue; bool cycle_found = false; -@@ -548,7 +551,28 @@ void xhci_find_new_dequeue_state(struct +@@ -565,7 +568,28 @@ void xhci_find_new_dequeue_state(struct hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id); new_seg = ep_ring->deq_seg; new_deq = ep_ring->dequeue; @@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1872,6 +1872,7 @@ struct xhci_hcd { +@@ -1873,6 +1873,7 @@ struct xhci_hcd { #define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33) #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) diff --git a/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch index 73f92187f2..e52b4e9022 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch @@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell static inline void bcmgenet_writel(u32 value, void __iomem *offset) { /* MIPS chips strapped for BE will automagically configure the -@@ -1991,6 +1995,11 @@ static void reset_umac(struct bcmgenet_p +@@ -1993,6 +1997,11 @@ static void reset_umac(struct bcmgenet_p bcmgenet_rbuf_ctrl_set(priv, 0); udelay(10); diff --git a/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch b/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch index e368ae6cd9..327a77c424 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch @@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c -@@ -397,7 +397,7 @@ int dma_direct_supported(struct device * +@@ -398,7 +398,7 @@ int dma_direct_supported(struct device * if (IS_ENABLED(CONFIG_ZONE_DMA)) min_mask = DMA_BIT_MASK(ARCH_ZONE_DMA_BITS); else diff --git a/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch b/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch index ea583b105a..e58d8af2d0 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -3468,7 +3468,7 @@ static int bcmgenet_probe(struct platfor +@@ -3471,7 +3471,7 @@ static int bcmgenet_probe(struct platfor priv = netdev_priv(dev); priv->irq0 = platform_get_irq(pdev, 0); priv->irq1 = platform_get_irq(pdev, 1); diff --git a/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch b/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch index 5de73d37f7..c3ae61c993 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch @@ -175,7 +175,7 @@ Signed-off-by: Catalin Marinas static void report_addr(struct device *dev, dma_addr_t dma_addr, size_t size) { -@@ -69,7 +68,7 @@ static gfp_t __dma_direct_optimal_gfp_ma +@@ -70,7 +69,7 @@ static gfp_t __dma_direct_optimal_gfp_ma * Note that GFP_DMA32 and GFP_DMA are no ops without the corresponding * zones. */ @@ -184,7 +184,7 @@ Signed-off-by: Catalin Marinas return GFP_DMA; if (*phys_mask <= DMA_BIT_MASK(32)) return GFP_DMA32; -@@ -395,7 +394,7 @@ int dma_direct_supported(struct device * +@@ -396,7 +395,7 @@ int dma_direct_supported(struct device * u64 min_mask; if (IS_ENABLED(CONFIG_ZONE_DMA)) diff --git a/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch index 0d74bc57ad..987351c1fc 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch @@ -382,7 +382,7 @@ Cc: linux-rockchip@lists.infradead.org --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h -@@ -636,11 +636,15 @@ static inline void pci_release_bus_of_no +@@ -637,11 +637,15 @@ static inline void pci_release_bus_of_no #if defined(CONFIG_OF_ADDRESS) int devm_of_pci_get_host_bridge_resources(struct device *dev, unsigned char busno, unsigned char bus_max, diff --git a/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch b/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch index 94a1329d84..dca3fbfb57 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch @@ -84,7 +84,7 @@ Tested-by: Marek Szyprowski --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c -@@ -325,7 +325,7 @@ static inline bool dma_direct_possible(s +@@ -326,7 +326,7 @@ static inline bool dma_direct_possible(s size_t size) { return swiotlb_force != SWIOTLB_FORCE && @@ -93,7 +93,7 @@ Tested-by: Marek Szyprowski } dma_addr_t dma_direct_map_page(struct device *dev, struct page *page, -@@ -374,7 +374,7 @@ dma_addr_t dma_direct_map_resource(struc +@@ -375,7 +375,7 @@ dma_addr_t dma_direct_map_resource(struc { dma_addr_t dma_addr = paddr; diff --git a/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch b/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch index 155e18936a..162a91c530 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch @@ -296,7 +296,7 @@ Signed-off-by: Christoph Hellwig } WARN_ON_ONCE(1); } -@@ -50,15 +50,14 @@ u64 dma_direct_get_required_mask(struct +@@ -51,15 +51,14 @@ u64 dma_direct_get_required_mask(struct } static gfp_t __dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, @@ -316,7 +316,7 @@ Signed-off-by: Christoph Hellwig /* * Optimistically try the zone that the physical address mask falls -@@ -68,9 +67,9 @@ static gfp_t __dma_direct_optimal_gfp_ma +@@ -69,9 +68,9 @@ static gfp_t __dma_direct_optimal_gfp_ma * Note that GFP_DMA32 and GFP_DMA are no ops without the corresponding * zones. */ @@ -328,7 +328,7 @@ Signed-off-by: Christoph Hellwig return GFP_DMA32; return 0; } -@@ -78,7 +77,7 @@ static gfp_t __dma_direct_optimal_gfp_ma +@@ -79,7 +78,7 @@ static gfp_t __dma_direct_optimal_gfp_ma static bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size) { return phys_to_dma_direct(dev, phys) + size - 1 <= @@ -337,7 +337,7 @@ Signed-off-by: Christoph Hellwig } struct page *__dma_direct_alloc_pages(struct device *dev, size_t size, -@@ -87,7 +86,7 @@ struct page *__dma_direct_alloc_pages(st +@@ -88,7 +87,7 @@ struct page *__dma_direct_alloc_pages(st size_t alloc_size = PAGE_ALIGN(size); int node = dev_to_node(dev); struct page *page = NULL; @@ -346,7 +346,7 @@ Signed-off-by: Christoph Hellwig if (attrs & DMA_ATTR_NO_WARN) gfp |= __GFP_NOWARN; -@@ -95,7 +94,7 @@ struct page *__dma_direct_alloc_pages(st +@@ -96,7 +95,7 @@ struct page *__dma_direct_alloc_pages(st /* we always manually zero the memory once we are done: */ gfp &= ~__GFP_ZERO; gfp |= __dma_direct_optimal_gfp_mask(dev, dev->coherent_dma_mask, @@ -355,7 +355,7 @@ Signed-off-by: Christoph Hellwig page = dma_alloc_contiguous(dev, alloc_size, gfp); if (page && !dma_coherent_ok(dev, page_to_phys(page), size)) { dma_free_contiguous(dev, page, alloc_size); -@@ -109,7 +108,7 @@ again: +@@ -110,7 +109,7 @@ again: page = NULL; if (IS_ENABLED(CONFIG_ZONE_DMA32) && diff --git a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index d0ffcee460..4c4db76b01 100644 --- a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -127,7 +127,7 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1872,6 +1872,7 @@ struct xhci_hcd { +@@ -1873,6 +1873,7 @@ struct xhci_hcd { #define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33) #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) diff --git a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch index da76523730..855c4d2aac 100644 --- a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch +++ b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch @@ -18,15 +18,12 @@ Signed-off-by: David S. Miller include/linux/phy.h | 4 + 2 files changed, 143 insertions(+) -diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c -index f1f60bd4865a..fa71998fea51 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1607,6 +1607,40 @@ static int genphy_config_advert(struct phy_device *phydev) - return changed; +@@ -1679,6 +1679,40 @@ static int genphy_config_advert(struct p } -+/** + /** + * genphy_c37_config_advert - sanitize and advertise auto-negotiation parameters + * @phydev: target phy_device struct + * @@ -60,14 +57,14 @@ index f1f60bd4865a..fa71998fea51 100644 + adv); +} + - /** ++/** * genphy_config_eee_advert - disable unwanted eee mode advertisement * @phydev: target phy_device struct -@@ -1715,6 +1749,54 @@ int __genphy_config_aneg(struct phy_device *phydev, bool changed) - } + * +@@ -1787,6 +1821,54 @@ int __genphy_config_aneg(struct phy_devi EXPORT_SYMBOL(__genphy_config_aneg); -+/** + /** + * genphy_c37_config_aneg - restart auto-negotiation or write BMCR + * @phydev: target phy_device struct + * @@ -115,14 +112,14 @@ index f1f60bd4865a..fa71998fea51 100644 +} +EXPORT_SYMBOL(genphy_c37_config_aneg); + - /** ++/** * genphy_aneg_done - return auto-negotiation status * @phydev: target phy_device struct -@@ -1886,6 +1968,63 @@ int genphy_read_status(struct phy_device *phydev) - } + * +@@ -1958,6 +2040,63 @@ int genphy_read_status(struct phy_device EXPORT_SYMBOL(genphy_read_status); -+/** + /** + * genphy_c37_read_status - check the link status and update current link state + * @phydev: target phy_device struct + * @@ -179,14 +176,13 @@ index f1f60bd4865a..fa71998fea51 100644 +} +EXPORT_SYMBOL(genphy_c37_read_status); + - /** ++/** * genphy_soft_reset - software reset the PHY via BMCR_RESET bit * @phydev: target phy_device struct -diff --git a/include/linux/phy.h b/include/linux/phy.h -index 9a0e981df502..78436d58ce7c 100644 + * --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -1106,6 +1106,10 @@ int genphy_read_mmd_unsupported(struct phy_device *phdev, int devad, +@@ -1120,6 +1120,10 @@ int genphy_read_mmd_unsupported(struct p int genphy_write_mmd_unsupported(struct phy_device *phdev, int devnum, u16 regnum, u16 val); diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index 9ef81a1d3a..6b58711384 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -306,6 +306,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 # CONFIG_ARM64_ERRATUM_843419 is not set # CONFIG_ARM64_ERRATUM_845719 is not set # CONFIG_ARM64_ERRATUM_858921 is not set +# CONFIG_ARM64_ERRATUM_1542419 is not set # CONFIG_ARM64_HW_AFDBM is not set # CONFIG_ARM64_LSE_ATOMICS is not set # CONFIG_ARM64_MODULE_PLTS is not set diff --git a/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch b/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch index 479513bf54..754c01be1b 100644 --- a/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch +++ b/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch @@ -18,7 +18,7 @@ Reviewed-by: Bart Van Assche --- a/drivers/block/loop.c +++ b/drivers/block/loop.c -@@ -461,7 +461,7 @@ static void lo_complete_rq(struct reques +@@ -462,7 +462,7 @@ static void lo_complete_rq(struct reques if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) || req_op(rq) != REQ_OP_READ) { if (cmd->ret < 0) @@ -27,7 +27,7 @@ Reviewed-by: Bart Van Assche goto end_io; } -@@ -1950,7 +1950,10 @@ static void loop_handle_cmd(struct loop_ +@@ -1970,7 +1970,10 @@ static void loop_handle_cmd(struct loop_ failed: /* complete non-aio request */ if (!cmd->use_aio || ret) { diff --git a/target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch b/target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch deleted file mode 100644 index 38091290aa..0000000000 --- a/target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 3117c3f45edbcc269baaebd3d13f39b7bf884aa6 Mon Sep 17 00:00:00 2001 -From: Evan Green -Date: Thu, 14 Nov 2019 15:50:08 -0800 -Subject: loop: Better discard support for block devices - -If the backing device for a loop device is itself a block device, -then mirror the "write zeroes" capabilities of the underlying -block device into the loop device. Copy this capability into both -max_write_zeroes_sectors and max_discard_sectors of the loop device. - -The reason for this is that REQ_OP_DISCARD on a loop device translates -into blkdev_issue_zeroout(), rather than blkdev_issue_discard(). This -presents a consistent interface for loop devices (that discarded data -is zeroed), regardless of the backing device type of the loop device. -There should be no behavior change for loop devices backed by regular -files. - -This change fixes blktest block/003, and removes an extraneous -error print in block/013 when testing on a loop device backed -by a block device that does not support discard. - -Signed-off-by: Evan Green -Reviewed-by: Gwendal Grignou -Reviewed-by: Chaitanya Kulkarni ---- - drivers/block/loop.c | 40 +++++++++++++++++++++++++++++----------- - 1 file changed, 29 insertions(+), 11 deletions(-) - ---- a/drivers/block/loop.c -+++ b/drivers/block/loop.c -@@ -427,11 +427,12 @@ static int lo_fallocate(struct loop_devi - * information. - */ - struct file *file = lo->lo_backing_file; -+ struct request_queue *q = lo->lo_queue; - int ret; - - mode |= FALLOC_FL_KEEP_SIZE; - -- if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { -+ if (!blk_queue_discard(q)) { - ret = -EOPNOTSUPP; - goto out; - } -@@ -862,6 +863,21 @@ static void loop_config_discard(struct l - struct file *file = lo->lo_backing_file; - struct inode *inode = file->f_mapping->host; - struct request_queue *q = lo->lo_queue; -+ struct request_queue *backingq; -+ -+ /* -+ * If the backing device is a block device, mirror its zeroing -+ * capability. REQ_OP_DISCARD translates to a zero-out even when backed -+ * by block devices to keep consistent behavior with file-backed loop -+ * devices. -+ */ -+ if (S_ISBLK(inode->i_mode) && !lo->lo_encrypt_key_size) { -+ backingq = bdev_get_queue(inode->i_bdev); -+ blk_queue_max_discard_sectors(q, -+ backingq->limits.max_write_zeroes_sectors); -+ -+ blk_queue_max_write_zeroes_sectors(q, -+ backingq->limits.max_write_zeroes_sectors); - - /* - * We use punch hole to reclaim the free space used by the -@@ -869,22 +885,24 @@ static void loop_config_discard(struct l - * encryption is enabled, because it may give an attacker - * useful information. - */ -- if ((!file->f_op->fallocate) || -- lo->lo_encrypt_key_size) { -+ } else if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { - q->limits.discard_granularity = 0; - q->limits.discard_alignment = 0; - blk_queue_max_discard_sectors(q, 0); - blk_queue_max_write_zeroes_sectors(q, 0); -- blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); -- return; -- } - -- q->limits.discard_granularity = inode->i_sb->s_blocksize; -- q->limits.discard_alignment = 0; -+ } else { -+ q->limits.discard_granularity = inode->i_sb->s_blocksize; -+ q->limits.discard_alignment = 0; - -- blk_queue_max_discard_sectors(q, UINT_MAX >> 9); -- blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); -- blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); -+ blk_queue_max_discard_sectors(q, UINT_MAX >> 9); -+ blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); -+ } -+ -+ if (q->limits.max_write_zeroes_sectors) -+ blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); -+ else -+ blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); - } - - static void loop_unprepare_queue(struct loop_device *lo) diff --git a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch index f82cef1f94..f58b190025 100644 --- a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1827,6 +1827,9 @@ int genphy_update_link(struct phy_device +@@ -1909,6 +1909,9 @@ int genphy_update_link(struct phy_device if (bmcr & BMCR_ANRESTART) goto done; diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index f652751339..d2acd40e19 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau if (!pe) --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -3552,6 +3552,8 @@ static const struct seq_operations vmall +@@ -3562,6 +3562,8 @@ static const struct seq_operations vmall static int __init proc_vmalloc_init(void) { diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index 4ba9f9a1b2..e69e3f125d 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -91,6 +91,7 @@ define Device/linksys_audi UBINIZE_OPTS := -E 5 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi BOARD_NAME := linksys-audi + DEFAULT := n endef TARGET_DEVICES += linksys_audi diff --git a/target/linux/ramips/patches-5.4/991-at803x.patch b/target/linux/ramips/patches-5.4/991-at803x.patch index 60afe2a35f..dd1d2755ed 100644 --- a/target/linux/ramips/patches-5.4/991-at803x.patch +++ b/target/linux/ramips/patches-5.4/991-at803x.patch @@ -12,11 +12,9 @@ Signed-off-by: René van Dorst drivers/net/phy/at803x.c | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) -diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c -index 481cf48c9b9e4..a6536ecf15db4 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c -@@ -19,6 +19,7 @@ +@@ -14,6 +14,7 @@ #include #include #include @@ -24,7 +22,7 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 #define AT803X_SPECIFIC_STATUS 0x11 #define AT803X_SS_SPEED_MASK (3 << 14) -@@ -57,9 +58,18 @@ +@@ -53,9 +54,18 @@ #define AT803X_MODE_CFG_MASK 0x0F #define AT803X_MODE_CFG_SGMII 0x01 @@ -43,8 +41,8 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 #define AT803X_DEBUG_REG_0 0x00 #define AT803X_DEBUG_RX_CLK_DLY_EN BIT(15) -@@ -475,10 +485,56 @@ static int at803x_parse_dt(struct phy_device *phydev) - return 0; +@@ -243,10 +253,56 @@ static int at803x_resume(struct phy_devi + return phy_modify(phydev, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE, 0); } +static int at803x_mode(struct phy_device *phydev) @@ -100,7 +98,7 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) -@@ -658,6 +714,10 @@ static int at803x_read_status(struct phy_device *phydev) +@@ -394,6 +450,10 @@ static int at803x_read_status(struct phy { int ss, err, old_link = phydev->link; @@ -111,7 +109,7 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 /* Update the link, but return if there was an error */ err = genphy_update_link(phydev); if (err) -@@ -712,6 +772,19 @@ static int at803x_read_status(struct phy_device *phydev) +@@ -448,6 +508,19 @@ static int at803x_read_status(struct phy return 0; } @@ -130,8 +128,8 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 + static struct phy_driver at803x_driver[] = { { - /* Qualcomm Atheros AR8035 */ -@@ -758,6 +831,7 @@ static struct phy_driver at803x_driver[] = { + /* ATHEROS 8035 */ +@@ -491,6 +564,7 @@ static struct phy_driver at803x_driver[] .suspend = at803x_suspend, .resume = at803x_resume, /* PHY_GBIT_FEATURES */