openwrt/staging/blocktrron.git
13 months agoath79: wpj563: enable 2nd USB controller
Koen Vandeputte [Fri, 13 Oct 2023 15:47:11 +0000 (17:47 +0200)]
ath79: wpj563: enable 2nd USB controller

The compex WPJ563 actually has both usb controllers wired:

usb0 --> pci-e slot
usb1 --> pin header

As the board exposes it for generic use, enable this controller too.

fixes: #13650
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
13 months agotools/cmake: disable cmake script debugger
Michael Pratt [Thu, 12 Oct 2023 22:07:11 +0000 (18:07 -0400)]
tools/cmake: disable cmake script debugger

Upstream commit a9a592f96e6498da302f8e968be1db0ad3c32123
("cmake: Add debugger") added a huge amount of code
in order to create a debugging feature for CMakeLists.txt
of other projects. This was added to CMake since 3.27.x.

Unforunately, this new debugger will not build on ARM systems
like arm-linux-gnueabihf (Raspberry Pi 4), and takes up
extra build time for something Openwrt doesn't need,
yet it was enabled by default. (Thanks Microsoft....)

Specifically, it's a failure to link to functions like
__atomic_store_8, __atomic_load_8, __atomic_fetch_add_8, etc.

Let's just disable it.

Someone who really needs this for developing can have CMake
with the debugger on their host machine or manually re-enable it here.

Link: https://gitlab.kitware.com/cmake/cmake/-/issues/21510
Link: https://devblogs.microsoft.com/cppblog/cmake-debugger-allows-you-to-debug-your-cmake-scripts-and-more/
Signed-off-by: Michael Pratt <mcpratt@pm.me>
13 months agobcm53xx: build a single device per profile
Rani Hod [Sat, 30 Sep 2023 19:22:13 +0000 (22:22 +0300)]
bcm53xx: build a single device per profile

So far every build of a single bcm53xx Target Profile (it means: when
NOT using CONFIG_TARGET_MULTI_PROFILE) resulted in all target devices
images being built. Now it only builds the one matching selected
profile.

Fixes: #13572
Suggested-by: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
[rmilecki: update commit subject + body & move PROFILES line]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
13 months agolibnl: update to 3.8.0
Nick Hainke [Wed, 11 Oct 2023 23:05:38 +0000 (01:05 +0200)]
libnl: update to 3.8.0

Changes:
6b2533c0 libnl-3.8.0 release
1558bd62 build: replace old "NOTE" in configure output and add summary
f66383a4 build: avoid aclocal warning about missing "m4" directory
e4402a4c build: run `autoupdate` for AM_PROG_LIBTOOL
5761b6af build: add "-Wno-portability" to AC_INIT_AUTOMAKE()
661f10a1 license: fix/adjust license for "src/nl-cls-add.c"
c8fcb412 license: fix/adjust license for "src/nl-addr-{add,delete,list}.c"
e3e6fd6d tests: use thread-safe localtime_r() instead of localtime()
f520471c lib/xfrm: use thread-safe gmtime_r() instead of gmtime()
be5add72 tests: avoid srandom()/random() in favor of _nltst_rand_u32()
40578a62 lib: use getprotobyname_r(), getprotobynumber_r() if available
8ee8b05f lib: fix error handling in nl_str2ip_proto()
09f03f29 tests: check nl_str2ip_proto()
74bffbf6 route: fix documentation comment for nl_nh_group_info
59f8db0d clang-format: add "-l" alias for option in "tools/clang-format.sh"
935cc90a clang-format: ignore reformatting commit in ".git-blame-ignore-revs"
53da4712 clang-format: reformat files with new format
65c43bfe clang-format: update ".clang-format" from linux kernel
4c39a2ce include: use <linux/$file> instead of <linux-private/linux/$file>
a1e9fb3d include/linux: add all linux headers that we use
d37ffe15 include/linux: update all linux headers
1af767a8 include: add missing "extern "C"" specifier to public headers
e0a5d12b all: drop "extern "C"" from internal code
d9a1e0ce build: add "check-local-build-headers" test target to build public headers
02b87012 build: add a "check-local" build target
f9413915 include: fix headers "include/netlink/route/{netconf.h,route/qdisc/red.h}" to be self-contained
680df173 idiag: "fix" license for "idiag-socket-details" tool
2f210d9a github: test build on alpine:latest for musl
dcc4c0a5 Revert "gitignore: ignore patch files"
39106309 github: add test for linking with mold and fail on unknown versions
f475c3b2 route/nh: drop not implemented "nh" API from headers
4c681e77 build: fix exporting symbol rtnl_link_info_ops_get
260c9575 include: don't explicitly include headers from "nl-default.h"
98c1e696 tests: cleanup include of netlink headers
42bec462 build: cleanup default include list in Makefile.am
4c1a119a include: include private linux headers with explicit path
ca063725 python: add make target for python build
25c90193 python: drop unused "python/netlink/fixes.h"
3f3da7fd gitignore: ignore python build artifacts
61ef5609 gitignore: ignore generated doc files
298c5dc6 include: drop "netlink-private/netlink.h" and move declarations
862eed54 all: cleanup includes and use "nm-default.h"
2b3cd741 include: add "nl-default.h" header
8952ce6f build: move "lib/defs.h" to "include/config.h"
1010776d include: split and drop "netlink-private/types.h"
d1d57846 include: rename "nl-shared-core" to "nl-priv-dynamic-core"
fc91c4f8 include: rename "nl-hidden-route" to "nl-priv-dynamic-route"
9bb6f770 include: rename "nl-intern-route" to "nl-priv-static-route"
b5195db9 genl: rename private header "nl-priv-genl.h" to "nl-genl.h"
0eacf658 include: make "netlink/route/link/{inet,inet6}.h" self-contained
ad014ad1 route/tc: avoid unalinged access in rtnl_tc_msg_parse()
05bd6366 add support for TC action statistics
776fc5a6 lib: move "include/netlink-private/object-api" to include/nl-shared-core
fad34560 lib: move "include/netlink-private/cache-api" to include/nl-shared-core
ed2be537 route: move "include/netlink-private/route/link/sriov.h" to lib/route/link-sriov.h
97f61eda lib: move "include/netlink-private/socket.h" to lib/nl-core.h
96e1cc5b route: move "include/netlink-private/route/nexthop-encap.h" to lib/route
391e03d3 route: merge "include/netlink-private/tc.h" to lib/route/tc-api.h
7fc4f5b3 route: move rtnl_tc_build_rate_table() to "tc-api.h"
cf41e14d route: move "include/netlink-private/route/tc-api.h" to lib/route
db810cfb route: move hidden symbols from "include/netlink-private/route/tc-api.h"
ff08e618 build: don't add lib/route to include directory for all libs
eb8da16d include: move "include/netlink-private/route/link/api.h" to lib/route
8b2074aa include: move "include/netlink-private/route/utils.h" to nl-intern-route
fd470c06 include: move "include/netlink-private/route/mpls.h" to "lib/mpls.h"
78056ad2 genl: add comment about wrongly exported symbol genl_resolve_id()
befc4ab4 include: move "include/netlink-private/genl.h" to "lib/genl/nl-priv-genl.h"
f6c26127 nl-aux: add "include/nl-aux-{core,route}" headers
2da8481b base: move "netlink-private/utils.h" to "base/nl-base-utils.h"
d3e9b513 include/utils: move nl-auto base defines to "utils.h"
543b9f8f clang-format: reformat "include/netlink-private/nl-auto.h"
aa565460 route: cleanup ATTR_DIFF() macros
beba5a18 cli: add nl-nh-list utility
780d06ae route: add nh type
1b6433d9 neigh: add support of NHID attribute
e0140c5f include: import kernel headers "linux/{neighbour,nexthop,rtnetlink}.h"
eef06744 utils: add static-assert for signedness of arguments of _NL_CMP_DIRECT() macro
679c4c51 cli: use <netlink-private/utils.h> in cli and _nl_{init,exit}
a9c5de52 lib: use _nl_{init,exit} instead of __{init,exit}
102f9bd2 include/private: add _nl_init/_nl_exit macros
6782678e include/private: drop unused __deprecated macro
a0535a58 all: use "_nl_packed" macro instead of "__attribute__((packed))"
8c9f98cf all: rework ATTR_DIFF() macros to not generate attribute names
ca34ad52 lib: handle negative and zero size in nla_memcpy()
859b89dc include: drop now unused min()/max()/min_t()/max_t() macros
2e0ae977 all: use _NL_{MIN,MAX}() macros
57c451fa utils: add various helpers to "include/netlink-private/utils.h"
a9a9dcea style: format "include/netlink-private/utils.h" with clang-format
590e8a61 tools: improve failure message with "tools/clang-format.sh -n"
06dc5ae0 github: fix format checking with clang-format
7738f239 route/trivial: sort entries in "libnl-route-3.sym" asciibetically
fc805c56 route/bond: Add support for link_info for bond
6af26981 lib: accept NULL argument in nla_nest_cancel() for robustness
e9662091 macsec: Drop offload capability validation check
35a68109 github: update flake8 linter to not explicitly select checks
9a266405 python: add ".flake8" file for configuring "flake8"
e6b934a5 python: fix flake8 warnings E712
2cea738b python: fix flake8 warnings E711
d561096c python: fix flake8 warnings E302
29b06d0f python: fix flake8 warnings E741
4dc1f498 python: fix flake8 warnings F841
f4875c69 python: fix flake8 warnings W605
9a3d91df python: fix flake8 warnings F401
6baf2339 clang-format: add "tools/clang-format-container.sh" script
ee2876e3 github: add test for checking clang-format style
45c7aae3 clang-format: add "tools/clang-format.sh" script
02e0fd3f github: check python-black code formatting in github actions
2dd53895 build: add ".git-blame-ignore-revs" file for "blame.ignoreRevsFile" git config
3c753e3c python: reformat all Python files with python-black
298ee58e python add "pyproject.toml" for configuring black
a0e4b7f9 github: skip Python flake8 test with clang build
c4240c0b github: run "Build Release" test also with clang
143cee1d bridge: fix bridge info parsing
96bbe55c test-cache-mngr: Flush output after object dumps
cf5dcbcd test-cache-mngr: Add option to print timestamps
bd570952 test-cache-mngr: Add an option to iterate over all supported address families
bf80da90 test-cache-mngr: Add dump interval options
80febeea test-cache-mngr: Add an option to control which oo_dump function is used
6519a917 route/link: prevent segfault in af_request_type()
a68260f8 github: fix installing python dependencies via pip
39c04bc7 build: drop redundant "autogen.sh" call from "tools/build_release.sh"
d411b88d build: change proper working directory in "doc/autogen.sh"
2fa73ce0 build: ensure "autogen.sh" scripts fail on error
fc786296 gitignore: ignore "*~" files
4c4e614b docs: rtnl_link_put() 'releases' instead of 'returns'
336b15dc include/linux: update copy of kernel header "linux/ipv6.h"
e2cacc26 route/link: improve handling of IFLA_INET6_CONF
ec8c493c route/link: remove rtnl_link_inet6_set_conf() API
e790f8ad route/link: various fixes for rtnl_link_inet6_get_conf() API
d83c6d54 route/link: add accessor API for IPv6 DEVCONF
9167504d bridge: drop unnecessary goto in bridge_info_parse()
984d6e93 bridge: don't normalize the u8 argument in rtnl_link_bridge_set_vlan_filtering() to boolean
3662a5da bridge: expose rtnl_link_bridge_get_vlan_protocol() in host byte order
5a1ef219 bridge: fix parsing vlan-protocol in bridge_info_parse()
ad1c2927 bridge: minor cleanups in "bridge_info.c"
1c74725a bridge: use SPDX license identifiers in bridge_info files
26ca549d bridge: reformat bridge_info file with clang-format
08dc5d9c bridge: extend libnl with options needed for VLAN aware forwarding
7391a38e bridge: Add support for link_info of a bridge
1f1e8385 route/vlan: drop unnecessary "else" in vlan_put_attrs()
2bc30e57 route/vlan: fix error handling in 'lib/route/link/vlan.c'
8273d6ce build: add comments to linker version scripts about the version tags
6ac7a812 doc: fix typo
07d274ab doc: fix typo
0461a425 attr: reject zero length addresses
8d40d9eb route: construct all-zero addresses for default route destination
25d42a4f addr: allow constructing all-zero addresses
0c0aee82 addr: create an all-zero addresses when parsing "any" or "default"

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agolibmd: update to 1.1.0
Nick Hainke [Wed, 11 Oct 2023 22:58:20 +0000 (00:58 +0200)]
libmd: update to 1.1.0

