openwrt/staging/linusw.git
2 years agonettle: update to 3.8
Nick Hainke [Mon, 27 Jun 2022 21:57:00 +0000 (23:57 +0200)]
nettle: update to 3.8

Refresh:
- 100-portability.patch

Changelog:

ea4ea5e6 Document MacOS test workaround.
b14fc902 Add missing file fat-arm64.c to tar file.
6720f433 Update config.guess and config.sub to latest versions.
a2be57f0 NEWS entries for Nettle-3.8.
bff9a605 Update version numbers, for nettle-3.8.
36386678 Fix comment typo
e05fd5a9 Add ChangeLog entry for SM3 contribution.
8739faa8 Document cbc_aes128_encrypt, cbc_aes192_encrypt and cbc_aes256_encrypt.
efb2ec7f Deleted the manual's incomplete and out of date list of authors.
af38c91f New more accurate AUTHORS file.
ba084efa Fix ChangeLog typo.
0fff3097 ChangeLog entries for s390x ghash update.
75b687a8 Fix comment typo.
5d0089ed Refactor s390x-specific code for new ghash organization
2aabd5e2 ppc: Update fat setup for new ghash organization.
8f5fddfb ppc: Update vpmsumd ghash to new organization.
1227381e Comment fix.
9939f866 arm64: Update fat setup for new ghash organization.
ab62f731 Fix comment error
b1645555 arm64: Update pclmul ghash to new organization.
6b80b889 Update fat setup for new ghash organization.
d382fcc0 Delete _ghash_digest.
d11c4cd9 x86_64: Update pclmul ghash to new organization.
f79cc0c1 x86_64: Update table-based ghash to new organization.
bdc2fc31 Move _ghash_digest.
1d438ad4 Refactor GCM C implementation.
bdf820df New function block16_zero.
d966ea0d Delete code for GCM_TABLE_BITS != 8.
60edc290 x86_64: Fat setup for GCM.
be245313 Fix comment typo.
f8fa4f1f x86_64: Initial implementation of gcm using the pclmulqdq instructions.
23f75f58 Rearrange gcm configuration defines, and add tests for internal functions.
483ccbc9 Add tests for edge cases in poly1305 digest folding.
f3656a44 x86_64: Rewrite of poly1305 assembly.
b7268727 ChangeLog entry for arm64 implementation of chacha.
1d4a985c ChangeLog entries for new ppc64 ecc files.
99be366f ecc: Add powerpc64 assembly for ecc_448_modp
53f7ae66 Move a comment.
e643dcf1 ecc: Add powerpc64 assembly for ecc_25519_modp
741191d1 ecc: Add powerpc64 assembly for ecc_224_modp
4adcb4af Simplify poly1305-test, more use of tstring length.
b48217c8 Add randomized tests of poly1305.
dbf178c0 Arrange so that GMP or mini-gmp is always available for tests.
7d83510e ChangeLog entries for new ppc64 ecc files.
02bbf7d1 ecc: Add powerpc64 assembly for ecc_521_modp
2bc7dfad ecc: Add powerpc64 assembly for ecc_384_modp
9b6c0639 ecc: Add powerpc64 assembly for ecc_192_modp
39af7b2e [Arm64] Optimize Chacha20
c82876a5 [S390x] Alerting assembler of machine type
044d24b0 [S390x] Optimize Chacha20
94228f87 tests: Use inline function for dummy definition of test_randomize.
7926debe Share ecc point validation function in testutils.c.
25f73004 Whitespace cleanup
0ec184d8 ppc: Reduce number of registers used for ecc_secp256r1_redc.
c7cf1939 ppc: New configure test for ELFV2_ABI
f57640ea x86_64: Improved ecc_secp256r1_redc
dd65a63e ChangeLog for previous change.
ecd4eacf ppc: Add powerpc64 assembly for ecc_256_redc
b2758f7c doc: documentation for SM3 hash
0ea74c02 Comment improvements for x86_64 ecc_secp256r1_redc
78aabc69 nettle-benchmark: bench SM3 hashes
7f77ccb4 hmac: add support for SM3 hash function
e2edd9be testsuite: add test for SM3 hash function
b72886e5 Add OSCCA SM3 hash algorithm
d2e4e531 Delete function mpz_limbs_read_n.
dd566239 Delete function mpz_limbs_cmp.
07d5e755 gitlab-ci: Enable randomized tests
64ce8c77 Randomize more tests
a6f9bdeb Reduce allocation in modinv test
957482d9 Fix sqrt_ratio test for v = 0 case.
7f730943 Reduce allocation in sqrt tests
2c9a600d Move NETTLE_TEST_SEED logic to testutils.c.
48d61c28 Delete obsolete comment.
ac95be13 Fix and test for sqrt(0) special case.
ffe0f587 eccdata: Output ecc_sqrt_z and ECC_SQRT_E only when computed.
65c95c79 Fix comment typo.
8db66280 Let secp384r1 inverse and sqrt share most of the powering.
5b2758a3 eccdata: Delete generation of unused values ecc_sqrt_t and ECC_SQRT_T_BITS.
b3abfac5 eccdata: Generate both redc and non-redc versions of ecc_sqrt_z.
2dbe065d Implement secp224r1 square root, based on patch by Wim Lewis.
c8daa71c New function ecc_mod_equal_p, based on patch by Wim Lewis.
4be1725f New function ecc_mod_pow_127m1, used for ecc_secp224r1_inv.
4e987de3 Implement secp521r1 square root, based on patch by Wim Lewis.
2adc4268 Implement secp384r1 square root, based on patch by Wim Lewis.
bc07754f Implement secp256r1 square root, based on patch by Wim Lewis.
35f12552 Implement secp192r1 square root, based on patch by Wim Lewis.
c2726388 Renamed sqrt_itch --> sqrt_ratio_itch, and curve25519 and curve448 sqrt functions.
03421be1 Rename ecc sqrt --> sqrt_ratio.
652bdc79 New function ecc_mod_zero_p.
571d2cc2 [S390x] Improvements on documentation and instruction set usage for SHA3 permute
26b0f47b New function sec_zero_p.
259ec19a [S390x] Remove lgr instructions by using xgrk instead of xgr instruction
73722fb0 Rewrite of secp256r1 mod functions.
45028ff2 Extend ecc-mod-test, with improved coverage of corner cases.
806d6f6a [S390x] Optimize SHA3 permute using vector facility
78f44318 Change "signature on digest" --> "of digest".
0f90c076 Doc fixes.
52c86f94 Delete a few old FIXME comments
2b68ee47 Use @url and https consistently for references. Fix overlong lines.
ea4b2e86 Use texi2pdf to generate the pdf manual
54bbc09b ChangeLog entries for doc structure improvements.
cc92638c Divide Cipher section into menu and nodes, and some other minor fixes.
5e6af10b Delete explicit node pointers in nettle.texinfo
55584f4e Change CBC-AES interface
7a966ac3 Test AEAD encrypt/decrypt with message split into pieces.
686fd559 More checks for null pointers in test_aead, to silent static analyzer.
41a72c24 Fix checks of HAVE_NATIVE_cbc_aes*_encrypt
d5b0b9cb Fix fat builds for x86_64 windows
419d7af5 x86_64: Fat setup for assembly CBC AES.
121290e0 x86_64: Assembly CBC AES aesni functions.
1f58b09c Add specialized functions for cbc-aes.
99dffa9c ChangeLog entries for recent contributions.
38092fde gitlab-ci: Use mini-gmp for big-endian powerpc64 cross build
4147279b gitlab-ci: Explicitly install cross libgmp-dev packages
8c2321d2 gitlab-ci: No-assembly cross-build for s390x, to test big-endian
d4cd2965 gitlab-ci: Delete mips build
9765f8b9 [S390x] Optimize SHA256 and SHA512 compress functions
463553ae x86_64: New 2-way aesni loop also for aes256
c7391e5c x86_64: Refactor aesni assembly, with specific functions for each key size.
4ea2a1f8 [S390x] Optimize SHA1 compress
a47813c2 [AArch64] Utilize AES 1-block macros in 4-block macros
5f7740a3 [AArch64] Load AES keys at function prologue
76c7418c ChangeLog entries for previous change.
f7bc3e1b [AArch64] Move AES round macros to machine.m4
39d1e2a3 [AArch64] Optimize AES with fat build support
b8054a1d [S390x] Optimize memxor3 using vector facility with fat support
422219fe [S390x] Optimize memxor
3900fe65 Add fat-s390x.c to OPT_SOURCES.
c2f16582 Fix name of s390x/fat directory in make dist target.
4fc00c4d [S390x] add FAT_TEST_LIST variable to enable fat build testing
856c62ef [S390x] Replace inline assembly and fix fat filenames
3be3ff3e [S390x] Fat build support for AES and GHASH
9f9d4c4b arm64: Add sha2 to aarch64 fat tests.
774917ec ChangeLog entry for arm64 sha256..
7b446327 [AArch64] Fat build support for SHA-256 compress
6c84092d [S390x] wipe parameter block content and leftover bytes of data from stack
7d301d93 [S390x] wipe hash subkey from stack once GHASH operation completed
d1c8417f [AArch64] Optimize SHA-256 compress
33bfc509 [S390x] Use uppercase for macro names in machine.m4 and enhance the documentation for GHASH implementation
94be863c Add sha1 to aarch64 fat tests.
6c89ed3c ChangeLog entry for previous change.
e5a9dbf4 arm64: Fat build support for SHA1 compress
530e4c8d [S390x] Update configure.ac and Makefile.in
b0525367 [S390x] Implement alloc_stack and free_stack macros in machine.m4
72448928 [S390x] Optimize GHASH
20fedc01 Update Nettle-3.7.3 NEWS.
c80961c6 Add input check to rsa_decrypt family of functions.
cd6059ae Change _rsa_sec_compute_root_tr to take a fix input size.
401e0bdd Fix comment typos.
fd6d9ba7 Add check that message length to _pkcs1_sec_decrypt is valid.
e60d8367 ChangeLog entry for arm64 sha1.
47cafcf2 aarch64: Optimize SHA1 Compress
a46a17e9 Fix C++-style comments
022e51a2 ChangeLog entries for aes keywrap.
0145efbc Implement aes key wrap and key unwrap (RFC 3394)
61bcbbf8 gitlab-ci: Explicitly pass --enable-s390x-msa to s390x build.
3b1bb7cb Fix comment typo.
c23701f3 Reorder and indent asm_replace_list.
c2a14fa3 ChangeLog entry for new s390x AES implementation.
1f38723e Append s390x-specific asm file names to asm_replace_list in configure.ac
71dafe91 [S390x] Basic AES-192 and AES-256 optimizations
8247fa21 ppc: Fix macro name SWAP_MASK to use all uppercase.
b9f0ede2 Update config.guess and config.sub.
46515038 [S390x] Basic AES-128 optimization
f4dc5f20 Split aes-encrypt.c and aes-decrypt.c into one file per key size.
0bff7a2b Initial config for s390x, contributed by Mamone Tarsha.
06d6ef33 nettle-benchmark: avoid -Wmaybe-uninitialized warnings
dda3f4fd gitlab-ci: Fix only: variables: check, and quote variables.
c2b56cd7 gitlab-ci: Use pipeline variable S390X_ACCOUNT
c25774e2 gitlab-ci: Add remote tests for s390x.
d5972ced Add forward declaration of struct aes_table.
085317d6 ChangeLog entries for arm64 fat build.
944881d7 ChangeLog entry for nettle-3.7.2 release
f9e0e1f4 NEWS entries for 3.7.2.
1585f6ac [AArch64] Support fat build for GCM optimization
03b8ba39 [AArch64] Use m4 macros in gcm-hash.asm and add documentation comments
3f43c143 [AArch64] Update README to be on par with other architectures
b30e0ca6 Fix canonical reduction in gostdsa_vko.
d9b564e4 Similar fix for eddsa.
fbaefb64 Analogous fix to ecc_gostdsa_verify.
c24b3616 Ensure ecdsa_sign output is canonically reduced.
2397757b Fix bug in ecc_ecdsa_verify.
5b7608fd Use ecc_mod_mul_canonical for point comparison.
2bf497ba New functions ecc_mod_mul_canonical and ecc_mod_sqr_canonical.
a471ae85 aarch64: Rename arm64/v8/ --> arm64/crypto/
0489825e aarch64: Use .arch armv8-a+crypto directive.
d32152f4 aarch64: Move m4 definitions after .file directive
f3dda9f4 ChangeLog entries for arm64 gcm_hash.
b098f19b arch64: Fix clang build
fd9dd9d7 arch64: Fix copyright line and typos
a3f91c0e aarch64: Adjust gcm-hash assembly for big-endian systems
09d77a10 aarch64: Implement GHASH using the crypto extension pmul instructions.
0c5429d3 aarch64: Add README
dbd16501 Add an empty machine.m64 to make configure happy
ebf9ae83 Recognize arm64 in configure

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotcpdump: update to 4.99.1
Nick Hainke [Sat, 25 Jun 2022 14:59:30 +0000 (16:59 +0200)]
tcpdump: update to 4.99.1

Adjust
- 100-tcpdump_mini.patch

