Compare commits
243 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5ae565873 | ||
|
|
c4a6851c72 | ||
|
|
f8b849103d | ||
|
|
fec1aa6dfb | ||
|
|
224fa47bf9 | ||
|
|
3a05aa17db | ||
|
|
171d8bce0c | ||
|
|
2eb8444363 | ||
|
|
d5a8e85878 | ||
|
|
cf5e5204d9 | ||
|
|
4465b44fc1 | ||
|
|
4b9ade65ec | ||
|
|
ab9cb390be | ||
|
|
1e90091c5d | ||
|
|
312c05611b | ||
|
|
3100649458 | ||
|
|
e9d2aa9dc6 | ||
|
|
2044c01de8 | ||
|
|
5ac0b2b431 | ||
|
|
a7a207e18b | ||
|
|
1ce5008597 | ||
|
|
2ecb22dc51 | ||
|
|
11f4918ebb | ||
|
|
9999c87d3a | ||
|
|
250dbb3a60 | ||
|
|
d816c6cd31 | ||
|
|
c21d59dc11 | ||
|
|
6fc02f2a45 | ||
|
|
b12284a14c | ||
|
|
8055e38794 | ||
|
|
733e62a8e1 | ||
|
|
53814dadaf | ||
|
|
e30d3ea95f | ||
|
|
c7b9c85819 | ||
|
|
c9388fa986 | ||
|
|
e290024717 | ||
|
|
2c37993c8a | ||
|
|
79b1fa1702 | ||
|
|
58138df2d5 | ||
|
|
42e478eb0d | ||
|
|
b14eeccdfe | ||
|
|
cb58c7fe73 | ||
|
|
fb52c40531 | ||
|
|
7711a5906a | ||
|
|
c03f018220 | ||
|
|
0a59e2a76e | ||
|
|
3f5fecfd33 | ||
|
|
d0b8be75ff | ||
|
|
bdc2f19f9d | ||
|
|
c37eb9a9f9 | ||
|
|
5090152ae3 | ||
|
|
d830403133 | ||
|
|
8c2bb1d9b6 | ||
|
|
a47caacaf3 | ||
|
|
605adb1023 | ||
|
|
5abe989475 | ||
|
|
77734ce82a | ||
|
|
ebe8cc2b2a | ||
|
|
f10332c292 | ||
|
|
ca1ee39854 | ||
|
|
f61e053e72 | ||
|
|
f1525e785e | ||
|
|
c72b7a4f0d | ||
|
|
c420f77678 | ||
|
|
0ce0d687de | ||
|
|
6703abb7ca | ||
|
|
b4698d87c8 | ||
|
|
193adc94d1 | ||
|
|
733a482733 | ||
|
|
c9c7b4b394 | ||
|
|
a448ad7490 | ||
|
|
39c5635714 | ||
|
|
2a8279c161 | ||
|
|
ac5297340e | ||
|
|
589c3cf4e0 | ||
|
|
2a3dbded93 | ||
|
|
ad3c2b9736 | ||
|
|
84ae238324 | ||
|
|
c25e3275ac | ||
|
|
78c4c04dd7 | ||
|
|
3af9c5fefd | ||
|
|
7fbee0c7b2 | ||
|
|
14903d9d8c | ||
|
|
03a029745f | ||
|
|
95d60bf881 | ||
|
|
dda5e3db19 | ||
|
|
7dd822983b | ||
|
|
aee081e62e | ||
|
|
6696fddfd9 | ||
|
|
9c718b5478 | ||
|
|
b21bea7b1b | ||
|
|
891022918d | ||
|
|
8076fb59ab | ||
|
|
f4286d7bc2 | ||
|
|
d82e6a2f10 | ||
|
|
86b44028e2 | ||
|
|
34a9652904 | ||
|
|
29b4104d69 | ||
|
|
d5810aa613 | ||
|
|
ce6496d796 | ||
|
|
b72077150d | ||
|
|
ddc2af4505 | ||
|
|
a43a39f531 | ||
|
|
4b8a5bdc83 | ||
|
|
e4b47e12cb | ||
|
|
7ac454014a | ||
|
|
f5afa593e7 | ||
|
|
403039c562 | ||
|
|
dc61110adc | ||
|
|
ad38a2ae61 | ||
|
|
0d35fcbff0 | ||
|
|
2d7ea69dd3 | ||
|
|
5a1e4a7fdb | ||
|
|
19b8696dd7 | ||
|
|
a2a75c21bd | ||
|
|
8b0278a17e | ||
|
|
33973a90dc | ||
|
|
fce5101469 | ||
|
|
350883bb90 | ||
|
|
d8ecaef409 | ||
|
|
008db6b970 | ||
|
|
3df63fba70 | ||
|
|
be09fdbf36 | ||
|
|
5d3e5d6ccc | ||
|
|
fba9a88821 | ||
|
|
5af8da3787 | ||
|
|
e754e0a143 | ||
|
|
72878e3244 | ||
|
|
cdd9f19819 | ||
|
|
b3b7665e62 | ||
|
|
4af7873412 | ||
|
|
d6b158b869 | ||
|
|
148d59c67e | ||
|
|
7db09853a8 | ||
|
|
e52f7cfc1d | ||
|
|
8ad674e90b | ||
|
|
dedf089bb7 | ||
|
|
2788db3d38 | ||
|
|
d40ce8b32d | ||
|
|
d1985a1be6 | ||
|
|
4212b6a01e | ||
|
|
a81c459d99 | ||
|
|
9d2dea8302 | ||
|
|
de1693e56f | ||
|
|
1b3aca9142 | ||
|
|
f6acabcbdc | ||
|
|
f17174e843 | ||
|
|
f3c0eab9c7 | ||
|
|
2f756b39ed | ||
|
|
06c6a3dd70 | ||
|
|
86727bd158 | ||
|
|
bf58bfb90e | ||
|
|
2147c33e40 | ||
|
|
8fbe450e40 | ||
|
|
7d6e504dbe | ||
|
|
a225164bb5 | ||
|
|
afaa978b74 | ||
|
|
a2c9fc9ff0 | ||
|
|
7022f1eb13 | ||
|
|
fba22d89a9 | ||
|
|
a785aed70e | ||
|
|
4a9d6320af | ||
|
|
284cd7d18e | ||
|
|
2ca5a386ee | ||
|
|
e894e1b2f0 | ||
|
|
8c19171255 | ||
|
|
b9a89bf7b5 | ||
|
|
9c0ad7f1d5 | ||
|
|
78f57fbce6 | ||
|
|
270711b8ed | ||
|
|
e3618eb2cc | ||
|
|
3dbd74d032 | ||
|
|
8ea6be1510 | ||
|
|
de75d6ecfa | ||
|
|
2d14da2c7d | ||
|
|
673e7944bb | ||
|
|
73e0ea1ea9 | ||
|
|
d46650de7c | ||
|
|
9cad70044f | ||
|
|
820f4654c6 | ||
|
|
f4985a22ca | ||
|
|
73fecd36bf | ||
|
|
938839a565 | ||
|
|
3572711e3c | ||
|
|
b7bac0737e | ||
|
|
8a0362c699 | ||
|
|
8293c8ed46 | ||
|
|
670eeb7888 | ||
|
|
9c58f5d4ff | ||
|
|
ebefdf61ed | ||
|
|
6b042217d7 | ||
|
|
a2c556aa8f | ||
|
|
8adbe26f6e | ||
|
|
b40e6bc55f | ||
|
|
153392e209 | ||
|
|
6520659870 | ||
|
|
b547542297 | ||
|
|
0c910d8459 | ||
|
|
18cf2383b6 | ||
|
|
b515edb775 | ||
|
|
f7f15f8033 | ||
|
|
1f5cbd6be7 | ||
|
|
fa72f2646a | ||
|
|
e752fc1ff9 | ||
|
|
6488d2f7cc | ||
|
|
fb79e5d9fe | ||
|
|
e36bdd5dc5 | ||
|
|
21454a772b | ||
|
|
a32b0ec4cf | ||
|
|
9cafcbe0bd | ||
|
|
2bd1cf92e9 | ||
|
|
c963e4267b | ||
|
|
31de4a40e7 | ||
|
|
83b714a27f | ||
|
|
f99b1d1d92 | ||
|
|
92bd395b04 | ||
|
|
adf5d753ef | ||
|
|
9b48375c7e | ||
|
|
a4e8eca03e | ||
|
|
498f1f4f5d | ||
|
|
d8d1956a80 | ||
|
|
ab7e9754df | ||
|
|
bc0c2db2a3 | ||
|
|
059db419d7 | ||
|
|
97b522a1f9 | ||
|
|
942262f9c8 | ||
|
|
6a89098935 | ||
|
|
a6f70f2e97 | ||
|
|
8c6c488e9e | ||
|
|
36d4140517 | ||
|
|
7187826b8b | ||
|
|
d4092eac1f | ||
|
|
24cfd961d9 | ||
|
|
7de43d66ff | ||
|
|
84154574c8 | ||
|
|
af667c73c5 | ||
|
|
d1ce73677c | ||
|
|
1d40c8a9f2 | ||
|
|
65f2fae911 | ||
|
|
b2c9f82eb4 | ||
|
|
a2a3ac9f51 | ||
|
|
6c96ecf3b4 | ||
|
|
c3e3802a8e |
9
Makefile
9
Makefile
@@ -87,6 +87,14 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
$(BIN_DIR)/profiles.json: FORCE
|
||||
$(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
||||
WORK_DIR=$(BUILD_DIR)/json_info_files \
|
||||
$(SCRIPT_DIR)/json_overview_image_info.py $@ \
|
||||
)
|
||||
|
||||
json_overview_image_info: $(BIN_DIR)/profiles.json
|
||||
|
||||
checksum: FORCE
|
||||
$(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT))
|
||||
|
||||
@@ -108,6 +116,7 @@ prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile)
|
||||
|
||||
world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
|
||||
$(_SINGLE)$(SUBMAKE) -r package/index
|
||||
$(_SINGLE)$(SUBMAKE) -r json_overview_image_info
|
||||
$(_SINGLE)$(SUBMAKE) -r checksum
|
||||
|
||||
.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean
|
||||
|
||||
@@ -7,6 +7,14 @@
|
||||
|
||||
menu "Global build settings"
|
||||
|
||||
config JSON_OVERVIEW_IMAGE_INFO
|
||||
bool "Create JSON info file overview per target"
|
||||
default BUILDBOT
|
||||
help
|
||||
Create a JSON info file called profiles.json in the target
|
||||
directory containing machine readable list of built profiles
|
||||
and resulting images.
|
||||
|
||||
config ALL_NONSHARED
|
||||
bool "Select all target specific packages by default"
|
||||
select ALL_KMODS
|
||||
|
||||
@@ -100,6 +100,11 @@ menuconfig DEVEL
|
||||
It can be a git hash or a branch name.
|
||||
If unused, the clone's repository HEAD will be checked-out.
|
||||
|
||||
config KERNEL_GIT_MIRROR_HASH
|
||||
string "Enter hash of Git kernel tree source checkout tarball" if DEVEL
|
||||
depends on (KERNEL_GIT_CLONE_URI != "")
|
||||
default ""
|
||||
|
||||
config BUILD_LOG
|
||||
bool "Enable log files during build process" if DEVEL
|
||||
help
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
src-git packages https://git.openwrt.org/feed/packages.git^2e6bd4cb86682b224803325127d3f777d40b3231
|
||||
src-git luci https://git.openwrt.org/project/luci.git^fb2f36306756d0d0782dcab8413a8bb7ec379e54
|
||||
src-git routing https://git.openwrt.org/feed/routing.git^3f8571194c2765ed31aa73459e86c2ebf943d27d
|
||||
src-git telephony https://git.openwrt.org/feed/telephony.git^036cd451c35b82b3d8cac519864986894d9f6958
|
||||
src-git packages https://git.openwrt.org/feed/packages.git^90af10d01579425369bd474051b6d3ddaf32a7e3
|
||||
src-git luci https://git.openwrt.org/project/luci.git^34e0d656a41befd9720be35c4831c9f136a67c59
|
||||
src-git routing https://git.openwrt.org/feed/routing.git^e26b4745209655976b7d124465b1dc53ade632f9
|
||||
src-git telephony https://git.openwrt.org/feed/telephony.git^6e019c94d0fa7162548d528bf4ba060a61f8cb59
|
||||
src-git freifunk https://github.com/freifunk/openwrt-packages.git^c621a4283870fe062489fe5e26a15deda7ef4ed7
|
||||
|
||||
@@ -22,12 +22,22 @@ ifeq ($(CONFIG_CCACHE),)
|
||||
CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX))
|
||||
CMAKE_C_COMPILER_ARG1:=
|
||||
CMAKE_CXX_COMPILER_ARG1:=
|
||||
|
||||
CMAKE_HOST_C_COMPILER:=$(HOSTCC)
|
||||
CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX)
|
||||
CMAKE_HOST_C_COMPILER_ARG1:=
|
||||
CMAKE_HOST_CXX_COMPILER_ARG1:=
|
||||
else
|
||||
CCACHE:=$(STAGING_DIR_HOST)/bin/ccache
|
||||
CMAKE_C_COMPILER:=$(CCACHE)
|
||||
CMAKE_C_COMPILER_ARG1:=$(TARGET_CC_NOCACHE)
|
||||
CMAKE_CXX_COMPILER:=$(CCACHE)
|
||||
CMAKE_CXX_COMPILER_ARG1:=$(TARGET_CXX_NOCACHE)
|
||||
|
||||
CMAKE_HOST_C_COMPILER:=$(CCACHE)
|
||||
CMAKE_HOST_C_COMPILER_ARG1:=$(HOSTCC_NOCACHE)
|
||||
CMAKE_HOST_CXX_COMPILER:=$(CCACHE)
|
||||
CMAKE_HOST_CXX_COMPILER_ARG1:=$(HOSTCXX_NOCACHE)
|
||||
endif
|
||||
CMAKE_AR:=$(call cmake_tool,$(TARGET_AR))
|
||||
CMAKE_NM:=$(call cmake_tool,$(TARGET_NM))
|
||||
@@ -90,6 +100,12 @@ define Host/Configure/Default
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
|
||||
-DCMAKE_C_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" \
|
||||
-DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" \
|
||||
-DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_HOST_CXX_COMPILER_ARG1)" \
|
||||
-DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
|
||||
-DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" \
|
||||
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \
|
||||
|
||||
@@ -184,6 +184,8 @@ ifndef DUMP
|
||||
clean-build: host-clean-build
|
||||
endif
|
||||
|
||||
$(DL_DIR)/$(FILE): FORCE
|
||||
|
||||
$(_host_target)host-prepare: $(HOST_STAMP_PREPARED)
|
||||
$(_host_target)host-configure: $(HOST_STAMP_CONFIGURED)
|
||||
$(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED)
|
||||
|
||||
@@ -501,8 +501,11 @@ endef
|
||||
|
||||
define Device/Build/image
|
||||
GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
|
||||
$$(_TARGET): $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))$$(GZ_SUFFIX)
|
||||
$$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
||||
$(BUILD_DIR)/json_info_files/$(call IMAGE_NAME,$(1),$(2)).json, \
|
||||
$(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))$$(GZ_SUFFIX))
|
||||
$(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1)))
|
||||
|
||||
ROOTFS/$(1)/$(3) := \
|
||||
$(KDIR)/root.$(1)$$(strip \
|
||||
$$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1)))) \
|
||||
@@ -525,6 +528,23 @@ define Device/Build/image
|
||||
$(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
|
||||
cp $$^ $$@
|
||||
|
||||
$(BUILD_DIR)/json_info_files/$(call IMAGE_NAME,$(1),$(2)).json: $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))$$(GZ_SUFFIX)
|
||||
@mkdir -p $$(shell dirname $$@)
|
||||
DEVICE_ID="$(DEVICE_NAME)" \
|
||||
BIN_DIR="$(BIN_DIR)" \
|
||||
IMAGE_NAME="$(IMAGE_NAME)" \
|
||||
IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
|
||||
IMAGE_FILESYSTEM="$(1)" \
|
||||
IMAGE_PREFIX="$(IMAGE_PREFIX)" \
|
||||
DEVICE_TITLE="$(DEVICE_TITLE)" \
|
||||
DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \
|
||||
TARGET="$(BOARD)" \
|
||||
SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
|
||||
VERSION_NUMBER="$(VERSION_NUMBER)" \
|
||||
VERSION_CODE="$(VERSION_CODE)" \
|
||||
SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \
|
||||
$(TOPDIR)/scripts/json_add_image_info.py $$@
|
||||
|
||||
endef
|
||||
|
||||
define Device/Build/artifact
|
||||
@@ -610,6 +630,7 @@ define BuildImage
|
||||
|
||||
image_prepare: compile
|
||||
mkdir -p $(BIN_DIR) $(KDIR)/tmp
|
||||
rm -rf $(BUILD_DIR)/json_info_files
|
||||
$(call Image/Prepare)
|
||||
|
||||
legacy-images-prepare-make: image_prepare
|
||||
|
||||
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-4.14 = .180
|
||||
LINUX_VERSION-4.14 = .221
|
||||
|
||||
LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
|
||||
LINUX_KERNEL_HASH-4.14.221 = ce2254075ff4846f13380c1cf4bec1e351e5996a7dd109c200e222e49fd2c7e9
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@@ -185,6 +185,8 @@ define Build/CoreTargets
|
||||
$(call Build/Autoclean)
|
||||
$(call DefaultTargets)
|
||||
|
||||
$(DL_DIR)/$(FILE): FORCE
|
||||
|
||||
download:
|
||||
$(foreach hook,$(Hooks/Download),
|
||||
$(call $(hook))$(sep)
|
||||
|
||||
@@ -26,6 +26,7 @@ $(eval $(call TestHostCommand,proper-umask, \
|
||||
Please build with umask 022 - other values produce broken packages, \
|
||||
umask | grep -xE 0?0[012][012]))
|
||||
|
||||
ifndef IB
|
||||
$(eval $(call SetupHostCommand,gcc, \
|
||||
Please install the GNU C Compiler (gcc) 4.8 or later, \
|
||||
$(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
|
||||
@@ -55,6 +56,7 @@ $(eval $(call TestHostCommand,ncurses, \
|
||||
Please install ncurses. (Missing libncurses.so or ncurses.h), \
|
||||
echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \
|
||||
gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses))
|
||||
endif # IB
|
||||
|
||||
ifeq ($(HOST_OS),Linux)
|
||||
zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic
|
||||
|
||||
@@ -59,7 +59,7 @@ endif
|
||||
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
|
||||
|
||||
filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1))
|
||||
extra_packages = $(if $(filter wpad-mini wpad-basic wpad nas,$(1)),iwinfo)
|
||||
extra_packages = $(if $(filter wpad-mini wpad-basic wpad-basic-wolfssl wpad nas,$(1)),iwinfo)
|
||||
|
||||
define ProfileDefault
|
||||
NAME:=
|
||||
|
||||
@@ -26,13 +26,13 @@ PKG_CONFIG_DEPENDS += \
|
||||
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
|
||||
|
||||
VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
|
||||
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),19.07.3)
|
||||
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),19.07.7)
|
||||
|
||||
VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE))
|
||||
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r11063-85e04e9f46)
|
||||
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r11306-c4a6851c72)
|
||||
|
||||
VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
|
||||
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/releases/19.07.3)
|
||||
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/releases/19.07.7)
|
||||
|
||||
VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
|
||||
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
|
||||
|
||||
@@ -43,15 +43,6 @@ define Package/base-files
|
||||
VERSION:=$(PKG_RELEASE)-$(REVISION)
|
||||
endef
|
||||
|
||||
define Package/urandom-seed
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=+libc +ubox-getrandom
|
||||
TITLE:=/etc/urandom.seed handling for OpenWrt
|
||||
URL:=http://openwrt.org/
|
||||
VERSION:=$(PKG_RELEASE)-$(REVISION)
|
||||
endef
|
||||
|
||||
define Package/base-files/conffiles
|
||||
/etc/config/
|
||||
/etc/config/network
|
||||
|
||||
@@ -183,7 +183,7 @@ if VERSIONOPT
|
||||
config VERSION_REPO
|
||||
string
|
||||
prompt "Release repository"
|
||||
default "http://downloads.openwrt.org/releases/19.07.3"
|
||||
default "http://downloads.openwrt.org/releases/19.07.7"
|
||||
help
|
||||
This is the repository address embedded in the image, it defaults
|
||||
to the trunk snapshot repo; the url may contain the following placeholders:
|
||||
|
||||
@@ -14,6 +14,7 @@ PKG_RELEASE:=
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/at91bootstrap.git
|
||||
PKG_MIRROR_HASH:=783100ce586460b8230f7b5b56cbc2e6473b888f38330c1d1b64777e3ae59473
|
||||
PKG_SOURCE_VERSION:=04efa5500d60a0211d14b6ee60df7ce0a828704d
|
||||
|
||||
PKG_BUILD_DIR = \
|
||||
|
||||
@@ -12,6 +12,7 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/u-boot-at91.git
|
||||
PKG_MIRROR_HASH:=03ae55f16e716c2c06481372174f9d8506fa077459bf321a024e0d23a9bb013a
|
||||
PKG_SOURCE_VERSION:=59f202622154f82e708a6ca2bf86350a5c1b2d33
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
|
||||
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=uboot-envtools
|
||||
PKG_DISTNAME:=u-boot
|
||||
PKG_VERSION:=2018.03
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=3.1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.xz
|
||||
|
||||
@@ -47,6 +47,7 @@ mr600v2|\
|
||||
mr900|\
|
||||
mr900v2|\
|
||||
n5q|\
|
||||
nbg6616|\
|
||||
nbg6716|\
|
||||
om5p|\
|
||||
om5p-ac|\
|
||||
|
||||
@@ -15,12 +15,23 @@ board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
cznic,turris-omnia)
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0xC0000" "0x10000" "0x40000"
|
||||
if grep -q 'U-Boot 2015.10-rc2' /dev/mtd0; then
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0xc0000" "0x10000" "0x40000"
|
||||
else
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0xf0000" "0x10000" "0x10000"
|
||||
fi
|
||||
;;
|
||||
globalscale,espressobin|\
|
||||
globalscale,espressobin-emmc|\
|
||||
globalscale,espressobin-v7|\
|
||||
globalscale,espressobin-v7-emmc|\
|
||||
globalscale,espressobin-v7-emmc)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
if [ -n "$idx" ]; then
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1"
|
||||
else
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1"
|
||||
fi
|
||||
;;
|
||||
marvell,armada8040-mcbin)
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1"
|
||||
;;
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=amd64-microcode
|
||||
PKG_VERSION:=20180524
|
||||
PKG_VERSION:=20191218
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=amd64-microcode_3.$(PKG_VERSION).$(PKG_RELEASE).tar.xz
|
||||
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/non-free/a/amd64-microcode/
|
||||
PKG_HASH:=7c389c357c242e7161f6872bf4e12011a71e4c0683f06fb1bcfad650a78bf0a9
|
||||
PKG_HASH:=f469b79348097c5f04641b67a39d0ee5a2a1916c9556281626c04f2275d4132d
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE)
|
||||
|
||||
PKG_LICENSE_FILE:=LICENSE.amd-ucode
|
||||
|
||||
524
package/firmware/ath10k-ct-firmware/Makefile
Normal file
524
package/firmware/ath10k-ct-firmware/Makefile
Normal file
@@ -0,0 +1,524 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ath10k-ct-firmware
|
||||
PKG_VERSION:=2020-07-02
|
||||
PKG_RELEASE:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
ATH10K_FIRMWARE_REV:=d622d160e9f552ead68d9ae81b715422892dc2ef
|
||||
ATH10K_FIRMWARE_URL:=@GITHUB/kvalo/ath10k-firmware/$(ATH10K_FIRMWARE_REV)
|
||||
|
||||
QCA9887_BOARD_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca9887-board.bin
|
||||
define Download/qca9887-board
|
||||
FILE:=$(QCA9887_BOARD_FILE)
|
||||
URL:=$(ATH10K_FIRMWARE_URL)/QCA9887/hw1.0
|
||||
URL_FILE:=board.bin
|
||||
HASH:=cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426
|
||||
endef
|
||||
$(eval $(call Download,qca9887-board))
|
||||
|
||||
QCA988X_BOARD_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca988x-board.bin
|
||||
define Download/qca988x-board
|
||||
FILE:=$(QCA988X_BOARD_FILE)
|
||||
URL:=$(ATH10K_FIRMWARE_URL)/QCA988X/hw2.0
|
||||
URL_FILE:=board.bin
|
||||
HASH:=5b5b380333c2dd3b6ce67f30e2f7008f4020bf594970d3b464fd8d4a80fcd880
|
||||
endef
|
||||
$(eval $(call Download,qca988x-board))
|
||||
|
||||
QCA99X0_BOARD_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca99x0-board.bin
|
||||
define Download/qca99x0-board
|
||||
FILE:=$(QCA99X0_BOARD_FILE)
|
||||
URL:=$(ATH10K_FIRMWARE_URL)/QCA99X0/hw2.0
|
||||
URL_FILE:=boardData_AR900B_CUS239_5G_v2_001.bin
|
||||
HASH:=3bf7561ee373b369025dcd366d276d038a97d3397ccae41ce841d98a58b30aff
|
||||
endef
|
||||
$(eval $(call Download,qca99x0-board))
|
||||
|
||||
QCA99X0_BOARD2_REV:=ddcec9efd245da9365c474f513a855a55f3ac7fe
|
||||
QCA99X0_BOARD2_FILE:=ath10k-firmware-$(QCA99X0_BOARD2_REV)-qca99x0-board-2.bin
|
||||
define Download/qca99x0-board2
|
||||
FILE:=$(QCA99X0_BOARD2_FILE)
|
||||
URL:=https://source.codeaurora.org/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0
|
||||
URL_FILE:=board-2.bin?id=$(QCA99X0_BOARD2_REV)
|
||||
HASH:=03711ac21e60ef59d3815e235eb721c0c22851b5410299411085aa6f2af45401
|
||||
endef
|
||||
$(eval $(call Download,qca99x0-board2))
|
||||
|
||||
QCA9984_BOARD2_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca9984-board-2.bin
|
||||
define Download/qca9984-board2
|
||||
FILE:=$(QCA9984_BOARD2_FILE)
|
||||
URL:=$(ATH10K_FIRMWARE_URL)/QCA9984/hw1.0
|
||||
URL_FILE:=board-2.bin
|
||||
HASH:=0d6d46cf0467185e3959ce3cb69e2415be6e48ab8a4bee3eb400edbe48cb9c25
|
||||
endef
|
||||
$(eval $(call Download,qca9984-board2))
|
||||
|
||||
QCA4019_BOARD2_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca4019-board-2.bin
|
||||
define Download/qca4019-board2
|
||||
FILE:=$(QCA4019_BOARD2_FILE)
|
||||
URL:=$(ATH10K_FIRMWARE_URL)/QCA4019/hw1.0
|
||||
URL_FILE:=board-2.bin
|
||||
HASH:=94b66aa4ddbed5110a96364d3c7b4ebcb320e3ac4e8697660b277e76077bc338
|
||||
endef
|
||||
$(eval $(call Download,qca4019-board2))
|
||||
|
||||
QCA9888_BOARD2_FILE:=ath10k-firmware-$(ATH10K_FIRMWARE_REV)-qca9888-board-2.bin
|
||||
define Download/qca9888-board2
|
||||
FILE:=$(QCA9888_BOARD2_FILE)
|
||||
URL:=$(ATH10K_FIRMWARE_URL)/QCA9888/hw2.0
|
||||
URL_FILE:=board-2.bin
|
||||
HASH:=5b871bb567f64525ca45adb88063211de472015d09e0f9aa3fa61ab71c8fdfd3
|
||||
endef
|
||||
$(eval $(call Download,qca9888-board2))
|
||||
|
||||
CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT)
|
||||
CT_FIRMWARE_FILE_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_HTT)
|
||||
|
||||
define Download/ct-firmware
|
||||
URL:=https://www.candelatech.com/downloads/$(2)
|
||||
FILE:=$(call CT_FIRMWARE_FILE,$(1))
|
||||
URL_FILE:=$($(1)_FIRMWARE_FILE_CT)
|
||||
endef
|
||||
|
||||
define Download/ct-firmware-htt
|
||||
URL:=https://www.candelatech.com/downloads/$(2)
|
||||
FILE:=$(call CT_FIRMWARE_FILE_HTT,$(1))
|
||||
URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT)
|
||||
endef
|
||||
|
||||
QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.019
|
||||
define Download/ath10k-firmware-qca988x-ct
|
||||
$(call Download/ct-firmware,QCA988X,)
|
||||
HASH:=8b4c99253aa309d35f2e060c190091b8db1b84dbda06a6a15c83ac0f9a938126
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca988x-ct))
|
||||
|
||||
QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.019
|
||||
define Download/ath10k-firmware-qca988x-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA988X,)
|
||||
HASH:=a7168916d6aa5e4d7858f8b620c0c980c76d03f390929db6f4077685ce2051e7
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca988x-ct-htt))
|
||||
|
||||
|
||||
QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.019
|
||||
define Download/ath10k-firmware-qca9887-ct
|
||||
$(call Download/ct-firmware,QCA9887,ath10k-9887)
|
||||
HASH:=459692deb186a63ab8eeddb7ad5d54779266e68ca686e7c46062554db6dca12b
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9887-ct))
|
||||
|
||||
QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.019
|
||||
define Download/ath10k-firmware-qca9887-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA9887,ath10k-9887)
|
||||
HASH:=fd126a457d0927d0c8ea10d66ef5b67d5e1e0741f8692bb3016bb602d0af3098
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9887-ct-htt))
|
||||
|
||||
|
||||
QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca99x0-ct
|
||||
$(call Download/ct-firmware,QCA99X0,ath10k-10-4b)
|
||||
HASH:=7dc934f934bc4973c9273a4f22cfead8e26ec6f579647af31b718a860eca0a4b
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca99x0-ct))
|
||||
|
||||
QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca99x0-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4b)
|
||||
HASH:=71a27b245a382fe009938d2826d5c97a90dceb10ddf638325268df91837ea302
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca99x0-ct-htt))
|
||||
|
||||
|
||||
QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca9984-ct
|
||||
$(call Download/ct-firmware,QCA9984,ath10k-9984-10-4b)
|
||||
HASH:=32d13f432691fe759ded7d027052e925233adb436cd8f729f85ec3d19ccd1dfd
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9984-ct))
|
||||
|
||||
QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca9984-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4b)
|
||||
HASH:=e8ab69777bd00b5fc6b1b7acccb55b903553a99932a5b0351602b5f690106588
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9984-ct-htt))
|
||||
|
||||
|
||||
QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca4019-ct
|
||||
$(call Download/ct-firmware,QCA4019,ath10k-4019-10-4b)
|
||||
HASH:=4b89763087c7ed9b56046c4e621b7f045e452436d8d9b430a5d171179e313592
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca4019-ct))
|
||||
|
||||
QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca4019-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4b)
|
||||
HASH:=fba591e5777c53b82542ba16cae69d9bb4684837f2fa4cee1b9b26f648096748
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca4019-ct-htt))
|
||||
|
||||
|
||||
QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca9888-ct
|
||||
$(call Download/ct-firmware,QCA9888,ath10k-9888-10-4b)
|
||||
HASH:=048f4300725e6ebbf94a6bf4f3f4e4592c446fcdbe1d801aaac024b15e89e0c9
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9888-ct))
|
||||
|
||||
QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.019
|
||||
define Download/ath10k-firmware-qca9888-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4b)
|
||||
HASH:=d2a7e9fea6bd854721b3fc03a3a00d379d303b2bce339377ee87a1c14a60312d
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9888-ct-htt))
|
||||
|
||||
|
||||
define Package/ath10k-ct-firmware-default
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
URL:=https://www.candelatech.com/ath10k.php
|
||||
DEPENDS:=
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x-ct
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 firmware for QCA988x devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca988x
|
||||
endef
|
||||
define Package/ath10k-firmware-qca988x-ct-htt
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 htt-mgt fw for QCA988x
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca988x
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 firmware for QCA9887 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9887
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9887-ct-htt
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 htt-mgt fw for QCA9887
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9887
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca99x0-ct
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 firmware for QCA99x0 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca99x0
|
||||
endef
|
||||
define Package/ath10k-firmware-qca99x0-ct-htt
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA99x0
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca99x0
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9984-ct
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 firmware for QCA9984 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9984
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9984-ct-htt
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9984
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9984
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca4019-ct
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 firmware for QCA4018/9
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca4019
|
||||
endef
|
||||
define Package/ath10k-firmware-qca4019-ct-htt
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt for QCA4018/9
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca4019
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9888-ct
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 fw for QCA9886/8 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9888
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9888-ct-htt
|
||||
$(Package/ath10k-ct-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9886/8
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9888
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct/description
|
||||
Alternative ath10k firmware for QCA9887 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware conflicts with the standard 9887 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9887-ct-htt/description
|
||||
Alternative ath10k firmware for QCA9887 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and fixes .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x-ct/description
|
||||
Alternative ath10k firmware for QCA988X from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware will NOT be used unless the standard ath10k-firmware-qca988x
|
||||
is un-selected since the driver will try to load firmware-5.bin before
|
||||
firmware-2.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca988x-ct-htt/description
|
||||
Alternative ath10k firmware for QCA988X from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and fixes .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca99x0-ct/description
|
||||
Alternative ath10k firmware for QCA99x0 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware conflicts with the standard 99x0 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca99x0-ct-htt/description
|
||||
Alternative ath10k firmware for QCA99x0 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9984-ct/description
|
||||
Alternative ath10k firmware for QCA9984 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware conflicts with the standard 9984 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9984-ct-htt/description
|
||||
Alternative ath10k firmware for QCA9984 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca4019-ct/description
|
||||
Alternative ath10k firmware for IPQ4019 radio from Candela Technologies.
|
||||
Enables IBSS and other features. Works with standard or ath10k-ct driver.
|
||||
See: http://www.candelatech.com/ath10k-10.4.php
|
||||
endef
|
||||
define Package/ath10k-firmware-qca4019-ct-htt/description
|
||||
Alternative ath10k firmware for IPQ4019 radio from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features.
|
||||
See: http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9888-ct/description
|
||||
Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware conflicts with the standard 9886 and 9888 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9888-ct-htt/description
|
||||
Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
|
||||
define Build/Compile
|
||||
|
||||
endef
|
||||
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9887) \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA9887_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9887-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9887) \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/ct-firmware-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA9887_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA988X_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA988X) \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca988x-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA988X_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA988X) \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/ct-firmware-2.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca99x0-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA99X0_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA99X0_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA99X0) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca99x0-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA99X0_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA99X0_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA99X0) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9984-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA9984_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9984) \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9984-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA9984_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9984) \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca4019-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA4019_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA4019) \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca4019-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA4019_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA4019) \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9888-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0
|
||||
ln -s \
|
||||
../../cal-pci-0000:01:00.0.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA9888_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9888) \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9888-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0
|
||||
ln -s \
|
||||
../../cal-pci-0000:01:00.0.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA9888_BOARD2_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9888) \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9887-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9887-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca988x-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9984-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-htt))
|
||||
@@ -37,11 +37,6 @@ $(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k firmware for QCA9888 devices
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k-CT firmware for QCA9887 devices
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k firmware for QCA988x devices
|
||||
@@ -49,111 +44,6 @@ $(Package/ath10k-firmware-default)
|
||||
CATEGORY:=Firmware
|
||||
endef
|
||||
|
||||
CT_FIRMWARE_FILE = $(1)-$($(1)_FIRMWARE_FILE_CT)
|
||||
CT_FIRMWARE_FILE_HTT = $(1)-$($(1)_FIRMWARE_FILE_CT_HTT)
|
||||
|
||||
define Download/ct-firmware
|
||||
URL:=https://www.candelatech.com/downloads/$(2)
|
||||
FILE:=$(call CT_FIRMWARE_FILE,$(1))
|
||||
URL_FILE:=$($(1)_FIRMWARE_FILE_CT)
|
||||
endef
|
||||
|
||||
define Download/ct-firmware-htt
|
||||
URL:=https://www.candelatech.com/downloads/$(2)
|
||||
FILE:=$(call CT_FIRMWARE_FILE_HTT,$(1))
|
||||
URL_FILE:=$($(1)_FIRMWARE_FILE_CT_HTT)
|
||||
endef
|
||||
|
||||
QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.013
|
||||
define Download/ath10k-firmware-qca988x-ct
|
||||
$(call Download/ct-firmware,QCA988X,)
|
||||
HASH:=19db86003509dedb8ace339c183813ca637d65af24d00666411d1590efe33e13
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca988x-ct))
|
||||
|
||||
QCA988X_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.013
|
||||
define Download/ath10k-firmware-qca988x-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA988X,)
|
||||
HASH:=454e67dab545e720369a07be2fee16de008c76db4ab3119e7760bf9f7504c066
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca988x-ct-htt))
|
||||
|
||||
|
||||
QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-22.bin.lede.013
|
||||
define Download/ath10k-firmware-qca9887-ct
|
||||
$(call Download/ct-firmware,QCA9887,ath10k-9887)
|
||||
HASH:=b3c738328427e124701a5735d65cde0f60e4172ae5bc23b00e5b16df7995dbd4
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9887-ct))
|
||||
|
||||
QCA9887_FIRMWARE_FILE_CT_HTT:=firmware-2-ct-full-htt-mgt-community-22.bin.lede.013
|
||||
define Download/ath10k-firmware-qca9887-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA9887,ath10k-9887)
|
||||
HASH:=4432ccee23133bbaa4a5552e50a1e7e889b257362603e05530e751b67c29b7b5
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9887-ct-htt))
|
||||
|
||||
|
||||
QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca99x0-ct
|
||||
$(call Download/ct-firmware,QCA99X0,ath10k-10-4b)
|
||||
HASH:=6fa74a3fc87cba97dbc4a7213b760f8d997cd9c5f11900d47d387b23764cf20a
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca99x0-ct))
|
||||
|
||||
QCA99X0_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca99x0-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA99X0,ath10k-10-4b)
|
||||
HASH:=68e92820c51270eba4f68b24654c4a9408902b2600762b70204f4cb5419bb714
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca99x0-ct-htt))
|
||||
|
||||
|
||||
QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca9984-ct
|
||||
$(call Download/ct-firmware,QCA9984,ath10k-9984-10-4b)
|
||||
HASH:=08aeb883bd2d9258e8f1907cca8a0d2eda1c559a66e228dadffd6798f6877c7d
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9984-ct))
|
||||
|
||||
QCA9984_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca9984-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA9984,ath10k-9984-10-4b)
|
||||
HASH:=38ed59a2b3c66c10926706a21ae2d3aeaf83e589f19345a8f48d6520522e4fde
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9984-ct-htt))
|
||||
|
||||
|
||||
QCA4019_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca4019-ct
|
||||
$(call Download/ct-firmware,QCA4019,ath10k-4019-10-4b)
|
||||
HASH:=feca75fe89af9a3e998047f85ff3428676f4d574b770d51773bb419d0dd98e5a
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca4019-ct))
|
||||
|
||||
QCA4019_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca4019-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA4019,ath10k-4019-10-4b)
|
||||
HASH:=6a4977689343f43edd934823512f031fd1a026e872004343b9952077f9607cb0
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca4019-ct-htt))
|
||||
|
||||
|
||||
QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca9888-ct
|
||||
$(call Download/ct-firmware,QCA9888,ath10k-9888-10-4b)
|
||||
HASH:=d6a59c17bfbec1abc8498762d9f00b2449cab352feb8bef8b621771168376dbf
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9888-ct))
|
||||
|
||||
QCA9888_FIRMWARE_FILE_CT_HTT:=firmware-5-ct-full-htt-mgt-community-12.bin-lede.013
|
||||
define Download/ath10k-firmware-qca9888-ct-htt
|
||||
$(call Download/ct-firmware-htt,QCA9888,ath10k-9888-10-4b)
|
||||
HASH:=fe242c0d56494975d7a1aeb6969d90cc21cb133fba99040d4da7a25fdb90d92c
|
||||
endef
|
||||
$(eval $(call Download,ath10k-firmware-qca9888-ct-htt))
|
||||
|
||||
|
||||
define Package/ath10k-firmware-qca99x0
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k firmware for QCA99x0 devices
|
||||
@@ -161,206 +51,12 @@ $(Package/ath10k-firmware-default)
|
||||
CATEGORY:=Firmware
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 firmware for QCA988x devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca988x
|
||||
endef
|
||||
define Package/ath10k-firmware-qca988x-ct-htt
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 htt-mgt fw for QCA988x
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca988x
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 firmware for QCA9887 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9887
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9887-ct-htt
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.1 htt-mgt fw for QCA9887
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9887
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x-ct/description
|
||||
Alternative ath10k firmware for QCA988X from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware will NOT be used unless the standard ath10k-firmware-qca988x
|
||||
is un-selected since the driver will try to load firmware-5.bin before
|
||||
firmware-2.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca988x-ct-htt/description
|
||||
Alternative ath10k firmware for QCA988X from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and fixes .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct/description
|
||||
Alternative ath10k firmware for QCA9887 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware conflicts with the standard 9887 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9887-ct-htt/description
|
||||
Alternative ath10k firmware for QCA9887 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and fixes .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.1.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca99x0-ct/description
|
||||
Alternative ath10k firmware for QCA99x0 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware conflicts with the standard 99x0 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca99x0-ct-htt/description
|
||||
Alternative ath10k firmware for QCA99x0 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9984-ct/description
|
||||
Alternative ath10k firmware for QCA9984 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware conflicts with the standard 9984 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9984-ct-htt/description
|
||||
Alternative ath10k firmware for QCA9984 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca4019-ct/description
|
||||
Alternative ath10k firmware for IPQ4019 radio from Candela Technologies.
|
||||
Enables IBSS and other features. Works with standard or ath10k-ct driver.
|
||||
See: http://www.candelatech.com/ath10k-10.4.php
|
||||
endef
|
||||
define Package/ath10k-firmware-qca4019-ct-htt/description
|
||||
Alternative ath10k firmware for IPQ4019 radio from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features.
|
||||
See: http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9888-ct/description
|
||||
Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware conflicts with the standard 9886 and 9888 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9888-ct-htt/description
|
||||
Alternative ath10k firmware for QCA9886 and QCA9888 from Candela Technologies.
|
||||
Uses normal HTT TX data path for management frames, which improves
|
||||
stability in busy networks and may be required for .11r authentication.
|
||||
Enables IBSS and other features. See:
|
||||
http://www.candelatech.com/ath10k-10.4.php
|
||||
This firmware selects and requires the ath10k-ct driver.
|
||||
endef
|
||||
|
||||
|
||||
define Package/ath10k-firmware-qca99x0/description
|
||||
Standard ath10k firmware for QCA99x0 from QCA
|
||||
This firmware conflicts with the CT 99x0 firmware, so select only
|
||||
one.
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca99x0-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 firmware for QCA99x0 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca99x0
|
||||
endef
|
||||
define Package/ath10k-firmware-qca99x0-ct-htt
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA99x0
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca99x0
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9984-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 firmware for QCA9984 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9984
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9984-ct-htt
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9984
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9984
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca4019-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 firmware for QCA4018/9
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca4019
|
||||
endef
|
||||
define Package/ath10k-firmware-qca4019-ct-htt
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt for QCA4018/9
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca4019
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9888-ct
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 fw for QCA9886/8 devices
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9888
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9888-ct-htt
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9886/8
|
||||
SECTION:=firmware
|
||||
CATEGORY:=Firmware
|
||||
PROVIDES:=ath10k-firmware-qca9888
|
||||
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
|
||||
endef
|
||||
|
||||
|
||||
|
||||
define Package/ath10k-firmware-qca9984
|
||||
$(Package/ath10k-firmware-default)
|
||||
TITLE:=ath10k firmware for QCA9984 devices
|
||||
@@ -477,135 +173,6 @@ define Package/ath10k-firmware-qca9984/install
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
|
||||
endef
|
||||
|
||||
|
||||
# CT related firmware
|
||||
|
||||
define Package/ath10k-firmware-qca9887-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9887) \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/firmware-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9887-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9887) \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/ct-firmware-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA9887/hw1.0/board.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9887/hw1.0/board.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca988x-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA988X) \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca988x-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA988X/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA988X/hw2.0/board.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA988X) \
|
||||
$(1)/lib/firmware/ath10k/QCA988X/hw2.0/ct-firmware-2.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca99x0-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA99X0_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA99X0) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca99x0-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA99X0/hw2.0
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(QCA99X0_BOARD_FILE) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA99X0) \
|
||||
$(1)/lib/firmware/ath10k/QCA99X0/hw2.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9984-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9984) \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9984-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9984/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9984) \
|
||||
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca4019-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA4019) \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca4019-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA4019/hw1.0
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA4019/hw1.0/board-2.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA4019) \
|
||||
$(1)/lib/firmware/ath10k/QCA4019/hw1.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
define Package/ath10k-firmware-qca9888-ct/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0
|
||||
ln -s \
|
||||
../../cal-pci-0000:01:00.0.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA9888/hw2.0/board-2.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE,QCA9888) \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
|
||||
endef
|
||||
define Package/ath10k-firmware-qca9888-ct-htt/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9888/hw2.0
|
||||
ln -s \
|
||||
../../cal-pci-0000:01:00.0.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/QCA9888/hw2.0/board-2.bin \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
|
||||
$(INSTALL_DATA) \
|
||||
$(DL_DIR)/$(call CT_FIRMWARE_FILE_HTT,QCA9888) \
|
||||
$(1)/lib/firmware/ath10k/QCA9888/hw2.0/ct-firmware-5.bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9887))
|
||||
#$(eval $(call BuildPackage,ath10k-firmware-qca9888))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca988x))
|
||||
@@ -613,16 +180,3 @@ $(eval $(call BuildPackage,ath10k-firmware-qca988x))
|
||||
#$(eval $(call BuildPackage,ath10k-firmware-qca6174))
|
||||
#$(eval $(call BuildPackage,ath10k-firmware-qca9984))
|
||||
#$(eval $(call BuildPackage,ath10k-firmware-qca4019))
|
||||
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9887-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9887-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca988x-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca988x-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca99x0-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9984-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9984-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca4019-ct-htt))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct))
|
||||
$(eval $(call BuildPackage,ath10k-firmware-qca9888-ct-htt))
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=intel-microcode
|
||||
PKG_VERSION:=20190918
|
||||
PKG_VERSION:=20200616
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=intel-microcode_3.$(PKG_VERSION).$(PKG_RELEASE).tar.xz
|
||||
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/non-free/i/intel-microcode/
|
||||
PKG_HASH:=b7ecb5dd30d71e9b3c2ab184693a876171392e0d80d138c3560c662e5f2a2247
|
||||
PKG_HASH:=bcc3b81c452fe4649a948c022475d76c1cdfbb730f36749a082f412f1406a3b9
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-3.$(PKG_VERSION).$(PKG_RELEASE)
|
||||
|
||||
PKG_BUILD_DEPENDS:=iucode-tool/host
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wireless-regdb
|
||||
PKG_VERSION:=2019.06.03
|
||||
PKG_VERSION:=2020.11.20
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
|
||||
PKG_HASH:=cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf
|
||||
PKG_HASH:=b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
From 651e39dee8605995b736b6056c6f7dc5c5a9c948 Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Berg <johannes.berg@intel.com>
|
||||
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 <johannes.berg@intel.com>
|
||||
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
---
|
||||
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]
|
||||
@@ -1,47 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Willi <martin@strongswan.org>
|
||||
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 <martin@strongswan.org>
|
||||
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
|
||||
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)
|
||||
@@ -1,843 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Emil Petersky <emil.petersky@streamunlimited.com>
|
||||
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 <emil.petersky@streamunlimited.com>
|
||||
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
|
||||
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:
|
||||
@@ -1,44 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Tunin <hanipouspilot@gmail.com>
|
||||
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 <hanipouspilot@gmail.com>
|
||||
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
|
||||
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)
|
||||
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=broadcom-wl
|
||||
PKG_VERSION:=5.10.56.27.3
|
||||
PKG_RELEASE:=8
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(ARCH).tar.bz2
|
||||
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
|
||||
|
||||
@@ -443,7 +443,10 @@ EOF
|
||||
txpower=${txpower:-$vif_txpower}
|
||||
[ -z "$txpower" ] || iwconfig $device txpower ${txpower}dBm
|
||||
|
||||
eval "$nas_cmd"
|
||||
# fd 1000 is an inherited lock file descriptor for preventing concurrent
|
||||
# init script executions. Close it here to prevent the nas daemon from
|
||||
# inheriting it further to avoid holding the lock indefinitely.
|
||||
eval "$nas_cmd 1000>&-"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=mac80211
|
||||
|
||||
PKG_VERSION:=4.19.120-1
|
||||
PKG_VERSION:=4.19.161-1
|
||||
PKG_RELEASE:=1
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19.120/
|
||||
PKG_HASH:=2bafd75da301a30a5f2b98f433b6545d7b58c1fc3af15e9e9aa085df7f9db1d4
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19.161/
|
||||
PKG_HASH:=01a4173ba180eb8ca67c898239d5accb49a3ea9aea51510e17d5c937d6e93f9a
|
||||
|
||||
PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
|
||||
|
||||
@@ -105,7 +105,7 @@ define KernelPackage/b43
|
||||
CONFIG_HW_RANDOM=y
|
||||
# Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
|
||||
DEPENDS += \
|
||||
@PCI_SUPPORT +kmod-mac80211 \
|
||||
@PCI_SUPPORT +@DRIVER_11W_SUPPORT +kmod-mac80211 \
|
||||
$(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
|
||||
$(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
|
||||
@@ -347,7 +347,7 @@ define KernelPackage/b43legacy
|
||||
URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
|
||||
KCONFIG:= \
|
||||
CONFIG_HW_RANDOM=y
|
||||
DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb @!TARGET_brcm47xx_mips74k +b43legacy-firmware
|
||||
DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb @!TARGET_brcm47xx_mips74k +b43legacy-firmware +@DRIVER_11W_SUPPORT
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
|
||||
AUTOLOAD:=$(call AutoProbe,b43legacy)
|
||||
MENU:=1
|
||||
|
||||
@@ -352,7 +352,7 @@ mac80211_get_addr() {
|
||||
local phy="$1"
|
||||
local idx="$(($2 + 1))"
|
||||
|
||||
head -n $(($macidx + 1)) /sys/class/ieee80211/${phy}/addresses | tail -n1
|
||||
head -n $idx /sys/class/ieee80211/${phy}/addresses | tail -n1
|
||||
}
|
||||
|
||||
mac80211_generate_mac() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/wireless/reg.c
|
||||
+++ b/net/wireless/reg.c
|
||||
@@ -3034,6 +3034,8 @@ void regulatory_hint_country_ie(struct w
|
||||
@@ -3037,6 +3037,8 @@ void regulatory_hint_country_ie(struct w
|
||||
enum environment_cap env = ENVIRON_ANY;
|
||||
struct regulatory_request *request = NULL, *lr;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/* IE len must be evenly divisible by 2 */
|
||||
if (country_ie_len & 0x01)
|
||||
return;
|
||||
@@ -3259,6 +3261,7 @@ static bool is_wiphy_all_set_reg_flag(en
|
||||
@@ -3262,6 +3264,7 @@ static bool is_wiphy_all_set_reg_flag(en
|
||||
|
||||
void regulatory_hint_disconnect(void)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -8297,6 +8297,21 @@ static int ath10k_mac_init_rd(struct ath
|
||||
@@ -8300,6 +8300,21 @@ static int ath10k_mac_init_rd(struct ath
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
int ath10k_mac_register(struct ath10k *ar)
|
||||
{
|
||||
static const u32 cipher_suites[] = {
|
||||
@@ -8581,6 +8596,12 @@ int ath10k_mac_register(struct ath10k *a
|
||||
@@ -8584,6 +8599,12 @@ int ath10k_mac_register(struct ath10k *a
|
||||
|
||||
wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ v9: use SM/MS macros from code.h to simplify shift/mask handling
|
||||
}
|
||||
--- a/drivers/net/wireless/ath/ath10k/wmi.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
|
||||
@@ -7378,12 +7378,7 @@ ath10k_wmi_peer_assoc_fill_10_4(struct a
|
||||
@@ -7391,12 +7391,7 @@ ath10k_wmi_peer_assoc_fill_10_4(struct a
|
||||
struct wmi_10_4_peer_assoc_complete_cmd *cmd = buf;
|
||||
|
||||
ath10k_wmi_peer_assoc_fill_10_2(ar, buf, arg);
|
||||
|
||||
@@ -13,7 +13,7 @@ v2: fix trailing whitespace issue and fix some typos within the commit note
|
||||
2 files changed, 8 insertions(+), 10 deletions(-)
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -4480,13 +4480,6 @@ static struct ieee80211_sta_vht_cap ath1
|
||||
@@ -4483,13 +4483,6 @@ static struct ieee80211_sta_vht_cap ath1
|
||||
vht_cap.cap |= val;
|
||||
}
|
||||
|
||||
|
||||
@@ -415,7 +415,7 @@ v13:
|
||||
/* Rates */
|
||||
--- a/drivers/net/wireless/ath/ath10k/wmi-ops.h
|
||||
+++ b/drivers/net/wireless/ath/ath10k/wmi-ops.h
|
||||
@@ -216,7 +216,10 @@ struct wmi_ops {
|
||||
@@ -217,7 +217,10 @@ struct wmi_ops {
|
||||
struct sk_buff *(*gen_echo)(struct ath10k *ar, u32 value);
|
||||
struct sk_buff *(*gen_pdev_get_tpc_table_cmdid)(struct ath10k *ar,
|
||||
u32 param);
|
||||
@@ -426,7 +426,7 @@ v13:
|
||||
};
|
||||
|
||||
int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
|
||||
@@ -1054,6 +1057,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
|
||||
@@ -1064,6 +1067,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
|
||||
return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
|
||||
}
|
||||
|
||||
@@ -464,7 +464,7 @@ v13:
|
||||
{
|
||||
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
|
||||
@@ -3976,6 +3976,8 @@ static const struct wmi_ops wmi_tlv_ops
|
||||
@@ -3991,6 +3991,8 @@ static const struct wmi_ops wmi_tlv_ops
|
||||
.gen_echo = ath10k_wmi_tlv_op_gen_echo,
|
||||
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
|
||||
.gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,
|
||||
@@ -475,7 +475,7 @@ v13:
|
||||
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
|
||||
--- a/drivers/net/wireless/ath/ath10k/wmi.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
|
||||
@@ -7198,6 +7198,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
|
||||
@@ -7211,6 +7211,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
|
||||
return skb;
|
||||
}
|
||||
|
||||
@@ -525,7 +525,7 @@ v13:
|
||||
static struct sk_buff *
|
||||
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
|
||||
enum wmi_sta_ps_mode psmode)
|
||||
@@ -8809,6 +8852,9 @@ static const struct wmi_ops wmi_ops = {
|
||||
@@ -8822,6 +8865,9 @@ static const struct wmi_ops wmi_ops = {
|
||||
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
|
||||
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
||||
.gen_echo = ath10k_wmi_op_gen_echo,
|
||||
@@ -535,7 +535,7 @@ v13:
|
||||
/* .gen_bcn_tmpl not implemented */
|
||||
/* .gen_prb_tmpl not implemented */
|
||||
/* .gen_p2p_go_bcn_ie not implemented */
|
||||
@@ -8879,6 +8925,8 @@ static const struct wmi_ops wmi_10_1_ops
|
||||
@@ -8892,6 +8938,8 @@ static const struct wmi_ops wmi_10_1_ops
|
||||
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
|
||||
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
||||
.gen_echo = ath10k_wmi_op_gen_echo,
|
||||
@@ -544,7 +544,7 @@ v13:
|
||||
/* .gen_bcn_tmpl not implemented */
|
||||
/* .gen_prb_tmpl not implemented */
|
||||
/* .gen_p2p_go_bcn_ie not implemented */
|
||||
@@ -8950,6 +8998,8 @@ static const struct wmi_ops wmi_10_2_ops
|
||||
@@ -8963,6 +9011,8 @@ static const struct wmi_ops wmi_10_2_ops
|
||||
.gen_delba_send = ath10k_wmi_op_gen_delba_send,
|
||||
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
|
||||
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
||||
@@ -553,7 +553,7 @@ v13:
|
||||
/* .gen_pdev_enable_adaptive_cca not implemented */
|
||||
};
|
||||
|
||||
@@ -9020,6 +9070,8 @@ static const struct wmi_ops wmi_10_2_4_o
|
||||
@@ -9033,6 +9083,8 @@ static const struct wmi_ops wmi_10_2_4_o
|
||||
.gen_pdev_enable_adaptive_cca =
|
||||
ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
|
||||
.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
|
||||
@@ -562,7 +562,7 @@ v13:
|
||||
/* .gen_bcn_tmpl not implemented */
|
||||
/* .gen_prb_tmpl not implemented */
|
||||
/* .gen_p2p_go_bcn_ie not implemented */
|
||||
@@ -9099,6 +9151,8 @@ static const struct wmi_ops wmi_10_4_ops
|
||||
@@ -9112,6 +9164,8 @@ static const struct wmi_ops wmi_10_4_ops
|
||||
.gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
|
||||
.gen_echo = ath10k_wmi_op_gen_echo,
|
||||
.gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
|
||||
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
if (ret)
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -8613,7 +8613,7 @@ int ath10k_mac_register(struct ath10k *a
|
||||
@@ -8616,7 +8616,7 @@ int ath10k_mac_register(struct ath10k *a
|
||||
wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
|
||||
|
||||
#ifdef CPTCFG_MAC80211_LEDS
|
||||
|
||||
@@ -43,7 +43,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
|
||||
static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss)
|
||||
{
|
||||
switch ((mcs_map >> (2 * nss)) & 0x3) {
|
||||
@@ -5482,9 +5498,10 @@ static void ath10k_bss_info_changed(stru
|
||||
@@ -5485,9 +5501,10 @@ static void ath10k_bss_info_changed(stru
|
||||
struct cfg80211_chan_def def;
|
||||
u32 vdev_param, pdev_param, slottime, preamble;
|
||||
u16 bitrate, hw_value;
|
||||
@@ -56,7 +56,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
|
||||
|
||||
mutex_lock(&ar->conf_mutex);
|
||||
|
||||
@@ -5690,6 +5707,30 @@ static void ath10k_bss_info_changed(stru
|
||||
@@ -5693,6 +5710,30 @@ static void ath10k_bss_info_changed(stru
|
||||
arvif->vdev_id, ret);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
|
||||
if (ath10k_rates[i].bitrate == bitrate)
|
||||
return hw_value_prefix | ath10k_rates[i].hw_value;
|
||||
}
|
||||
@@ -5713,22 +5713,22 @@ static void ath10k_bss_info_changed(stru
|
||||
@@ -5716,22 +5716,22 @@ static void ath10k_bss_info_changed(stru
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -5498,8 +5498,8 @@ static void ath10k_bss_info_changed(stru
|
||||
@@ -5501,8 +5501,8 @@ static void ath10k_bss_info_changed(stru
|
||||
struct cfg80211_chan_def def;
|
||||
u32 vdev_param, pdev_param, slottime, preamble;
|
||||
u16 bitrate, hw_value;
|
||||
@@ -28,7 +28,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
|
||||
enum nl80211_band band;
|
||||
const struct ieee80211_supported_band *sband;
|
||||
|
||||
@@ -5672,7 +5672,11 @@ static void ath10k_bss_info_changed(stru
|
||||
@@ -5675,7 +5675,11 @@ static void ath10k_bss_info_changed(stru
|
||||
if (changed & BSS_CHANGED_MCAST_RATE &&
|
||||
!ath10k_mac_vif_chan(arvif->vif, &def)) {
|
||||
band = def.chan->band;
|
||||
|
||||
@@ -39,7 +39,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
num = 0;
|
||||
|
||||
/* Validate all the subframe headers */
|
||||
@@ -3426,7 +3425,6 @@ static int brcmf_sdio_bus_preinit(struct
|
||||
@@ -3428,7 +3427,6 @@ static int brcmf_sdio_bus_preinit(struct
|
||||
struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
|
||||
struct brcmf_sdio *bus = sdiodev->bus;
|
||||
struct brcmf_core *core = bus->sdio_core;
|
||||
@@ -47,7 +47,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
u32 value;
|
||||
int err;
|
||||
|
||||
@@ -3467,7 +3465,6 @@ static int brcmf_sdio_bus_preinit(struct
|
||||
@@ -3469,7 +3467,6 @@ static int brcmf_sdio_bus_preinit(struct
|
||||
if (sdiodev->sg_support) {
|
||||
bus->txglom = false;
|
||||
value = 1;
|
||||
|
||||
@@ -67,7 +67,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
fwreq->bus_nr = devinfo->pdev->bus->number;
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
@@ -4213,6 +4213,7 @@ brcmf_sdio_prepare_fw_request(struct brc
|
||||
@@ -4219,6 +4219,7 @@ brcmf_sdio_prepare_fw_request(struct brc
|
||||
|
||||
fwreq->items[BRCMF_SDIO_FW_CODE].type = BRCMF_FW_TYPE_BINARY;
|
||||
fwreq->items[BRCMF_SDIO_FW_NVRAM].type = BRCMF_FW_TYPE_NVRAM;
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
int credits_borrowed[BRCMF_FWS_FIFO_AC_VO + 1];
|
||||
int deq_node_pos[BRCMF_FWS_FIFO_COUNT];
|
||||
u32 fifo_credit_map;
|
||||
@@ -1241,6 +1242,9 @@ static void brcmf_fws_return_credits(str
|
||||
@@ -1245,6 +1246,9 @@ static void brcmf_fws_return_credits(str
|
||||
}
|
||||
|
||||
fws->fifo_credit[fifo] += credits;
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
}
|
||||
|
||||
static void brcmf_fws_schedule_deq(struct brcmf_fws_info *fws)
|
||||
@@ -1599,19 +1603,21 @@ static int brcmf_fws_notify_credit_map(s
|
||||
@@ -1603,19 +1607,21 @@ static int brcmf_fws_notify_credit_map(s
|
||||
brcmf_err("event payload too small (%d)\n", e->datalen);
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -63,7 +63,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
}
|
||||
brcmf_fws_schedule_deq(fws);
|
||||
brcmf_fws_unlock(fws);
|
||||
@@ -2017,7 +2023,7 @@ static int brcmf_fws_borrow_credit(struc
|
||||
@@ -2021,7 +2027,7 @@ static int brcmf_fws_borrow_credit(struc
|
||||
}
|
||||
|
||||
for (lender_ac = 0; lender_ac <= BRCMF_FWS_FIFO_AC_VO; lender_ac++) {
|
||||
@@ -72,7 +72,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
fws->credits_borrowed[lender_ac]++;
|
||||
fws->fifo_credit[lender_ac]--;
|
||||
if (fws->fifo_credit[lender_ac] == 0)
|
||||
@@ -2216,8 +2222,9 @@ static void brcmf_fws_dequeue_worker(str
|
||||
@@ -2220,8 +2226,9 @@ static void brcmf_fws_dequeue_worker(str
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -84,7 +84,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
skb = brcmf_fws_deq(fws, fifo);
|
||||
if (!skb)
|
||||
break;
|
||||
@@ -2228,7 +2235,7 @@ static void brcmf_fws_dequeue_worker(str
|
||||
@@ -2232,7 +2239,7 @@ static void brcmf_fws_dequeue_worker(str
|
||||
break;
|
||||
}
|
||||
if ((fifo == BRCMF_FWS_FIFO_AC_BE) &&
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
@@ -1459,9 +1459,10 @@ static int brcmf_fws_txstatus_suppressed
|
||||
@@ -1463,9 +1463,10 @@ static int brcmf_fws_txstatus_suppressed
|
||||
|
||||
static int
|
||||
brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot,
|
||||
@@ -30,7 +30,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
int ret;
|
||||
bool remove_from_hanger = true;
|
||||
struct sk_buff *skb;
|
||||
@@ -1472,60 +1473,71 @@ brcmf_fws_txs_process(struct brcmf_fws_i
|
||||
@@ -1476,60 +1477,71 @@ brcmf_fws_txs_process(struct brcmf_fws_i
|
||||
brcmf_dbg(DATA, "flags %d\n", flags);
|
||||
|
||||
if (flags == BRCMF_FWS_TXSTATUS_DISCARD)
|
||||
@@ -144,7 +144,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1551,7 +1563,8 @@ static int brcmf_fws_fifocreditback_indi
|
||||
@@ -1555,7 +1567,8 @@ static int brcmf_fws_fifocreditback_indi
|
||||
return BRCMF_FWS_RET_OK_SCHEDULE;
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
{
|
||||
__le32 status_le;
|
||||
__le16 seq_le;
|
||||
@@ -1560,23 +1573,31 @@ static int brcmf_fws_txstatus_indicate(s
|
||||
@@ -1564,23 +1577,31 @@ static int brcmf_fws_txstatus_indicate(s
|
||||
u32 genbit;
|
||||
u8 flags;
|
||||
u16 seq;
|
||||
@@ -189,7 +189,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
brcmf_fws_unlock(fws);
|
||||
return BRCMF_FWS_RET_OK_NOSCHEDULE;
|
||||
}
|
||||
@@ -1892,8 +1913,6 @@ void brcmf_fws_hdrpull(struct brcmf_if *
|
||||
@@ -1896,8 +1917,6 @@ void brcmf_fws_hdrpull(struct brcmf_if *
|
||||
|
||||
err = BRCMF_FWS_RET_OK_NOSCHEDULE;
|
||||
switch (type) {
|
||||
@@ -198,7 +198,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
case BRCMF_FWS_TYPE_HOST_REORDER_RXPKTS:
|
||||
rd = (struct brcmf_skb_reorder_data *)skb->cb;
|
||||
rd->reorder = data;
|
||||
@@ -1916,7 +1935,8 @@ void brcmf_fws_hdrpull(struct brcmf_if *
|
||||
@@ -1920,7 +1939,8 @@ void brcmf_fws_hdrpull(struct brcmf_if *
|
||||
err = brcmf_fws_request_indicate(fws, type, data);
|
||||
break;
|
||||
case BRCMF_FWS_TYPE_TXSTATUS:
|
||||
@@ -208,7 +208,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
break;
|
||||
case BRCMF_FWS_TYPE_FIFO_CREDITBACK:
|
||||
err = brcmf_fws_fifocreditback_indicate(fws, data);
|
||||
@@ -2005,7 +2025,7 @@ static void brcmf_fws_rollback_toq(struc
|
||||
@@ -2009,7 +2029,7 @@ static void brcmf_fws_rollback_toq(struc
|
||||
fws->stats.rollback_failed++;
|
||||
hslot = brcmf_skb_htod_tag_get_field(skb, HSLOT);
|
||||
brcmf_fws_txs_process(fws, BRCMF_FWS_TXSTATUS_HOST_TOSSED,
|
||||
@@ -217,7 +217,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
} else {
|
||||
fws->stats.rollback_success++;
|
||||
brcmf_fws_return_credits(fws, fifo, 1);
|
||||
@@ -2476,7 +2496,8 @@ void brcmf_fws_bustxfail(struct brcmf_fw
|
||||
@@ -2480,7 +2500,8 @@ void brcmf_fws_bustxfail(struct brcmf_fw
|
||||
}
|
||||
brcmf_fws_lock(fws);
|
||||
hslot = brcmf_skb_htod_tag_get_field(skb, HSLOT);
|
||||
|
||||
@@ -100,7 +100,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
if (on) {
|
||||
/* device WAKEUP through KSO:
|
||||
* write bit 0 & read back until
|
||||
@@ -2414,6 +2424,14 @@ static int brcmf_sdio_tx_ctrlframe(struc
|
||||
@@ -2416,6 +2426,14 @@ static int brcmf_sdio_tx_ctrlframe(struc
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
static void brcmf_sdio_bus_stop(struct device *dev)
|
||||
{
|
||||
struct brcmf_bus *bus_if = dev_get_drvdata(dev);
|
||||
@@ -2421,7 +2439,7 @@ static void brcmf_sdio_bus_stop(struct d
|
||||
@@ -2423,7 +2441,7 @@ static void brcmf_sdio_bus_stop(struct d
|
||||
struct brcmf_sdio *bus = sdiodev->bus;
|
||||
struct brcmf_core *core = bus->sdio_core;
|
||||
u32 local_hostintmask;
|
||||
@@ -124,7 +124,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
int err;
|
||||
|
||||
brcmf_dbg(TRACE, "Enter\n");
|
||||
@@ -2448,9 +2466,14 @@ static void brcmf_sdio_bus_stop(struct d
|
||||
@@ -2450,9 +2468,14 @@ static void brcmf_sdio_bus_stop(struct d
|
||||
/* Force backplane clocks to assure F2 interrupt propagates */
|
||||
saveclk = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
|
||||
&err);
|
||||
@@ -142,7 +142,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
if (err)
|
||||
brcmf_err("Failed to force clock for F2: err %d\n",
|
||||
err);
|
||||
@@ -3343,20 +3366,45 @@ err:
|
||||
@@ -3345,20 +3368,45 @@ err:
|
||||
return bcmerror;
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, val, &err);
|
||||
if (err) {
|
||||
brcmf_err("error writing SBSDIO_FUNC1_WAKEUPCTRL\n");
|
||||
@@ -3365,8 +3413,7 @@ static void brcmf_sdio_sr_init(struct br
|
||||
@@ -3367,8 +3415,7 @@ static void brcmf_sdio_sr_init(struct br
|
||||
|
||||
/* Add CMD14 Support */
|
||||
brcmf_sdiod_func0_wb(bus->sdiodev, SDIO_CCCR_BRCM_CARDCAP,
|
||||
@@ -200,7 +200,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
&err);
|
||||
if (err) {
|
||||
brcmf_err("error writing SDIO_CCCR_BRCM_CARDCAP\n");
|
||||
@@ -3374,7 +3421,7 @@ static void brcmf_sdio_sr_init(struct br
|
||||
@@ -3376,7 +3423,7 @@ static void brcmf_sdio_sr_init(struct br
|
||||
}
|
||||
|
||||
brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
|
||||
@@ -209,7 +209,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
if (err) {
|
||||
brcmf_err("error writing SBSDIO_FUNC1_CHIPCLKCSR\n");
|
||||
return;
|
||||
@@ -4065,7 +4112,7 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4071,7 +4118,7 @@ static void brcmf_sdio_firmware_callback
|
||||
const struct firmware *code;
|
||||
void *nvram;
|
||||
u32 nvram_len;
|
||||
@@ -218,7 +218,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
u8 devctl;
|
||||
|
||||
brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err);
|
||||
@@ -4099,8 +4146,11 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4105,8 +4152,11 @@ static void brcmf_sdio_firmware_callback
|
||||
/* Force clocks on backplane to be sure F2 interrupt propagates */
|
||||
saveclk = brcmf_sdiod_readb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR, &err);
|
||||
if (!err) {
|
||||
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
@@ -4187,6 +4188,17 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4193,6 +4194,17 @@ static void brcmf_sdio_firmware_callback
|
||||
CY_4373_F2_WATERMARK |
|
||||
SBSDIO_MESBUSYCTRL_ENAB, &err);
|
||||
break;
|
||||
|
||||
@@ -30,7 +30,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
@@ -3369,7 +3369,11 @@ err:
|
||||
@@ -3371,7 +3371,11 @@ err:
|
||||
|
||||
static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
@@ -3011,21 +3011,35 @@ static int brcmf_sdio_trap_info(struct s
|
||||
@@ -3013,21 +3013,35 @@ static int brcmf_sdio_trap_info(struct s
|
||||
if (error < 0)
|
||||
return error;
|
||||
|
||||
@@ -69,7 +69,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3079,8 +3093,10 @@ static int brcmf_sdio_checkdied(struct b
|
||||
@@ -3081,8 +3095,10 @@ static int brcmf_sdio_checkdied(struct b
|
||||
else if (sh.flags & SDPCM_SHARED_ASSERT)
|
||||
brcmf_err("assertion in dongle\n");
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -4211,7 +4227,7 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4217,7 +4233,7 @@ static void brcmf_sdio_firmware_callback
|
||||
} else {
|
||||
/* Disable F2 again */
|
||||
sdio_disable_func(sdiod->func2);
|
||||
@@ -90,7 +90,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
}
|
||||
|
||||
if (brcmf_chip_sr_capable(bus->ci)) {
|
||||
@@ -4232,8 +4248,10 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4238,8 +4254,10 @@ static void brcmf_sdio_firmware_callback
|
||||
}
|
||||
|
||||
/* If we didn't come up, turn off backplane clock */
|
||||
@@ -102,7 +102,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
sdio_release_host(sdiod->func1);
|
||||
|
||||
@@ -4247,12 +4265,15 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4253,12 +4271,15 @@ static void brcmf_sdio_firmware_callback
|
||||
err = brcmf_attach(sdiod->dev, sdiod->settings);
|
||||
if (err != 0) {
|
||||
brcmf_err("brcmf_attach failed\n");
|
||||
|
||||
@@ -690,7 +690,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
ifp->bsscfgidx, name, len);
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
@@ -1259,6 +1259,7 @@ static int brcmf_fws_enq(struct brcmf_fw
|
||||
@@ -1263,6 +1263,7 @@ static int brcmf_fws_enq(struct brcmf_fw
|
||||
enum brcmf_fws_skb_state state, int fifo,
|
||||
struct sk_buff *p)
|
||||
{
|
||||
@@ -698,7 +698,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
int prec = 2 * fifo;
|
||||
u32 *qfull_stat = &fws->stats.delayq_full_error;
|
||||
struct brcmf_fws_mac_descriptor *entry;
|
||||
@@ -1271,7 +1272,7 @@ static int brcmf_fws_enq(struct brcmf_fw
|
||||
@@ -1275,7 +1276,7 @@ static int brcmf_fws_enq(struct brcmf_fw
|
||||
|
||||
entry = brcmf_skbcb(p)->mac;
|
||||
if (entry == NULL) {
|
||||
@@ -707,7 +707,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
@@ -1461,6 +1462,7 @@ static int
|
||||
@@ -1465,6 +1466,7 @@ static int
|
||||
brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot,
|
||||
u32 genbit, u16 seq, u8 compcnt)
|
||||
{
|
||||
@@ -715,7 +715,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
u32 fifo;
|
||||
u8 cnt = 0;
|
||||
int ret;
|
||||
@@ -1485,14 +1487,14 @@ brcmf_fws_txs_process(struct brcmf_fws_i
|
||||
@@ -1489,14 +1491,14 @@ brcmf_fws_txs_process(struct brcmf_fws_i
|
||||
else if (flags == BRCMF_FWS_TXSTATUS_HOST_TOSSED)
|
||||
fws->stats.txs_host_tossed += compcnt;
|
||||
else
|
||||
@@ -733,7 +733,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
goto cont;
|
||||
}
|
||||
|
||||
@@ -1616,12 +1618,13 @@ static int brcmf_fws_notify_credit_map(s
|
||||
@@ -1620,12 +1622,13 @@ static int brcmf_fws_notify_credit_map(s
|
||||
const struct brcmf_event_msg *e,
|
||||
void *data)
|
||||
{
|
||||
@@ -749,7 +749,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -1685,6 +1688,7 @@ static void brcmf_rxreorder_get_skb_list
|
||||
@@ -1689,6 +1692,7 @@ static void brcmf_rxreorder_get_skb_list
|
||||
|
||||
void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt)
|
||||
{
|
||||
@@ -757,7 +757,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
u8 *reorder_data;
|
||||
u8 flow_id, max_idx, cur_idx, exp_idx, end_idx;
|
||||
struct brcmf_ampdu_rx_reorder *rfi;
|
||||
@@ -1699,7 +1703,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
|
||||
@@ -1703,7 +1707,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
|
||||
|
||||
/* validate flags and flow id */
|
||||
if (flags == 0xFF) {
|
||||
@@ -766,7 +766,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
brcmf_netif_rx(ifp, pkt);
|
||||
return;
|
||||
}
|
||||
@@ -1736,7 +1740,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
|
||||
@@ -1740,7 +1744,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
|
||||
flow_id, max_idx);
|
||||
rfi = kzalloc(buf_size, GFP_ATOMIC);
|
||||
if (rfi == NULL) {
|
||||
@@ -775,7 +775,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
brcmf_netif_rx(ifp, pkt);
|
||||
return;
|
||||
}
|
||||
@@ -2000,6 +2004,7 @@ static u8 brcmf_fws_precommit_skb(struct
|
||||
@@ -2004,6 +2008,7 @@ static u8 brcmf_fws_precommit_skb(struct
|
||||
static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws,
|
||||
struct sk_buff *skb, int fifo)
|
||||
{
|
||||
@@ -783,7 +783,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
struct brcmf_fws_mac_descriptor *entry;
|
||||
struct sk_buff *pktout;
|
||||
int qidx, hslot;
|
||||
@@ -2013,11 +2018,11 @@ static void brcmf_fws_rollback_toq(struc
|
||||
@@ -2017,11 +2022,11 @@ static void brcmf_fws_rollback_toq(struc
|
||||
|
||||
pktout = brcmu_pktq_penq_head(&entry->psq, qidx, skb);
|
||||
if (pktout == NULL) {
|
||||
@@ -797,7 +797,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
rc = -ENOENT;
|
||||
}
|
||||
|
||||
@@ -2122,7 +2127,8 @@ static int brcmf_fws_assign_htod(struct
|
||||
@@ -2126,7 +2131,8 @@ static int brcmf_fws_assign_htod(struct
|
||||
|
||||
int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
|
||||
{
|
||||
@@ -807,7 +807,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
struct brcmf_skbuff_cb *skcb = brcmf_skbcb(skb);
|
||||
struct ethhdr *eh = (struct ethhdr *)(skb->data);
|
||||
int fifo = BRCMF_FWS_FIFO_BCMC;
|
||||
@@ -2150,7 +2156,7 @@ int brcmf_fws_process_skb(struct brcmf_i
|
||||
@@ -2154,7 +2160,7 @@ int brcmf_fws_process_skb(struct brcmf_i
|
||||
brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb);
|
||||
brcmf_fws_schedule_deq(fws);
|
||||
} else {
|
||||
@@ -816,7 +816,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
brcmf_txfinalize(ifp, skb, false);
|
||||
rc = -ENOMEM;
|
||||
}
|
||||
@@ -2371,7 +2377,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
@@ -2375,7 +2381,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
|
||||
fws->fws_wq = create_singlethread_workqueue("brcmf_fws_wq");
|
||||
if (fws->fws_wq == NULL) {
|
||||
@@ -825,7 +825,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
rc = -EBADF;
|
||||
goto fail;
|
||||
}
|
||||
@@ -2387,13 +2393,13 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
@@ -2391,13 +2397,13 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
rc = brcmf_fweh_register(drvr, BRCMF_E_FIFO_CREDIT_MAP,
|
||||
brcmf_fws_notify_credit_map);
|
||||
if (rc < 0) {
|
||||
@@ -841,7 +841,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
brcmf_fweh_unregister(drvr, BRCMF_E_FIFO_CREDIT_MAP);
|
||||
goto fail;
|
||||
}
|
||||
@@ -2405,7 +2411,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
@@ -2409,7 +2415,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
fws->fw_signals = true;
|
||||
ifp = brcmf_get_ifp(drvr, 0);
|
||||
if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) {
|
||||
|
||||
@@ -85,7 +85,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
wiphy_free(drvr->wiphy);
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
@@ -2432,25 +2432,17 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
@@ -2436,25 +2436,17 @@ struct brcmf_fws_info *brcmf_fws_attach(
|
||||
return fws;
|
||||
|
||||
fail:
|
||||
|
||||
@@ -153,7 +153,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
kfree(bus->msgbuf->flowrings);
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
@@ -4252,17 +4252,26 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4258,17 +4258,26 @@ static void brcmf_sdio_firmware_callback
|
||||
sdiod->bus_if->chip = bus->ci->chip;
|
||||
sdiod->bus_if->chiprev = bus->ci->chiprev;
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
@@ -4210,6 +4212,19 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4216,6 +4218,19 @@ static void brcmf_sdio_firmware_callback
|
||||
brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl,
|
||||
&err);
|
||||
break;
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
|
||||
@@ -908,7 +908,7 @@ static u8 brcmf_fws_hdrpush(struct brcmf
|
||||
@@ -912,7 +912,7 @@ static u8 brcmf_fws_hdrpush(struct brcmf
|
||||
wlh += wlh[1] + 2;
|
||||
|
||||
if (entry->send_tim_signal) {
|
||||
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
|
||||
@@ -4247,6 +4247,12 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4253,6 +4253,12 @@ static void brcmf_sdio_firmware_callback
|
||||
}
|
||||
|
||||
if (err == 0) {
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||
/* Allow full data communication using DPC from now on. */
|
||||
brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA);
|
||||
|
||||
@@ -4263,12 +4269,6 @@ static void brcmf_sdio_firmware_callback
|
||||
@@ -4269,12 +4275,6 @@ static void brcmf_sdio_firmware_callback
|
||||
|
||||
sdio_release_host(sdiod->func1);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects
|
||||
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -1067,7 +1067,6 @@ static int ieee80211_stop_ap(struct wiph
|
||||
@@ -1068,7 +1068,6 @@ static int ieee80211_stop_ap(struct wiph
|
||||
sdata->u.ap.driver_smps_mode = IEEE80211_SMPS_OFF;
|
||||
|
||||
__sta_info_flush(sdata, true);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3822,6 +3822,12 @@ out:
|
||||
@@ -3833,6 +3833,12 @@ out:
|
||||
netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
|
||||
struct net_device *dev)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -2188,7 +2188,7 @@ static int ieee80211_scan(struct wiphy *
|
||||
@@ -2190,7 +2190,7 @@ static int ieee80211_scan(struct wiphy *
|
||||
* the frames sent while scanning on other channel will be
|
||||
* lost)
|
||||
*/
|
||||
|
||||
@@ -100,7 +100,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
(unsigned long) local);
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3487,13 +3487,19 @@ struct sk_buff *ieee80211_tx_dequeue(str
|
||||
@@ -3498,13 +3498,19 @@ struct sk_buff *ieee80211_tx_dequeue(str
|
||||
struct ieee80211_tx_info *info;
|
||||
struct ieee80211_tx_data tx;
|
||||
ieee80211_tx_result r;
|
||||
@@ -122,7 +122,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
/* Make sure fragments stay together. */
|
||||
skb = __skb_dequeue(&txqi->frags);
|
||||
if (skb)
|
||||
@@ -3606,6 +3612,7 @@ begin:
|
||||
@@ -3617,6 +3623,7 @@ begin:
|
||||
}
|
||||
|
||||
IEEE80211_SKB_CB(skb)->control.vif = vif;
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Chaitanya TK <chaitanya.mgit@gmail.com>
|
||||
|
||||
--- a/include/linux/ieee80211.h
|
||||
+++ b/include/linux/ieee80211.h
|
||||
@@ -1659,6 +1659,7 @@ struct ieee80211_mu_edca_param_set {
|
||||
@@ -1668,6 +1668,7 @@ struct ieee80211_mu_edca_param_set {
|
||||
#define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300
|
||||
#define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400
|
||||
#define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/rc80211_minstrel.c
|
||||
+++ b/net/mac80211/rc80211_minstrel.c
|
||||
@@ -689,8 +689,8 @@ minstrel_alloc(struct ieee80211_hw *hw,
|
||||
@@ -672,8 +672,8 @@ minstrel_alloc(struct ieee80211_hw *hw,
|
||||
|
||||
#ifdef CPTCFG_MAC80211_DEBUGFS
|
||||
mp->fixed_rate_idx = (u32) -1;
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
|
||||
minstrel_init_cck_rates(mp);
|
||||
@@ -701,9 +701,6 @@ minstrel_alloc(struct ieee80211_hw *hw,
|
||||
@@ -684,9 +684,6 @@ minstrel_alloc(struct ieee80211_hw *hw,
|
||||
static void
|
||||
minstrel_free(void *priv)
|
||||
{
|
||||
@@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
kfree(priv);
|
||||
}
|
||||
|
||||
@@ -735,7 +732,6 @@ const struct rate_control_ops mac80211_m
|
||||
@@ -718,7 +715,6 @@ const struct rate_control_ops mac80211_m
|
||||
.free_sta = minstrel_free_sta,
|
||||
#ifdef CPTCFG_MAC80211_DEBUGFS
|
||||
.add_sta_debugfs = minstrel_add_sta_debugfs,
|
||||
@@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
};
|
||||
--- a/net/mac80211/rc80211_minstrel.h
|
||||
+++ b/net/mac80211/rc80211_minstrel.h
|
||||
@@ -109,11 +109,6 @@ struct minstrel_sta_info {
|
||||
@@ -108,11 +108,6 @@ struct minstrel_sta_info {
|
||||
|
||||
/* sampling table */
|
||||
u8 *sample_table;
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
};
|
||||
|
||||
struct minstrel_priv {
|
||||
@@ -137,7 +132,6 @@ struct minstrel_priv {
|
||||
@@ -136,7 +131,6 @@ struct minstrel_priv {
|
||||
* - setting will be applied on next update
|
||||
*/
|
||||
u32 fixed_rate_idx;
|
||||
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -156,7 +150,6 @@ minstrel_get_ewmsd10(struct minstrel_rat
|
||||
@@ -155,7 +149,6 @@ minstrel_get_ewmsd10(struct minstrel_rat
|
||||
|
||||
extern const struct rate_control_ops mac80211_minstrel;
|
||||
void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir);
|
||||
|
||||
@@ -12,7 +12,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -719,6 +719,7 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -718,6 +718,7 @@ static void __ieee80211_tx_status(struct
|
||||
int rates_idx;
|
||||
bool send_to_cooked;
|
||||
bool acked;
|
||||
@@ -20,7 +20,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
struct ieee80211_bar *bar;
|
||||
int shift = 0;
|
||||
int tid = IEEE80211_NUM_TIDS;
|
||||
@@ -736,6 +737,8 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -735,6 +736,8 @@ static void __ieee80211_tx_status(struct
|
||||
clear_sta_flag(sta, WLAN_STA_SP);
|
||||
|
||||
acked = !!(info->flags & IEEE80211_TX_STAT_ACK);
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
/* mesh Peer Service Period support */
|
||||
if (ieee80211_vif_is_mesh(&sta->sdata->vif) &&
|
||||
@@ -800,12 +803,12 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -799,12 +802,12 @@ static void __ieee80211_tx_status(struct
|
||||
ieee80211_handle_filtered_frame(local, sta, skb);
|
||||
return;
|
||||
} else {
|
||||
@@ -44,7 +44,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
sta->status_stats.msdu_failed[tid]++;
|
||||
|
||||
sta->status_stats.msdu_retries[tid] +=
|
||||
@@ -826,7 +829,7 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -825,7 +828,7 @@ static void __ieee80211_tx_status(struct
|
||||
acked, info->status.tx_time);
|
||||
|
||||
if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) {
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
if (sta->status_stats.lost_packets)
|
||||
sta->status_stats.lost_packets = 0;
|
||||
|
||||
@@ -834,6 +837,8 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -833,6 +836,8 @@ static void __ieee80211_tx_status(struct
|
||||
if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
|
||||
sta->status_stats.last_tdls_pkt_time =
|
||||
jiffies;
|
||||
@@ -62,7 +62,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
} else {
|
||||
ieee80211_lost_packet(sta, info);
|
||||
}
|
||||
@@ -959,7 +964,7 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
@@ -958,7 +963,7 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
|
||||
sta = container_of(pubsta, struct sta_info, sta);
|
||||
|
||||
@@ -71,7 +71,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
sta->status_stats.retry_failed++;
|
||||
sta->status_stats.retry_count += retry_count;
|
||||
|
||||
@@ -974,6 +979,8 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
@@ -973,6 +978,8 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
sta->status_stats.last_tdls_pkt_time = jiffies;
|
||||
} else if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
|
||||
return;
|
||||
|
||||
@@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif /* IEEE80211_RATE_H */
|
||||
--- a/net/mac80211/rc80211_minstrel.c
|
||||
+++ b/net/mac80211/rc80211_minstrel.c
|
||||
@@ -572,138 +572,6 @@ minstrel_rate_init(void *priv, struct ie
|
||||
@@ -555,138 +555,6 @@ minstrel_rate_init(void *priv, struct ie
|
||||
minstrel_update_rates(mp, mi);
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static u32 minstrel_get_expected_throughput(void *priv_sta)
|
||||
{
|
||||
struct minstrel_sta_info *mi = priv_sta;
|
||||
@@ -722,28 +590,8 @@ static u32 minstrel_get_expected_through
|
||||
@@ -705,28 +573,8 @@ static u32 minstrel_get_expected_through
|
||||
}
|
||||
|
||||
const struct rate_control_ops mac80211_minstrel = {
|
||||
@@ -287,7 +287,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
-}
|
||||
--- a/net/mac80211/rc80211_minstrel.h
|
||||
+++ b/net/mac80211/rc80211_minstrel.h
|
||||
@@ -158,7 +158,5 @@ int minstrel_get_tp_avg(struct minstrel_
|
||||
@@ -157,7 +157,5 @@ int minstrel_get_tp_avg(struct minstrel_
|
||||
/* debugfs */
|
||||
int minstrel_stats_open(struct inode *inode, struct file *file);
|
||||
int minstrel_stats_csv_open(struct inode *inode, struct file *file);
|
||||
|
||||
@@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/rc80211_minstrel.h
|
||||
+++ b/net/mac80211/rc80211_minstrel.h
|
||||
@@ -114,6 +114,7 @@ struct minstrel_sta_info {
|
||||
@@ -113,6 +113,7 @@ struct minstrel_sta_info {
|
||||
struct minstrel_priv {
|
||||
struct ieee80211_hw *hw;
|
||||
bool has_mrr;
|
||||
|
||||
@@ -191,7 +191,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
--- a/net/mac80211/sta_info.c
|
||||
+++ b/net/mac80211/sta_info.c
|
||||
@@ -1249,7 +1249,7 @@ void ieee80211_sta_ps_deliver_wakeup(str
|
||||
@@ -1261,7 +1261,7 @@ void ieee80211_sta_ps_deliver_wakeup(str
|
||||
if (!txq_has_queue(sta->sta.txq[i]))
|
||||
continue;
|
||||
|
||||
@@ -229,7 +229,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -3620,6 +3624,60 @@ out:
|
||||
@@ -3631,6 +3635,60 @@ out:
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_tx_dequeue);
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -4709,6 +4710,11 @@ static int nl80211_send_station(struct s
|
||||
@@ -4715,6 +4716,11 @@ static int nl80211_send_station(struct s
|
||||
PUT_SINFO(PLID, plid, u16);
|
||||
PUT_SINFO(PLINK_STATE, plink_state, u8);
|
||||
PUT_SINFO_U64(RX_DURATION, rx_duration);
|
||||
@@ -168,7 +168,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
switch (rdev->wiphy.signal_type) {
|
||||
case CFG80211_SIGNAL_TYPE_MBM:
|
||||
@@ -5345,6 +5351,15 @@ static int nl80211_set_station(struct sk
|
||||
@@ -5351,6 +5357,15 @@ static int nl80211_set_station(struct sk
|
||||
nla_get_u8(info->attrs[NL80211_ATTR_OPMODE_NOTIF]);
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
/* Include parameters for TDLS peer (will check later) */
|
||||
err = nl80211_set_station_tdls(info, ¶ms);
|
||||
if (err)
|
||||
@@ -5483,6 +5498,15 @@ static int nl80211_new_station(struct sk
|
||||
@@ -5489,6 +5504,15 @@ static int nl80211_new_station(struct sk
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
* The values are not guaranteed to be coherent with regard to each other, i.e.
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -1390,6 +1390,9 @@ static int sta_apply_parameters(struct i
|
||||
@@ -1391,6 +1391,9 @@ static int sta_apply_parameters(struct i
|
||||
if (ieee80211_vif_is_mesh(&sdata->vif))
|
||||
sta_apply_mesh_params(local, sta, params);
|
||||
|
||||
@@ -289,7 +289,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -381,9 +378,12 @@ struct sta_info *sta_info_alloc(struct i
|
||||
@@ -399,9 +396,12 @@ struct sta_info *sta_info_alloc(struct i
|
||||
if (sta_prepare_rate_control(local, sta, gfp))
|
||||
goto free_txq;
|
||||
|
||||
@@ -302,7 +302,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
}
|
||||
|
||||
for (i = 0; i < IEEE80211_NUM_TIDS; i++)
|
||||
@@ -1826,6 +1826,27 @@ void ieee80211_sta_set_buffered(struct i
|
||||
@@ -1838,6 +1838,27 @@ void ieee80211_sta_set_buffered(struct i
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_sta_set_buffered);
|
||||
|
||||
@@ -330,7 +330,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
int sta_info_move_state(struct sta_info *sta,
|
||||
enum ieee80211_sta_state new_state)
|
||||
{
|
||||
@@ -2192,6 +2213,23 @@ void sta_set_sinfo(struct sta_info *sta,
|
||||
@@ -2208,6 +2229,23 @@ void sta_set_sinfo(struct sta_info *sta,
|
||||
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_FAILED);
|
||||
}
|
||||
|
||||
@@ -385,7 +385,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
*/
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -828,6 +828,12 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -827,6 +827,12 @@ static void __ieee80211_tx_status(struct
|
||||
ieee80211_sta_tx_notify(sta->sdata, (void *) skb->data,
|
||||
acked, info->status.tx_time);
|
||||
|
||||
@@ -412,7 +412,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]);
|
||||
list_del_init(&txqi->schedule_order);
|
||||
spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]);
|
||||
@@ -3631,11 +3634,28 @@ struct ieee80211_txq *ieee80211_next_txq
|
||||
@@ -3642,11 +3645,28 @@ struct ieee80211_txq *ieee80211_next_txq
|
||||
|
||||
lockdep_assert_held(&local->active_txq_lock[ac]);
|
||||
|
||||
@@ -442,7 +442,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
return NULL;
|
||||
|
||||
list_del_init(&txqi->schedule_order);
|
||||
@@ -3653,12 +3673,74 @@ void ieee80211_return_txq(struct ieee802
|
||||
@@ -3664,12 +3684,74 @@ void ieee80211_return_txq(struct ieee802
|
||||
lockdep_assert_held(&local->active_txq_lock[txq->ac]);
|
||||
|
||||
if (list_empty(&txqi->schedule_order) &&
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3693,6 +3693,19 @@ void ieee80211_return_txq(struct ieee802
|
||||
@@ -3704,6 +3704,19 @@ void ieee80211_return_txq(struct ieee802
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_return_txq);
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (likely(sta)) {
|
||||
if (!IS_ERR(sta))
|
||||
tx->sta = sta;
|
||||
@@ -3525,6 +3525,7 @@ begin:
|
||||
@@ -3536,6 +3536,7 @@ begin:
|
||||
tx.local = local;
|
||||
tx.skb = skb;
|
||||
tx.sdata = vif_to_sdata(info->control.vif);
|
||||
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (txq->sta) {
|
||||
tx.sta = container_of(txq->sta, struct sta_info, sta);
|
||||
@@ -3569,7 +3570,7 @@ begin:
|
||||
@@ -3580,7 +3581,7 @@ begin:
|
||||
|
||||
if (tx.key &&
|
||||
(tx.key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV))
|
||||
@@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
ieee80211_xmit_fast_finish(sta->sdata, sta, pn_offs,
|
||||
tx.key, skb);
|
||||
@@ -4028,6 +4029,7 @@ ieee80211_build_data_template(struct iee
|
||||
@@ -4039,6 +4040,7 @@ ieee80211_build_data_template(struct iee
|
||||
hdr = (void *)skb->data;
|
||||
tx.sta = sta_info_get(sdata, hdr->addr1);
|
||||
tx.skb = skb;
|
||||
|
||||
@@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!(mshdr->flags & MESH_FLAGS_AE)) {
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -2597,7 +2597,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
@@ -2621,7 +2621,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
struct ieee80211_local *local = rx->local;
|
||||
struct ieee80211_sub_if_data *sdata = rx->sdata;
|
||||
struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
|
||||
@@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
int tailroom = 0;
|
||||
|
||||
hdr = (struct ieee80211_hdr *) skb->data;
|
||||
@@ -2690,7 +2690,9 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
@@ -2714,7 +2714,9 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
if (sdata->crypto_tx_tailroom_needed_cnt)
|
||||
tailroom = IEEE80211_ENCRYPT_TAILROOM;
|
||||
|
||||
@@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
sdata->encrypt_headroom,
|
||||
tailroom, GFP_ATOMIC);
|
||||
if (!fwd_skb)
|
||||
@@ -2722,6 +2724,12 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
@@ -2746,6 +2748,12 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
return RX_DROP_MONITOR;
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
struct rcu_head rcu_head;
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -515,6 +515,7 @@ static void ieee80211_report_used_skb(st
|
||||
@@ -514,6 +514,7 @@ static void ieee80211_report_used_skb(st
|
||||
{
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_hdr *hdr = (void *)skb->data;
|
||||
@@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
bool acked = info->flags & IEEE80211_TX_STAT_ACK;
|
||||
|
||||
if (dropped)
|
||||
@@ -531,7 +532,7 @@ static void ieee80211_report_used_skb(st
|
||||
@@ -530,7 +531,7 @@ static void ieee80211_report_used_skb(st
|
||||
skb->dev = NULL;
|
||||
} else {
|
||||
unsigned int hdr_size =
|
||||
@@ -176,7 +176,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Check to see if packet is a TDLS teardown packet */
|
||||
if (ieee80211_is_data(hdr->frame_control) &&
|
||||
@@ -655,9 +656,22 @@ void ieee80211_tx_monitor(struct ieee802
|
||||
@@ -654,9 +655,22 @@ void ieee80211_tx_monitor(struct ieee802
|
||||
struct sk_buff *skb2;
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_sub_if_data *sdata;
|
||||
@@ -227,7 +227,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (likely(sta)) {
|
||||
if (!IS_ERR(sta))
|
||||
@@ -2222,7 +2221,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
|
||||
@@ -2233,7 +2232,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
|
||||
goto fail;
|
||||
|
||||
hdr = (struct ieee80211_hdr *)(skb->data + len_rthdr);
|
||||
@@ -236,7 +236,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (skb->len < len_rthdr + hdrlen)
|
||||
goto fail;
|
||||
@@ -2441,7 +2440,7 @@ static struct sk_buff *ieee80211_build_h
|
||||
@@ -2452,7 +2451,7 @@ static struct sk_buff *ieee80211_build_h
|
||||
struct ieee80211_chanctx_conf *chanctx_conf;
|
||||
struct ieee80211_sub_if_data *ap_sdata;
|
||||
enum nl80211_band band;
|
||||
@@ -245,7 +245,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (IS_ERR(sta))
|
||||
sta = NULL;
|
||||
@@ -2740,7 +2739,9 @@ static struct sk_buff *ieee80211_build_h
|
||||
@@ -2751,7 +2750,9 @@ static struct sk_buff *ieee80211_build_h
|
||||
}
|
||||
|
||||
skb_pull(skb, skip_header_bytes);
|
||||
@@ -255,7 +255,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* So we need to modify the skb header and hence need a copy of
|
||||
@@ -2773,6 +2774,9 @@ static struct sk_buff *ieee80211_build_h
|
||||
@@ -2784,6 +2785,9 @@ static struct sk_buff *ieee80211_build_h
|
||||
memcpy(skb_push(skb, meshhdrlen), &mesh_hdr, meshhdrlen);
|
||||
#endif
|
||||
|
||||
@@ -265,7 +265,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (ieee80211_is_data_qos(fc)) {
|
||||
__le16 *qos_control;
|
||||
|
||||
@@ -2949,6 +2953,8 @@ void ieee80211_check_fast_xmit(struct st
|
||||
@@ -2960,6 +2964,8 @@ void ieee80211_check_fast_xmit(struct st
|
||||
fc |= cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* We store the key here so there's no point in using rcu_dereference()
|
||||
* but that's fine because the code that changes the pointers will call
|
||||
* this function after doing so. For a single CPU that would be enough,
|
||||
@@ -3525,7 +3531,7 @@ begin:
|
||||
@@ -3536,7 +3542,7 @@ begin:
|
||||
tx.local = local;
|
||||
tx.skb = skb;
|
||||
tx.sdata = vif_to_sdata(info->control.vif);
|
||||
@@ -283,7 +283,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (txq->sta) {
|
||||
tx.sta = container_of(txq->sta, struct sta_info, sta);
|
||||
@@ -4029,7 +4035,7 @@ ieee80211_build_data_template(struct iee
|
||||
@@ -4040,7 +4046,7 @@ ieee80211_build_data_template(struct iee
|
||||
hdr = (void *)skb->data;
|
||||
tx.sta = sta_info_get(sdata, hdr->addr1);
|
||||
tx.skb = skb;
|
||||
|
||||
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
* ieee80211_txq_may_transmit - check whether TXQ is allowed to transmit
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3637,16 +3637,17 @@ EXPORT_SYMBOL(ieee80211_tx_dequeue);
|
||||
@@ -3648,16 +3648,17 @@ EXPORT_SYMBOL(ieee80211_tx_dequeue);
|
||||
struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac)
|
||||
{
|
||||
struct ieee80211_local *local = hw_to_local(hw);
|
||||
@@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (txqi->txq.sta) {
|
||||
struct sta_info *sta = container_of(txqi->txq.sta,
|
||||
@@ -3663,21 +3664,25 @@ struct ieee80211_txq *ieee80211_next_txq
|
||||
@@ -3674,21 +3675,25 @@ struct ieee80211_txq *ieee80211_next_txq
|
||||
|
||||
|
||||
if (txqi->schedule_round == local->schedule_round[ac])
|
||||
@@ -146,7 +146,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (list_empty(&txqi->schedule_order) &&
|
||||
(!skb_queue_empty(&txqi->frags) || txqi->tin.backlog_packets)) {
|
||||
@@ -3697,18 +3702,7 @@ void ieee80211_return_txq(struct ieee802
|
||||
@@ -3708,18 +3713,7 @@ void ieee80211_return_txq(struct ieee802
|
||||
list_add_tail(&txqi->schedule_order,
|
||||
&local->active_txqs[txq->ac]);
|
||||
}
|
||||
@@ -165,7 +165,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
spin_unlock_bh(&local->active_txq_lock[txq->ac]);
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_schedule_txq);
|
||||
@@ -3721,7 +3715,7 @@ bool ieee80211_txq_may_transmit(struct i
|
||||
@@ -3732,7 +3726,7 @@ bool ieee80211_txq_may_transmit(struct i
|
||||
struct sta_info *sta;
|
||||
u8 ac = txq->ac;
|
||||
|
||||
@@ -174,7 +174,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (!txqi->txq.sta)
|
||||
goto out;
|
||||
@@ -3751,34 +3745,27 @@ bool ieee80211_txq_may_transmit(struct i
|
||||
@@ -3762,34 +3756,27 @@ bool ieee80211_txq_may_transmit(struct i
|
||||
|
||||
sta->airtime[ac].deficit += sta->airtime_weight;
|
||||
list_move_tail(&txqi->schedule_order, &local->active_txqs[ac]);
|
||||
|
||||
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/mesh_hwmp.c
|
||||
+++ b/net/mac80211/mesh_hwmp.c
|
||||
@@ -1115,16 +1115,13 @@ int mesh_nexthop_resolve(struct ieee8021
|
||||
@@ -1122,16 +1122,13 @@ int mesh_nexthop_resolve(struct ieee8021
|
||||
struct mesh_path *mpath;
|
||||
struct sk_buff *skb_to_free = NULL;
|
||||
u8 *target_addr = hdr->addr3;
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* no nexthop found, start resolving */
|
||||
mpath = mesh_path_lookup(sdata, target_addr);
|
||||
@@ -1132,8 +1129,7 @@ int mesh_nexthop_resolve(struct ieee8021
|
||||
@@ -1139,8 +1136,7 @@ int mesh_nexthop_resolve(struct ieee8021
|
||||
mpath = mesh_path_add(sdata, target_addr);
|
||||
if (IS_ERR(mpath)) {
|
||||
mesh_path_discard_frame(sdata, skb);
|
||||
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1147,13 +1143,10 @@ int mesh_nexthop_resolve(struct ieee8021
|
||||
@@ -1154,13 +1150,10 @@ int mesh_nexthop_resolve(struct ieee8021
|
||||
info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
|
||||
ieee80211_set_qos_hdr(sdata, skb);
|
||||
skb_queue_tail(&mpath->frame_queue, skb);
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1173,13 +1166,10 @@ int mesh_nexthop_lookup(struct ieee80211
|
||||
@@ -1180,13 +1173,10 @@ int mesh_nexthop_lookup(struct ieee80211
|
||||
struct sta_info *next_hop;
|
||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
|
||||
u8 *target_addr = hdr->addr3;
|
||||
@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (time_after(jiffies,
|
||||
mpath->exp_time -
|
||||
@@ -1194,12 +1184,10 @@ int mesh_nexthop_lookup(struct ieee80211
|
||||
@@ -1201,12 +1191,10 @@ int mesh_nexthop_lookup(struct ieee80211
|
||||
memcpy(hdr->addr1, next_hop->sta.addr, ETH_ALEN);
|
||||
memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
|
||||
ieee80211_mps_set_frame_flags(sdata, next_hop, hdr);
|
||||
|
||||
@@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
schedule_and_wake_txq(local, txqi);
|
||||
|
||||
@@ -3200,6 +3201,7 @@ static bool ieee80211_amsdu_aggregate(st
|
||||
@@ -3211,6 +3212,7 @@ static bool ieee80211_amsdu_aggregate(st
|
||||
u8 max_subframes = sta->sta.max_amsdu_subframes;
|
||||
int max_frags = local->hw.max_tx_fragments;
|
||||
int max_amsdu_len = sta->sta.max_amsdu_len;
|
||||
@@ -119,7 +119,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
int orig_truesize;
|
||||
__be16 len;
|
||||
void *data;
|
||||
@@ -3222,6 +3224,8 @@ static bool ieee80211_amsdu_aggregate(st
|
||||
@@ -3233,6 +3235,8 @@ static bool ieee80211_amsdu_aggregate(st
|
||||
max_amsdu_len = min_t(int, max_amsdu_len,
|
||||
sta->sta.max_rc_amsdu_len);
|
||||
|
||||
@@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
spin_lock_bh(&fq->lock);
|
||||
|
||||
/* TODO: Ideally aggregation should be done on dequeue to remain
|
||||
@@ -3229,7 +3233,8 @@ static bool ieee80211_amsdu_aggregate(st
|
||||
@@ -3240,7 +3244,8 @@ static bool ieee80211_amsdu_aggregate(st
|
||||
*/
|
||||
|
||||
tin = &txqi->tin;
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3507,6 +3507,7 @@ struct sk_buff *ieee80211_tx_dequeue(str
|
||||
@@ -3518,6 +3518,7 @@ struct sk_buff *ieee80211_tx_dequeue(str
|
||||
ieee80211_tx_result r;
|
||||
struct ieee80211_vif *vif = txq->vif;
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
spin_lock_bh(&fq->lock);
|
||||
|
||||
if (test_bit(IEEE80211_TXQ_STOP, &txqi->flags) ||
|
||||
@@ -3523,11 +3524,12 @@ struct sk_buff *ieee80211_tx_dequeue(str
|
||||
@@ -3534,11 +3535,12 @@ struct sk_buff *ieee80211_tx_dequeue(str
|
||||
if (skb)
|
||||
goto out;
|
||||
|
||||
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
hdr = (struct ieee80211_hdr *)skb->data;
|
||||
info = IEEE80211_SKB_CB(skb);
|
||||
|
||||
@@ -3591,8 +3593,11 @@ begin:
|
||||
@@ -3602,8 +3604,11 @@ begin:
|
||||
|
||||
skb = __skb_dequeue(&tx.skbs);
|
||||
|
||||
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
if (skb && skb_has_frag_list(skb) &&
|
||||
@@ -3631,6 +3636,7 @@ begin:
|
||||
@@ -3642,6 +3647,7 @@ begin:
|
||||
}
|
||||
|
||||
IEEE80211_SKB_CB(skb)->control.vif = vif;
|
||||
|
||||
@@ -1,202 +0,0 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Sun, 17 Mar 2019 18:11:30 +0100
|
||||
Subject: [PATCH] mac80211: optimize skb resizing
|
||||
|
||||
When forwarding unicast packets from ethernet to batman-adv over 802.11s
|
||||
(with forwarding disabled), the typical required headroom to transmit
|
||||
encrypted packets on mt76 is 32 (802.11) + 6 (802.11s) + 8 (CCMP) +
|
||||
2 (padding) + 6 (LLC) + 18 (batman-adv) - 14 (old ethernet header) = 58 bytes.
|
||||
|
||||
On systems where NET_SKB_PAD is 64 this leads to a call to pskb_expand_head
|
||||
for every packet, since mac80211 also tries to allocate 16 bytes status
|
||||
headroom for radiotap headers.
|
||||
|
||||
This patch fixes these unnecessary reallocations by only requiring the extra
|
||||
status headroom in ieee80211_tx_monitor()
|
||||
If however a reallocation happens before that call, the status headroom gets
|
||||
added there as well, in order to avoid double reallocation.
|
||||
|
||||
The patch also cleans up the code by moving the headroom calculation to
|
||||
ieee80211_skb_resize.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/ieee80211_i.h
|
||||
+++ b/net/mac80211/ieee80211_i.h
|
||||
@@ -1762,6 +1762,9 @@ void ieee80211_clear_fast_xmit(struct st
|
||||
int ieee80211_tx_control_port(struct wiphy *wiphy, struct net_device *dev,
|
||||
const u8 *buf, size_t len,
|
||||
const u8 *dest, __be16 proto, bool unencrypted);
|
||||
+int ieee80211_skb_resize(struct ieee80211_local *local,
|
||||
+ struct ieee80211_sub_if_data *sdata,
|
||||
+ struct sk_buff *skb, int hdrlen, int hdr_add);
|
||||
|
||||
/* HT */
|
||||
void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata,
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -672,6 +672,11 @@ void ieee80211_tx_monitor(struct ieee802
|
||||
}
|
||||
}
|
||||
|
||||
+ if (ieee80211_skb_resize(local, NULL, skb, 0, 0)) {
|
||||
+ dev_kfree_skb(skb);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
/* send frame to monitor interfaces now */
|
||||
rtap_len = ieee80211_tx_radiotap_len(info);
|
||||
if (WARN_ON_ONCE(skb_headroom(skb) < rtap_len)) {
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -1914,37 +1914,53 @@ static bool ieee80211_tx(struct ieee8021
|
||||
}
|
||||
|
||||
/* device xmit handlers */
|
||||
-
|
||||
-static int ieee80211_skb_resize(struct ieee80211_sub_if_data *sdata,
|
||||
- struct sk_buff *skb,
|
||||
- int head_need, bool may_encrypt)
|
||||
+int ieee80211_skb_resize(struct ieee80211_local *local,
|
||||
+ struct ieee80211_sub_if_data *sdata,
|
||||
+ struct sk_buff *skb, int hdr_len, int hdr_extra)
|
||||
{
|
||||
- struct ieee80211_local *local = sdata->local;
|
||||
+ struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_hdr *hdr;
|
||||
- bool enc_tailroom;
|
||||
- int tail_need = 0;
|
||||
-
|
||||
- hdr = (struct ieee80211_hdr *) skb->data;
|
||||
- enc_tailroom = may_encrypt &&
|
||||
- (sdata->crypto_tx_tailroom_needed_cnt ||
|
||||
- ieee80211_is_mgmt(hdr->frame_control));
|
||||
-
|
||||
- if (enc_tailroom) {
|
||||
- tail_need = IEEE80211_ENCRYPT_TAILROOM;
|
||||
- tail_need -= skb_tailroom(skb);
|
||||
- tail_need = max_t(int, tail_need, 0);
|
||||
+ int head_need, head_max;
|
||||
+ int tail_need, tail_max;
|
||||
+ bool enc_tailroom = false;
|
||||
+
|
||||
+ if (sdata && !hdr_len &&
|
||||
+ !(info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT)) {
|
||||
+ hdr = (struct ieee80211_hdr *) skb->data;
|
||||
+ enc_tailroom = (sdata->crypto_tx_tailroom_needed_cnt ||
|
||||
+ ieee80211_is_mgmt(hdr->frame_control));
|
||||
+ hdr_len += sdata->encrypt_headroom;
|
||||
+ }
|
||||
+
|
||||
+ head_need = head_max = hdr_len;
|
||||
+ tail_need = tail_max = 0;
|
||||
+ if (!sdata) {
|
||||
+ head_need = head_max = local->tx_headroom;
|
||||
+ } else {
|
||||
+ head_max += hdr_extra;
|
||||
+ head_max += max_t(int, local->tx_headroom,
|
||||
+ local->hw.extra_tx_headroom);
|
||||
+ head_need += local->hw.extra_tx_headroom;
|
||||
+
|
||||
+ tail_max = IEEE80211_ENCRYPT_TAILROOM;
|
||||
+ if (enc_tailroom)
|
||||
+ tail_need = tail_max;
|
||||
}
|
||||
|
||||
if (skb_cloned(skb) &&
|
||||
(!ieee80211_hw_check(&local->hw, SUPPORTS_CLONED_SKBS) ||
|
||||
!skb_clone_writable(skb, ETH_HLEN) || enc_tailroom))
|
||||
I802_DEBUG_INC(local->tx_expand_skb_head_cloned);
|
||||
- else if (head_need || tail_need)
|
||||
+ else if (head_need > skb_headroom(skb) ||
|
||||
+ tail_need > skb_tailroom(skb))
|
||||
I802_DEBUG_INC(local->tx_expand_skb_head);
|
||||
else
|
||||
return 0;
|
||||
|
||||
- if (pskb_expand_head(skb, head_need, tail_need, GFP_ATOMIC)) {
|
||||
+ head_max = max_t(int, 0, head_max - skb_headroom(skb));
|
||||
+ tail_max = max_t(int, 0, tail_max - skb_tailroom(skb));
|
||||
+
|
||||
+ if (pskb_expand_head(skb, head_max, tail_max, GFP_ATOMIC)) {
|
||||
wiphy_debug(local->hw.wiphy,
|
||||
"failed to reallocate TX buffer\n");
|
||||
return -ENOMEM;
|
||||
@@ -1960,18 +1976,8 @@ void ieee80211_xmit(struct ieee80211_sub
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_hdr *hdr;
|
||||
- int headroom;
|
||||
- bool may_encrypt;
|
||||
-
|
||||
- may_encrypt = !(info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT);
|
||||
|
||||
- headroom = local->tx_headroom;
|
||||
- if (may_encrypt)
|
||||
- headroom += sdata->encrypt_headroom;
|
||||
- headroom -= skb_headroom(skb);
|
||||
- headroom = max_t(int, 0, headroom);
|
||||
-
|
||||
- if (ieee80211_skb_resize(sdata, skb, headroom, may_encrypt)) {
|
||||
+ if (ieee80211_skb_resize(local, sdata, skb, 0, 0)) {
|
||||
ieee80211_free_txskb(&local->hw, skb);
|
||||
return;
|
||||
}
|
||||
@@ -2741,30 +2747,14 @@ static struct sk_buff *ieee80211_build_h
|
||||
|
||||
skb_pull(skb, skip_header_bytes);
|
||||
padsize = ieee80211_hdr_padsize(&local->hw, hdrlen);
|
||||
- head_need = hdrlen + encaps_len + meshhdrlen - skb_headroom(skb);
|
||||
+ head_need = hdrlen + encaps_len + meshhdrlen;
|
||||
head_need += padsize;
|
||||
|
||||
- /*
|
||||
- * So we need to modify the skb header and hence need a copy of
|
||||
- * that. The head_need variable above doesn't, so far, include
|
||||
- * the needed header space that we don't need right away. If we
|
||||
- * can, then we don't reallocate right now but only after the
|
||||
- * frame arrives at the master device (if it does...)
|
||||
- *
|
||||
- * If we cannot, however, then we will reallocate to include all
|
||||
- * the ever needed space. Also, if we need to reallocate it anyway,
|
||||
- * make it big enough for everything we may ever need.
|
||||
- */
|
||||
-
|
||||
- if (head_need > 0 || skb_cloned(skb)) {
|
||||
- head_need += sdata->encrypt_headroom;
|
||||
- head_need += local->tx_headroom;
|
||||
- head_need = max_t(int, 0, head_need);
|
||||
- if (ieee80211_skb_resize(sdata, skb, head_need, true)) {
|
||||
- ieee80211_free_txskb(&local->hw, skb);
|
||||
- skb = NULL;
|
||||
- return ERR_PTR(-ENOMEM);
|
||||
- }
|
||||
+ if (ieee80211_skb_resize(local, sdata, skb, head_need,
|
||||
+ sdata->encrypt_headroom)) {
|
||||
+ ieee80211_free_txskb(&local->hw, skb);
|
||||
+ skb = NULL;
|
||||
+ return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
if (encaps_data)
|
||||
@@ -3377,7 +3367,6 @@ static bool ieee80211_xmit_fast(struct i
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
u16 ethertype = (skb->data[12] << 8) | skb->data[13];
|
||||
int extra_head = fast_tx->hdr_len - (ETH_HLEN - 2);
|
||||
- int hw_headroom = sdata->local->hw.extra_tx_headroom;
|
||||
struct ethhdr eth;
|
||||
struct ieee80211_tx_info *info;
|
||||
struct ieee80211_hdr *hdr = (void *)fast_tx->hdr;
|
||||
@@ -3429,10 +3418,7 @@ static bool ieee80211_xmit_fast(struct i
|
||||
* as the may-encrypt argument for the resize to not account for
|
||||
* more room than we already have in 'extra_head'
|
||||
*/
|
||||
- if (unlikely(ieee80211_skb_resize(sdata, skb,
|
||||
- max_t(int, extra_head + hw_headroom -
|
||||
- skb_headroom(skb), 0),
|
||||
- false))) {
|
||||
+ if (unlikely(ieee80211_skb_resize(local, sdata, skb, extra_head, 0))) {
|
||||
kfree_skb(skb);
|
||||
return true;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3673,8 +3673,9 @@ out:
|
||||
@@ -3698,8 +3698,9 @@ out:
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_next_txq);
|
||||
|
||||
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
{
|
||||
struct ieee80211_local *local = hw_to_local(hw);
|
||||
struct txq_info *txqi = to_txq_info(txq);
|
||||
@@ -3682,7 +3683,8 @@ void ieee80211_schedule_txq(struct ieee8
|
||||
@@ -3707,7 +3708,8 @@ void ieee80211_schedule_txq(struct ieee8
|
||||
spin_lock_bh(&local->active_txq_lock[txq->ac]);
|
||||
|
||||
if (list_empty(&txqi->schedule_order) &&
|
||||
@@ -94,7 +94,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* If airtime accounting is active, always enqueue STAs at the
|
||||
* head of the list to ensure that they only get moved to the
|
||||
* back by the airtime DRR scheduler once they have a negative
|
||||
@@ -3702,7 +3704,7 @@ void ieee80211_schedule_txq(struct ieee8
|
||||
@@ -3727,7 +3729,7 @@ void ieee80211_schedule_txq(struct ieee8
|
||||
|
||||
spin_unlock_bh(&local->active_txq_lock[txq->ac]);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -1508,7 +1508,15 @@ static void sta_ps_start(struct sta_info
|
||||
@@ -1507,7 +1507,15 @@ static void sta_ps_start(struct sta_info
|
||||
return;
|
||||
|
||||
for (tid = 0; tid < ARRAY_SIZE(sta->sta.txq); tid++) {
|
||||
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -3772,6 +3772,7 @@ void __ieee80211_subif_start_xmit(struct
|
||||
@@ -3797,6 +3797,7 @@ void __ieee80211_subif_start_xmit(struct
|
||||
u32 ctrl_flags)
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
struct sta_info *sta;
|
||||
struct sk_buff *next;
|
||||
|
||||
@@ -3785,7 +3786,15 @@ void __ieee80211_subif_start_xmit(struct
|
||||
@@ -3810,7 +3811,15 @@ void __ieee80211_subif_start_xmit(struct
|
||||
if (ieee80211_lookup_ra_sta(sdata, skb, &sta))
|
||||
goto out_free;
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/rc80211_minstrel.c
|
||||
+++ b/net/mac80211/rc80211_minstrel.c
|
||||
@@ -295,8 +295,7 @@ minstrel_tx_status(void *priv, struct ie
|
||||
if (mi->sample_deferred > 0)
|
||||
mi->sample_deferred--;
|
||||
@@ -289,8 +289,7 @@ minstrel_tx_status(void *priv, struct ie
|
||||
mi->r[ndx].stats.success += success;
|
||||
}
|
||||
|
||||
- if (time_after(jiffies, mi->last_stats_update +
|
||||
- (mp->update_interval * HZ) / 1000))
|
||||
|
||||
@@ -64,9 +64,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Sample less often below the 10% chance of success.
|
||||
* Sample less often above the 95% chance of success. */
|
||||
@@ -295,7 +299,8 @@ minstrel_tx_status(void *priv, struct ie
|
||||
if (mi->sample_deferred > 0)
|
||||
mi->sample_deferred--;
|
||||
@@ -289,7 +293,8 @@ minstrel_tx_status(void *priv, struct ie
|
||||
mi->r[ndx].stats.success += success;
|
||||
}
|
||||
|
||||
- if (time_after(jiffies, mi->last_stats_update + mp->update_interval))
|
||||
+ if (time_after(jiffies, mi->last_stats_update +
|
||||
@@ -149,7 +149,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* statistis of packet delivery probability
|
||||
* prob_ewma - exponential weighted moving average of prob
|
||||
* prob_ewmsd - exp. weighted moving standard deviation of prob */
|
||||
@@ -114,6 +166,7 @@ struct minstrel_sta_info {
|
||||
@@ -113,6 +165,7 @@ struct minstrel_sta_info {
|
||||
struct minstrel_priv {
|
||||
struct ieee80211_hw *hw;
|
||||
bool has_mrr;
|
||||
@@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
u32 sample_switch;
|
||||
unsigned int cw_min;
|
||||
unsigned int cw_max;
|
||||
@@ -153,7 +206,8 @@ extern const struct rate_control_ops mac
|
||||
@@ -152,7 +205,8 @@ extern const struct rate_control_ops mac
|
||||
void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir);
|
||||
|
||||
/* Recalculate success probabilities and counters for a given rate using EWMA */
|
||||
|
||||
@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
tmp_prob_rate = i;
|
||||
}
|
||||
}
|
||||
@@ -436,7 +436,7 @@ minstrel_get_rate(void *priv, struct iee
|
||||
@@ -418,7 +418,7 @@ minstrel_get_rate(void *priv, struct iee
|
||||
* has a probability of >95%, we shouldn't be attempting
|
||||
* to use it, as this only wastes precious airtime */
|
||||
if (!mrr_capable &&
|
||||
@@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
return;
|
||||
|
||||
mi->prev_sample = true;
|
||||
@@ -587,7 +587,7 @@ static u32 minstrel_get_expected_through
|
||||
@@ -570,7 +570,7 @@ static u32 minstrel_get_expected_through
|
||||
* computing cur_tp
|
||||
*/
|
||||
tmp_mrs = &mi->r[idx].stats;
|
||||
@@ -174,7 +174,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* maximum retry counts */
|
||||
u8 retry_count;
|
||||
u8 retry_count_rtscts;
|
||||
@@ -208,7 +205,7 @@ void minstrel_add_sta_debugfs(void *priv
|
||||
@@ -207,7 +204,7 @@ void minstrel_add_sta_debugfs(void *priv
|
||||
/* Recalculate success probabilities and counters for a given rate using EWMA */
|
||||
void minstrel_calc_rate_stats(struct minstrel_priv *mp,
|
||||
struct minstrel_rate_stats *mrs);
|
||||
|
||||
@@ -54,7 +54,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
}
|
||||
--- a/net/mac80211/ieee80211_i.h
|
||||
+++ b/net/mac80211/ieee80211_i.h
|
||||
@@ -2071,7 +2071,8 @@ void ieee80211_send_auth(struct ieee8021
|
||||
@@ -2068,7 +2068,8 @@ void ieee80211_send_auth(struct ieee8021
|
||||
const u8 *da, const u8 *key, u8 key_len, u8 key_idx,
|
||||
u32 tx_flags);
|
||||
void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
--- a/net/mac80211/sta_info.c
|
||||
+++ b/net/mac80211/sta_info.c
|
||||
@@ -322,6 +322,7 @@ struct sta_info *sta_info_alloc(struct i
|
||||
@@ -340,6 +340,7 @@ struct sta_info *sta_info_alloc(struct i
|
||||
INIT_WORK(&sta->drv_deliver_wk, sta_deliver_ps_frames);
|
||||
INIT_WORK(&sta->ampdu_mlme.work, ieee80211_ba_session_work);
|
||||
mutex_init(&sta->ampdu_mlme.mtx);
|
||||
|
||||
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__NL80211_SURVEY_INFO_AFTER_LAST,
|
||||
--- a/net/wireless/nl80211.c
|
||||
+++ b/net/wireless/nl80211.c
|
||||
@@ -8373,6 +8373,10 @@ static int nl80211_send_survey(struct sk
|
||||
@@ -8379,6 +8379,10 @@ static int nl80211_send_survey(struct sk
|
||||
nla_put_u64_64bit(msg, NL80211_SURVEY_INFO_TIME_SCAN,
|
||||
survey->time_scan, NL80211_SURVEY_INFO_PAD))
|
||||
goto nla_put_failure;
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -2456,6 +2456,19 @@ static int ieee80211_get_tx_power(struct
|
||||
@@ -2458,6 +2458,19 @@ static int ieee80211_get_tx_power(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
|
||||
const u8 *addr)
|
||||
{
|
||||
@@ -3845,6 +3858,7 @@ const struct cfg80211_ops mac80211_confi
|
||||
@@ -3847,6 +3860,7 @@ const struct cfg80211_ops mac80211_confi
|
||||
.set_wiphy_params = ieee80211_set_wiphy_params,
|
||||
.set_tx_power = ieee80211_set_tx_power,
|
||||
.get_tx_power = ieee80211_get_tx_power,
|
||||
@@ -137,7 +137,7 @@
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -2629,6 +2630,20 @@ static int nl80211_set_wiphy(struct sk_b
|
||||
@@ -2632,6 +2633,20 @@ static int nl80211_set_wiphy(struct sk_b
|
||||
if (result)
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2020-03-10
|
||||
PKG_SOURCE_VERSION:=08054d5ab1350fcb8563feb90e6ab7f8f4a0a1b7
|
||||
PKG_MIRROR_HASH:=b41a3cab1485c68befb1dcb4c1e426d41705db1b2a57851dafd6e8f75eeea3d7
|
||||
PKG_SOURCE_DATE:=2021-02-15
|
||||
PKG_SOURCE_VERSION:=5c768dec13389700ff3fa3d25083fb43d8e7adda
|
||||
PKG_MIRROR_HASH:=2ef0cf233bedc20e77c61cd6dd6085e162cce5c2719b5285bcdd8bf92ebf88eb
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
@@ -27,15 +27,15 @@ define Package/libnetfilter-queue
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+libmnl +libnfnetlink
|
||||
TITLE:=API to the in-kernel connection tracking queue infrastructure
|
||||
TITLE:=Userspace API to packets queued by kernel packet filter
|
||||
URL:=http://www.netfilter.org/projects/libnetfilter_queue/
|
||||
ABI_VERSION:=1
|
||||
endef
|
||||
|
||||
define Package/libnetfilter-queue/description
|
||||
libnetfilter_queue is a userspace library providing a programming
|
||||
interface (API) to the in-kernel connection tracking state table.
|
||||
This library is currently used by conntrack-tools.
|
||||
interface (API) to packets that have been queued by the kernel
|
||||
packet filter.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -D_GNU_SOURCE=1
|
||||
|
||||
@@ -5,9 +5,9 @@ PKG_RELEASE=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git
|
||||
PKG_MIRROR_HASH:=f3b5c23280016bbe4b825de81cd455507ca817f599c5cd9f888370d9a33f6c9e
|
||||
PKG_SOURCE_DATE:=2020-02-27
|
||||
PKG_SOURCE_VERSION:=7da66430de3fc235bfc6ebb0b85fb90ea246138d
|
||||
PKG_MIRROR_HASH:=3d58def8e415ceda8aacfd8453813d8bf2a05991c0df0c074744639ab04321ba
|
||||
PKG_SOURCE_DATE:=2020-05-25
|
||||
PKG_SOURCE_VERSION:=66195aee50424cbda0c2d858014e4cc58a2dc029
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mbedtls
|
||||
PKG_VERSION:=2.16.6
|
||||
PKG_VERSION:=2.16.9
|
||||
PKG_RELEASE:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-gpl.tgz
|
||||
PKG_SOURCE_URL:=https://tls.mbed.org/download/
|
||||
PKG_HASH:=80a484df42f32dbe95665cd4b18ce0dd14b6c67dfd561d36d1475802e41eb3ed
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=fc17ff7d8c11d08f23ae2800a18269408ad2c24ea6bb8b9363e41a01c2425697
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_LICENSE:=GPL-2.0+
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/include/mbedtls/config.h
|
||||
+++ b/include/mbedtls/config.h
|
||||
@@ -633,14 +633,14 @@
|
||||
@@ -692,14 +692,14 @@
|
||||
*
|
||||
* Enable Output Feedback mode (OFB) for symmetric ciphers.
|
||||
*/
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_CIPHER_NULL_CIPHER
|
||||
@@ -757,19 +757,19 @@
|
||||
@@ -816,19 +816,19 @@
|
||||
*
|
||||
* Comment macros to disable the curve and functions for it
|
||||
*/
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_ECP_NIST_OPTIM
|
||||
@@ -871,7 +871,7 @@
|
||||
@@ -952,7 +952,7 @@
|
||||
* See dhm.h for more details.
|
||||
*
|
||||
*/
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
||||
@@ -891,7 +891,7 @@
|
||||
@@ -972,7 +972,7 @@
|
||||
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
|
||||
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
|
||||
*/
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
|
||||
@@ -916,7 +916,7 @@
|
||||
@@ -997,7 +997,7 @@
|
||||
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
|
||||
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
|
||||
*/
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||
@@ -1050,7 +1050,7 @@
|
||||
@@ -1131,7 +1131,7 @@
|
||||
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
|
||||
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
|
||||
*/
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
||||
@@ -1074,7 +1074,7 @@
|
||||
@@ -1155,7 +1155,7 @@
|
||||
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
|
||||
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
|
||||
*/
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
|
||||
@@ -1178,7 +1178,7 @@
|
||||
@@ -1259,7 +1259,7 @@
|
||||
* This option is only useful if both MBEDTLS_SHA256_C and
|
||||
* MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used.
|
||||
*/
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_ENTROPY_NV_SEED
|
||||
@@ -1273,14 +1273,14 @@
|
||||
@@ -1354,14 +1354,14 @@
|
||||
* Uncomment this macro to disable the use of CRT in RSA.
|
||||
*
|
||||
*/
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SHA256_SMALLER
|
||||
@@ -1434,7 +1434,7 @@
|
||||
@@ -1515,7 +1515,7 @@
|
||||
* configuration of this extension).
|
||||
*
|
||||
*/
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
|
||||
@@ -1609,7 +1609,7 @@
|
||||
@@ -1690,7 +1690,7 @@
|
||||
*
|
||||
* Comment this macro to disable support for SSL session tickets
|
||||
*/
|
||||
@@ -135,7 +135,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SSL_EXPORT_KEYS
|
||||
@@ -1639,7 +1639,7 @@
|
||||
@@ -1720,7 +1720,7 @@
|
||||
*
|
||||
* Comment this macro to disable support for truncated HMAC in SSL
|
||||
*/
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
|
||||
@@ -1698,7 +1698,7 @@
|
||||
@@ -1779,7 +1779,7 @@
|
||||
*
|
||||
* Comment this to disable run-time checking and save ROM space
|
||||
*/
|
||||
@@ -153,7 +153,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
|
||||
@@ -2028,7 +2028,7 @@
|
||||
@@ -2109,7 +2109,7 @@
|
||||
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
|
||||
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
|
||||
*/
|
||||
@@ -162,7 +162,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_ARIA_C
|
||||
@@ -2094,7 +2094,7 @@
|
||||
@@ -2175,7 +2175,7 @@
|
||||
* This module enables the AES-CCM ciphersuites, if other requisites are
|
||||
* enabled as well.
|
||||
*/
|
||||
@@ -171,7 +171,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_CERTS_C
|
||||
@@ -2106,7 +2106,7 @@
|
||||
@@ -2187,7 +2187,7 @@
|
||||
*
|
||||
* This module is used for testing (ssl_client/server).
|
||||
*/
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_CHACHA20_C
|
||||
@@ -2214,7 +2214,7 @@
|
||||
@@ -2295,7 +2295,7 @@
|
||||
* \warning DES is considered a weak cipher and its use constitutes a
|
||||
* security risk. We recommend considering stronger ciphers instead.
|
||||
*/
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_DHM_C
|
||||
@@ -2377,7 +2377,7 @@
|
||||
@@ -2458,7 +2458,7 @@
|
||||
* This module adds support for the Hashed Message Authentication Code
|
||||
* (HMAC)-based key derivation function (HKDF).
|
||||
*/
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_HMAC_DRBG_C
|
||||
@@ -2687,7 +2687,7 @@
|
||||
@@ -2768,7 +2768,7 @@
|
||||
*
|
||||
* This module enables abstraction of common (libc) functions.
|
||||
*/
|
||||
@@ -207,7 +207,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_POLY1305_C
|
||||
@@ -2708,7 +2708,7 @@
|
||||
@@ -2789,7 +2789,7 @@
|
||||
* Caller: library/md.c
|
||||
*
|
||||
*/
|
||||
@@ -216,7 +216,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_RSA_C
|
||||
@@ -2815,7 +2815,7 @@
|
||||
@@ -2896,7 +2896,7 @@
|
||||
*
|
||||
* Requires: MBEDTLS_CIPHER_C
|
||||
*/
|
||||
@@ -225,7 +225,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SSL_CLI_C
|
||||
@@ -2915,7 +2915,7 @@
|
||||
@@ -2996,7 +2996,7 @@
|
||||
*
|
||||
* This module provides run-time version information.
|
||||
*/
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_X509_USE_C
|
||||
@@ -3025,7 +3025,7 @@
|
||||
@@ -3106,7 +3106,7 @@
|
||||
* Module: library/xtea.c
|
||||
* Caller:
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nghttp2
|
||||
PKG_VERSION:=1.39.2
|
||||
PKG_VERSION:=1.41.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/nghttp2/nghttp2/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=a2d216450abd2beaf4e200c168957968e89d602ca4119338b9d7ab059fd4ce8b
|
||||
PKG_HASH:=abc25b8dc601f5b3fefe084ce50fcbdc63e3385621bee0cbfa7b57f9ec3e67c2
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=openssl
|
||||
PKG_BASE:=1.1.1
|
||||
PKG_BUGFIX:=g
|
||||
PKG_BUGFIX:=i
|
||||
PKG_VERSION:=$(PKG_BASE)$(PKG_BUGFIX)
|
||||
PKG_RELEASE:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
@@ -24,7 +24,7 @@ PKG_SOURCE_URL:= \
|
||||
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \
|
||||
http://www.openssl.org/source/ \
|
||||
http://www.openssl.org/source/old/$(PKG_BASE)/
|
||||
PKG_HASH:=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
|
||||
PKG_HASH:=e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242
|
||||
|
||||
PKG_LICENSE:=OpenSSL
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
@@ -12,7 +12,7 @@ diff --git a/Configure b/Configure
|
||||
index 5a699836f3..74d057c219 100755
|
||||
--- a/Configure
|
||||
+++ b/Configure
|
||||
@@ -1532,7 +1532,9 @@ unless ($disabled{"crypto-mdebug-backtrace"})
|
||||
@@ -1545,7 +1545,9 @@ unless ($disabled{"crypto-mdebug-backtrace"})
|
||||
|
||||
unless ($disabled{afalgeng}) {
|
||||
$config{afalgeng}="";
|
||||
|
||||
@@ -11,7 +11,7 @@ diff --git a/Configure b/Configure
|
||||
index 74d057c219..5813e9f8fe 100755
|
||||
--- a/Configure
|
||||
+++ b/Configure
|
||||
@@ -296,7 +296,7 @@ my $auto_threads=1; # enable threads automatically? true by default
|
||||
@@ -318,7 +318,7 @@ my $auto_threads=1; # enable threads automatically? true by default
|
||||
my $default_ranlib;
|
||||
|
||||
# Top level directories to build
|
||||
@@ -20,7 +20,7 @@ index 74d057c219..5813e9f8fe 100755
|
||||
# crypto/ subdirectories to build
|
||||
$config{sdirs} = [
|
||||
"objects",
|
||||
@@ -308,7 +308,7 @@ $config{sdirs} = [
|
||||
@@ -330,7 +330,7 @@ $config{sdirs} = [
|
||||
"cms", "ts", "srp", "cmac", "ct", "async", "kdf", "store"
|
||||
];
|
||||
# test/ subdirectories to build
|
||||
|
||||
@@ -5,9 +5,9 @@ PKG_RELEASE=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uclient.git
|
||||
PKG_MIRROR_HASH:=b1127b28f98c9b45e046a76086b281b35c094fad1dc511ce0af095b733c86359
|
||||
PKG_SOURCE_DATE:=2019-05-30
|
||||
PKG_SOURCE_VERSION:=3b3e368dead01979e985cb167873fe9868b15d19
|
||||
PKG_MIRROR_HASH:=09857c0463c9ff56ae37fff4a73f58008ea2d844c909aab6669277afa8ef1e72
|
||||
PKG_SOURCE_DATE:=2020-06-17
|
||||
PKG_SOURCE_VERSION:=51e16ebffc740c6afcdd45aced20fc0354a502d7
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_BUILD_DEPENDS:=ustream-ssl
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wolfssl
|
||||
PKG_VERSION:=4.3.0-stable
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=4.6.0-stable
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION)
|
||||
PKG_HASH:=6896f8ad6c44aff3e583006eeee839600848a0e37118ebbb7514eca9409ae08b
|
||||
PKG_HASH:=053aefbb02d0b06b27c5e2df6875b4b587318755b7db9d6aa8d72206b310a848
|
||||
|
||||
PKG_FIXUP:=libtool
|
||||
PKG_INSTALL:=1
|
||||
@@ -56,7 +56,7 @@ define Package/libwolfssl/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -DFP_MAX_BITS=8192
|
||||
TARGET_CFLAGS += $(FPIC) -DFP_MAX_BITS=8192 -fomit-frame-pointer
|
||||
|
||||
# --enable-stunnel needed for OpenSSL API compatibility bits
|
||||
CONFIGURE_ARGS += \
|
||||
|
||||
53
package/libs/wolfssl/patches/010-CVE-2021-3336.patch
Normal file
53
package/libs/wolfssl/patches/010-CVE-2021-3336.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
From fad1e67677bf7797b6bd6e1f21a513c289d963a7 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Parkinson <sean@wolfssl.com>
|
||||
Date: Thu, 21 Jan 2021 08:24:38 +1000
|
||||
Subject: [PATCH] TLS 1.3: ensure key for signature in CertificateVerify
|
||||
|
||||
---
|
||||
src/tls13.c | 18 +++++++++++++-----
|
||||
1 file changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/src/tls13.c
|
||||
+++ b/src/tls13.c
|
||||
@@ -5624,28 +5624,36 @@ static int DoTls13CertificateVerify(WOLF
|
||||
#ifdef HAVE_ED25519
|
||||
if (args->sigAlgo == ed25519_sa_algo &&
|
||||
!ssl->peerEd25519KeyPresent) {
|
||||
- WOLFSSL_MSG("Oops, peer sent ED25519 key but not in verify");
|
||||
+ WOLFSSL_MSG("Peer sent ED22519 sig but not ED22519 cert");
|
||||
+ ret = SIG_VERIFY_E;
|
||||
+ goto exit_dcv;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_ED448
|
||||
if (args->sigAlgo == ed448_sa_algo && !ssl->peerEd448KeyPresent) {
|
||||
- WOLFSSL_MSG("Oops, peer sent ED448 key but not in verify");
|
||||
+ WOLFSSL_MSG("Peer sent ED448 sig but not ED448 cert");
|
||||
+ ret = SIG_VERIFY_E;
|
||||
+ goto exit_dcv;
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_ECC
|
||||
if (args->sigAlgo == ecc_dsa_sa_algo &&
|
||||
!ssl->peerEccDsaKeyPresent) {
|
||||
- WOLFSSL_MSG("Oops, peer sent ECC key but not in verify");
|
||||
+ WOLFSSL_MSG("Peer sent ECC sig but not ECC cert");
|
||||
+ ret = SIG_VERIFY_E;
|
||||
+ goto exit_dcv;
|
||||
}
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
if (args->sigAlgo == rsa_sa_algo) {
|
||||
- WOLFSSL_MSG("Oops, peer sent PKCS#1.5 signature");
|
||||
+ WOLFSSL_MSG("Peer sent PKCS#1.5 algo but not in certificate");
|
||||
ERROR_OUT(INVALID_PARAMETER, exit_dcv);
|
||||
}
|
||||
if (args->sigAlgo == rsa_pss_sa_algo &&
|
||||
(ssl->peerRsaKey == NULL || !ssl->peerRsaKeyPresent)) {
|
||||
- WOLFSSL_MSG("Oops, peer sent RSA key but not in verify");
|
||||
+ WOLFSSL_MSG("Peer sent RSA sig but not RSA cert");
|
||||
+ ret = SIG_VERIFY_E;
|
||||
+ goto exit_dcv;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/wolfssl/wolfcrypt/settings.h
|
||||
+++ b/wolfssl/wolfcrypt/settings.h
|
||||
@@ -1930,7 +1930,7 @@ extern void uITRON4_free(void *p) ;
|
||||
@@ -2248,7 +2248,7 @@ extern void uITRON4_free(void *p) ;
|
||||
#endif
|
||||
|
||||
/* warning for not using harden build options (default with ./configure) */
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 391ecbd647c121300dc7dcf209e412ccb7b8d432 Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Date: Fri, 1 Jan 2021 21:57:56 +0100
|
||||
Subject: [PATCH] Fix linking against hostapd with LTO
|
||||
|
||||
When running LTO on wolfssl the ecc_map() function is removed from the
|
||||
binary by GCC 8.4.0. This function is used by multiple functions from
|
||||
the crypto_wolfssl.c implementation of hostapd master.
|
||||
|
||||
Fixes: 780e8a4619b6 ("Fixes for building `--enable-wpas=small` with WPA Supplicant v2.7.")
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -947,6 +947,7 @@ then
|
||||
AM_CFLAGS="$AM_CFLAGS -DOPENSSL_EXTRA_X509_SMALL"
|
||||
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_PUBLIC_MP"
|
||||
+ AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_PUBLIC_ECC_ADD_DBL"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DER_LOAD"
|
||||
AM_CFLAGS="$AM_CFLAGS -DATOMIC_USER"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_KEY_GEN"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user