Changes:
16d68ab Release libmd 1.1.0
054bca1 build: Terminate lists in variables with «# EOL»
84d269e test: Add cases for SHA224 and SHA512-256
a677e68 test: Add a new test_eq() helper function
4c5931f Sync SHA2 changes from OpenBSD
9934d94 Sync SHA1 changes from OpenBSD
457e30a Sync RMD160 changes from OpenBSD
b2e54bc Sync MD5 changes from OpenBSD
ee56a52 Sync MD4 changes from OpenBSD
b9496ac Sync MD2 changes from NetBSD
09d5824 Remove unused <assert.h>
08b2c5d build: Rename libmd_alias() to libmd_strong_alias()
ed69599 On Darwin use assembler to support symbol aliases
b74b777 build: Do not use strong aliases on macOS
94838ec build: Require automake 1.11
39cbc7b build: Fix configure.ac indentation
4620a04 build: Switch to debian:latest Docker image
e408786 build: Fix version script linker support detection
0ef1e4d doc: Move mailing list reference to the end
a3f1671 man: Add new libmd(7) man page

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agolibjson-c: update to 0.17
Nick Hainke [Wed, 11 Oct 2023 22:51:16 +0000 (00:51 +0200)]
libjson-c: update to 0.17

Release Notes:
https://github.com/json-c/json-c/blob/ad8b8afa7d567053b87f2d37ee4a534e13c210c7/ChangeLog#L2

Refresh patch:
- 001-dont-build-docs.patch

Delete upstreamed patch:
- 010-fix-build-with-clang-15.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agotools/zlib: update to 1.3
Nick Hainke [Wed, 11 Oct 2023 22:33:04 +0000 (00:33 +0200)]
tools/zlib: update to 1.3

Changes in 1.3 (18 Aug 2023)
- Remove K&R function definitions and zlib2ansi
- Fix bug in deflateBound() for level 0 and memLevel 9
- Fix bug when gzungetc() is used immediately after gzopen()
- Fix bug when using gzflush() with a very small buffer
- Fix crash when gzsetparams() attempted for transparent write
- Fix test/example.c to work with FORCE_STORED
- Rewrite of zran in examples (see zran.c version history)
- Fix minizip to allow it to open an empty zip file
- Fix reading disk number start on zip64 files in minizip
- Fix logic error in minizip argument processing
- Add minizip testing to Makefile
- Read multiple bytes instead of byte-by-byte in minizip unzip.c
- Add memory sanitizer to configure (--memory)
- Various portability improvements
- Various documentation improvements
- Various spelling and typo corrections

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agokernel: bump 5.15 to 5.15.135
John Audia [Wed, 11 Oct 2023 19:53:45 +0000 (15:53 -0400)]
kernel: bump 5.15 to 5.15.135

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.135

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
13 months agotools/pkgconf: update to 2.0.3
Nick Hainke [Wed, 11 Oct 2023 15:22:40 +0000 (17:22 +0200)]
tools/pkgconf: update to 2.0.3

News:
- https://github.com/pkgconf/pkgconf/blob/752a9825dc8660d247c457aa4d256db4800ebd7c/NEWS#L13
- https://github.com/pkgconf/pkgconf/blob/752a9825dc8660d247c457aa4d256db4800ebd7c/NEWS#L4

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agotools/libdeflate: update to 1.19
Nick Hainke [Wed, 11 Oct 2023 15:04:00 +0000 (17:04 +0200)]
tools/libdeflate: update to 1.19

Release Notes:
https://github.com/ebiggers/libdeflate/blob/master/NEWS.md#version-119

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agotools/gmp: update to 6.3
Nick Hainke [Wed, 11 Oct 2023 14:54:13 +0000 (16:54 +0200)]
tools/gmp: update to 6.3

Release Notes:
https://gmplib.org/gmp6.3

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agotools/ccache: update to 4.8.3
Nick Hainke [Wed, 11 Oct 2023 12:38:51 +0000 (14:38 +0200)]
tools/ccache: update to 4.8.3

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_8_3

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agotools/cmake: update to 3.27.5
Nick Hainke [Wed, 11 Oct 2023 06:28:24 +0000 (08:28 +0200)]
tools/cmake: update to 3.27.5

Release Notes:
- https://www.kitware.com/cmake-3-27-5-available-for-download/
- https://www.kitware.com/cmake-3-27-6-available-for-download/
- https://www.kitware.com/cmake-3-27-7-available-for-download/

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agoutil-linux: update to 2.39.2
Nick Hainke [Tue, 1 Aug 2023 21:43:12 +0000 (23:43 +0200)]
util-linux: update to 2.39.2

Changelog:
4d3079ad4 build-sys: release++ (v2.39.2)
9dc7d9808 docs: update v2.39.2-ReleaseNotes
4ffb7ac7c docs: update AUTHORS file
20781132f po-man: merge changes
76228ce1c po: merge changes
86c851c27 po-man: update sr.po (from translationproject.org)
c695dce97 po: update sr.po (from translationproject.org)
b168eef36 po: update ja.po (from translationproject.org)
83557da34 po: update hr.po (from translationproject.org)
5495eeb64 po: update es.po (from translationproject.org)
7de55c1ea setarch: add PER_LINUX_FDPIC fallback
b101de3d0 libblkid: fix topology chain types mismatch
131098cc8 uuidd: improve man page for -cont-clock
112d2245e zramctl: add hint about supported algorithms
f5b01cd95 meson: check for HAVE_STRUCT_STATX_STX_MNT_ID
a1f803340 include: define pidfd syscalls if needed
032c502d5 wall: do not error for ttys that do not exist
140404e1f column: fix -l
1632bd6d4 lscpu: Even more Arm part numbers (early 2023)
fc0a64480 chrt: (man) add note about --sched-period lower limit
073d02941 meson: add check for struct statx
9d54f7c99 meson: add check for linux/mount.h
d14d39cbd libmount: improve EPERM interpretation
ce266c9e1 libmount: ifdef statx() call
a64cec15a libmount: check for struct statx
396798d6b libmount: check for linux/mount.h
03435a7c6 libmount: (utils) fix statx fallback
993581379 libmount: cleanup --fake mode
501227232 libmount: (python): work around python 3.12 bug
8950e9852 build-sys: add AX_COMPARE_VERSION
1e05167df libmount: update documentation for MNT_ERR_APPLYFLAGS
e7c34902f libmount: fix typo
e5858dbb6 libmount: use some MS_* flags as superblock flags
f1875239b libmount: use mount(2) for remount on Linux < 5.14
58cb00c63 github: check apt-cache in more robust way
0a9bf6166 libmount: handle failure to apply flags as part of a mount operation
e98ef85a8 build-sys: release++ (v2.39.1)
12169133e docs: update v2.39.1-ReleaseNotes
508e25110 docs: update AUTHORS file
6b865e1b0 po-man: merge changes
aa4f94cb5 po: merge changes
cad75b635 po-man: add ro.po (from translationproject.org)
8acfe93b7 po-man: add ko.po (from translationproject.org)
5f31e774c po-man: update uk.po (from translationproject.org)
29626b095 po: update hr.po (from translationproject.org)
90835e74a cal: fix long option name for -c
7826c3ebe cal: fix error message for bad -c argument
07e6b9a12 lib/strutils: fix typo
cc99bfd06 build-sys: don't call pkg-config --static if unnecessary
3b59942da logger: initialize socket credentials contol union
4746cf936 unshare: fix error message for unexpected time offsets
a34e6aced losetup: deduplicate find_unused() logic
423d9efab lib/loopdev: consistently return error values from loopcxt_find_unused()
8feec98a8 lib/loopdev: document function return values
36ce0c250 tests: (run.sh) detect builddir from working directory
1943ad6cd hardlink: (man) add missing comma
1a4522541 libmount: fix sync options between context and fs structs
3aba3fb95 tests: (lsfd) add a case for verifying ENDPOINTS column output in JSON mode
c289c152a lsfd: use ARRAY_STRING for ENDPOINTS column in JSON output mode
665e28c30 lsfd: (filter) weakly support ARRAY_STRING and ARRAY_NUMBER json types
d9fca2b62 sfdisk: add hint about duplicate UUIDs when use dump
d84ee5a46 lib: remove pager.c from libcommon
c50da4b07 lib/ include/: cleanup license headers
d5adeed7a lib/color-names: fix license header
868f7f10c tests: fix update special mount test output
2278e2f91 tests: backport special mount script
d8a4e680f libmount: always ignore user=<name>
22d0a6557 meson: check for _NL_TIME_WEEK_1STDAY in langinfo.h
205e88e51 meson: conditionalize waitpid
aebfa97d5 meson: add conditionalization for test progs
bbe24d5b1 meson: implement HAVE_PTY
bc58e3b35 meson: install write setgid
f5a411883 meson: install wall setgid
64e67f720 meson: install umount setuid
4c3c05006 meson: install mount setuid
58c107277 meson: install newgrp setuid
8549017af meson: install su setuid
fa818dc8d meson: install chsh setuid
1e9fc724e meson: install chfn setuid
53ff0fcda libmount: introduce LIBMOUNT_FORCE_MOUNT2={always,never,auto}
61307a950 libmount: (optlist) correctly detect ro status
8c85b0805 tests: backport mount_setattr test
5004732d8 libblkid: jfs - avoid undefined shift
c082e6182 build-sys: fix typo in waitpid check
b04446bfd Update fsck.8.adoc
9429cc72b dmesg: make kmsg read() buffer big enough for kernel
198fd3fb2 Fix Blizzard-M2-Max
20c04a509 Add recent Apple ARM cores
9d4d768f2 libmount: don't call hooks after mount.<type> helper
98ed3edf8 meson: install symlink for vigr man page
f25cc3372 meson: include bash-completion for write
760c01641 meson: include bash-completion for newgrp
ddf48064f libmount: cleanup enosys returns from mount hoop
230459358 libmount: don't call mount.<type> helper with usernames
6fa034d0a libmount: fix options prepend/insert and merging
f8c9ef62e libmount: check for availability of mount_setattr
9422991c9 libmount: don't pass option "defaults" to helper
2806759b5 build-sys: add --disable-waitpid
01e3ec515 mesg.1 cleanups/updates
00a19fb8c libblkid: (bcache) also calculate checksum over journal buckets
158639a2a libblkid: (bcache) extend superblock definition
43926e0b0 ci: prevent prompts during installation
01bb5d12d tools: (asciidoctor) explicitly require extensions module
da22c179c build-sys: only pass --failure-level if supported
1bfc285fa lsfd: (tests) fix typo
66fac3e71 blkzone: don't take address of struct blk_zone
d2e3ac959 enosys: add support for loongarch
a369feacc meson: require 0.57
f084562c3 enosys: split audit arch detection into dedicated header
88f76e37a enosys: add support for sparc
f65c49002 waitpid: only build when pidfd_open is available
ddf9b36ea libsmartcols: (samples): fix format truncation warning
0d0766fbe test_uuidd: make pthread_t formatting more robust
873a896e0 mkfs.minix: handle 64bit time on 32bit system
69d8400e4 enosys: add support for MIPS, PowerPC and ARC
0ee8ac065 test_enosys: fix build on old kernels