Remove upstreamed patches:
- 101-CVE-2020-8037.patch
- 102-CVE-2018-16301.patch

Changelog:

  Wednesday, June 9, 2021 by gharris
  Summary for 4.99.1 tcpdump release
    Source code:
      Squelch some compiler warnings
      ICMP: Update the snapend for some nested IP packets.
      MACsec: Update the snapend thus the ICV field is not payload
        for the caller.
      EIGRP: Fix packet header fields
      SMB: Disable printer by default in CMake builds
      OLSR: Print the protocol name even if the packet is invalid
      MSDP: Print ": " before the protocol name
      ESP: Remove padding, padding length and next header from the buffer
      DHCPv6: Update the snapend for nested DHCPv6 packets
      OpenFlow 1.0: Get snapend right for nested frames.
      TCP: Update the snapend before decoding a MPTCP option
      Ethernet, IEEE 802.15.4, IP, L2TP, TCP, ZEP: Add bounds checks
      ForCES: Refine SPARSEDATA-TLV length check.
      ASCII/hex: Use nd_trunc_longjmp() in truncation cases
      GeoNet: Add a ND_TCHECK_LEN() call
      Replace ND_TCHECK_/memcpy() pairs with GET_CPY_BYTES().
      BGP: Fix overwrites of global 'astostr' temporary buffer
      ARP: fix overwrites of static buffer in q922_string().
      Frame Relay: have q922_string() handle errors better.
    Building and testing:
      Rebuild configure script when building release
      Fix "make clean" for out-of-tree autotools builds
      CMake: add stuff from CMAKE_PREFIX_PATH to PKG_CONFIG_PATH.
    Documentation:
      man: Update a reference as www.cifs.org is gone. [skip ci]
      man: Update DNS sections
    Solaris:
      Fix a compile error with Sun C

  Wednesday, December 30, 2020, by mcr@sandelman.ca, denis and fxl.
  Summary for 4.99.0 tcpdump release
    CVE-2018-16301: For the -F option handle large input files safely.
    Improve the contents, wording and formatting of the man page.
    Print unsupported link-layer protocol packets in hex.
    Add support for new network protocols and DLTs: Arista, Autosar SOME/IP,
      Broadcom LI and Ethernet switches tag, IEEE 802.15.9, IP-over-InfiniBand
      (IPoIB), Linux SLL2, Linux vsockmon, MACsec, Marvell Distributed Switch
      Architecture, OpenFlow 1.3, Precision Time Protocol (PTP), SSH, WHOIS,
      ZigBee Encapsulation Protocol (ZEP).
    Make protocol-specific updates for: AH, DHCP, DNS, ESP, FRF.16, HNCP,
      ICMP6, IEEE 802.15.4, IPv6, IS-IS, Linux SLL, LLDP, LSP ping, MPTCP, NFS,
      NSH, NTP, OSPF, OSPF6, PGM, PIM, PPTP, RADIUS, RSVP, Rx, SMB, UDLD,
      VXLAN-GPE.
    User interface:
      Make SLL2 the default for Linux "any" pseudo-device.
      Add --micro and --nano shorthands.
      Add --count to print a counter only instead of decoding.
      Add --print, to cause packet printing even with -w.
      Add support for remote capture if libpcap supports it.
      Display the "wireless" flag and connection status.
      Flush the output packet buffer on a SIGUSR2.
      Add the snapshot length to the "reading from file ..." message.
      Fix local time printing (DST offset in timestamps).
      Allow -C arguments > 2^31-1 GB if they can fit into a long.
      Handle very large -f files by rejecting them.
      Report periodic stats only when safe to do so.
      Print the number of packets captured only as often as necessary.
      With no -s, or with -s 0, don't specify the snapshot length with newer
        versions of libpcap.
      Improve version and usage message printing.
    Building and testing:
      Install into bindir, not sbindir.
      autoconf: replace --with-system-libpcap with --disable-local-libpcap.
      Require the compiler to support C99.
      Better detect and use various C compilers and their features.
      Add CMake as the second build system.
      Make out-of-tree builds more reliable.
      Use pkg-config to detect libpcap if available.
      Improve Windows support.
      Add more tests and improve the scripts that run them.
      Test both with "normal" and "x87" floating-point.
      Eliminate dependency on libdnet.
    FreeBSD:
      Print a proper error message about monitor mode VAP.
      Use libcasper if available.
      Fix failure to capture on RDMA device.
      Include the correct capsicum header.
    Source code:
      Start the transition to longjmp() for packet truncation handling.
      Introduce new helper functions, including GET_*(), nd_print_protocol(),
        nd_print_invalid(), nd_print_trunc(), nd_trunc_longjmp() and others.
      Put integer signedness right in many cases.
      Introduce nd_uint*, nd_mac_addr, nd_ipv4 and nd_ipv6 types to fix
        alignment issues, especially on SPARC.
      Fix many C compiler, Coverity, UBSan and cppcheck warnings.
      Fix issues detected with AddressSanitizer.
      Remove many workarounds for older compilers and OSes.
      Add a sanity check on packet header length.
      Add and remove plenty of bounds checks.
      Clean up pcap_findalldevs() call to find the first interface.
      Use a short timeout, rather than immediate mode, for text output.
      Handle DLT_ENC files *not* written on the same OS and byte-order host.
      Add, and use, macros to do locale-independent case mapping.
      Use a table instead of getprotobynumber().
      Get rid of ND_UNALIGNED and ND_TCHECK().
      Make roundup2() generally available.
      Resync SMI list
 against Wireshark.
      Fix many typos.

Co-Developed-by: Ivan Pavlov <AuthorReflex@gmail.com>
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agolibiconv-full: update to 1.17
Nick Hainke [Mon, 27 Jun 2022 22:46:33 +0000 (00:46 +0200)]
libiconv-full: update to 1.17

Release Notes:
- The libiconv library is now licensed under the LGPL version 2.1,
  instead of the LGPL version 2.0. The iconv program continues to
  be licensed under GPL version 3.
- Added converters for many single-byte EBCDIC encodings: IBM-{037,
  273,277,278,280,282,284,285,297,423,424,425,500,838,870,871,875},
  IBM-{880,905,924,1025,1026,1047,1097,1112,1122,1123,1130,1132,1137,
  1140}, IBM-{1141,1142,1143,1144,1145,1146,1147,1148,1149,1153,1154,
  1155,1156,1157}, IBM-{1158,1160,1164,1165,1166,4971,12712,16804}.
  They are available through the configure option
  '--enable-extra-encodings'.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agof2fs-tools: update to 1.15.0
Nick Hainke [Mon, 27 Jun 2022 14:04:10 +0000 (16:04 +0200)]
f2fs-tools: update to 1.15.0

Add patches:
- 100-configure.ac-fix-AC_ARG_WITH.patch

Remove upstreamed patches:
- 200-resize_f2fs-fix_wrong_ovp_calculation.patch

Changelog:

64f2596 f2fs-tools: upgrade version 1.15.0
d9d5b11 f2fs-tools: build silently
299c0b5 fsck.f2fs: fix broken file_map output
3af62be f2fs-tools: show segment/section layout correctly
4d9c009 f2fs-tools: use android config only if there's no config.h
0b9b89f dump.f2fs: compress: fix dstlen of LZ4_compress_fast_extState()
eee3969 mkfs.f2fs: check uuid library
e5fe1a2 f2fs-tools: use fsync() in Android
ea9921f f2fs-tools: support zoned device in Android
a8fefc2 android_config.h: add missing liblz4
0c54cf7 libf2fs_io: add unused mactor to avoid build failure
6eebd13 ci: Enable -Wall, -Wextra and -Werror
c491657 Fix PowerPC format string warnings
70e4139 Suppress a compiler warning about integer truncation
7a1206a Annotate switch/case fallthrough
b964b79 Change #ifdef _WIN32 checks into #ifdef HAVE_.*
28de4d1 tools/f2fs_io: Fix the type of 'ret'
fdff1ab fsck/segment.c: Remove dead code
ede3bde fsck/main.c: Suppress a compiler warning
93c6483 tools/f2fscrypt.c: Fix build without uuid/uuid.h header file
559e60e fsck: Remove a superfluous include directive
98f7f56 mkfs/f2fs_format.c: Suppress a compiler warning
ef011a4 configure.ac: Detect selinux/android.h
2e59ab8 configure.ac: Detect the sparse/sparse.h header
1790203 Fix the MinGW build
ecd27dc Use %zu to format size_t
24663b6 Include <stddef.h> instead of defining offsetof()
cdefef0 Move the be32_to_cpu() definition
1612bf9 Remove unnecessary __attribute__((packed)) annotations
7a5109f f2fs_fs.h: Use standard fixed width integer types
e61203c Suppress a compiler warning
9425b47 Verify structure sizes at compile time
006bb13 Change one array member into a flexible array member
cb4c5d6 ci: Build f2fstools upon push and pull requests
f3033fb Change the ANDROID_WINDOWS_HOST macro into _WIN32
87d7a95 Switch from the u_int to the uint types
c483354 configure.ac: Enable cross-compilation
3e97d07 configure.ac: Sort header file names alphabetically
91ba5e5 configure.ac: Enable the automake -Wall option
ae65a15 configure.ac: Remove two prototype tests
d24fd5c configure.ac: Stop using obsolete macros
6afcf64 libf2fs: don't allow mkfs / fsck on non power-of-2 zoned devices
c7757ec man: update mkfs.f2fs to give the default android option
46e1b83 f2fs-tools: use proper 64bit types for PPC
97ce230 mkfs.f2fs: fix wrong indentation and clean up
0d3d26d mkfs.f2fs: set project quota by default for -g android for v4.14+
1de1db8 f2fs-tools: add atomic write related options to f2fs_io write command
85cd72a mkfs.f2fs: set required quota types only
028af9f fsck.f2fs: Add progression feedback
972d710 fsck.f2fs: do not assert if i_size is missing i_blocks in symlink
f63551b f2fs-tools: separate other bugs in fsck_verify
ade81b9 f2fs-tools: remove false failure alarm when fixing quota
99bc497 f2fs-tools: fall back to the original version check when clock_gettime is not supported
1603a3d mkfs.f2fs: wipe other FS magics given -f
63d5004 fsck.f2fS: is_valid_summary(): check whether offset is out of bounds
3fd996c Avoid redefined ALIGN_UP
1edc138 fsck.f2fs: Update the usage about option of preen mode
49159df f2fs-tools: change fiemap print out format
8bcb58e f2fs_io: add rename w/ fsync option
9429e86 fsck.f2fs: add basic compress related check/fix
529967e f2fs-tools: make fiemap command in accordance with uapi
1228009 f2fs-tools: rebuild the quota inode if it is corrupted
9ee091e f2fs-tools: add periodic check in kernel version check
1bc7658 dump.f2fs: minor clean ups
69952e3 f2fs-tools: fix wrong value of reserve_new_block parameter in page_symlink
76d2a91 f2fs-tools: add extent cache for each file
8d464ee f2fs-tools: fix wrong file offset
acd2518 fsck|dump.f2fs: add -M to get file map
027488e mkfs.f2fs: remove android features for RO
e01ad31 f2fs-tools: fix metadata region overlap with zoned block device zones
f3b93bf sload.f2fs: Reword "IMMUTABLE" in strings/comments
820b5e3 sload.f2fs: use F2FS_COMPRESS_RELEASED instead of IMMUTABLE bit
1d2683f f2fs-tools: support small RO partition
a9594c6 fsck.f2fs: add "-l" to show the layout information
38e3115 f2fs_io: add to show immutable bit
6afd3e9 tools: Introduce f2fslabel
3218ff9 f2fs-tools: correct get kernel version logic
19d49b5 dump.f2fs: fix memory leak caused by dump_node_blk()
15d4d7b fsck.f2fs: fix memory leak caused by fsck_chk_orphan_node()
1900c22 mkfs.f2fs: fix memory leak in not enough segments error path
5cc365c resize.f2fs: fix memory leak caused by migrate_nat()
870915f f2fs_io: split definition check for crypto ioctl
91f9db2 fsck.f2fs: update kernel version in superblock on forced check
1531853 f2fs_io: Add get file name encryption mode
3bfcca8 f2fs-tool: increase debug level from 0 to 1 in migrate_block
5263ae2 resize.f2fs: fix to check free space before shrink
159752d resize.f2fs: fix wrong sit/nat bitmap during rebuild_checkpoint()
98e6463 resize.f2fs: add force option to rewrite broken calculation
f056fbe resize.f2fs: fix wrong ovp calculation
80dba0f Add -P option to preserve file owner
f0fda11 libf2fs: fix memory leak caused by get_rootdev()
5144f2f mkfs.f2fs: add VM disk files to hot data types
73c0871 libzoned: use blk_zone_v2 and blk_zone_report_v2 by default
9cb5150 f2fs-tools: fix wrong blk_zone_rep_v2 definition
15474db mkfs.f2fs: allocate zones together to avoid random access
316e128 mkfs.f2fs: adjust zone alignment when using multi-partitions
cc57f2c fsck.f2fs: fix alignment on multi-partition support
ff7172e f2fs-tools: Miscellaneous cleanup to README.
2b26417 mkfs.f2fs.8: Better document the -g argument.
e05afe5 mkfs.f2fs.8: fix formatting for -l parameter in man page
747b74c f2fs-tools: Make sload.f2fs reproduce hard links
b585244 f2fs-tools:sload.f2fs compression support
7b63f7b f2fs_io: add compress/decompress commands
457392a f2fs-tools: Added #ifdef WITH_func
d322d47 f2fs-tools: fix a few spelling errors in f2fs-tools
fcd5cd0 f2fs-tools: skipped to end on error syntax error
31d30f0 mkfs.f2fs: show a message when compression is enabled
1d4c7e7 f2fs_io: add get/set compression option
4bd7008 Fix ASSERT() macro with '%' in the expression
ca0ed8a f2fs-toos: fsck.f2fs Fix bad return value
c954e7c fsck.f2fs: do xnid sanity check only during fsck
1bfc173 f2fs_io: add erase option
e59bb17 mkfs.f2fs.8: document the verity feature
8fd836f fsck: clear unexpected casefold flags
1a7415a mkfs.f2fs: add -h and --help
717d70d f2fs_io: change fibmap to fiemap

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agowolfssl: add config flag for Curve448
Joel Low [Fri, 24 Jun 2022 10:47:20 +0000 (18:47 +0800)]
wolfssl: add config flag for Curve448