Remove upstreamed patches:
- 0001-test_enosys-add-support-for-mips.patch
- 200-meson-no-po.patch

Backport patch:
- 001-meson-properly-handle-gettext-non-existence.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agolantiq: Fix an sleeping function called from invalid context
Hauke Mehrtens [Mon, 9 Oct 2023 00:06:55 +0000 (02:06 +0200)]
lantiq: Fix an sleeping function called from invalid context

The ifx_pcie_bus_enum_hack() function is called in
ifx_pcie_read_config() while holding the ifx_pcie_lock spinlock. The
ifx_pcie_bus_enum_hack() function calls pci_get_slot() which could
sleep. Add a new function for pci_get_slot() which does not use a
semaphore, the mutex should be sufficient. This fixes the sleep in
atomic context which could cause a hang of the system.

This fixes the following warning seen with
CONFIG_KERNEL_DEBUG_ATOMIC_SLEEP=y.

[   12.264300] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[   12.272226] BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1487
[   12.280684] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 9, name: kworker/u4:0
[   12.288781] CPU: 0 PID: 9 Comm: kworker/u4:0 Not tainted 5.15.134 #0
[   12.295135] Workqueue: events_unbound deferred_probe_work_func
[   12.300964] Stack : 80e70000 8008ac80 00000000 00000004 807c776c 8145b9ec 81424c00 800520ec
[   12.309316]         808a0000 8145ba2b 8145b844 8145b838 80414178 00000001 8145b9f8 81439ea0
[   12.317674]         00000000 00000000 807c776c 8145b838 ffffefff 00000000 00000000 ffffffea
[   12.326030]         00000081 8145b844 00000081 808a6f50 807c776c 00000000 00000000 80910000
[   12.334391]         00111bef 00000000 00000001 00000000 00000018 00000030 00000000 80e40000
[   12.342741]         ...
[   12.345177] Call Trace:
[   12.347613] [<8000c1d0>] show_stack+0x28/0xf0
[   12.351974] [<8038ba1c>] dump_stack_lvl+0x60/0x80
[   12.356667] [<8005eefc>] ___might_sleep+0x124/0x138
[   12.361547] [<806daf30>] down_read+0x24/0x88
[   12.365807] [<803cdd20>] pci_get_slot+0x2c/0xc0
[   12.370333] [<806d56ac>] ifx_pcie_read_config+0x164/0x330
[   12.375735] [<803be610>] pci_bus_read_config_dword+0x6c/0xd0
[   12.381399] [<803c20cc>] pci_bus_generic_read_dev_vendor_id+0x3c/0x1a8
[   12.387915] [<803c27ec>] pci_scan_single_device+0x88/0x154
[   12.393404] [<803c2928>] pci_scan_slot+0x70/0x134
[   12.398099] [<803c3bf0>] pci_scan_child_bus_extend+0x5c/0x320
[   12.403849] [<803c4178>] pci_scan_root_bus_bridge+0xd0/0xec
[   12.409414] [<806d45a8>] pcibios_scanbus+0xe4/0x21c
[   12.414293] [<806d4908>] register_pci_controller+0xb8/0x11c
[   12.419858] [<806d5f9c>] ifx_pcie_bios_probe+0x724/0x940
[   12.425174] [<80417574>] platform_probe+0x38/0x90
[   12.429868] [<80414d68>] really_probe.part.0+0xac/0x354
[   12.435103] [<80415298>] driver_probe_device+0x4c/0x154
[   12.440313] [<80415904>] __device_attach_driver+0xd0/0x15c
[   12.445802] [<804129d8>] bus_for_each_drv+0x70/0xb0
[   12.450676] [<80415610>] __device_attach+0xdc/0x194
[   12.455545] [<80413ca8>] bus_probe_device+0x9c/0xb8
[   12.460419] [<8041420c>] deferred_probe_work_func+0x94/0xd4
[   12.465995] [<8004fcb4>] process_one_work+0x27c/0x4c8
[   12.471044] [<80050710>] worker_thread+0x34c/0x5f8
[   12.475825] [<800587a8>] kthread+0x168/0x18c
[   12.480090] [<80006ef8>] ret_from_kernel_thread+0x14/0x1c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 months agobsdiff: Add patches for CVEs
Hauke Mehrtens [Sat, 7 Oct 2023 19:07:20 +0000 (21:07 +0200)]
bsdiff: Add patches for CVEs

Add two patches from Debian fixing CVEs in the bsdiff application.
CVE-2014-9862: Heap vulnerability in bspatch
CVE-2020-14315: Memory Corruption Vulnerability in bspatch

Copied the patches from this location:
https://salsa.debian.org/debian/bsdiff/-/blob/debian/latest/debian/patches/20-CVE-2014-9862.patch
https://salsa.debian.org/debian/bsdiff/-/blob/debian/latest/debian/patches/33-CVE-2020-14315.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 months agorealtek: add support for HPE 1920-8g-poe+ (65W)
Kevin Jilissen [Sun, 8 Oct 2023 15:21:23 +0000 (17:21 +0200)]
realtek: add support for HPE 1920-8g-poe+ (65W)

Hardware information:
---------------------

- RTL8380 SoC
- 8 Gigabit RJ45 PoE ports (built-in RTL8218B)
- 2 SFP ports (built-in SerDes)
- RJ45 RS232 port on front panel
- 32 MiB NOR Flash
- 128 MiB DDR3 DRAM
- PT7A7514 watchdog
- PoE chip
- Fanless

Known issues:
---------------------
- PoE LEDs are uncontrolled.

(Manual taken from f2f09bc)
Booting initramfs image:
------------------------

- Prepare a FTP or TFTP server serving the OpenWrt initramfs image and
  connect the server to a switch port.

- Connect to the console port of the device and enter the extended
  boot menu by typing Ctrl+B when prompted.

- Choose the menu option "<3> Enter Ethernet SubMenu".

- Set network parameters via the option "<5> Modify Ethernet Parameter".
  Enter the FTP/TFTP filename as "Load File Name" ("Target File Name"
  can be left blank, it is not required for booting from RAM). Note that
  the configuration is saved on flash, so it only needs to be done once.

- Select "<1> Download Application Program To SDRAM And Run".

Initial installation:
---------------------

- Boot an initramfs image as described above, then use sysupgrade to
  install OpenWrt permanently. After initial installation, the
  bootloader needs to be configured to load the correct image file

- Enter the extended boot menu again and choose "<4> File Control",
  then select "<2> Set Application File type".

- Enter the number of the file "openwrt-kernel.bin" (should be 1), and
  use the option "<1> +Main" to select it as boot image.

- Choose "<0> Exit To Main Menu" and then "<1> Boot System".

NOTE: The bootloader on these devices can only boot from the VFS
filesystem which normally spans most of the flash. With OpenWrt, only
the first part of the firmware partition contains a valid filesystem,
the rest is used for rootfs. As the bootloader does not know about this,
you must not do any file operations in the bootloader, as this may
corrupt the OpenWrt installation (selecting the boot image is an
exception, as it only stores a flag in the bootloader data, but doesn't
write to the filesystem).

Example PoE config file (/etc/config/poe):
---------------------
config global
        option budget   '65'

config port
        option enable   '1'
        option id       '1'
        option name     'lan8'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '2'
        option name     'lan7'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '3'
        option name     'lan6'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '4'
        option name     'lan5'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '5'
        option name     'lan4'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '6'
        option name     'lan3'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '7'
        option name     'lan2'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '8'
        option name     'lan1'
        option poe_plus '1'
        option priority '2'

Signed-off-by: Kevin Jilissen <info@kevinjilissen.nl>
13 months agorealtek: rename hpe,1920-8g-poe to match hardware
Kevin Jilissen [Sun, 8 Oct 2023 14:56:40 +0000 (16:56 +0200)]
realtek: rename hpe,1920-8g-poe to match hardware

There are two hardware models of the HPE 1920-8g-poe switch. The version
currently in the repository is the model with a PoE budget of 180W. In
preparation of the addition of the 65W model, the existing model is
renamed to clarify the hardware version it targets.

As suggested by Pawel, the 'SUPPORTED_DEVICES' includes the old target
name to enable an upgrade path of builds with the old name.

Suggested-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Kevin Jilissen <info@kevinjilissen.nl>
13 months agoath79: add WWAN serial driver for GL.iNET GL-XE300
David Bauer [Mon, 9 Oct 2023 10:47:38 +0000 (12:47 +0200)]
ath79: add WWAN serial driver for GL.iNET GL-XE300

The driver for the cellular modems serial interface was missing from the
default device packages.

The driver is required to interact with the modem using AT commands.
Other devices with a 4G modem also ship with this package, thus let's
add it to the default packages for the board.

Signed-off-by: David Bauer <mail@david-bauer.net>
13 months agoipq806x: fix broken onhub dtsi
Christian Marangi [Sun, 8 Oct 2023 12:05:39 +0000 (14:05 +0200)]
ipq806x: fix broken onhub dtsi

Fix broken onhub dtsi. The gmac node have a redundant phy-handle that
doesn't point to the swconfig phy node as they got dropped in the DSA
conversion. Drop these extra binding to restore correct compilation of
this subtarget.

Fixes: 337e36e0ef98 ("ipq806x: convert each device to DSA implementation")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoramips: convert MT7915 EEPROM to NVMEM format
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert MT7915 EEPROM to NVMEM format

This patch converts MT7915 WiFi calibration data to NVMEM format. The
EEPROM size is 0xe00.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
13 months agoramips: convert MT7613 and MT7615 EEPROM to NVMEM format for MT7621
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert MT7613 and MT7615 EEPROM to NVMEM format for MT7621

This patch converts MT7613 and MT7615 WiFi calibration data to NVMEM
format. The EEPROM size is 0x4da8.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
13 months agoramips: convert MT7610 and MT7612 EEPROM to NVMEM format for MT7621
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert MT7610 and MT7612 EEPROM to NVMEM format for MT7621

This patch converts MT7610 and MT7612 WiFi calibration data to NVMEM
format. The EEPROM size is 0x200.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
13 months agoramips: convert MT7603 EEPROM to NVMEM format
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert MT7603 EEPROM to NVMEM format

This patch converts MT7603 WiFi calibration data to NVMEM format. The
EEPROM size is 0x400.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
13 months agoramips: correct NVMEM MAC address node name and label for Bolt Arion
Shiji Yang [Sun, 8 Oct 2023 01:43:28 +0000 (09:43 +0800)]
ramips: correct NVMEM MAC address node name and label for Bolt Arion

The node name&label should match the address in the 'reg' property,
so it's better to change the incorrect offset to the 0x28.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
13 months agoramips: fix EEPROM size for I-O DATA WN-DEAX1800GR
Shiji Yang [Sun, 8 Oct 2023 02:16:16 +0000 (10:16 +0800)]
ramips: fix EEPROM size for I-O DATA WN-DEAX1800GR

I-O DATA WN-DEAX1800GR uses MT7915 PCIe NIC. The correct EEPROM
size is 0xe00.

Fixes: ac68fbf526d ("ramips: add support for I-O DATA WN-DEAX1800GR")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
13 months agotoolchain: glibc: Update glibc 2.37 to recent HEAD
Hauke Mehrtens [Sat, 7 Oct 2023 10:29:57 +0000 (12:29 +0200)]
toolchain: glibc: Update glibc 2.37 to recent HEAD

This adds the following changes:
b4f76ecc9e Ignore MAP_VARIABLE in tst-mman-consts.py
f5d377c896 __check_pf: Add a cancellation cleanup handler [BZ #20975]
0e3e9dbb0e Document BZ #20975 fix
e2974d26ce io: Fix record locking contants on 32 bit arch with 64 bit default time_t (BZ#30477)
3593050c27 io: Fix F_GETLK, F_SETLK, and F_SETLKW for powerpc64
8dcb1a5181 hppa: xfail debug/tst-ssp-1 when have-ssp is yes (gcc-12 and later)
0930ff8eb3 realloc: Limit chunk reuse to only growing requests [BZ #30579]
3f4b4e2cdd elf: _dl_find_object may return 1 during early startup (bug 30515)
260d4b742b nptl: Fix tst-cancel30 on sparc64
58f7431fd7 sparc: Fix la_symbind for bind-now (BZ 23734)
1caf955269 x86: Increase `non_temporal_threshold` to roughly `sizeof_L3 / 4`
80a8c858a5 x86: Fix slight bug in `shared_per_thread` cache size calculation.
cc8243fb0b x86: Use `3/4*sizeof(per-thread-L3)` as low bound for NT threshold.
f94ff95e93 x86: Fix incorrect scope of setting `shared_per_thread` [BZ# 30745]
0d500bfdc0 hurd: Make exception subcode a long
be26b29262 io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64
3d24d1903d elf: Do not run constructors for proxy objects
a7e34a6675 elf: Always call destructors in reverse constructor order (bug 30785)
bdb594afa5 elf: Remove unused l_text_end field from struct link_map
1a7cbe52c8 elf: Move l_init_called_next to old place of l_text_end in link map
b752934602 CVE-2023-4527: Stack read overflow with large TCP responses in no-aaaa mode
6529a7466c (HEAD) getaddrinfo: Fix use after free in getcanonname (CVE-2023-4806)
79310b45af x86/dl-cacheinfo: remove unsused parameter from handle_amd
9d5c6e27ed x86: Fix for cache computation on AMD legacy cpus.
4473d1b87d Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 [BZ #30843]
94ef701365 Document CVE-2023-4806 and CVE-2023-5156 in NEWS
2dfd8c77b5 i686: Regenerate ulps
b4e23c75ae tunables: Terminate if end of input is reached (CVE-2023-4911)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 months agokernel: bump 6.1 to 6.1.56
John Audia [Fri, 6 Oct 2023 17:59:35 +0000 (13:59 -0400)]
kernel: bump 6.1 to 6.1.56

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.56

Removed upstreamed:
bcm53xx/patches-6.1/032-v6.6-0008-ARM-dts-BCM5301X-Extend-RAM-to-full-256MB-for-Linksy.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.56&id=226590fbd96717fce218878044df3568c825ba8e

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
13 months agokernel: bump 5.15 to 5.15.134
John Audia [Sat, 7 Oct 2023 14:00:03 +0000 (10:00 -0400)]
kernel: bump 5.15 to 5.15.134

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.134

Removed upstreamed:
generic/backport-5.15/894-Fix-up-backport-for-13619703038.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.134&id=d7acb7031758141225844bea073860b48fd92092

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
13 months agoquilt.mk: don't error on refresh/update if patches doesn't exist
Christian Marangi [Mon, 25 Sep 2023 00:29:31 +0000 (02:29 +0200)]
quilt.mk: don't error on refresh/update if patches doesn't exist

The current code fails if we have package or host tools with no patches
to apply. The error printend is the following: (taking ubus as an
example)

make[2]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt/scripts/config'
make[1]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt'
make[2]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt/package/system/ubus'
The source directory contains no quilt patches.
make[2]: *** [Makefile:81: quilt-check] Error 1
make[2]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt/package/system/ubus'
time: package/system/ubus/refresh#0.06#0.00#0.07
    ERROR: package/system/ubus failed to build.
make[1]: *** [package/Makefile:120: package/system/ubus/refresh] Error 1
make[1]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt'
make: *** [/home/ansuel/openwrt-ansuel/openwrt/include/toplevel.mk:232: package/ubus/refresh] Error 2

We exit 1 after saying that there are no patches because later in the
function quilt pop fails to execute.

Having no patches for a package and calling refresh should not be
a critical error and the function should just do nothing.

To handle this improve quilt.mk with the following addition.
- If we don't have any patch for the package, we print a warning and we
  create an empty series. This is useful to trick quilt and make it do
  nothing.
  We also create a status file .quilt_no_patch to detect in the other
  function that we don't have patches to handle.
- In refresh makefile target, we check if .quilt_no_patch exist and
  we skip quilt cleanup if this exist.
- In RefreshDir function we change the logic and now we delete the
  patches directory and not only the content. This is done as a cleanup
  to clean case with empty patches directory.
- In RefreshDir we check if .quilt_no_patch exist and we skip creating
  the patches directory and copying the refreshed patches.
- In RefreshDir we delete at the end any trace of .quilt_no_patch if
  present.

This is needed to support run like package/refresh that will run the
refresh process on any package present in the buildroot.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoquilt.mk: use CURDIR instead of ./ for PATCH_DIR and FILES_DIR
Christian Marangi [Mon, 25 Sep 2023 00:26:43 +0000 (02:26 +0200)]
quilt.mk: use CURDIR instead of ./ for PATCH_DIR and FILES_DIR

To better reference them for diagnostic use, reference the PATCH_DIR and
FILES_DIR with the absolute path instead of using ./ and reference by
the relative location.

No behaviour change intended.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: backport qca8k fixes for big endian and MDIO
Christian Marangi [Fri, 6 Oct 2023 16:41:05 +0000 (18:41 +0200)]
generic: 6.1: backport qca8k fixes for big endian and MDIO

Backport qca8k fixes for big endian system (to make them working again)
and a patch fixing MDIO conflicts if other PHY are connected and mgmt
eth is used to control the switch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: add patch enabling assisted learning for qca8k
Christian Marangi [Fri, 6 Oct 2023 10:49:09 +0000 (12:49 +0200)]
generic: 6.1: add patch enabling assisted learning for qca8k

Add patch enabling assisted learning for qca8k to fix roaming issue
between BSS and BSS on the same L2 broadcast domain.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: fix compilation warning for CONFIG_PROC_STRIPPED
Christian Marangi [Fri, 6 Oct 2023 10:15:53 +0000 (12:15 +0200)]
generic: 6.1: fix compilation warning for CONFIG_PROC_STRIPPED

Fix compilation warning for CONFIG_PROC_STRIPPED for kernel 6.1.

Fix compilation warning:
make[4]: Leaving directory '/__w/openwrt/openwrt/openwrt/build_dir/target-mips-openwrt-linux-musl_musl/linux-ath79_tiny/linux-6.1.55'
net/ipv4/inet_timewait_sock.c: In function '__inet_twsk_schedule':
net/ipv4/inet_timewait_sock.c:272:22: error: unused variable 'kill' [-Werror=unused-variable]
  272 |                 bool kill = timeo <= 4*HZ;
      |                      ^~~~
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: add missing config SPI_BCM63XX_HSSPI
Christian Marangi [Fri, 6 Oct 2023 09:58:59 +0000 (11:58 +0200)]
generic: 6.1: add missing config SPI_BCM63XX_HSSPI

Add missing config SPI_BCM63XX_HSSPI for kernel 6.1 triggered on
compilation of bcm4908.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoath79: mikrotik: fix build error with kernel 6.1
Koen Vandeputte [Wed, 20 Sep 2023 13:02:40 +0000 (15:02 +0200)]
ath79: mikrotik: fix build error with kernel 6.1

drivers/mfd/rb4xx-cpld.c:167:19: error: initialization of 'void (*)(struct spi_device *)' from incompatible pointer type 'int (*)(struct spi_device *)' [-Werror=incompatible-pointer-types]
  167 |         .remove = rb4xx_cpld_remove,
      |                   ^~~~~~~~~~~~~~~~~
drivers/mfd/rb4xx-cpld.c:167:19: note: (near initialization for 'rb4xx_cpld_driver.remove')
cc1: some warnings being treated as errors
make[8]: *** [scripts/Makefile.build:250: drivers/mfd/rb4xx-cpld.o] Error 1
make[7]: *** [scripts/Makefile.build:500: drivers/mfd] Error 2
make[6]: *** [scripts/Makefile.build:500: drivers] Error 2
make[5]: *** [Makefile:2012: .] Error 2

As the allocated function does nothing, simply delete it.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
13 months agogeneric: rtl8366_smi: rename and drop conflicting vlan GPL symbols
Christian Marangi [Wed, 4 Oct 2023 22:25:18 +0000 (00:25 +0200)]
generic: rtl8366_smi: rename and drop conflicting vlan GPL symbols

Symbol rtl8366_enable_vlan and rtl8366_reset_vlan are also present in
the DSA driver upstream and conflicts as they are EXPORTED.

Rename them to rtl8366_smi_enable_vlan and rtl8366_smi_reset_vlan to fix
the conflict. While at it also make them static and drop the
EXPORT_SYMBOL_GPL as they are not actually used by any other driver and
exporting them is useless.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoarmsr: armv8: Enable KASLR in kernel 6.1
Javier Tia [Tue, 3 Oct 2023 22:54:38 +0000 (16:54 -0600)]
armsr: armv8: Enable KASLR in kernel 6.1

In userspace, ASLR is enabled, but it's missing to enable KASLR on the
kernel side to improve security as part of SystemReady recommendations.

Signed-off-by: Javier Tia <javier.tia@linaro.org>
13 months agomediatek: fix wrong variable name in patch for Linux 6.1
Daniel Golle [Thu, 5 Oct 2023 18:40:12 +0000 (20:40 +0200)]
mediatek: fix wrong variable name in patch for Linux 6.1

The name of the variable holding the pointer to the private struct has
changed between Linux 5.15 and Linux 6.1 and adding the identical patch
fixing PCIe #PERST de-assert broke the build on Linux 6.1.
Also change the name in the patch to fix the build.

Fixes: 6a2e17d5c1 ("mediatek: fix PCIe #PERST being de-asserted too early")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
13 months agoipq806x: fix wrong QCA8K LED definition for NEC Aterm WG2600HP3
Christian Marangi [Thu, 5 Oct 2023 10:40:34 +0000 (12:40 +0200)]
ipq806x: fix wrong QCA8K LED definition for NEC Aterm WG2600HP3

Fix copy-paste error in migrating NEC Aterm WG2600HP3 to new LED
implementation for the QCA8K switch. Correct define the missing
additional LED pin used for each port and fix wrong color for LED 2 for
each port. Also add the required function-enumerator as all 3 LED have
the same color and function.

Fixes: c707cff6c94b ("ipq806x: add LEDs definition for non-standard qca8k LEDs")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agolinux-atm: use target specific kernel headers
Martin Schiller [Mon, 31 Jul 2023 06:10:23 +0000 (08:10 +0200)]
linux-atm: use target specific kernel headers

There are a few targets that mess with the atm kernel headers. To avoid
incompatibility between kernel and user space during compilation, the
correct headers should be used.

Consequently, the package must also be marked as nonshared.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
13 months agoipq806x: add support for Extreme Networks AP3935
Glen Lee [Thu, 29 Jun 2023 19:58:05 +0000 (15:58 -0400)]
ipq806x: add support for Extreme Networks AP3935

Extreme Networks AP3935i/e -
https://www.extremenetworks.com/support/documentation/access-points-ap3935i-e/

SoC: IPQ8068 QYY AT46279K45060I
RAM: NANYA 1527 NT5CC256M16DP-DI 515073W0EF 7 TW
FLASH: NOR - S25FL256S1 - 32MB
       NAND - Macronix MX30UF4G28AB - 512MB
LAN: Atheros AR8035-A J5150WL 1515 CN - RGMII
LAN2: Atheros AR8033-AL1A SKCSR.AJ1 1444 China - SGMII
WLAN2: QCA9990 OVV FNPV209 K451406
WLAN5: QCA9990 OVV FNPV209 K451406
SERIAL: RS232 Port (115200 8n1) Cisco console cable and
        4pin Serial Header | 3.3 | GND | RX | TX

MAC address for LAN1/LAN2/WLAN 2G/WLAN 5G in uboot env

 * Installation via either RJ45 console or on-board 4 PIN header

Install Method
--------------
1) Setup TFTP server, and place
     openwrt-ipq806x-generic-extreme_ap3935-initramfs-uImage image
     in /srv/tftp or similar
2) Connect to console on router and connect ethernet port "LAN1" to
     your LAN
3) Interupt the boot with any character
4) Login with admin/new2day for default password
     (use reset/FactoryDefault if password needs to be reset)
5) Set serverip to TFTP IP: set serverip 192.168.1.2
6) Set ipaddr to another IP: set ipaddr 192.168.1.101
7) Make uboot ping something to activate eth0 on boot:
     set bootcmd 'ping 192.168.1.1; run boot_flash'
     saveenv