This enables building WolfSSL with Curve448, which can be used by
Strongswan. This has been tested on a Linksys E8450, running OpenWrt
22.03-rc4.

This allows parity with OpenSSL, which already supports Curve448 in
OpenWrt 21.02.

Fixes openwrt/packages#18812.

Signed-off-by: Joel Low <joel@joelsplace.sg>
2 years agolibnl: update to 3.6.0
Nick Hainke [Sat, 2 Jul 2022 22:37:57 +0000 (00:37 +0200)]
libnl: update to 3.6.0

Remove upstreamed patch:
- 100-build-add-Libs.private-field-in-libnl-pkg-config-file.patch

cacaa5f libnl-3.6.0 release
855c02f route/mdb: merge branch 'troglobit:mdb-dump-fixes'
930fc11 route/mdb: add support for MAC multicast entries
2d68caf route/mdb: add missing detils and stats dump callbacks
d9ed99b nl-monitor: support for setting libnl debug level
4c41e0d nl-monitor: add missing --help to long_opts[]
7e96356 Check validation type against end of enum
4e153bc route/link: add VLAN bridge binding flag
b7256d3 github: build unit tests also with "clang"
8111933 route: assert that "rtnl_link_info_ops" refcount does not drop below zero
4f5c846 lib: merge branch 'th/object-clone-fixes'
d23fb81 lib: make nl_object_clone() out-of-memory safe
7f7452c route: fix ref counting for l_info_ops and io_clone()
620d024 route: drop unnecessary oo_clone() implementation from netconf
93a02eb netfilter: make log-msg,queue-msg setters robust against ENOMEM
23902d0 xfrm/sa: clone user_offload in xfrm_sa_clone()
29e5092 xfrm/sa: style cleanup xfrm_sa_clone()
14a9ebc utils: add internal _nl_memdup() helper
2e0d7f8 lib: add rtnl_link_info_ops_get() and take lock for rtnl_link_info_ops's io_refcnt
e884286 lib: include <netlink-private/utils.h> in <netlink-private/netlink.h>
7d43191 tests: merge branch 'th/tests-netns'
a7bbdab tests: add unit test for nl_object_clone() and nl_object_diff()
fdb0121 tests: add new "netns" test suite
9102872 tests: add fixture/teardown for tests to run in separate netns
9a42798 tests: cleanup creating test suites
1fc3e07 tests: refactor tests and add n-test-util helper library
7a3d6e2 netlink: add _NL_N_ELEMENTS() macro
3da4f7d netlink: add _nl_streq()/_nl_streq0() helper
1ad8555 netlink: add _nl_auto_nl_socket cleanup macro
c8a5729 lib: add _nl_close() helper
80868e6 clang-format: add ".clang-format" from linux kernel
2782ed3 github: build tests with "-std=gnu11"
af59b9a github: split tests in separate steps
c8f7902 build: add "check-progs" make target to build unit tests
23b4d33 route/cls: add TCA_FLOWER_KEY_VLAN_ETH_TYPE to "flower_policy" policy
1f8dc89 route/cls: return -NLE_INVAL in case rtnl_tc_data_peek() fails
ef5f3eb route/cls: merge branch 'westermo:cls-flower'
c385c84 route/cls: no need to copy simple fields in flower_clone()
79217d8 route/cls: make output pointers in rtnl_flower_get_{src,dst}_mac() optional
64e0836 route/cls: adjust whitspace/indentation
5ac9ce3 route/cls: use SPDX-License-Identifier
1a1c4e5 route/cls: reorder fields in "struct rtnl_flower" and adjust indentation
ef46de1 route/cls: add flower classifier
f0aad20 route: merge branch 'pugo:master'
d0cfecc route: make argument of rtnl_link_can_set_{bittiming,data_bittiming}() const
6a92268 route: add rtnl_link_can_set_data_bittiming_const()
841553b route: drop bitrate,sample-point getters/setters from can link
37998f7 route: rename rtnl_link_can_get_data_bt_const() to rtnl_link_can_get_data_bittiming_const()
96d3a6b route: fix adding rtnl_link_can_* symbols to symbol file
881e329 route: fix indentation
37c10ef route/link: add CAN FD support
d56bf73 route/mdb: merge branch 'rubensfig:mdb'
e0b2406 route/mdb: drop setting ifindex in mdb_clone()
d78a6eb route/mdb: minor cleanup in "mdb.c"
57a6d51 route/mdb: drop extra MDB attributes and rework mdb_compare()
0b44562 route/mdb: hide rtnl_mdb_entry_alloc() from public API
1c65ff7 route/mdb: reorder fields in "rtnl_mdb_entry" for tighther packing
1ac5403 route/mdb: use nl_list_for_each_entry_safe() for destroying list in mdb_free_data()
92035e2 route/mdb: cleanup mdb.h header
6237621 build: sort file names in Makefile.am
0ec6c6c mdb: support bridge multicast database notification
c980034 route/cls: merge branch 'westermo:classifier-api-extension'
a694c33 route/cls: rename rtnl_cls_get{,_by_prio}() API to rtnl_cls_find_by{handle,prio}()
88a5138 route/cls: allow fetching of classifiers from cache
90577b5 route: merge branch 'TummyFish:master'
299f61a license: use SPDX license identifiers and drop license comments
05a540d ip6vti: Add fwmark API
41e4365 ip6gre: Add fwmark API
ebc7df3 sit: Add fwmark API
8e1da8e ipip: Add fwmark API
bda19be ip6_tnl: Add fwmark API
cdc6c0f ipvti: Add fwmark API
2995710 ipgre: Add fwmark API
d9dc6c2 ip6vti: Add IPv6 VTI support
be86170 license: use SPDX license identifiers and drop license comments
919d9c6 route: merge branch 'westermo:fib-lookup'
1ff9b38 route/route: don't report failure when we receive a route in rtnl_route_lookup()
53bc27e route/route: support FIB lookups using rtnl
ed76b9a build: sort files in Makefile.am
46b22c1 route/link: merge branch 'westermo:team-support'
586a6b6 build: fix new symbols in "libnl-route-3.sym"
831f125 route/link: add support for team device
6c59580 route/link: Move LINK_ATTR_IFNAME to a proper location
f77cd25 route/netconf: full API export
f59f443 build: add Libs.private field in libnl pkg-config file
b3333e0 route/qdisc: allow fetching qdiscs by their kind
9a39188 netlink: merge branch 'michael-dev:feature/nflog-vlan-v3'
a93fc5f nflog: add recent missing symbols to "libnl-nf-3.sym"
7b4df53 nflog: add missing symbols to "libnl-nf-3.sym"
8266436 nflog:add conntrack flag and enable flags for nflog
246904d nflog: add CT support
59fc1d7 nflog: add mac_header support
c268c48 nflog: add vlan attribute
2548468 refresh linux/netfilter/nfnetlink_log.h with linux 5.4
4edffbd route/link: Add IPv6 GRE support
5d69587 route: add global sectin in "libnl-route-3.sym"
d0cf3a9 neigh: support to add fdb entry
3bf0a9c cls:u32: fix u32_clone() function
3147d86 route:tc: fix rtnl_tc_clone() calling to_clone() and add comment
c027e54 route:cls: fix dangling pointers in to_clone() implementations
47c04fb route:act: drop unnecessary implementations for to_clone()
79f7c9d tests: add test for cloning cls:u32 object
b1caff8 github: run unit tests under valgrind
38b3be3 tests: cleanup tests and avoid leaks
c2b94b9 lib: add more _nl_auto* cleanup macros
1f05e5a tests: replace libcheck's fail_if() macro by ck_assert*()
6341d89 log: fix typo in dumping msg
bfee88b route: fix memory leak of l_info_ops in link_msg_parser()
431ba83 route: merge branch 'qbdwlr:mplsPR'
cc680d4 route: add accessors for setting/getting ENCAP_MPLS attributes
efe8aad route: remove incorrect nl_addr_valid() from rtnl_route_nh_set_newdst(), etc.
0688bc6 netfilter/ct: fix use of reply/orig for conntrack requests
5d92516 route: don't use internal bit mask constants in NLA_PUT in can_put_attrs()
6fe9418 lib: fix descriptions for nl_cache_pickup()/nl_cache_pickup_checkdup()
d0d91c7 route: merge branch 't0mmmy90:check-if-nh-exists-while-updating-ipv6-multipath-route'
28a652b route: fix duplicate check for next hop for IPv6 multipath routes
03bfd2f route: check if nh exists while updating route
92c9237 ci: add github-actions
3d1fb00 tests/check-addr: replace deprecated fail_if() macro from libcheck with ck_assert_msg()
d9cad53 xfrm: fix naming consistency in xfrmnl_sp_get_curlifetime()
c0e82db cli: Add C++ linkage support
000a3bd yyerror: update to POSIX standard
f865a99 xfrm: merge branch 'spellingmistake:master'
0306ae2 xfrm: fix libnl-xfrm-3.sym linker versioning
8950194 xfrm: ensure minlen in policy for XFRMA_OFFLOAD_DEV
c8f33a4 xfrm: Add support for xfrm user offloading
b6cc13d Supporting Hardware offload capability for MACsec
39944c6 route/link: check calloc() return value
12cc0aa zero stack allocated memory in xfrmnl_build_sa_delete_request
5f39502 merge branch 'bengal/coverity'
26f342d route/qdisc: handle error of calloc()
d1a151e route/qdisc: fix memory leak in netem.c
aa092d1 route/link: fix copy-paste error in geneve.c
30552e8 route/cls: fix cgroup's clone() function
764c30a route: let route/link join RTNLGRP_IPV6_IFINFO mcast group
b24e833 doc: update link to mscgen-filter
0b5d17d addr: merge branch 'lcrestez-dn:dadfailed'
30924e7 tests: Add test for rtnl_addr_flags2str
5c05c75 addr: Add address flag `dadfailed`
2abeec8 xfrm: remove superfluous xfrm_userpolicy_id from dump request
5611487 lib/trivial: whitespace
ab015e1 lib: merge branch 'th/object-identical-fix'
36b0894 lib: allow to compare incomplete objects in nl_object_identical()
5020077 lib: let nl_object_identical() declare the same object as identical
406ebc8 lib: fix using right compare mask in nl_object_diff64()
8637c70 lib/trivial fix indentation
4be6062 route/link: avoid cloning link policy in link_msg_parser()
ba3c51c route/link: fix link_msg_parser() for using the af_ops of the link family
f9d0181 lib: use proper int type for id attributes in nl_object_identical()
68b3431 lib: fix documentation of nl_cache_dump_filter to have @params optional
2375cde lib: fix spelling errors in "netlink/handlers.h"
3faf26c gitignore: fix ignoring check-direct build artifacts
47fb1c0 xfrm: remove superfluous xfrm_usersa_id from dump request
846d288 travis: install "check" in travis
d64a0ec route: convert non-leading tabs to spaces in "include/netlink/route/link.h"
aaefd92 route: add test for valid content of map_stat_id_from_IPSTATS_MIB_v2 array
bab9e77 route/link: add RTNL_LINK_REASM_OVERLAPS stat
bae11ec tests: add "check-direct" test
2d50b04 route: add "netlink-private/route/utils.h" header
9a52b3d gitignore: merge all gitignore files in top level directory
4c5f2d6 merge branch 'th/license-comment-cleanup'
2d3e690 license: update "doc/COPYING" license text
1389188 license: add SPDX license identifer to "configure.ac" files
503aa5e license: fix and add SPDX license identifiers and drop license comments
4333aef license: cleanup copyright comments
956635b license: fix SPDX license identifier for nl-auto.h
5614b4c lib: merge branch 'th/cleanup-errout'
17e09aa rtnl/route: use cleanup attribute in "lib/route/link.c"
b50be8f rtnl/route: use cleanup attribute in "lib/route/route_obj.c"
fca338b rtnl/route: fix NLE_NOMEM handling in parse_multipath()
2957d8f rtnl/link: fix leaking rtnl_link_af_ops in link_msg_parser()
77b4f68 rtnl/route: only consider negative error codes as error
6870ece lib: cleanup nla_parse() to return early on error
a858a0b lib: use _nl_strncpy*() instead of plain strncpy()
018c694 lib: cleanup _nl_strncpy_assert()
e97b990 lib: rename _nl_strncpy() to _nl_strncpy_assert()
5ffbc6f lib: add _NL_RETURN_*() helper macros
abb7391 lib: add "include/netlink-private/nl-auto.h" header
ecd15bc lib: add _nl_assert_not_reached()
9cc38dc lib/route: adjust coding style
01ea9a6 route/link: Check for null pointer in macvlan

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agolibnl: cleanup makefile
Nick Hainke [Sat, 2 Jul 2022 21:48:31 +0000 (23:48 +0200)]
libnl: cleanup makefile