8) TFTP image to RAM:
     tftpboot 0x42000000
openwrt-ipq806x-generic-extreme_ap3935i-initramfs-uImage
9) Boot image: bootm 0x42000000
     In OpenWRT, "LAN1" is LAN, "LAN2" is WAN
10) SFTP openwrt-ipq806x-generic-extreme_ap3935-squashfs-nand-sysupgrade.bin
     image to /tmp
11) sysupgrade /tmp/openwrt-*-nand-sysupgrade.bin

Signed-off-by: Glen Lee <g2lee@yahoo.com>
13 months agokernel: bump 5.15 to 5.15.133
John Audia [Sat, 23 Sep 2023 14:15:37 +0000 (10:15 -0400)]
kernel: bump 5.15 to 5.15.133

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.133

Removed upstreamed:
bcm47xx/patches-5.15/101-v5.18-mtd-rawnand-brcmnand-Allow-SoC-to-provide-I-O-operations.patch[1]

Cherry picked build fix.[2] All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.133&id=56cf9f446b331414a15ef0e8dedf23583ec2c427
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-5.15/fix-up-backport-of-136191703038-interconnect-teach-l.patch

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
13 months agoDelete arm-magic script
Linus Walleij [Thu, 28 Sep 2023 13:28:31 +0000 (15:28 +0200)]
Delete arm-magic script

This script was used to modify the wrong machine type passed
from the boot loader to the kernel. The device tree kernels
does not use the machine type so this script is no longer
needed.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
13 months agogemini: Drop kernel v5.15 and default to v6.1
Linus Walleij [Thu, 28 Sep 2023 18:12:47 +0000 (20:12 +0200)]
gemini: Drop kernel v5.15 and default to v6.1

There is no point in keeping the v5.15 kernel around for Gemini,
we are maintaining the platform with a strong upstream focus and
newer is always better.

Now that OpenWrt can support pure v6.1 kernels, switch up to
v6.1 and drop v5.15 so we don't need to migrate configs and
patches for no reason.

The USB FOTG2 module handling can be simplified as a result.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
13 months agortl83xx: fix STP by trapping BPDUs
Rudolf Vesely [Mon, 2 Oct 2023 06:51:19 +0000 (06:51 +0000)]
rtl83xx: fix STP by trapping BPDUs

Fix Spanning Tree Protocol (STP) by changing COPY2CPU which currently
makes switch to ignore Bridge Protocol Data Units (BPDUs).

Tested on Zyxel GS1900-8, 24 and 48.