- Add PKG_LICENSE_FILES.
- Use SPDX.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoramips: add support for Beeline SmartBox GIGA
Mikhail Zhilkin [Fri, 18 Mar 2022 18:09:45 +0000 (18:09 +0000)]
ramips: add support for Beeline SmartBox GIGA

Beeline SmartBox GIGA is a wireless WiFi 5 router manufactured by
Sercomm company.

Device specification
--------------------
SoC Type: MediaTek MT7621AT
RAM: 256 MiB, Nanya NT5CC128M16JR-EK
Flash: 128 MiB, Macronix MX30LF1G18AC
Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2
Wireless 5 GHz (MT7613BE): a/n/ac, 2x2
Ethernet: 3 ports - 2xGbE (WAN, LAN1), 1xFE (LAN2)
USB ports: 1xUSB3.0
Button: 1 button (Reset/WPS)
PCB ID: DBE00B-1.6MM
LEDs: 1 RGB LED
Power: 12 VDC, 1.5 A
Connector type: barrel
Bootloader: U-Boot

Installation
-----------------
1. Downgrade stock (Beeline) firmware to v.1.0.02;
2. Give factory OpenWrt image a shorter name, e.g. 1001.img;
3. Upload and update the firmware via the original web interface.

Remark: You might need make the 3rd step twice if your running firmware
is booted from the Slot 1 (Sercomm0 bootflag). The stock firmware
reverses the bootflag (Sercomm0 / Sercomm1) on each firmware update.

Revert to stock
---------------
1. Change the bootflag to Sercomm1 in OpenWrt CLI and then reboot:
      printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
2. Optional: Update with any stock (Beeline) firmware if you want to
   overwrite OpenWrt in Slot 0 completely.

MAC Addresses
-------------
+-----+-----------+---------+
| use | address   | example |
+-----+-----------+---------+
| LAN | label     | *:16    |
| WAN | label + 1 | *:17    |
| 2g  | label + 4 | *:1a    |
| 5g  | label + 5 | *:1b    |
+-----+-----------+---------+
The label MAC address was found in Factory 0x21000

Notes
-----
1. The following scripts are required for the build:
      sercomm-crypto.py - already exists in OpenWrt
      sercomm-partition-tag.py - already exists in OpenWrt
      sercomm-payload.py - already exists in OpenWrt
      sercomm-pid.py - new, the part of this pull request
      sercomm-kernel-header.py - new, the part of this pull request
2. This device (same as other Sercomm S2,S3-based devices) requires
   special LZMA and LOADADDR settings for successful boot:
      LZMA_TEXT_START=0x82800000
      KERNEL_LOADADDR=0x81001000
      LOADADDR=0x80001000
3. This device (same as several other Sercomm-based devices - Beeline,
   Netgear, Etisalat, Rostelecom) has partition map (mtd1) containing
   real partition offsets, which may differ from device to device
   depending on the number and location of bad blocks on NAND.
   "fixed-partitions" is used if the partition map is not found or
   corrupted. This behavour (it's the same as on stock firmware) is
   provided by MTD_SERCOMM_PARTS module.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agoscripts: add support for Sercomm PID
Mikhail Zhilkin [Sat, 19 Mar 2022 19:35:51 +0000 (19:35 +0000)]
scripts: add support for Sercomm PID

This scripts creates Sercomm PID file. PID is necessary for the factory
images creation of variuos Sercomm-based devices (Beeline, Netgear,
Etisalat).

Size: 0x70
+-------+------+---------------+------------------+
| Start | Size | Value* (ASCII)| Description      |
+=======+======+===============+==================+
| 0x0   | 0x8  | 10100         | Hardware version |
+-------+------+---------------+------------------+
| 0x8   | 0x8  | 444245 (DBE)  | Hardware ID      |
+-------+------+---------------+------------------+
| 0x64  | 0x4  | 1002          | Software version |
+-------+------+---------------+------------------+
*for Beeline Smartbox GIGA

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agoscripts: add support for Sercomm kernel header
Mikhail Zhilkin [Fri, 18 Mar 2022 17:02:30 +0000 (17:02 +0000)]
scripts: add support for Sercomm kernel header

This scripts creates custom kernel header that necessary for Sercomm
mt7621 devices:
- Sercomm S3
- Beeline SmartBox Giga
- Beeline SmartBox Pro
- Beeline Smartbox Turbo
- Beeline Smartbox Turbo+
- WiFire S1500.NBN

Header format
-------------
+--------+---------------+------------------------+
| Offset | Value         | Description            |
+========+===============+========================+
| 0x0    | 53 65 72 00   | Magic "Ser."           |
+--------+---------------+------------------------+
| 0x4    | 04 00 00 01   | End offset of RootFS   |
+--------+---------------+------------------------+
|        |               | This header checksum   |
| 0x8    | d6 14 9a c1   | htonl(~crc)            |
+--------+---------------+------------------------+
| 0xc    | 02 ff ff ff   | Constant               |
+--------+---------------+------------------------+
| 0x10   | 00 01 40 00   | Kernel start offset    |
+--------+---------------+------------------------+
| 0x14   | c6 94 24 00   | Kernel length          |
+--------+---------------+------------------------+
|        |               | Kernel checksum        |
| 0x18   | e7 78 89 f1   | htonl(~crc)            |
+--------+---------------+------------------------+
| 0x1c   | 00 00 00 00   | Constant               |
+--------+---------------+------------------------+
| 0x20   | ff ff ff ff   | Constant               |
+--------+---------------+------------------------+
| 0x24   | ff ff ff ff   | Constant               |
+--------+---------------+------------------------+
| 0x28   | 00 00 00 01   | RootFS offset          |
+--------+---------------+------------------------+
|        |               | RootFS length          |
| 0x2c   | 04 00 00 00   | Always 0x4, we check   |
|        |               | UBI magic only         |
+--------+---------------+------------------------+
|        |               | RootFS checksum        |
| 0x30   | 1c fc 55 2d   | htonl(~crc)            |
|        |               | Const for UBI magic    |
+--------+---------------+------------------------+
| 0x34   | 00 00 00 00   | Constant               |
+--------+---------------+------------------------+
| 0x38   | ff ff ff ff â€¦ | Pad to 0x100           |
+--------+---------------+------------------------+

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agowpa_supplicant: compile with OCV support
Michael Yartys [Sun, 13 Feb 2022 14:17:54 +0000 (15:17 +0100)]
wpa_supplicant: compile with OCV support

Operating Channel Validation (OCV) is a security feature designed to
prevent person-in-the-middle multi-channel attacks. Compile -basic and
-full variants with support for OCV. This feature can be configured in the
wireless config by setting ocv equal to one of the following values:

0 = disabled (hostapd/wpa_supplicant default)
1 = enabled if wpa_supplicant's SME in use. Otherwise enabled only when the
    driver indicates support for operating channel validation.

Signed-off-by: Michael Yartys <michael.yartys@protonmail.com>
2 years agohostapd: enable compilation of OCV and add build feature discovery
Michael Yartys [Sun, 13 Feb 2022 14:09:56 +0000 (15:09 +0100)]
hostapd: enable compilation of OCV and add build feature discovery

Operating Channel Validation (OCV) is a security feature designed to
prevent person-in-the-middle multi-channel attacks. Compile the -basic and
-full variants of hostapd with this feature, and enable discovery of this
feature for future luci integration. OCV can be configured by setting ocv
equal to one of the following values in the wireless config:

0 = disabled (hostapd/wpa_supplicant default)
1 = enabled
2 = enabled in workaround mode - Allow STA that claims OCV capability to
    connect even if the STA doesn't send OCI or negotiate PMF.

Signed-off-by: Michael Yartys <michael.yartys@protonmail.com>
2 years agokernel: bump 5.15 to 5.15.50
Rui Salvaterra [Mon, 27 Jun 2022 08:02:15 +0000 (09:02 +0100)]
kernel: bump 5.15 to 5.15.50

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomt76: update to the latest version
Felix Fietkau [Sun, 3 Jul 2022 17:24:48 +0000 (19:24 +0200)]
mt76: update to the latest version

93e3fce916c6 mt76: pass original queue id from __mt76_tx_queue_skb to the driver

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobcm53xx: use -falign-functions=32 for kernel compilation
Rafał Miłecki [Sun, 3 Jul 2022 11:22:00 +0000 (13:22 +0200)]
bcm53xx: use -falign-functions=32 for kernel compilation

Northstar SoCs have pretty small CPU caches and their performance is
heavily affected by cache hits & misses. It means that all kind of
random code changes can affect performance as they often reorganize
(change alignment & possibly reorder) kernel symbols.

It was discussed in ARM / net mailinglists:
1. ARM router NAT performance affected by random/unrelated commits [1] [2]
2. Optimizing kernel compilation / alignments for network performance [3] [4]

It seems that -falign-functions can be used as a partial workaround. It
doesn't solve all cases (e.g. documented watchdog one [5]) but it surely
helps with many of them.

A complete long term solution may be PGO (profile-guided optimization)
but it isn't available at this point.

[1] https://lkml.org/lkml/2019/5/21/349
[2] https://www.spinics.net/lists/linux-block/msg40624.html
[3] https://lore.kernel.org/linux-arm-kernel/066fc320-dc04-11a4-476e-b0d11f3b17e6@gmail.com/T/
[4] https://www.spinics.net/lists/netdev/msg816103.html
[5] http://lists.openwrt.org/pipermail/openwrt-devel/2022-July/038989.html

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agomac80211: rename patch to avoid duplicate patch number
Felix Fietkau [Sat, 2 Jul 2022 14:57:52 +0000 (16:57 +0200)]
mac80211: rename patch to avoid duplicate patch number

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomt76: update to the latest version
Felix Fietkau [Sat, 2 Jul 2022 14:55:13 +0000 (16:55 +0200)]
mt76: update to the latest version

c07f45927839 firmware: update mt7622 firmware to version 20220630
af406a2d1c36 mt76: do not use skb_set_queue_mapping for internal purposes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: fix mesh queue selection issue
Felix Fietkau [Sat, 2 Jul 2022 14:53:54 +0000 (16:53 +0200)]
mac80211: fix mesh queue selection issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agorealtek: EnGenius EWS2910P: declare and hog the poe-enable GPIO
Alexandru Gagniuc [Sun, 22 May 2022 02:59:10 +0000 (21:59 -0500)]
realtek: EnGenius EWS2910P: declare and hog the poe-enable GPIO

GPIO 1 on the RTL8231 is used to force the PoE MCU to disable power
outputs. It is not used by any driver, but if accidentally set low,
PoE outputs are disabled. This situation is hard to debug, and
requires knowledge of the Broadcom PoE protocol used by the MCU.

To prevent this situation, hog it as an output high. This is
consistent with the ZyXel GS1900 series handles it.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2 years agomediatek: 5.15: refresh patches
Nick Hainke [Fri, 1 Jul 2022 13:26:16 +0000 (15:26 +0200)]
mediatek: 5.15: refresh patches

Refresh patches:
- 510-net-mediatek-add-flow-offload-for-mt7623.patch
- 920-dts-mt7622-bpi-r64-fix-wps-button.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agogeneric: 5.15: refresh patches
Nick Hainke [Fri, 1 Jul 2022 13:25:29 +0000 (15:25 +0200)]
generic: 5.15: refresh patches

Refresh patches:
- 402-mtd-blktrans-call-add-disks-after-mtd-device.patch
- 420-mtd-set-rootfs-to-be-root-dev.patch
- 495-mtd-core-add-get_mtd_device_by_node.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agomediatek: mt7622: fix banana pi r64 wps button
Nick Hainke [Fri, 1 Jul 2022 13:01:13 +0000 (15:01 +0200)]
mediatek: mt7622: fix banana pi r64 wps button

Fix the wps button to prevent wrongly detected recovery procedures.
In the official banana pi r64 git the wps button is set to
GPIO_ACTIVE_LOW and not GPIO_ACTIVE_HIGH.

Import patch to fix on boot unwanted recovery entering:

  Press the [f] key and hit [enter] to enter failsafe mode
  Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
  - failsafe button wps was pressed -
  - failsafe -

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoath79: use rtl8366s and rtl8366_smi as a module
Luiz Angelo Daros de Luca [Wed, 27 Apr 2022 17:58:33 +0000 (14:58 -0300)]
ath79: use rtl8366s and rtl8366_smi as a module

rtl8366s is used only by dlink_dir-825-b1 and the netgear_wndr family
(wndr3700, wndr3700-v2, wndr3800ch, wndr3800.dts, wndrmac-v1,
wndrmac-v2).

Not tested in real hardware.

With rtl8366rb, rtl8366s, rtl8367 as modules, rtl8366_smi can also be a
loadable module. This change was tested with tl-wr2543-v1.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agokernel: netdevices: load rtl8366s on boot
Luiz Angelo Daros de Luca [Wed, 27 Apr 2022 17:55:52 +0000 (14:55 -0300)]
kernel: netdevices: load rtl8366s on boot

This external switch driver should be loaded on boot for network
support in failsafe mode.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agoath79: use rtl8367 as a module
Luiz Angelo Daros de Luca [Tue, 26 Apr 2022 22:30:54 +0000 (19:30 -0300)]
ath79: use rtl8367 as a module

rtl8367 is used only by tl-wr2543-v1. Tested both normal and failsafe
modes.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agokernel: netdevices: add rtl8367 module
Luiz Angelo Daros de Luca [Tue, 26 Apr 2022 22:28:34 +0000 (19:28 -0300)]
kernel: netdevices: add rtl8367 module

Create a package for rtl8367 to use it as loadable module instead of a
builtin one.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agoath79: use rtl8366rb as a module
Luiz Angelo Daros de Luca [Tue, 26 Apr 2022 21:51:32 +0000 (18:51 -0300)]
ath79: use rtl8366rb as a module

It looks like rtl8366rb is used only by tplink_tl-wr1043nd-v1 and
buffalo_wzr-hp-g300nh-rb. There is no need to have it built-in as it
works as a loadable module.

Tested both failsafe and normal boot on tl-wr1043nd-v1.
buffalo_wzr-hp-g300nh-rb was not tested.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agokernel: netdevices: load rtl8366rb on boot
Luiz Angelo Daros de Luca [Tue, 26 Apr 2022 21:50:08 +0000 (18:50 -0300)]
kernel: netdevices: load rtl8366rb on boot

This external switch driver should be loaded on boot for network
support in failsafe mode.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agoramips: improve YunCore AX820 LEDs
Thibaut VARÈNE [Thu, 30 Jun 2022 08:06:35 +0000 (10:06 +0200)]
ramips: improve YunCore AX820 LEDs

At least two AX820 hardware variants are known to exist, but they cannot
be distinguished (same hardware revision, no specific markings).

They appear to have the same LED hardware, but wired differently:

- One has a red system LED at GPIO 15, a green wlan2g LED at GPIO 14 and
  a blue wlan5g LED at GPIO 16;
- The other only offers a green system LED at GPIO 15, with GPIO 14 and
  16 being apparently not connected

Finally, a Yuncore datasheet says the canonical wiring should be:
- Blue wlan2g GPIO 14, green system GPIO 15, red wlan5g GPIO 16

All GPIOs are tied to a single RGB LED which is exposed via lightpipe on
the device front casing.

Considering the above, this patch exposes all three LEDs, preserves the
common system LED (GPIO 15) as the openwrt status LED, and removes the
color information from the LEDs names since it is not consistent across
hardware. The LED naming is made consistent with other YunCore devices.
A note is added in DTS to ensure this information is always available
and prevent unwanted changes in the future.

Fixes: #10131 "YunCore AX820: GPIO LED not correct"
Reviewed-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agotoolchain: fix dangling symlink to self in FixupLibdir
Sven Wegener [Thu, 17 Dec 2015 10:59:24 +0000 (11:59 +0100)]
toolchain: fix dangling symlink to self in FixupLibdir

This avoids a dangling symlink to self when reinstalling the toolchain:

./staging_dir/toolchain-mips_24kc_gcc-9.3.0_musl/lib/lib -> lib

This is caused by the fact that in the toolchain dir we have

'lib64 -> lib'

and on executing

'ln lib ./staging_dir/toolchain-mips_24kc_gcc-9.3.0_musl/lib64'

ln dereference the symbolic link 'lib64' to 'lib' so the REAL command is

'ln lib ./staging_dir/toolchain-mips_24kc_gcc-9.3.0_musl/lib'

this results in the dangling symlink to self.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
[ add more details to the commit description and fix title ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoqoriq: enable Book-E Watchdog Timer
Stijn Tintel [Fri, 1 Jul 2022 13:17:37 +0000 (16:17 +0300)]
qoriq: enable Book-E Watchdog Timer

Enable PowerPC Book-E Watchdog Timer support. Having this enabled
in-kernel will result in procd starting it during boot.

This effectively solves the problem of the WDT in the Winbond W83793 chip
potentially resetting the system during sysupgrade, which could result
in an unbootable device. While the driver is modular, resulting in procd
not starting the WDT during boot (because that happens before kmod
load), the WDT handover during sysupgrade results in the WDT being
started. This normally shouldn't be a problem, but the W83793 WDT does
not like procd's defaults, nor the handover happening during sysupgrade.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobcm27xx: add support for Raspberry Pi Zero 2
Stijn Tintel [Mon, 1 Nov 2021 21:39:48 +0000 (23:39 +0200)]
bcm27xx: add support for Raspberry Pi Zero 2

Due to licensing uncertainty, we do not include the firmwares for the
wireless chips used in the Raspberry Pi Zero 2 W. To have working
wireless, follow the instructions below.

For people building their own images:

  mkdir -p files/lib/firmware/brcm
  wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436-sdio.bin
  wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436-sdio.txt
  wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436s-sdio.bin
  wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436s-sdio.txt

Now build the OpenWrt image as usual, and it will include the firmware
files in the correct location.

For people using ext4 images:

Write the ext4 image to the sdcard, then mount the 2nd partition and put
the firmware files from the links above in /lib/firmware/brcm relative
from the mount point where the partition is mounted.

For people using squashfs images:

Write the squashfs image to the sdcard, place it in the Raspberry Pi
Zero 2 W, boot it and wait for the overlay filesystem to be created.
Find the offset of the overlay filesystem in sysfs:

  # cat /sys/devices/virtual/block/loop0/loop/offset
  25755648

Shut down the device, unplug the power and move the SD card to a Linux
computer. Mount the 2nd partition of the sdcard as a loop device with
the offset found earlier.

  sudo mount /dev/sdh2 -o loop,offset=25755648 /mnt/temp

Put the firmware files from the links above in /upper/lib/firmware/brcm
relative to the mount point where the loop device is mounted.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Tested-by: Peter van Dijk <peter@7bits.nl>
2 years agomac80211: read alternative brcm fw names from DT
Stijn Tintel [Wed, 18 May 2022 18:40:51 +0000 (21:40 +0300)]
mac80211: read alternative brcm fw names from DT

This patch is required for the Raspberry Pi Zero 2 W.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoath79: add support for ASUS RP-AC51
Tamas Balogh [Tue, 28 Jun 2022 10:35:05 +0000 (12:35 +0200)]
ath79: add support for ASUS RP-AC51

Asus RP-AC51 Repeater
Category:
AC750 300+433 (OEM w. unstable driver)
AC1200 300+866 (OpenWrt w. stable driver)

Hardware specifications:
Board: AP147
SoC: QCA9531 2.4G b/g/n
WiFi: QCA9886 5G n/ac
DRAM: 128MB DDR2
Flash: gd25q128 16MB SPI-NOR
LAN/WAN: AR8229 1x100M
Clocks: CPU:650MHz, DDR:600MHz, AHB:200MHz

MAC addresses as verified by OEM firmware:
use address source
Lan/W2G *:C8 art 0x1002 (label)
5G *:CC art 0x5006

Installation:

Asus windows recovery tool:

install the Asus firmware restoration utility
unplug the router, hold the reset button while powering it on
release when the power LED flashes slowly
specify a static IP on your computer:
IP address: 192.168.1.75
Subnet mask 255.255.255.0
Start the Asus firmware restoration utility, specify the factory image
and press upload
Do not power off the device after OpenWrt has booted until the LED flashing.
TFTP Recovery method:

set computer to a static ip, 192.168.1.10
connect computer to the LAN 1 port of the router
hold the reset button while powering on the router for a few seconds
send firmware image using a tftp client; i.e from linux:
$ tftp
tftp> binary
tftp> connect 192.168.1.1
tftp> put factory.bin
tftp> quit

Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
2 years agoath79: add support for ASUS PL-AC56
Tamas Balogh [Tue, 28 Jun 2022 10:31:59 +0000 (12:31 +0200)]
ath79: add support for ASUS PL-AC56

Asus PL-AC56 Powerline Range Extender Rev.A1
(in kit with Asus PL-E56P Powerline-slave)

Hardware specifications:
Board: AP152
SoC: QCA9563 2.4G n 3x3
PLC: QCA7500
WiFi: QCA9882 5G ac 2x2
Switch: QCA8337 3x1000M
Flash: 16MB 25L12835F SPI-NOR
DRAM SoC: 64MB w9751g6kb-25
DRAM PLC: 128MB w631gg6kb-15

Clocks: CPU:775.000MHz, DDR:650.000MHz, AHB:258.333MHz, Ref:25.000MHz

MAC addresses as verified by OEM firmware:
use address source
Lan/Wan/PLC *:10 art 0x1002 (label)
2G *:10 art 0x1000
5G *:14 art 0x5000

Important notes:

the PLC firmware has to be provided and copied manually onto the
device! The PLC here has no dedicated flash, thus the firmware file
has to be uploaded to the PLC controller at every system start
the PLC functionality is managed by the script /etc/init.d/plc_basic,
a very basic script based on the the one from Netadair (netadair dot de)
Installation:

Asus windows recovery tool:

have to have the latest Asus firmware flashed before continuing!
install the Asus firmware restoration utility
unplug the router, hold the reset button while powering it on
release when the power LED flashes slowly
specify a static IP on your computer:
IP address: 192.168.1.75
Subnet mask 255.255.255.0
start the Asus firmware restoration utility, specify the factory image
and press upload
do NOT power off the device after OpenWrt has booted until the LED flashing
TFTP Recovery method:

have to have the latest Asus firmware flashed before continuing!
set computer to a static ip, 192.168.1.75
connect computer to the LAN 1 port of the router
hold the reset button while powering on the router for a few seconds
send firmware image using a tftp client; i.e from linux:
$ tftp
tftp> binary
tftp> connect 192.168.1.1
tftp> put factory.bin
tftp> quit
do NOT power off the device after OpenWrt has booted until the LED flashing
Additional notes:

the pairing buttons have to have pressed for at least half a second,
it doesn't matter on which plc device (master or slave) first
it is possible to pair the devices without the button-pairing requirement
simply by pressing reset on the slave device. This will default to the
firmware settings, which is also how the plc_basic script is setting up
the master device, i.e. configuring it to firmware defaults
the PL-E56P slave PLC has its dedicated 4MByte SPI, thus it is capable
to store all firmware currently available. Note that some other
slave devices are not guarantied to have the capacity for the newer
~1MByte firmware blobs!
To have a good overlook about the slave device, here are its specs:
same QCA7500 PLC controller, same w631gg6kb-15 128MB RAM,
25L3233F 4MB SPI-NOR and an AR8035-A 1000M-Transceiver

Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
2 years agokernel: bump 5.10 to 5.10.127
John Audia [Wed, 29 Jun 2022 08:22:49 +0000 (04:22 -0400)]
kernel: bump 5.10 to 5.10.127

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.126
John Audia [Mon, 27 Jun 2022 20:40:48 +0000 (16:40 -0400)]
kernel: bump 5.10 to 5.10.126

No patches rebased, just checksum update for this refresh.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agomac80211: add patch for mwifiex to fix cryptic errors/warnings
Josef Schlehofer [Tue, 28 Jun 2022 11:42:26 +0000 (13:42 +0200)]
mac80211: add patch for mwifiex to fix cryptic errors/warnings

In Turris MOX SDIO card [1], which uses Marvell 88W997 and its driver
mwifiex, you might get cryptic messages, which are not helpful to use.
@pali created patch, which improves messages by the driver and he will
send this to Linux kernel soon.

Before:
[   81.026156] mwifiex_sdio mmc1:0001:1: CMD_RESP: cmd 0x20 error, result=0x1

After:
[   15.784018] mwifiex_sdio mmc1:0001:1: CMD_RESP: cmd RF_ANTENNA (0x20) error, result=0x1

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agomac80211: mwl: add patch to raise global limit of SSID up to 4
Josef Schlehofer [Tue, 28 Jun 2022 11:10:55 +0000 (13:10 +0200)]
mac80211: mwl: add patch to raise global limit of SSID up to 4

SDIO chip 88W9997 from NXP [1] is quite limited by its firmware and
driver. Add hacky patch to allow up to 4 SSID instead of 3 SSID.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agomvebu: add Methode euroDPU support
Robert Marko [Wed, 30 Mar 2022 12:04:10 +0000 (14:04 +0200)]
mvebu: add Methode euroDPU support

Add support for Methode euroDPU which is based on uDPU but does not
have a second SFP cage, instead of which a Maxlinear G.hn IC is used.

PHY mode is set to 1000Base-X despite Maxlinear IC being capable of
2500Base-X since until 5.15 support for mvebu is available trying to use
2500Base-X will cause buffer overruns for which the fix is not easily
backportable.

Installation instructions:
1. Boot the FIT initramfs image (openwrt-mvebu-cortexa53-methode_edpu-initramfs.itb)
2. sysupgrade using the openwrt-mvebu-cortexa53-methode_edpu-firmware.tgz

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agomvebu: update and refactor uDPU DTS
Robert Marko [Mon, 28 Mar 2022 12:26:47 +0000 (14:26 +0200)]
mvebu: update and refactor uDPU DTS

uDPU DTS has pending upstream fixups, so backport those as well as split
the DTS into a DTSI and DTS in preparation for euroDPU support which
uses uDPU as the base.

Ethernet aliases have not yet been sent upstream but will be soon in order
for U-boot to set the correct MAC on both ethernet interfaces instead of
just one.

Since U-boot environment now has its own partition, update the envtools
config script to search for it instead.

Patch hardcoding PHY mode is also not applicable anymore, so drop it and
set in the uDPU DTS directly.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoath79: add support for RouterBOARD mAP
Thibaut VARÈNE [Sun, 12 Jun 2022 19:48:40 +0000 (21:48 +0200)]
ath79: add support for RouterBOARD mAP

The MikroTik mAP-2nd (sold as mAP) is an indoor 2.4Ghz AP with
802.3af/at PoE input and passive PoE passthrough.

See https://mikrotik.com/product/RBmAP2nD for more details.

Specifications:
 - SoC: QCA9533
 - RAM: 64MB
 - Storage: 16MB NOR
 - Wireless: QCA9533 802.11b/g/n 2x2
 - Ethernet: 2x 10/100 ports,
    802.3af/at PoE in port 1, 500 mA passive PoE out on port 2
 - 7 user-controllable LEDs

Note: the device is a tiny AP and does not distinguish between both
ethernet ports roles, so they are both assigned to lan.
With the current setup, ETH1 is connected to eth1 and ETH2 is connected
to eth0 via the embedded switch port 2.

Flashing:
 TFTP boot initramfs image and then perform sysupgrade. The "ETH1" port
 must be used to upload the TFTP image. Follow common MikroTik procedure
 as in https://openwrt.org/toh/mikrotik/common.

Tested-By: Andrew Powers-Holmes <aholmes@omnom.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agoipq40xx: mikrotik: make RouterBoot partition writeable
Thibaut VARÈNE [Fri, 17 Jun 2022 10:43:43 +0000 (12:43 +0200)]
ipq40xx: mikrotik: make RouterBoot partition writeable

Linux MTD requires the parent partition be writable for a child
partition to be allowed write permission.
In order for soft_config to be writeable (and modifiable via sysfs),
the parent RouterBoot partition must be writeable

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agoath79: mikrotik: add rw soft_config to extra devices
John Thomson [Tue, 17 May 2022 23:23:14 +0000 (09:23 +1000)]
ath79: mikrotik: add rw soft_config to extra devices

Linux MTD requires the parent partition be writable for a child
partition to be allowed write permission.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2 years agokernel: fix variable erasesize patch
John Thomson [Tue, 17 May 2022 01:15:45 +0000 (11:15 +1000)]
kernel: fix variable erasesize patch

Update this pending patch to remove the untested (variable eraseregions)
section, alongside simplifying the patch.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
[refresh and split out unrelated refreshes]
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agokernel: cut broken SPI_NOR 4K eraseblock LIMIT patch
John Thomson [Tue, 28 Sep 2021 10:51:56 +0000 (20:51 +1000)]
kernel: cut broken SPI_NOR 4K eraseblock LIMIT patch

Since 4e0c54bc5bc8 ("kernel: add support for kernel 5.4"),
the spi-nor limit 4k erasesize to spi-nor chips below a configured size
patch has not functioned as intended.

For uniform erasesize SPI-NOR devices, both
nor->erase_opcode & mtd->erasesize are used in erase operations.
These are set before, and not modified by, this
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS_LIMIT patch.
Thus, an SPI-NOR device with CONFIG_MTD_SPI_NOR_USE_4K_SECTORS will
always use 4k erasesize (where the device supports it).

If this patch was fixed to function as intended, there would be
cases where devices change from a 4K to a 64K erasesize.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2 years agox86: 64: Add kmod-igc to default packages
Hauke Mehrtens [Tue, 28 Jun 2022 22:15:36 +0000 (00:15 +0200)]
x86: 64: Add kmod-igc to default packages

This adds the igc driver for the Intel 2.5GBit Ethernet chip to the
default packages.

Fixes: #10064
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoramips: add support for ASUS RP-AC87
Tamas Balogh [Mon, 20 Jun 2022 09:02:15 +0000 (11:02 +0200)]
ramips: add support for ASUS RP-AC87

Asus RP-AC87 ac2600 Repeater
2.4GHz 800Mbps
5GHz 1733Mbps

Hardware specifications:
SoC: MT7621A 2 cores 4 threads @880MHz
WiFi2G: MT7615E 2G 4x4 b/g/n
Wifi5G: MT7615E 5G 4x4 n/ac
DRAM: 128MB DDR3 @1200mhz
Flash: 16MB MX25L12805D SPI-NOR
LAN/WAN: MT7530 1x1000M

MAC addresses as verified by OEM firmware:
use address source
Lan/W5G *:B0 factory 0x8004 (label)
W2G *:B4 factory 0x0

Installation:

Asus windows recovery tool:

install the Asus firmware restoration utility
unplug the router, hold the reset button while powering it on
release when the power LED flashes slowly
specify a static IP on your computer:
IP address: 192.168.1.75
Subnet mask 255.255.255.0
Start the Asus firmware restoration utility, specify the factory image
and press upload
Do not power off the device after OpenWrt has booted until the LED flashing.
TFTP Recovery method:

set computer to a static ip, 192.168.1.2
connect computer to the LAN 1 port of the router
hold the reset button while powering on the router for a few seconds
send firmware image using a tftp client; i.e from linux:
$ tftp
tftp> binary
tftp> connect 192.168.1.1
tftp> put factory.bin
tftp> quit

Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
2 years agoiptables: default to ip(6)tables-nft
Etienne Champetier [Sun, 26 Jun 2022 04:54:45 +0000 (04:54 +0000)]
iptables: default to ip(6)tables-nft

OpenWrt now uses firewall4 (nft) by default,
so iptables should also default to nftables backend.

When multiple packages provide the same virtual package,
opkg pick the first one by alphabetical order,
so we rename iptables-legacy to iptables-zz-legacy and add
iptables-legacy in PROVIDES.

We also need to remove IPTABLES_NFTABLES config as
this cause recursive dependencies.

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2 years agoqoriq: add kernel 5.15 support
Stijn Tintel [Mon, 28 Mar 2022 13:45:52 +0000 (16:45 +0300)]
qoriq: add kernel 5.15 support

Add support for kernel 5.15 as testing kernel for qoriq.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoqoriq: enable HARDENED_USERCOPY
Stijn Tintel [Tue, 28 Jun 2022 21:51:41 +0000 (00:51 +0300)]
qoriq: enable HARDENED_USERCOPY

The random crashes observed with HARDENED_USERCOPY enabled no longer
seem to occur. Enable HARDENED_USERCOPY to improve security.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoqoriq: disable CONFIG_COMPAT
Stijn Tintel [Tue, 28 Jun 2022 21:12:23 +0000 (00:12 +0300)]
qoriq: disable CONFIG_COMPAT

We do not need support for 32 bit applications, as we're building
everything for 64 bit.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoqoriq: 02_network fix sweth globbing logic
Thibaut VARÈNE [Tue, 28 Jun 2022 14:40:05 +0000 (16:40 +0200)]
qoriq: 02_network fix sweth globbing logic

This prevents invalid configuration of non-existent sweth devices.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agoqoriq: define reset button for Firebox M300
Thibaut VARÈNE [Tue, 14 Jun 2022 13:54:48 +0000 (15:54 +0200)]
qoriq: define reset button for Firebox M300

This patch provides support for the Firebox M300 reset button.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agoqoriq: define leds for Firebox M300
Thibaut VARÈNE [Tue, 14 Jun 2022 13:54:48 +0000 (15:54 +0200)]
qoriq: define leds for Firebox M300

This patch provides support for the Firebox M300 only user-controllable
bi-color LED, and makes the green "shield" LED act as the typical
OpenWrt status led.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2 years agokernel: add missing symbol to 5.15 config
Stijn Tintel [Tue, 28 Jun 2022 21:08:39 +0000 (00:08 +0300)]
kernel: add missing symbol to 5.15 config

Kernel 5.15.49 introduced a new symbol 'LIB_MEMNEQ'. Add it to the
generic 5.15 config.

Fixes: f1cd14448221 ("kernel: bump 5.15 to 5.15.49")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agokernel: add missing symbol to 5.10 config
Stijn Tintel [Tue, 28 Jun 2022 21:00:51 +0000 (00:00 +0300)]
kernel: add missing symbol to 5.10 config

Kernel 5.10.124 introduced a new symbol 'LIB_MEMNEQ'. Add it to the
generic 5.10 config.

Fixes: 9e5d743422ed ("kernel: bump 5.10 to 5.10.124")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agorealtek: add DGS-1210-28 factory image
Luiz Angelo Daros de Luca [Thu, 23 Jun 2022 20:50:03 +0000 (17:50 -0300)]
realtek: add DGS-1210-28 factory image

DGS-1210 switches support dual image, with each image composed of a
kernel and a rootfs partition. For image1, kernel and rootfs are in
sequence. The current OpenWrt image (written using a serial console),
uses those partitions together as the firmware partition, ignoring the
partition division. The current OEM u-boot fails to validate image1 but
it will only trigger firmware recovery if both image1 and image2 fail,
and it does not switch the boot image in case one of them fails the
check.

The OEM factory image is composed of concatenated blocks of data, each
one prefixed with a 0x40-byte cameo header. A normal OEM firmware will
have two of these blocks (kernel, rootfs). The OEM firmware only checks
the header before writing unconditionally the data (except the header)
to the correspoding partition.

The OpenWrt factory image mimics the OEM image by cutting the
kernel+rootfs firmware at the exact size of the OEM kernel partition
and packing it as "the kernel partition" and the rest of the kernel and
the rootfs as "the rootfs partition". It will only work if written to
image1 because image2 has a sysinfo partition between kernel2 and
rootfs2, cutting the kernel code in the middle.

Steps to install:

1) switch to image2 (containing an OEM image), using web or these CLI
   commands:
   - config firmware image_id 2 boot_up
   - reboot
2) flash the factory_image1.bin to image1. OEM web (v6.30.016)
   is crashing for any upload (ssh keys, firmware), even applying OEM
   firmwares. These CLI commands can upload a new firmware to the other
   image location (not used to boot):
   - download firmware_fromTFTP <tftpserver> factory_image1.bin
   - config firmware image_id 1 boot_up
   - reboot