Signed-off-by: Rudolf Vesely <i@rudolfvesely.com>
[ improve commit description and add new line in different sections ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoCI: push-containers: refresh containers also on modify cmake options
Christian Marangi [Wed, 4 Oct 2023 11:28:58 +0000 (13:28 +0200)]
CI: push-containers: refresh containers also on modify cmake options

Refresh containers also on modify of cmake options in the include file.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoCI: push-containers: fix concurrency group
Christian Marangi [Wed, 4 Oct 2023 11:27:55 +0000 (13:27 +0200)]
CI: push-containers: fix concurrency group

Fix concurrency group for push-containers workflow to handle running on
different branches.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agobuild: suppress cmake warnings about unused vars
Tjalling Hattink [Tue, 26 Sep 2023 13:10:52 +0000 (15:10 +0200)]
build: suppress cmake warnings about unused vars

When cmake is invoked to build a package it usually reports a warning
about unused variables passed to it. This is caused by openwrt passing
all supported variables to cmake, even if they are not all required by
the package being compiled.

To reduce clutter when compiling such packages these warnings are now
suppressed.

Approved-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Tjalling Hattink <t.hattink@fugro.com>
13 months agorealtek: 5.15: rtl93xx: support 2500baseT and 5000baseT on USXGMII links
Tobias Schramm [Sat, 23 Sep 2023 11:46:40 +0000 (13:46 +0200)]
realtek: 5.15: rtl93xx: support 2500baseT and 5000baseT on USXGMII links

The USXGMII implementation of Realtek switches can not only support
10GbE but also 2.5Gb and 5Gb on top of the usual data rates.
Mark those as supported to allow them to be negotiated.

This change has been tested on a ZyXEL XGS1250-12 with the following link
partners:
 - NWA50AX Pro (2.5Gb)
 - RTL8152 USB NIC (2.5Gb)
 - AQC111 USB NIC (2.5Gb & 5Gb)

Gbit and 10GbE has also been tested to still work fine with a variety of
devices.

Signed-off-by: Tobias Schramm <tobias@t-sys.eu>
13 months agortl93xx: fix condition intended to only select internal serdes ports
Peter Körner [Sun, 24 Sep 2023 18:58:13 +0000 (20:58 +0200)]
rtl93xx: fix condition intended to only select internal serdes ports

This condition was introduced in commit 51c8f7661244 ("realtek: Improve
MAC config handling for all SoCs") to correctly report the speed of the
internal serdes ports as 10G, but instead makes all ports read 10G
because the or-operator should have been an and-operator.

Fixes: #9953
Fixes: 51c8f7661244 ("realtek: Improve MAC config handling for all SoCs")
Signed-off-by: Peter Körner <git@mazdermind.de>
[ wrap comment to 72 column and improve commit ref ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agomediatek: fix PCIe #PERST being de-asserted too early
Daniel Golle [Tue, 3 Oct 2023 01:32:35 +0000 (02:32 +0100)]
mediatek: fix PCIe #PERST being de-asserted too early

The driver for MediaTek gen3 PCIe hosts de-asserts all reset
signals at the same time using a single register write operation.
Delay the de-assertion of the #PERST signal by 100ms as some PCIe
devices fail to come up otherwise.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
13 months agouqmi: added timeout to fix hanging qmi.sh
Uwe Niethammer [Sun, 1 Oct 2023 10:26:51 +0000 (12:26 +0200)]
uqmi: added timeout to fix hanging qmi.sh

Modems which are using qmi do not reply on the 1st sync but they do
on subsequent. So qmi.sh is hanging on the first call. Since 2020 uqmi
supports a timeout parameter. Unfortunately qmi.sh didn't make use of
this parameter. So qmi.sh is now invoking an early dummy access to
unlock the modem

Signed-off-by: Uwe Niethammer <uwe@dr-niethammer.de>
13 months agoyafut: add missing PKG_MIRROR_HASH
Christian Marangi [Mon, 2 Oct 2023 20:13:10 +0000 (22:13 +0200)]
yafut: add missing PKG_MIRROR_HASH

Add missing PKG_MIRROR_HASH. This is always needed as is used to
generate and use a tar instead of git clone and validate the hash of it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq40xx: use upstreamed SDI disable support
Robert Marko [Sat, 30 Sep 2023 11:19:30 +0000 (13:19 +0200)]
ipq40xx: use upstreamed SDI disable support

Google WiFi board has what seems as debug version of TZ/QSEE and it is
always enabling SDI (Secure Debug Image) and in order to do a regular
reboot it must be disabled, as otherwise you are stuck in a debug state
where you are supposed to extract debug logs via QCA tooling which is not
helpfull at all for regular users.

So, instead of using our downstream version to disable SDI lets use the
version that was merged upstream and relies on a boolean property in the
SCM node instead of checking the compatible.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Tested-by: Brian Norris <computersforpeace@gmail.com>
13 months agoipq-wifi: improve and update instructions on how to add board files
Christian Marangi [Mon, 2 Oct 2023 16:53:16 +0000 (18:53 +0200)]
ipq-wifi: improve and update instructions on how to add board files

Improve and update instructions on how to add board files and both
describe the needed step to upstream a board file or to use it locally.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agortl8812au-ct: Fix PKG_MIRROR_HASH
Hauke Mehrtens [Mon, 2 Oct 2023 10:59:18 +0000 (12:59 +0200)]
rtl8812au-ct: Fix PKG_MIRROR_HASH

The PKG_MIRROR_HASH is wrong, fix it.
Found and fixed using this command:
make package download check FIXUP=1

Fixes: c123e4f0533e ("rtl8812au-ct: bump to fix kernel 6.1 compile")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 months agomediatek: fix eeprom loading (Mercusys MR90X v1)
Mikhail Zhilkin [Sat, 30 Sep 2023 14:07:15 +0000 (14:07 +0000)]
mediatek: fix eeprom loading (Mercusys MR90X v1)

Commit mt76: drop default eeprom file for mt7986-firmware
(e3aa645b267ca4f08773b5366583e9b0020fc3e9) breaks eeprom loading for
Mercusys MR90X v1. As a result WiFi is not working at all.

This commit adds Mercusus MR90x to the caldata script (it works after the
commit mentioned above). And we can safely drop "81_fix_eeprom" script
as it's no longer required.

Fixes: e3aa645b267ca4f08773b5366583e9b0020fc3e9
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
13 months agouci: fix Makefile formatting
Oskari Rauta [Sun, 1 Oct 2023 10:07:31 +0000 (13:07 +0300)]
uci: fix Makefile formatting

Fix wrong declaration for PKG_SROUCE_URL and PKG_VERSION variables and add missing colon

Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
13 months agoipq806x: disable unused SWCONFIG config flags
Christian Marangi [Sat, 30 Sep 2023 20:06:05 +0000 (22:06 +0200)]
ipq806x: disable unused SWCONFIG config flags

Disable unused SWCONFIG config flags now that we switched to DSA and are
not needed anymore.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq806x: add patch fixing regression from stmmac TX timer
Christian Marangi [Mon, 18 Sep 2023 14:36:34 +0000 (16:36 +0200)]
ipq806x: add patch fixing regression from stmmac TX timer

Add patch fixing regression from stmmac TX timer.

Refer to the single patch for extensive details on the problem.

This should restore original performance before 4.19 kernel.

Fixes: #11676
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq806x: add patch fixing regression from stmmac TX timer
Christian Marangi [Mon, 18 Sep 2023 14:36:34 +0000 (16:36 +0200)]
ipq806x: add patch fixing regression from stmmac TX timer

Add patch fixing regression from stmmac TX timer.

Refer to the single patch for extensive details on the problem.

This should restore original performance before 4.19 kernel.

Fixes: #11676
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq40xx: refresh qca8k patches
Christian Marangi [Tue, 26 Sep 2023 13:39:55 +0000 (15:39 +0200)]
ipq40xx: refresh qca8k patches

Refresh qca8k patches to sync with the generic backports changes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq806x: add LEDs definition for non-standard qca8k LEDs
Christian Marangi [Tue, 26 Sep 2023 12:10:42 +0000 (14:10 +0200)]
ipq806x: add LEDs definition for non-standard qca8k LEDs

Add LEDs definition for devices that use a non-standard qca8k LEDs
configuration.

This is to restore original setup of the LED and be on par with swconfig
old configuration.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq806x: enable and setup multi-CPU port for qca8k switch
Christian Marangi [Tue, 20 Jun 2023 07:49:53 +0000 (09:49 +0200)]
ipq806x: enable and setup multi-CPU port for qca8k switch

Enable and setup multi-cpu for qca8k switch for ipq806x based devices.

Rework each DTS to enable the secondary CPU port on QCA8K switch and
apply the required values originally set by the OEM in the old swconfig
node.

In original firmware the first CPU port was always assigned to the WAN
port and the secondary CPU port was assigned to the rest of the LAN
port. Follow this original implementation using an init.d script.

To setup the CPU port ip tools is required. Add additional default
package ip-tiny to correctly setup the CPU port.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: backport patch for multi CPU port support on QCA8K
Christian Marangi [Tue, 20 Jun 2023 06:41:32 +0000 (08:41 +0200)]
generic: 6.1: backport patch for multi CPU port support on QCA8K

Backport pending patch for multi CPU port support on QCA8K. 6.1 already
supports all the requiredt code to change a DSA master port so only this
patch fixing the driver is required.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: backport various qca8k fixes patch
Christian Marangi [Tue, 26 Sep 2023 11:47:44 +0000 (13:47 +0200)]
generic: 6.1: backport various qca8k fixes patch

Backport various QCA8K fixes patch merged upstream. Refresh any changed
patches due to backports.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq806x: move ASRock G10 fix mac preinit script to generic board.d script
Christian Marangi [Tue, 20 Jun 2023 07:57:07 +0000 (09:57 +0200)]
ipq806x: move ASRock G10 fix mac preinit script to generic board.d script

Drop and move ASRock G10 preinit script to fix mac address to generic
board.d script and rework for consistency with other devices following a
similar implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq806x: convert each device to DSA implementation
Christian Marangi [Fri, 6 Aug 2021 10:40:54 +0000 (12:40 +0200)]
ipq806x: convert each device to DSA implementation

Convert each ipq806x device to DSA implementation using the qca8k
driver. Rework 02_network to follow the new naming scheme.
Update 01_leds to use netdev trigger with correct DSA port and drop
now unused switch trigger.

Currently secondary CPU is disabled and will be reneabled later.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: add patch for GPON-ONU-34-20BI quirk
Christian Marangi [Thu, 28 Sep 2023 20:55:08 +0000 (22:55 +0200)]
generic: add patch for GPON-ONU-34-20BI quirk

Backport patch merged upstream adding quirk for SFP GPON-ONU-34-20BI.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agohostapd: increase PKG_RELEASE to fix builds
Nick Hainke [Fri, 29 Sep 2023 09:12:02 +0000 (11:12 +0200)]
hostapd: increase PKG_RELEASE to fix builds

Recent hostapd changes just edited the ucode files. It is required to
bump the PKG_RELEASE to include the newest changes in the latest builds.

Signed-off-by: Nick Hainke <vincent@systemli.org>
13 months agofilogic: add support for GL.iNet GL-MT6000
Jianhui Zhao [Sun, 24 Sep 2023 14:34:12 +0000 (22:34 +0800)]
filogic: add support for GL.iNet GL-MT6000

Hardware specification:
* SoC: MediaTek MT7986A 4x A53
* Flash: 8GB EMMC
* RAM: 1GB DDR4
* Ethernet:
  * 2x2.5G RJ45 port (RTL8221B)
  * 4x1G RJ45 ports (MT7531AE)
* WLAN:
  * 2.4GHz: MT7976GN 4T4R
  * 5GHz: MT7976AN 4T4R
* Button: Reset
* LED: 1 x dual color LED
* USB: 1 x USB 3.0
* Power: DC 12V 4A
* UART: 3V3 115200 8N1 (Pinout: GND TX RX VCC)
* JTAG: 9 PIN

If you want to use u-boot from OpenWrt, you can upgrade it safely.
* bl2: openwrt-mediatek-filogic-glinet_gl-mt6000-preloader.bin
* fip: openwrt-mediatek-filogic-glinet_gl-mt6000-bl31-uboot.fip

`openwrt-mediatek-filogic-glinet_gl-mt6000-squashfs-factory.bin` is used in OpenWrt's u-boot.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
13 months agomt76: drop default eeprom file for mt7986-firmware
Chukun Pan [Thu, 4 May 2023 15:10:03 +0000 (23:10 +0800)]
mt76: drop default eeprom file for mt7986-firmware

The mt76 driver usually reads the eeprom on the mtd partition at dts.
For emmc device we need to use caldata_extract script to read the
eeprom. However, the default eeprom file breaks the caldata script
execution, so remove it.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
13 months agogeneric: net: phy: realtek: add interrupt support for RTL8221B
Jianhui Zhao [Sun, 24 Sep 2023 14:15:00 +0000 (22:15 +0800)]
generic: net: phy: realtek: add interrupt support for RTL8221B

This commit introduces interrupt support for RTL8221B.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
13 months agouboot-mediatek: sync spi-nand driver with SDK
Chukun Pan [Mon, 18 Sep 2023 13:28:01 +0000 (21:28 +0800)]
uboot-mediatek: sync spi-nand driver with SDK

When adding new router support, I found that uboot
could not recognize flash: "unknown raw ID xxx".

Sync SPI-NAND driver for mediatek to fixes this:
 * Add support for Winbond W25N01KV 1Gbit chip.
 * Add support for Etron SPI-NAND chip.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
13 months agosifiveu: refresh 6.1 config
Zoltan HERPAI [Sat, 23 Sep 2023 15:28:55 +0000 (17:28 +0200)]
sifiveu: refresh 6.1 config

Add new config symbols as required.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
13 months agosifiveu: remove upstreamed patches, refresh remaining ones
Zoltan HERPAI [Fri, 22 Sep 2023 17:47:01 +0000 (19:47 +0200)]
sifiveu: remove upstreamed patches, refresh remaining ones

Upstreamed:
0002-riscv-sifive-unmatched-update-regulators-values.patch
0003-riscv-sifive-unmatched-define-PWM-LEDs.patch
0006-riscv-sbi-srst-support.patch

Compile-tested: HiFive Unleashed / Unmatched
Runtime-tested: HiFive Unleashed / Unmatched

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
13 months agosifiveu: add testing kernel 6.1
Zoltan HERPAI [Fri, 22 Sep 2023 16:29:57 +0000 (18:29 +0200)]
sifiveu: add testing kernel 6.1

Compile-tested: HiFive Unleashed / Unmatched
Runtime-tested: HiFive Unleashed / Unmatched

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
13 months agosifiveu: copy patches from 5.15 to 6.1
Zoltan HERPAI [Fri, 22 Sep 2023 16:29:15 +0000 (18:29 +0200)]
sifiveu: copy patches from 5.15 to 6.1

To start the upgrade, we copy the patches from 5.15 to 6.1.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
13 months agohostapd: fix wpa_supplicant mac address allocation on ap+sta
Felix Fietkau [Thu, 28 Sep 2023 08:28:43 +0000 (10:28 +0200)]
hostapd: fix wpa_supplicant mac address allocation on ap+sta

If the full interface is restarted while bringing up an AP, it can trigger a
wpa_supplicant interface start before wpa_supplicant is notified of the
allocated mac addresses.
Fix this by moving the iface_update_supplicant_macaddr call to just after
the point where mac addresses are allocated.

Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 months agompc85xx: add Enterasys WS-AP3715i reset button
David Bauer [Wed, 27 Sep 2023 14:43:54 +0000 (16:43 +0200)]
mpc85xx: add Enterasys WS-AP3715i reset button

The reset button was missing from the Enterasys WS-AP3715i DTS.
Add the node required for making the reset button work.

Signed-off-by: David Bauer <mail@david-bauer.net>
13 months agohostapd: fix mac address of interfaces created via wdev.uc
Felix Fietkau [Wed, 27 Sep 2023 13:03:16 +0000 (15:03 +0200)]
hostapd: fix mac address of interfaces created via wdev.uc

Use the wdev config with the generated MAC address

Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 months agoramips: cf-ew72-v2: Add support for COMFAST CF-EW72 V2
Alexey D. Filimonov [Fri, 18 Aug 2023 21:26:59 +0000 (00:26 +0300)]
ramips: cf-ew72-v2: Add support for COMFAST CF-EW72 V2

Add support for COMFAST CF-EW72 V2

Hardware:
-   SoC: Mediatek MT7621 (MT7621DAT or MT7621AT)
-   Flash: 16 MiB NOR
-   RAM: 128 MiB
-   Ethernet: Built-in, 2 x 1GbE
-   Power: only 802.3af PD on any port, injector supplied in the box
-   PoE passthrough: No
-   Wifi 2.4GHz: Mediatek MT7603BE 802.11b/g/b
-   Wifi 5GHz: Mediatek MT7613BEN 802.11ac/n/a
-   LEDs: 8x (only 1 is both visible and controllable, see below)
-   Buttons: 1x (RESET)

Installing OpenWrt:
Flashing is done using Mediatek U-Boot System Recovery Mode
-   make wired connection with 2 cables like this:
-     -   PC (LAN) <-> PoE Injector (LAN)
-     -   PoE Injector (POE) <-> CF-EW72 V2 (LAN). Leave unconnected to CF-EW72 V2 yet.
-   configure 192.168.1.(2-254)/24 static ip address on your PC LAN
-   press and keep pressed RESET button on device
-   power the device by plugging PoE Injector (POE) <-> CF-EW72 V2 (LAN) cable
-   wait for about 10 seconds until wifi led stops blinking and release RESET button
-   navigate from your PC to http://192.168.1.1 and upload OpenWrt *-factory.bin firmware file
-   proceed until router starts blinking with wifi led again (flashing) and stops (rebooting to OpenWrt)

MAC addresses as verified by OEM firmware:
  vendor OpenWrt  address
  LAN    lan\eth0 label
  WAN    wan     label + 1
  2g     phy0    label + 2
  5g     phy1    label + 3

  The label MAC address was found in 0xe000.

LEDs detailed:
  The only both visible and controllable indicator is blue:wlan LED.
  It is not bound by default to indicate activity of any wireless interfaces.

  Place (WAN->ANT) | Num | GPIO | LED name (LuCI)   | Note
  -----------------|-----|-----------------------------------------------------------------------------------------
             power | 1   |      |                   | POWER LED. Not controlled with GPIO.
      hidden_led_2 | 2   | 13   | blue:hidden_led_2 | This LED does not have proper hole in shell.
               wan | 3   |      |                   | WAN LED. Not controlled with GPIO.
      hidden_led_4 | 4   | 16   | blue:hidden_led_4 | This LED does not have proper hole in shell.
               lan | 5   |      |                   | LAN LED. Not controlled with GPIO.
      noconn_led_6 | 6   |      |                   | Not controlled with GPIO, possibly not connected
              wlan | 7   | 15   | blue:wlan         | WLAN LED. Wireless indicator.
      noconn_led_8 | 8   |      |                   | Not controlled with GPIO, possibly not connected

  mt76-phy0 and mt76-phy1 leds also exist in OpenWrt, but do not exist on board.

Signed-off-by: Alexey D. Filimonov <alexey@filimonic.net>
13 months agompc85xx: drop WS-AP3715i label-mac
David Bauer [Mon, 25 Sep 2023 18:58:04 +0000 (20:58 +0200)]
mpc85xx: drop WS-AP3715i label-mac

Label MAC detection does not work properly, as MAC address is assigned
on preinit. Thus, remove the label-mac definition.

Signed-off-by: David Bauer <mail@david-bauer.net>
13 months agoipq40xx: add support for Extreme Networks WS-AP391x series APs
Glen Lee [Sat, 26 Aug 2023 01:46:59 +0000 (21:46 -0400)]
ipq40xx: add support for Extreme Networks WS-AP391x series APs

This in a single image to run many types of hardware in the AP391x
series (AP3912/AP3915/AP3916/AP3917/AP7662).

Hardware
--------
Qualcomm IPQ4029 WiSoC
2T2R 802.11 abgn
2T2R 802.11 nac
Macronix MX25L25635E SPI-NOR (32M)
512M DDR3 RAM
1-4x Gigabit Ethernet
Senao EXT1025 HD Camera (AP3916 only)
USB 2.0 Port (AP3915e only)

1x Cisco RJ-45 Console port
  - except for AP3916 and AP3912 where there is no external serial
    console and it is TDB how to solder one. Possibly J12 is UART with
    pin1 = 3.3V, pin2 = GND, pin3 = TXD, pin4 = RXD.
  - Settings: 115200 8N1

Installation With Serial Console
--------------------------------

1. Attach to the Console port. Power up the device and press the s key
   to interrupt autoboot.

2. The default username / password to the bootloader is admin / new2day

3. Check uboot variables using printenv, and update if necessary:

   $ setenv AP_MODE 0
   $ setenv WATCHDOG_COUNT 0
   $ setenv WATCHDOG_LIMIT 0
   $ setenv AP_PERSONALITY identifi
   $ setenv serverip <SERVER_IPADDR>
   $ setenv ipaddr <UNIQUE_IPADDR>
   $ setenv MOSTRECENTKERNEL 0; ## OpenWRT only uses the primary image
   $ saveenv
   $ saveenv ## 2nd time to write the secondary copy

4. On the TFTP server located at <SERVER_IPADDR>, download the OpenWrt
   initramfs image. Rename and serve it as vmlinux.gz.uImage.3912

5. TFTP boot the OpenWrt initramfs image from the AP serial console:

   $ run boot_net

6. Wait for OpenWrt to start. Internet port sw-eth5 is assiged to LAN
   bridge and sw-eth4 (if available) is assigned to WAN.  The LAN port
   will use default IP address 192.168.1.1 and run a DHCP server.

   If you already have a working DHCP server or already have 192.168.1.1
   on your network you MUST DISCONNECT the LAN cable from your active
   network immediately after the power/status LED turns green!

   At this point, you need to temporarily reconfigure the AP to have
   a way to transfer the OpenWRT sysupgrade image to it.

   Reconfigure the newly converted OpenWRT AP using serial console or
   plug in a PC to a sw-eth5 as a separate network. Note -- the LAN/WAN
   port assignments were designed to make it possible to convert to
   OpenWRT without serial console and using a common firmware
   image for many AP models -- they may not make the most sense when
   fully deployed.

7. Download and transfer the sysupgrade image to the device using e.g.
   SCP.

8. Install OpenWrt to the device using "sysupgrade"

   $ sysupgrade -n /path/to/openwrt.bin

9. After it boots up again, as in step 6, connect to AP and reconfigure
   for final deployment.

This build supports APs in the AP391x series and similar such as WiNG
AP7662.

Ethernet devices within OpenWRT are named "sw-eth1" thru "sw-eth5".
Mapping from OpenWRT internal naming to external naming on the case is
as follows:

```
            |sw-eth1|sw-eth2|sw-eth3|sw-eth4|sw-eth5
------------+-------+-------+-------+-------+-------
AP3917      |       |       |       |  GE2  |  GE1
------------+-------+-------+-------+-------+-------
AP7662      |       |       |       |  GE2  |  GE1
------------+-------+-------+-------+-------+-------
AP3916      |       |       |       |  CAM* |  GE1
------------+-------+-------+-------+-------+-------
AP3915      |       |       |       |       |  GE1
------------+-------+-------+-------+-------+-------
AP3912      |       |  P1   |  P2   |  P3   | LAN1
------------+-------+-------+-------+-------+-------
```

By default sw-eth4 is mapped to WAN. All others are assigned to the
LAN.

CAM* - On AP3916, sw-eth4 is the camera's interface.  You should
reconfigure this to be on LAN after OpenWRT boots from flash.

Installation Without Serial Console
-----------------------------------

The main premise is to set u-boot environment variables using the
Extreme Networks firmware's rdwr_boot_cfg program.

$ rdwr_boot_cfg

Utility to manipulate the boot ROM config blocks
All errors are written to the sytem log file (/tmp/log/ap.log)

```
Usage: rdwr_boot_cfg <read_all|read_var|read_var_f|write_var|rm_var> ...
   read_all             read the entire active block
   read_var <var>       read a single variable from the active block
   read_var_f <var>     read a single variable from the active block
(formatted)
   write_var <var=val>  write a single variable/value pair to both
blocks
   rm_var <var>         delete a single variable from both blocks
```

WARNING: Be very sure you have set the u-boot environment correctly.
If not, it can only be fixed by attaching serial console!

Be aware that the Extreme Networks shell environment will automatically
reboot every 5 minutes if there is no controller present.

Read and understand these steps fully before attempting.  It is easy
to make mistakes!

1. Place the OpenWRT initramfs on the TFTP server and name it as
   vmlinux.gz.uImage.3912

2. Boot up to Extreme Networks WING-Campus mode OS.  Port GE1/LAN1
   will be a DHCP **client**.  Find out the IP address from your DHCP
   server and SSH in.  Default user/passwd is admin/new2day or
   admin/admin123.

   If it is booting to WING-Distributed mode, use this command to
   convert to Campus mode.

   $ operational-mode centralized

3. Upon bootup you have about 5mins to changed these u-boot variables
   if necessary using the rdwr_boot_cfg command in Linux shell:

   $ rdwr_boot_cfg write_var AP_MODE=0
   $ rdwr_boot_cfg write_var MOSTRECENTKERNEL=0
   $ rdwr_boot_cfg write_var WATCHDOG_COUNT=0
   $ rdwr_boot_cfg write_var WATCHDOG_LIMIT=0
   $ rdwr_boot_cfg write_var AP_PERSONALITY=identifi
   $ rdwr_boot_cfg write_var serverip=<SERVER_IPADDR>
   $ rdwr_boot_cfg write_var ipaddr=<UNIQUE_IPADDR>
   $ rdwr_boot_cfg write_var bootcmd="run boot_net"

4. Reboot AP.

5. Connect PC with ethernet to GE1/LAN1 port.  You should get a
   DHCP address in the 192.168.1.x range and should be able to
   SSH to the new OpenWRT TFTP recovery/installation shell.

6. At this point, u-boot is still set to TFTP boot, so you have to
   replace the TFTP image with the original Extreme Networks image so
   that you can change the u-boot environment.

   See the instructions for Extracting Extreme Networks firmware
   image.

   DON'T REBOOT YET!

7. Next you must follow steps 6 thru 8 from the Installation with serial
   console.  After which you should have OpenWRT installed to primary
   flash firmware.

8. Now Reboot.  This time it will boot using TFTP into Extreme Networks
   image.  You may need to reconnect cables at this point -- GE1/LAN1
   will be a DHCP **client** and you can SSH in -- just like step 2.
   Get the IP address from you own DHCP server.

9. Set u-boot env as follows:

   $ rdwr_boot_cfg write_var MOSTRECENTKERNEL=0
   $ rdwr_boot_cfg write_var WATCHDOG_COUNT=0
   $ rdwr_boot_cfg write_var bootcmd="run boot_flash"

10. Reboot AP.  This time it should be into OpenWRT.  GE1/LAN1 will be
   a DHCP **server** and have static IP 192.168.1.1 -- just like step 5.

11. SSH into the LAN port and reconfigure to final configuration. Don't
   make any changes that prevent you from SSH or Luci access!

Restoring Extreme Networks firmware
-----------------------------------

Assuming you have the original Extreme Networks image:

1. Login to OpenWRT shell

2. scp the Extreme Networks packaged firmware image file AP391x-*.img to
   /tmp

3. Extract the firmware uimage file:

   $ tar xjf AP391x-*.img vmlinux.gz.uImage

4. Force run sysupgrade:

   $ sysupgrade -F /tmp/AP391x-*.img /

5. Restore the u-boot varable(s):

   $ rdwr_boot_cfg write_var WATCHDOG_LIMIT=3

USB 2.0 Port on AP3915e
-----------------------
Enable this by setting LED "eth:amber_or_usb_enable" to ALWAYS ON.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Glen Lee <g2lee@yahoo.com>
13 months agotreewide: Add extra CPE identifier
Hauke Mehrtens [Sun, 24 Sep 2023 18:16:21 +0000 (20:16 +0200)]
treewide: Add extra CPE identifier

This adds some Common Platform Enumerations (CPE) identifiers which I
found.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 months agoipq40xx: ZTE MF282 Plus fix sysupgrade
Andreas Böhler [Mon, 25 Sep 2023 18:18:52 +0000 (20:18 +0200)]
ipq40xx: ZTE MF282 Plus fix sysupgrade

While adding support for the MF282 Plus, an entry in platform.sh was
overlooked - this fixes sysupgrade on this devices.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
13 months agoipq40xx: ZTE MF287 fix sysupgrade
Andreas Böhler [Mon, 25 Sep 2023 18:16:22 +0000 (20:16 +0200)]
ipq40xx: ZTE MF287 fix sysupgrade

While refactoring support for the MF287 series, an entry in platform.sh
was overlooked - this fixes sysupgrade on this devices.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
13 months agoipq40xx: drop patches/files/config for kernel 5.15
Christian Marangi [Mon, 25 Sep 2023 15:38:00 +0000 (17:38 +0200)]
ipq40xx: drop patches/files/config for kernel 5.15

Drop patches/files/config for kernel 5.15 now that they are not used
anymore.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agoipq40xx: move to kernel 6.1 by default
Christian Marangi [Mon, 25 Sep 2023 15:37:38 +0000 (17:37 +0200)]
ipq40xx: move to kernel 6.1 by default

Move ipq40xx to kernel 6.1 by default.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agogeneric: 6.1: add missing config TRUSTED_KEYS_TEE
Christian Marangi [Mon, 25 Sep 2023 16:04:51 +0000 (18:04 +0200)]
generic: 6.1: add missing config TRUSTED_KEYS_TEE

Add missing config TRUSTED_KEYS_TEE for kernel 6.1 triggered when
TRUSTED_KEYS is enabled.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agohostapd: fix rare crash with AP+STA and ACS enabled
Felix Fietkau [Mon, 25 Sep 2023 13:36:29 +0000 (15:36 +0200)]
hostapd: fix rare crash with AP+STA and ACS enabled

Ensure that the iface disable in uc_hostapd_iface_start also clears the ACS
state.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 months agokernel: add missing symbols
Oskari Rauta [Sun, 24 Sep 2023 05:25:03 +0000 (08:25 +0300)]
kernel: add missing symbols

CONFIG_DEVTMPFS_SAFE and CONFIG_DM_AUDIT were not
set and had to be manually selected during build
everytime kernel was updated.

Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
13 months agobase-files: ipcalc.sh: make check slightly more future-proof
Leon M. Busch-George [Wed, 20 Sep 2023 21:42:08 +0000 (23:42 +0200)]
base-files: ipcalc.sh: make check slightly more future-proof

The previous code handling the equal-condition might be removed or
altered in the future and the case might be overlooked.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
13 months agobase-files: ipcalc.sh: turn error into warning
Leon M. Busch-George [Sun, 20 Aug 2023 19:08:20 +0000 (21:08 +0200)]
base-files: ipcalc.sh: turn error into warning

Some users have their routers configured to supply a DHCP range that
includes the local interface address.
That worked with dnsmasq because it automatically skips the local
address.

Re-enable those existing configurations for the release and hint at
possible future problems.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
[ wrap commit description and remove unecessary text ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
13 months agobase-files: ipcalc.sh clarify range parameters in comment
Leon M. Busch-George [Tue, 27 Jun 2023 14:01:09 +0000 (16:01 +0200)]
base-files: ipcalc.sh clarify range parameters in comment

To avoid confusion when working with ipcalc.sh, clarify that the last two
parameters belong to the range calculation and rename 'num' to the slightly
less ambiguous 'size'.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
13 months agopackage: dnsmasq: remove off-by-one mitigation for limit
Leon M. Busch-George [Fri, 16 Jun 2023 13:12:18 +0000 (15:12 +0200)]
package: dnsmasq: remove off-by-one mitigation for limit

In the dnsmasq init script, an off-by-one in the range calculation of
ipcalc.sh was mitigated by passing the limit as if its counting started
at zero. This patch removes the mitigation as the off-by-one has been
fixed.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
13 months agopackage: avoid the use of eval to parse ipcalc.sh output
Leon M. Busch-George [Sun, 18 Jun 2023 18:17:27 +0000 (20:17 +0200)]
package: avoid the use of eval to parse ipcalc.sh output

Add a function 'ipcalc' to /lib/functions.sh that sets variables more
safely using export.
With this new function, dnsmasq also handles the return value of ipcalc
correctly.

Fixes: e4bd3de1be8e ("dnsmasq: refuse to add empty DHCP range")
Co-Authored-By: Philip Prindeville <philipp@redfish-solutions.com>
Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
13 months agobase-files: ipcalc.sh: don't print broadcast addr for prefix > 30
Leon M. Busch-George [Fri, 16 Jun 2023 12:58:48 +0000 (14:58 +0200)]
base-files: ipcalc.sh: don't print broadcast addr for prefix > 30

Printing a broadcast address doesn't make any sense for /31 and /32
prefixes.
Strictly speaking, the same goes for the network address but it is useful
to get the first address in the prefix, e.g. to create a canonical
CIDR notation "$NETWORK/$PREFIX".

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
13 months agobase-files: ipcalc.sh: correctly set limit for prefix > 30
Leon M. Busch-George [Fri, 16 Jun 2023 12:56:39 +0000 (14:56 +0200)]
base-files: ipcalc.sh: correctly set limit for prefix > 30

For /31 and /32 prefixes, there are only host addresses - no network and
broadcast address with all-zero and all-one bits.
Reflect this when setting the limit.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>