To debrick the device, you'll need serial access. If you want to
recover to an OpenWrt, you can replay the serial installation
instructions. For returning to the original firmware, press ESC during
the boot to trigger the emergency firmware recovery procedure. After
that, use D-Link Network Assistant v2.0.2.4 to flash a new firmware.

The device documentation does describe that holding RESET for 12s
trigger the firmware recovery. However, the latest shipped U-Boot
"2011.12.(2.1.5.67086)-Candidate1" from "Aug 24 2021 - 17:33:09" cannot
trigger that from a cold boot. In fact, any U-Boot procedure that relies
on the RESET button, like reset settings, will only work if started from
a running original firmware. That, in practice, cancels the benefit of
having two images and a firmware recovery procedure (if you are not
consider dual-booting OpenWrt).

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2 years agoscripts: add cameo image header generator
Luiz Angelo Daros de Luca [Fri, 24 Jun 2022 19:05:16 +0000 (16:05 -0300)]
scripts: add cameo image header generator

The cameo header is a 0x40-byte header used by D-Link DGS 1210 switches
and Apresia ApresiaLightGS series. cameo-imghdr.py is a clean-room
reimplementation of imghdr present in the DGS-1210-28-GPL package.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
[fix board_version argument's help text]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agohostapd: disable mbo by default
Stijn Tintel [Tue, 28 Jun 2022 19:14:29 +0000 (22:14 +0300)]
hostapd: disable mbo by default

Enabling mbo by default on 802.11ax devices breaks for encryption types
that do not enable 802.11w by default. Disable mbo by default to fix
this. Enabling mbo by default on 802.11ax devices was not explained in
the commit message anyway.

Fixes: 6eee9836565c ("hostapd: introduce mbo option")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoath79: support for TP-Link EAP225 v4
Sven Hauer [Mon, 27 Jun 2022 20:25:12 +0000 (22:25 +0200)]
ath79: support for TP-Link EAP225 v4

This model is almost identical to the EAP225 v3.
Major difference is the RTL8211FS PHY Chipset.

Device specifications:
* SoC: QCA9563 @ 775MHz
* RAM: 128MiB DDR2
* Flash: 16MiB SPI-NOR
* Wireless 2.4GHz (SoC): b/g/n, 3x3
* Wireless 5Ghz (QCA9886): a/n/ac, 2x2 MU-MIMO
* Ethernet (RTL8211FS): 1× 1GbE, 802.3at PoE

Flashing instructions:
* ssh into target device and run `cliclientd stopcs`
* Upgrade with factory image via web interface

Debricking:
* Serial port can be soldered on PCB J4 (1: TXD, 2: RXD, 3: GND, 4: VCC)
    * Bridge unpopulated resistors R225 (TXD) and R237 (RXD).
      Do NOT bridge R230.
    * Use 3.3V, 115200 baud, 8n1
* Interrupt bootloader by holding CTRL+B during boot
* tftp initramfs to flash via LuCI web interface
    setenv ipaddr 192.168.1.1 # default, change as required
    setenv serverip 192.168.1.10 # default, change as required
    tftp 0x80800000 initramfs.bin
    bootelf $fileaddr

MAC addresses:
MAC address (as on device label) is stored in device info partition at
an offset of 8 bytes. ath9k device has same address as ethernet, ath10k
uses address incremented by 1.

Signed-off-by: Sven Hauer <sven.hauer+github@uniku.de>
2 years agohostapd: introduce min_tx_power option
Stijn Tintel [Mon, 27 Jun 2022 14:06:34 +0000 (17:06 +0300)]
hostapd: introduce min_tx_power option

Introduce a new option min_tx_power to configure the minimum permitted
max TX power (in dBm) for ACS and DFS channel selection.

Imagine the following regulatory rules:
  * 5180 MHz [36] (21.0 dBm)
  * 5200 MHz [40] (21.0 dBm)
  * 5220 MHz [44] (21.0 dBm)
  * 5240 MHz [48] (21.0 dBm)
  * 5260 MHz [52] (20.0 dBm) (radar detection)
  * 5280 MHz [56] (20.0 dBm) (radar detection)
  * 5300 MHz [60] (20.0 dBm) (radar detection)
  * 5320 MHz [64] (20.0 dBm) (radar detection)
  * 5500 MHz [100] (21.0 dBm) (radar detection)
  * 5520 MHz [104] (21.0 dBm) (radar detection)
  * 5540 MHz [108] (21.0 dBm) (radar detection)
  * 5560 MHz [112] (21.0 dBm) (radar detection)
  * 5580 MHz [116] (21.0 dBm) (radar detection)
  * 5600 MHz [120] (21.0 dBm) (radar detection)
  * 5620 MHz [124] (21.0 dBm) (radar detection)
  * 5640 MHz [128] (21.0 dBm) (radar detection)
  * 5660 MHz [132] (21.0 dBm) (radar detection)
  * 5680 MHz [136] (21.0 dBm) (radar detection)
  * 5700 MHz [140] (21.0 dBm) (radar detection)
  * 5720 MHz [144] (13.0 dBm) (radar detection)
  * 5745 MHz [149] (13.0 dBm)
  * 5765 MHz [153] (13.0 dBm)
  * 5785 MHz [157] (13.0 dBm)
  * 5805 MHz [161] (13.0 dBm)
  * 5825 MHz [165] (13.0 dBm)
  * 5845 MHz [169] (13.0 dBm)
  * 5865 MHz [173] (13.0 dBm)

When ACS or DFS end up selecting channel 144 or higher, some clients
might no longer be able to communicate with the AP due to the TX power
being limited to 13 dBm. Setting min_tx_power to 20 will result in
hostapd not considering these channels during ACS or after a DFS event.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: introduce background_radar option
Stijn Tintel [Mon, 6 Jun 2022 13:36:27 +0000 (16:36 +0300)]
hostapd: introduce background_radar option

Introduce a new option background_radar to toggle hostapd's background
radar feature. Enabling this allows DFS CAC to run on dedicated radio RF
chains while the radio(s) are otherwise running normal AP activities on
other channels.

As OpenWrt configures hostapd to use a channel list even when a single
channel is configured, using this feature requires a list of channels in
/etc/config/wireless. Alternatively, channel can be set to auto.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: support MBO in bss_transition_request
Stijn Tintel [Fri, 3 Jun 2022 08:22:50 +0000 (11:22 +0300)]
hostapd: support MBO in bss_transition_request

Support the use of MBO in the bss_transition_request ubus method.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: introduce mbo option
Stijn Tintel [Mon, 6 Jun 2022 13:54:00 +0000 (16:54 +0300)]
hostapd: introduce mbo option

Introduce a new option mbo to toggle Multi Band Operation aka Agile
Multiband for a BSS.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: enable MBO if 802.11ax is enabled
Stijn Tintel [Mon, 20 Jun 2022 16:25:22 +0000 (19:25 +0300)]
hostapd: enable MBO if 802.11ax is enabled

Multi Band Operation is required for 802.11ax certification, so let's
enable it if 802.11ax support is enabled.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: add config symbol to enable MBO
Stijn Tintel [Mon, 20 Jun 2022 16:23:18 +0000 (19:23 +0300)]
hostapd: add config symbol to enable MBO

Multi Band Operation aka Agile Multiband introduces new Transition
and Transition Rejection Reason Codes that should improve client
steering. Add a config symbol to enable it, and enable it by default for
the full variants.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agokernel: backport RTL8211F clkout-disable patch
Sander Vanheule [Mon, 27 Jun 2022 18:36:32 +0000 (20:36 +0200)]
kernel: backport RTL8211F clkout-disable patch

In Linux v5.14 an extra feature was introduced for the RTL8211F phy,
allowing to disable a clock output from the phy. Part of that patch is to
always (soft) reset the phy upon initialisation.

This phy reset is required to have a working ethernet on the TP-Link
EAP225-Outdoor v3 and EAP225 v4 after a reboot. Otherwise the ethernet
port will only function properly on cold boots.

Tested-by: Andre Klärner <kandre@ak-online.be> # EAP225-Outdoor v3
Tested-by: Sven Hauer <sven.hauer+github@uniku.de> # EAP225 v4
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agofirmware-utils: bump to git HEAD
Sander Vanheule [Mon, 27 Jun 2022 19:24:24 +0000 (21:24 +0200)]
firmware-utils: bump to git HEAD

The support-list partition for the EAP225-V3 board ID became larger than
the allocated size, resulting in factory image generation for the
EAP225-Outdoor v3 and EAP225 v3 to fail. The make directive
Build/tplink-safeloader ignores this failure however, resulting in a
seemingly successful build with empty factory images.

Included changes:
    e609c5d75186 tplink-safeloader: drop unqualified EAP225-V3 IDs

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath10k: enable encapsulation offload by default
Tiago Gaspar [Thu, 23 Jun 2022 13:15:06 +0000 (14:15 +0100)]
ath10k: enable encapsulation offload by default

Enable ath10k offload by default. This improves wireless performance
without requiring user configuration.
This adds ath10k_core to the AUTOLOAD section so that the frame_mode
paramter can be added to /etc/modules.d and passed to the driver.
The frame_mode 2 enables ethernet mode on the firmware/driver.
This parameter is set by passing a different value to the frame_mode
value on kmod insmod.
Link to the original patchset:
https://patchwork.kernel.org/project/linux-wireless/cover/20220516032519.29831-1-ryazanov.s.a@gmail.com/

Signed-off-by: Tiago Gaspar <tiagogaspar8@gmail.com>
2 years agolantiq: dts: td-w8980: Remove duplicate PCI properties
Martin Blumenstingl [Sat, 25 Jun 2022 19:19:22 +0000 (21:19 +0200)]
lantiq: dts: td-w8980: Remove duplicate PCI properties

lantiq,bus-clock, interrupt-map-mask and interrupt-map are already
defined with these exact values in vr9.dtsi. Drop them from
vr9_tplink_tdw8980.dts to just have one place where these are
maintained.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2 years agokernel: bump 5.15 to 5.15.49
Rui Salvaterra [Wed, 22 Jun 2022 13:12:26 +0000 (14:12 +0100)]
kernel: bump 5.15 to 5.15.49

Deleted (upstreamed):
generic/backport-5.15/702-v5.19-34-net-ethernet-mtk_eth_soc-fix-misuse-of-mem-alloc-int.patch [1]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.49&id=fcba12a4308143f1f1dcb0face8b3ffb51edcc5c

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.15 to 5.15.48
Rui Salvaterra [Thu, 16 Jun 2022 16:06:51 +0000 (17:06 +0100)]
kernel: bump 5.15 to 5.15.48

No patches needed rebasing.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.15 to 5.15.47
Rui Salvaterra [Mon, 20 Jun 2022 09:50:45 +0000 (10:50 +0100)]
kernel: bump 5.15 to 5.15.47

Deleted (upstreamed):
generic/backport-5.15/702-v5.19-32-net-ethernet-mtk_eth_soc-out-of-bounds-read-in-mtk_h.patch [01]

[01] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.47&id=b24ca1cf846273361d5bd73a35de95a486a54b6d

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[Removed 702-v5.19-32-net-ethernet-mtk_eth_soc-out-of-bounds-read-in-mtk_h.patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: bump 5.15 to 5.15.46
Rui Salvaterra [Thu, 9 Jun 2022 13:19:03 +0000 (14:19 +0100)]
kernel: bump 5.15 to 5.15.46

Deleted (upstreamed):
generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch [01]
generic/backport-5.15/420-v5.19-01-mtd-spinand-gigadevice-fix-Quad-IO-for-GD5F1GQ5UExxG.patch [02]
bcm27xx/patches-5.15/950-0029-Revert-mailbox-avoid-timer-start-from-callback.patch [03]
bcm27xx/patches-5.15/950-0417-bcm2711_thermal-Don-t-clamp-temperature-at-zero.patch [04]
bcm27xx/patches-5.15/950-0740-drm-vc4-hvs-Fix-frame-count-register-readout.patch [05]
bcm27xx/patches-5.15/950-0755-drm-vc4-hvs-Reset-muxes-at-probe-time.patch [06]
bcm27xx/patches-5.15/950-0759-drm-vc4-txp-Don-t-set-TXP_VSTART_AT_EOF.patch [07]
bcm27xx/patches-5.15/950-0760-drm-vc4-txp-Force-alpha-to-be-0xff-if-it-s-disabled.patch [08]
bcm53xx/patches-5.15/031-v5.17-0005-ARM-dts-BCM5301X-update-CRU-block-description.patch [09]
mediatek/patches-5.15/102-mt7629-enable-arch-timer.patch [10]

Manually rebased:
bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch

[01] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=f41c9418c5898c01634675150696da290fb86796
[02] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=d5b66645305c6f3a1b2cf75cee4157b07f293309
[03] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=119f99209d8531359bcb935f252ec435f9d21b13
[04] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=c4e1280abead1552e1764684079a43e222ccd163
[05] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=08465a1889cb48ec64431e9db745b5be15399251
[06] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=0e26a6da02e63b75b629573d13966c36aa6264f0
[07] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=01c9020b2e7c85e394879f34851805179ac3d1d8
[08] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=d47f85cc0171a5d3c5bd8cbb8a98983ca3357cbd
[09] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=5151f24ac937ff7eb1f078257c66e3c0f0296010
[10] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=ffea838686b82fbb2801cdfad6ba5309d15c032d

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: 5.15: x86-64: enable CONFIG_SLS
Rui Salvaterra [Fri, 10 Jun 2022 08:07:31 +0000 (09:07 +0100)]
kernel: 5.15: x86-64: enable CONFIG_SLS

Starting with GCC 12, we have the possibility of mitigating straight-line
speculation vulnerabilities in x86-64 targets. Make it so.

Reported-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.10 to 5.10.125
John Audia [Sat, 25 Jun 2022 17:28:25 +0000 (13:28 -0400)]
kernel: bump 5.10 to 5.10.125

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.124
John Audia [Wed, 22 Jun 2022 15:58:33 +0000 (11:58 -0400)]
kernel: bump 5.10 to 5.10.124

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.123
John Audia [Thu, 16 Jun 2022 18:47:54 +0000 (14:47 -0400)]
kernel: bump 5.10 to 5.10.123

No patches required a rebase, just updated checksum.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.122
John Audia [Tue, 14 Jun 2022 19:31:10 +0000 (15:31 -0400)]
kernel: bump 5.10 to 5.10.122

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.121
John Audia [Sat, 11 Jun 2022 12:50:59 +0000 (08:50 -0400)]
kernel: bump 5.10 to 5.10.121

Manually rebased:
    oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch

All other patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agovalgrind: bump to 3.19.0
Rui Salvaterra [Mon, 23 May 2022 09:59:30 +0000 (10:59 +0100)]
valgrind: bump to 3.19.0

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agoopkg: update to 2022-02-24
Josef Schlehofer [Wed, 15 Jun 2022 14:31:12 +0000 (16:31 +0200)]
opkg: update to 2022-02-24

Changes:
9c44557 opkg_remove: avoid remove pkg repeatly with option --force-removal-of-dependent-packages
2edcfad libopkg: set 'const' attribute for argv

This should fix the CI error in the packages repository, which happens with perl.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agodropbear: cherry-pick upstream commit 544f28a0
Konstantin Demin [Mon, 20 Jun 2022 07:37:15 +0000 (10:37 +0300)]
dropbear: cherry-pick upstream commit 544f28a0

Resolves #10081

Reported-By: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
2 years agotools/meson: update to 0.61.5
Rosen Penev [Tue, 21 Jun 2022 04:09:08 +0000 (21:09 -0700)]
tools/meson: update to 0.61.5

Mostly backports by a Red Hat employee as 0.62 and newer demands Python
3.7+. Same reason 0.61 is kept here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agoarptables: update to 0.0.5 and cleanup
Nick Hainke [Sat, 25 Jun 2022 14:24:18 +0000 (16:24 +0200)]
arptables: update to 0.0.5 and cleanup

Update to 0.0.5:

efae894 arptables 0.0.5 release
1f3c6bc libarptc: Simplify alloc_handle by using calloc()
4e5e23a Eliminate compiler warning about size passed to strncmp()
bf11d72 Add .gitignore
28b22d5 arptables: legacy renaming
988d6a4 arptables: cleanup sysvinit script
f4ab8f6 src: Remove support for libc5
047f37b src: Use stdint types
4bb2f83 arptables: Add MARK target
dbbe9f7 arptables: Add revision field for arptables userspace
935acea src: fix compilation warning
5700dbf src: cache in tree and use x_tables.h
4b7d6b0 arptables: remove dead dynamic hooks code
c299484 arptables: fix potential buffer overflow (author: dcb)
9fcaf70 arptables: add missing long option --set-counters and update documentation
36daba3 arptables: install man pages
f79b957 Add man pages for arptables-{save,restore}
c492c16 add GPL text
8f58693 fix potential buffer overflows reported by static analysis
ee4ec13 make static analysis tool happy (false positive)
b064d44 build an libarptc.a archive

Cleanup Makefile:
- Switch to release versions
- Use ftp(http) mirror
- Add PKG_LICENSE_FILES

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoethtool: update to 5.18
Nick Hainke [Sat, 25 Jun 2022 14:41:18 +0000 (16:41 +0200)]
ethtool: update to 5.18

9eabf30 Release version 5.18.
2b3ddcb ethtool: fec: Change the prompt string to adapt to current situations
d660dde pretty: add missing message descriptions for rings
aaeb16a pretty: support u8 enumerated types
6b320b8 rings: add support to set/get cqe size
41fddc0 update UAPI header copies
42e6c28 help: fix alignment of rx-buf-len parameter
e1d0a19 ethtool.8: Fix typo in man page
37f0586 Release version 5.17.
8c2984c strset: do not put a pointer to a local variable to nlctx
8fd02a2 ioctl: add the memory free operation after send_ioctl call fails
b9f25ea ethtool: Add support for OSFP transceiver modules
6e79542 features: add --json support
5ed5ce5 Merge branch 'next' into  master
b90abbb man: document recently added parameters
51a9312 tunables: add support to get/set tx copybreak buf size
a081c2a rings: add support to set/get rx buf len
d699bab Merge branch 'master' into next
52db6b9 Merge branch 'review/module-extstate' into next
6407b52 monitor: add option for --show-module/--set-module
1f35786 ethtool: Add transceiver module extended state
2d4c5b7 ethtool: Add ability to control transceiver modules' power mode
005908b Update UAPI header copies

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agowolfssl: disable AES-NI by default for x86_64
Eneas U de Queiroz [Tue, 21 Jun 2022 18:21:44 +0000 (15:21 -0300)]
wolfssl: disable AES-NI by default for x86_64

WolfSSL is crashing with an illegal opcode in some x86_64 CPUs that have
AES instructions but lack other extensions that are used by WolfSSL
when AES-NI is enabled.

Disable the option by default for now until the issue is properly fixed.
People can enable them in a custom build if they are sure it will work
for them.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2 years agofirmware-utils: bump to git HEAD
Sander Vanheule [Sun, 26 Jun 2022 14:56:01 +0000 (16:56 +0200)]
firmware-utils: bump to git HEAD

Fixes the safeloader model identifiers for EAP225-Outdoor v1/v3 devices.

1e3d47292b2e tplink-safeloader: fix EAP225-Outdoor model IDs
9563fe8e78cb tplink-safeloader: add regionless EAP225-V3 IDs

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agomac80211: increase airtime scheduler quantum
Felix Fietkau [Sun, 26 Jun 2022 09:47:12 +0000 (11:47 +0200)]
mac80211: increase airtime scheduler quantum

improves performance by requiring fewer iterations over tx queues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agorealtek: cleanup LAG logging
Markus Stockhausen [Sun, 26 Jun 2022 08:28:26 +0000 (10:28 +0200)]
realtek: cleanup LAG logging

Setting up DSA bond silently fails if mode is not 802.3ad. Add log message
to fix it. As we are already here harmonize all logging messages in the
add/delete functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2 years agomac80211: add airtime fairness improvements
Felix Fietkau [Sat, 18 Jun 2022 08:52:09 +0000 (10:52 +0200)]
mac80211: add airtime fairness improvements

This reverts the airtime scheduler back from the virtual-time based scheduler
to the deficit round robin scheduler implementation.
This reduces burstiness and improves fairness by improving interaction with AQL.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agorealtek: EnGenius EWS2910P: add support for SFP ports
Alexandru Gagniuc [Mon, 16 May 2022 02:54:47 +0000 (21:54 -0500)]
realtek: EnGenius EWS2910P: add support for SFP ports

The SFP cages 9F and 10F share the same SCL line. Currently, there
isn't a good way to model this. Thus, only one SFP port can be fully
supported.

Cage 10F is fully supported with an I2C bus and sfp handle. Linux
automatically handles enabling or disabling the TX laser.

Cage 9F is only parially supported, without the sfp handle. The SDA
line is hogged as an input, so that it remains high. SCL transitions
sould not affect modules connected to this cage. The default value of
the tx-disable line is high (active). It is exported as a gpio, but
the laser is off by default. To enable the laser:

    echo 0 > /sys/class/gpio/sff-p9-tx-disable/value

Thus, both modules can be used for networking, but only 10F will be
able to detect and identify a plugged in SFP module.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2 years agorealtek: add support for EnGenius EWS2910P
Alexandru Gagniuc [Sat, 14 May 2022 06:34:04 +0000 (01:34 -0500)]
realtek: add support for EnGenius EWS2910P

Add support for the Engenius EWS2910P PoE switch. This is an RTL8380
based switch with two SFP slots, and PoE 802.3af one every RJ-45 port.

The specs say 802.3af, but the vendor firmware configures the PSE for
a budget of 31W, indicating 802.3at support.

Specifications:
---------------
* SoC:       Realtek RTL8380M
* Flash:     32 MiB SPI flash Macronix MX25L25635E
* RAM:       256 MiB (As reported by bootloader)
* Ethernet:  16x 10/100/1000 Mbps with PoE
              2x SFP slots
* Buttons:   1 "Reset" button on front panel
             1 "LED mode: button on front panel
             1 "On/Off" Toggle switch on the back
* Power:     48V-54V DC barrel jack
* UART:      1 serial header (JP1) with populated 2.54mm pitch header
             Labeled GRTV for ground, rx, tx, and 3.3V respectively
* PoE:       1 STM ST32F100 microcontroller
             2 BCM59111 PSE chips
Works:
------
  - (8) RJ-45 ethernet ports
  - Switch functions
  - LEDs and buttons

Not yet enabled:
----------------
  - SFP ports (will be enabled in a subsequent change)
  - Power-over-Ethernet (requires realtek-poe package)

Install via web interface:
-------------------------

The factory firmware will accept and flash the initramfs image. It is
recommended to flash to "Partition 0". Flashing to "Partition 1" is
not supported at this point.

The factory web GUI will show the following warning:

 " Warning: The firmware version is v0.00.00-c0.0.00
     The firmware image you are uploading is older than the current
     firmware of the switch. The device will reset back to default
     settings. Are you sure you want to proceed?"

This is expected when flashing OpenWrt. After the initramfs image
boots, flash the -sysupgrade using either the commandline or LuCI.

Install via serial console/tftp:
--------------------------------

The u-boot firmware will not stop the boot, regardless of which key is
pressed. To access the u-boot console, ground out the CLK (pin 16) of
the ROM (U22) when u-boot is reading the linux image. If timed
correctly, the image CRC will fail, and u-boot will drop to a shell:
    > rtk network on
    > setenv ipaddr <address of tftp server>
    > tftp $(freemem) <name-of-initramfs-image.bin>
    > bootm

Then flash the -sysupgrade using either the commandline or luci.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
[gpio-led node names, OpenWrt and LuCI capitalization in commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoramips: add support for Asus RT-N12+ B1 and RT-N300 B1
Semih Baskan [Tue, 21 Jun 2022 05:43:50 +0000 (08:43 +0300)]
ramips: add support for Asus RT-N12+ B1 and RT-N300 B1

Asus RT-N12+ B1 and Asus RT-N300 B1 are the same device
with a different name.

The OEM firmwares have the same MD5 with Asus RT-N11P B1.

Same instructions for Asus RT-N11P B1 see:
commit c3dc52e39ac8 ("ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1")

Signed-off-by: Semih Baskan <strstgs@gmail.com>
(Added id from the PR review to commit message)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: add support for ASUS RT-AX53U
Chuncheng Chen [Tue, 14 Jun 2022 06:11:52 +0000 (14:11 +0800)]
ramips: add support for ASUS RT-AX53U

Specifications:
- Device: ASUS RT-AX53U
- SoC: MT7621AT
- Flash: 128MB
- RAM: 256MB
- Switch: 1 WAN, 3 LAN (10/100/1000 Mbps)
- WiFi: MT7905 2x2 2.4G + MT7975 2x2 5G
- Ports: USB 3.0
- LEDs: 1x POWER (blue, configurable)
        3x LAN (blue, configurable)
        1x WAN (blue, configurable)
        1x USB (blue, not configurable)
1x 2.4G (blue, not configurable)
1x 5G (blue, not configurable)

Flash by U-Boot TFTP method:
- Configure your PC with IP 192.168.1.2
- Set up TFTP server and put the factory.bin image on your PC
- Connect serial port(rate:115200) and turn on AP, then interrupt "U-Boot Boot Menu" by hitting any key
   Select "2. Upgrade firmware"
   Press enter when show "Run firmware after upgrading? (Y/n):"
   Select 0 for TFTP method
   Input U-Boot's IP address: 192.168.1.1
   Input TFTP server's IP address: 192.168.1.2
   Input IP netmask: 255.255.255.0
   Input file name: openwrt-ramips-mt7621-asus_rt-ax53u-squashfs-factory.bin
- Restart AP aftre see the log "Firmware upgrade completed!"

Signed-off-by: Chuncheng Chen <ccchen1984@gmail.com>
(replaced led label, added key-* prefix to buttons, added note about
BBT)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokexec-tools: add kdump scripts util
Chen Minqiang [Sat, 30 Apr 2022 15:28:29 +0000 (23:28 +0800)]
kexec-tools: add kdump scripts util

This add back kdump scripts to save crashlog or vmcore to disk

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2 years agoapm821xx: WNDAP660: fix ethernet port ordering
Christian Lamparter [Fri, 24 Jun 2022 18:55:15 +0000 (20:55 +0200)]
apm821xx: WNDAP660: fix ethernet port ordering

Tim Small reported:
| Viewing the 'Network' -> 'Switch' config page in LuCI:
|
| The LuCI LAN 1 port corresponds to the port physically
|     labelled 2 at the rear of the device.
| [...]
|
| When a patch cord is attached to the port labelled 1 [...],
| the LED labelled 2 illuminates. [...]

=> Ports, LuCI and LEDs are reversed/don't match.

Reported-by: Tim Small
Fixes: #10111
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agox86: fix damaged config 5.10 refresh
Christian Lamparter [Fri, 24 Jun 2022 17:30:50 +0000 (19:30 +0200)]
x86: fix damaged config 5.10 refresh

Restore CONFIG_I8K + CONFIG_INTEL_INT0002_VGPIO that got
removed when I refreshed the config. Each x86 target gets
its own CONFIG_CRYPTO_BLAKE2S + LIB settings as only the
x86_64 can use the accelerated x86 version.

Also remove two extra spaces that sneaked into geode's config.

Fixes: 539e60539a2f ("generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoocteon: add support for Ubiquiti UniFi Security Gateway
Clemens Hopfer [Sat, 28 May 2022 19:34:48 +0000 (21:34 +0200)]
octeon: add support for Ubiquiti UniFi Security Gateway

Ubiquiti UniFi Security Gateway (USG) is largely identical to
the EdgeRouter Lite (ERLite-3) apart from a different board ID
and two dome leds.

Device data (from WikiDev):
  CPU: Cavium Octeon Plus CN5020 @500MHz 2-cores
  Ethernet: 3x Atheros AR8035-A GbE PHY's
  Flash: On-board 4MB Flash
  Storage: Internal 3.8GB USB Flash (Kingston ID) drive
    w/ 1.5GB free for use occupies single internal USB port.
  Serial: 1x RJ45 port on front panel. 115200, 8N1
  Buttons: 1x Reset

Flash instructions are identical to EdgeRouter Lite.

Signed-off-by: Clemens Hopfer <openwrt@wireloss.net>