openwrt/staging/nbd.git
2 years agourandom-seed: use seedrng for seeding the random number generator
Jason A. Donenfeld [Mon, 28 Mar 2022 04:25:56 +0000 (00:25 -0400)]
urandom-seed: use seedrng for seeding the random number generator

The RNG can't actually be seeded from a shell script, due to the
reliance on ioctls. For this reason, the seedrng project provides a
basic script meant to be copy and pasted into projects like OpenWRT
and tweaked as needed: <https://git.zx2c4.com/seedrng/about/>.

This commit imports it into the urandom-seed package and wires up the
init scripts to call it. This also is a significant improvement over the
current init script, which does not robustly handle cleaning up of seeds
and syncing to prevent reuse. Additionally, the existing script creates
a new seed immediately after writing an old one, which means that the
amount of entropy might actually regress, due to failing to credit the
old seed.

Closes: https://github.com/openwrt/openwrt/issues/9570
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [fixed missing INSTALL_DIR]
2 years agotools/zlib: bump to latest stable release 1.2.12 (CVE-2018-25032)
Petr Štetiar [Mon, 28 Mar 2022 06:43:41 +0000 (08:43 +0200)]
tools/zlib: bump to latest stable release 1.2.12 (CVE-2018-25032)

List of changes since previous release from 2018 is quite long:

 * Fix crc32.c to compile local functions only if used.
 * Check for cc masquerading as gcc or clang in configure.
 * Remove destructive aspects of make distclean.
 * Separate out address sanitizing from warnings in configure.
 * Eliminate use of ULL constants.
 * Add fallthrough comments for gcc.
 * Clean up minizip to reduce warnings for testing.
 * Fix unztell64() in minizip to work past 4GB. (Daniël Hörchner)
 * minizip warning fix if MAXU32 already defined. (gvollant)
 * Replace black/white with allow/block. (theresa-m)
 * Fix indentation in minizip's zip.c.
 * Improve portability of contrib/minizip.
 * Correct typo in blast.c.
 * Change macro name in inflate.c to avoid collision in VxWorks.
 * Clarify gz* function interfaces, referring to parameter names.
 * Fix error in comment on the polynomial representation of a byte.
 * Fix memory leak on error in gzlog.c.
 * Avoid adding empty gzip member after gzflush with Z_FINISH.
 * Explicitly note that the 32-bit check values are 32 bits.
 * Use ARM crc32 instructions if the ARM architecture has them.
 * Add use of the ARMv8 crc32 instructions when requested.
 * Correct comment in crc32.c.
 * Don't bother computing check value after successful inflateSync().
 * Use atomic test and set, if available, for dynamic CRC tables.
 * Speed up software CRC-32 computation by a factor of 1.5 to 3.
 * Add crc32_combine_gen() and crc32_combine_op() for fast combines.
 * Add tables for crc32_combine(), to speed it up by a factor of 200.
 * Fix the zran.c example to work on a multiple-member gzip file.
 * Add gznorm.c example, which normalizes gzip files.
 * Show all the codes for the maximum tables size in enough.c.
 * Clarify that prefix codes are counted in enough.c.
 * Use inline function instead of macro for index in enough.c.
 * Clean up code style in enough.c, update version.
 * Use a macro for the printf format of big_t in enough.c.
 * Use a structure to make globals in enough.c evident.
 * Assure that the number of bits for deflatePrime() is valid.
 * Fix a bug that can crash deflate on some input when using Z_FIXED.
 * Correct the initialization requirements for deflateInit2().
 * Emphasize the need to continue decompressing gzip members.
 * Add legal disclaimer to README.
 * Fix deflateEnd() to not report an error at start of raw deflate.
 * Remove old assembler code in which bugs have manifested.
 * Make the names in functions declarations identical to definitions.
 * Avoid an undefined behavior of memcpy() in _tr_stored_block().
 * Avoid undefined behaviors of memcpy() in gz*printf().
 * Avoid an undefined behavior of memcpy() in gzappend().
 * Avoid the use of ptrdiff_t.
 * Handle case where inflateSync used when header never processed.
 * Don't compute check value for raw inflate if asked to validate.
 * Add address checking in clang to -w option of configure.
 * Return an error if the gzputs string length can't fit in an int.
 * Small speedup to inflate [psumbera].
 * Update use of errno for newer Windows CE versions.
 * Avoid some conversion warnings in gzread.c and gzwrite.c.
 * Have Makefile return non-zero error code on test failure.
 * Avoid a conversion error in gzseek when off_t type too small.
 * Fix CLEAR_HASH macro to be usable as a single statement.
 * Fix bug when window full in deflate_stored().
 * Limit hash table inserts after switch from stored deflate.
 * Permit a deflateParams() parameter change as soon as possible.
 * Cygwin does not have _wopen(), so do not create gzopen_w() there.

Removed 006-fix-compressor-crash-on-certain-inputs.patch which was
hotfix for CVE-2018-25032 and is now included in this release.

This release is not available on @SF (yet?) so the sources are now
pulled from GitHub.

Fixes: CVE-2018-25032
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agolibs/zlib: fix implicit function declaration warning
Petr Štetiar [Mon, 28 Mar 2022 06:41:54 +0000 (08:41 +0200)]
libs/zlib: fix implicit function declaration warning

Fixes following warning:

 adler32.c:141:12: warning: implicit declaration of function 'NEON_adler32' [-Wimplicit-function-declaration]
   141 |     return NEON_adler32(adler, buf, len);

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agolibs/zlib: bump to latest stable release 1.2.12 (CVE-2018-25032)
Petr Štetiar [Mon, 28 Mar 2022 06:38:26 +0000 (08:38 +0200)]
libs/zlib: bump to latest stable release 1.2.12 (CVE-2018-25032)

List of changes since previous release from 2018 is quite long:

 * Fix crc32.c to compile local functions only if used.
 * Check for cc masquerading as gcc or clang in configure.
 * Remove destructive aspects of make distclean.
 * Separate out address sanitizing from warnings in configure.
 * Eliminate use of ULL constants.
 * Add fallthrough comments for gcc.
 * Clean up minizip to reduce warnings for testing.
 * Fix unztell64() in minizip to work past 4GB. (Daniël Hörchner)
 * minizip warning fix if MAXU32 already defined. (gvollant)
 * Replace black/white with allow/block. (theresa-m)
 * Fix indentation in minizip's zip.c.
 * Improve portability of contrib/minizip.
 * Correct typo in blast.c.
 * Change macro name in inflate.c to avoid collision in VxWorks.
 * Clarify gz* function interfaces, referring to parameter names.
 * Fix error in comment on the polynomial representation of a byte.
 * Fix memory leak on error in gzlog.c.
 * Avoid adding empty gzip member after gzflush with Z_FINISH.
 * Explicitly note that the 32-bit check values are 32 bits.
 * Use ARM crc32 instructions if the ARM architecture has them.
 * Add use of the ARMv8 crc32 instructions when requested.
 * Correct comment in crc32.c.
 * Don't bother computing check value after successful inflateSync().
 * Use atomic test and set, if available, for dynamic CRC tables.
 * Speed up software CRC-32 computation by a factor of 1.5 to 3.
 * Add crc32_combine_gen() and crc32_combine_op() for fast combines.
 * Add tables for crc32_combine(), to speed it up by a factor of 200.
 * Fix the zran.c example to work on a multiple-member gzip file.
 * Add gznorm.c example, which normalizes gzip files.
 * Show all the codes for the maximum tables size in enough.c.
 * Clarify that prefix codes are counted in enough.c.
 * Use inline function instead of macro for index in enough.c.
 * Clean up code style in enough.c, update version.
 * Use a macro for the printf format of big_t in enough.c.
 * Use a structure to make globals in enough.c evident.
 * Assure that the number of bits for deflatePrime() is valid.
 * Fix a bug that can crash deflate on some input when using Z_FIXED.
 * Correct the initialization requirements for deflateInit2().
 * Emphasize the need to continue decompressing gzip members.
 * Add legal disclaimer to README.
 * Fix deflateEnd() to not report an error at start of raw deflate.
 * Remove old assembler code in which bugs have manifested.
 * Make the names in functions declarations identical to definitions.
 * Avoid an undefined behavior of memcpy() in _tr_stored_block().
 * Avoid undefined behaviors of memcpy() in gz*printf().
 * Avoid an undefined behavior of memcpy() in gzappend().
 * Avoid the use of ptrdiff_t.
 * Handle case where inflateSync used when header never processed.
 * Don't compute check value for raw inflate if asked to validate.
 * Add address checking in clang to -w option of configure.
 * Return an error if the gzputs string length can't fit in an int.
 * Small speedup to inflate [psumbera].
 * Update use of errno for newer Windows CE versions.
 * Avoid some conversion warnings in gzread.c and gzwrite.c.
 * Have Makefile return non-zero error code on test failure.
 * Avoid a conversion error in gzseek when off_t type too small.
 * Fix CLEAR_HASH macro to be usable as a single statement.
 * Fix bug when window full in deflate_stored().
 * Limit hash table inserts after switch from stored deflate.
 * Permit a deflateParams() parameter change as soon as possible.
 * Cygwin does not have _wopen(), so do not create gzopen_w() there.

Removed 006-fix-compressor-crash-on-certain-inputs.patch which was
hotfix for CVE-2018-25032 and is now included in this release.

This release is not available on @SF (yet?) so the sources are now
pulled from GitHub.

Fixes: CVE-2018-25032
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agomalta: enable testing kernel 5.15
Daniel Golle [Mon, 28 Mar 2022 00:58:16 +0000 (01:58 +0100)]
malta: enable testing kernel 5.15

Nothing special is needed here, just add KERNEL_TESTING_PATCHVER.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agobuild: autotools: fix cache path
Huangbin Zhan [Sat, 30 Oct 2021 07:28:28 +0000 (15:28 +0800)]
build: autotools: fix cache path

the cache directory should be autom4te.cache in all $(PKG_AUTOMAKE_PATHS)
rather than $(PKG_BUILD_DIR)/autom4te.cache only

Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
2 years agoramips: add linux 5.15 support for mt7621
Felix Fietkau [Sun, 27 Mar 2022 19:26:31 +0000 (21:26 +0200)]
ramips: add linux 5.15 support for mt7621

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobuild: add support for passing C preprocessor flags for DTS builds
Felix Fietkau [Sun, 27 Mar 2022 19:23:49 +0000 (21:23 +0200)]
build: add support for passing C preprocessor flags for DTS builds

Useful for adding #ifdefs based on build system provided definitions, or
for adding extra include paths

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: Backport mv88e6xxx patch to keep pvid at 0 if VLAN-unaware and remove hack
Marek Behún [Mon, 21 Mar 2022 16:53:10 +0000 (17:53 +0100)]
kernel: Backport mv88e6xxx patch to keep pvid at 0 if VLAN-unaware and remove hack

Backport patch
  8b6836d82470 ("net: dsa: mv88e6xxx: keep the pvid at 0 when VLAN-unaware")
from 5.15.

Keeping the pvid at 0 when VLAN-unaware makes it possible to drop the
hack introduced in commit 920eaab1d817 ("kernel: DSA roaming fix for
Marvell mv88e6xxx"). Dropping the hack makes it possible to use VLAN
interfaces with VID 1 on DSA ports without problems with FDB.

Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agoipq806x: 5:15: fix dedicated krait cpufreq
Ansuel Smith [Fri, 5 Nov 2021 02:32:30 +0000 (03:32 +0100)]
ipq806x: 5:15: fix dedicated krait cpufreq

Fix dedicated cpufreq for kernel 5.15 as they changed module
order and now it can happen that cpufreq probe after cache driver.
Also add lock between cache scaling in set_target as it's now required
by opp functions.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agoipq806x: backport nand raname to kernel 5.10
Ansuel Smith [Thu, 4 Nov 2021 21:37:23 +0000 (22:37 +0100)]
ipq806x: backport nand raname to kernel 5.10

Rename nand_controller to nand in kernel 5.10 to use the same dts across kernel version.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agoipq806x: rework rootfs conflicts patch for smem
Ansuel Smith [Sun, 16 Jan 2022 02:54:58 +0000 (03:54 +0100)]
ipq806x: rework rootfs conflicts patch for smem

Now that smem actually free the leaked parts, when
a rootfs partition is detected, the kernel panics as
it try to free the static space allocated for the "ubi"
name. Change the logic and fix the name at the allocate_partition
function to correctly free the space allocated by smem.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agoipq806x: 5:15: add testing kernel version
Ansuel Smith [Fri, 5 Nov 2021 00:14:57 +0000 (01:14 +0100)]
ipq806x: 5:15: add testing kernel version

Refresh patch for 5.15
Rework tweak patch to sync with upstream ipq8064 dtsi and fix
regression introduced.
Rename nand_controller to nand in every dts.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agoipq806x: 5:15: drop upstream patch
Ansuel Smith [Tue, 11 Jan 2022 11:41:35 +0000 (12:41 +0100)]
ipq806x: 5:15: drop upstream patch

- Drop stmmac upstream patches
- Drop tsens patches
- Drop ADM driver
- Drop SMEM parser

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agoipq806x: 5:15: refresh config
Ansuel Smith [Sat, 6 Nov 2021 13:58:30 +0000 (14:58 +0100)]
ipq806x: 5:15: refresh config

Refreshed using make kernel_menuconfig CONFIG_TARGET=generic

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agoipq806x: 5:15: copy config and patch from 5.10
Ansuel Smith [Thu, 4 Nov 2021 20:56:41 +0000 (21:56 +0100)]
ipq806x: 5:15: copy config and patch from 5.10

Copy config and patch from kernel 5.10 to kernel 5.15

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agokernel: sort generic configuration
Aleksander Jan Bajkowski [Sun, 27 Mar 2022 09:53:09 +0000 (11:53 +0200)]
kernel: sort generic configuration

This was done by executing these commands:

$ ./scripts/kconfig.pl '+' target/linux/generic/config-5.10 /dev/null > target/linux/generic/config-5.10-new
$ mv target/linux/generic/config-5.10-new target/linux/generic/config-5.10

$ ./scripts/kconfig.pl '+' target/linux/generic/config-5.15 /dev/null > target/linux/generic/config-5.15-new
$ mv target/linux/generic/config-5.15-new target/linux/generic/config-5.15

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: add more missing config symbols for 5.15
Aleksander Jan Bajkowski [Sun, 27 Mar 2022 13:04:37 +0000 (15:04 +0200)]
kernel: add more missing config symbols for 5.15

Add more disabled config options found in malta
target to generic.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agomediatek: add 5.15 config for mt7623 and mt7629
Daniel Golle [Sun, 27 Mar 2022 13:47:15 +0000 (14:47 +0100)]
mediatek: add 5.15 config for mt7623 and mt7629

Compile tested both with all kernel modules.
Run-time tested mt7623 on BananaPi-R2.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: 5.15: add missing Kconfig symbols for NFS
Daniel Golle [Sun, 27 Mar 2022 13:48:15 +0000 (14:48 +0100)]
kernel: 5.15: add missing Kconfig symbols for NFS

Add new Kconfig symbols for NFSv4.1 and NFSv4.2 to kmod-nfs-common and
kmod-nfsd.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: 5.15: add more missing symbols
Daniel Golle [Sun, 27 Mar 2022 13:49:09 +0000 (14:49 +0100)]
kernel: 5.15: add more missing symbols

Add various Kconfig symbols which surfaced when building with all
kernel modules enabled.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoipq40xx: stop chromium sub-target builds on the buildbots
Christian Lamparter [Sun, 27 Mar 2022 13:12:40 +0000 (15:12 +0200)]
ipq40xx: stop chromium sub-target builds on the buildbots

the buildbots are having troubles with the image.
They seem to get "Killed" at the last step of the KERNEL rule:

|/cros-vbutil -k zImage.itb.vboot -c "root=PARTUUID=%U/PARTNROFF=1" -o zImage.itb.vboot.new
|make[4]: *** [Makefile:18: zImage.itb.vboot] Killed

Since the Google Wifi (Gale) is currently the only target in
this sub-target. So this means that subtarget has to be disabled
from the time being to not be picked up by the builders.

For people wanting to checkout out OpenWrt on the Google Wifi:
please compile it locally.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agogpio-cdev: move kmod-leds-uleds dependency to MX100
Christian Lamparter [Sun, 27 Mar 2022 13:04:29 +0000 (15:04 +0200)]
gpio-cdev: move kmod-leds-uleds dependency to MX100

The inclusion of the kmod-leds-uleds into the userspace
nu801 package causes a circular dependency inside the
buildsystem... which causes it to be picked regardless
of other DEPENDS values.

In case of the mx100, this could be solved by moving the
kmod-leds-uled dependency to the kmod-meraki-mx100.

Bonus: drop @!LINUX_5_4 from kmod-meraki-mx100
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agogpio-cdev: provide HASH values for nu801
Christian Lamparter [Sat, 26 Mar 2022 16:34:33 +0000 (17:34 +0100)]
gpio-cdev: provide HASH values for nu801

Chen Minqiang reported that he has troubles downloading nu801.
His logs showed the followin TLS Handshake failure.

|Checking out files from the git repository...
|Cloning into 'nu801-d9942c0c'...
|fatal: unable to access 'https://github.com/chunkeey/nu801.git/':
|  gnutls_handshake() failed: The TLS connection was non-properly terminated.
|Makefile:39: recipe for target '[...]/dl/nu801-d9942c0c.tar.xz' failed

This can be fixed by providing a PKG_MIRROR_HASH. The download
scripts will now be able to pull the source from OpenWrt's source
archive, which should be available through HTTP.

Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoelfutils: fix host compilation with Alpine Linux
Rosen Penev [Sat, 19 Mar 2022 23:51:43 +0000 (16:51 -0700)]
elfutils: fix host compilation with Alpine Linux

intl is not included in libc, disable it as is done with the target
package.

argp is also not included. Add build depends for argp-standalone.

fts is also not included. Add build depends for musl-fts.

Disable shared libraries to avoid having to manually add rpath.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agopcre: disable shared libraries for host builds
Rosen Penev [Sat, 19 Mar 2022 23:18:49 +0000 (16:18 -0700)]
pcre: disable shared libraries for host builds

Getting rid of shared libraries for hostpkg avoids having to use rpath
hacks to find the library. It also fixes compilation with host glib2
binaries.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agomusl-fts: remove shared libraries from host
Rosen Penev [Fri, 24 Sep 2021 06:44:57 +0000 (23:44 -0700)]
musl-fts: remove shared libraries from host

Avoids having to add rpath to the various packages using it. Also add
PIC to fix compilation as static libraries do not use PIC by default.

Fixes: 1fb099341e58 ("musl-fts: add host build")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agogeneric: 5.15: add more missing Kconfig symbols
Daniel Golle [Sun, 27 Mar 2022 04:41:54 +0000 (05:41 +0100)]
generic: 5.15: add more missing Kconfig symbols

Add a bunch of missing new Kconfig symbols to generic/config-5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: add patches for 5.15 and kernel config for mt7622
Felix Fietkau [Sun, 27 Mar 2022 10:54:03 +0000 (12:54 +0200)]
mediatek: add patches for 5.15 and kernel config for mt7622

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: add missing config symbols for 5.15
Felix Fietkau [Sun, 27 Mar 2022 09:31:27 +0000 (11:31 +0200)]
kernel: add missing config symbols for 5.15

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomediatek: add patches for MT7622 WED (wireless ethernet dispatch)
Felix Fietkau [Tue, 30 Nov 2021 10:55:24 +0000 (11:55 +0100)]
mediatek: add patches for MT7622 WED (wireless ethernet dispatch)

This series also contains other improvement for hardware flow offload support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agogeneric: 5.15: refresh pending patch
Ansuel Smith [Mon, 21 Mar 2022 14:22:20 +0000 (15:22 +0100)]
generic: 5.15: refresh pending patch

Use 'make target/linux/refresh' to refresh pending patches.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: refresh hack patch
Ansuel Smith [Mon, 21 Mar 2022 14:21:45 +0000 (15:21 +0100)]
generic: 5.15: refresh hack patch

Use 'make target/linux/refresh' to refresh hack patches.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: refresh backport patch
Ansuel Smith [Mon, 21 Mar 2022 14:21:24 +0000 (15:21 +0100)]
generic: 5.15: refresh backport patch

Use 'make target/linux/refresh' to refresh backport patches.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: fix compilation warning for ar8xxx swconfig
Ansuel Smith [Tue, 1 Mar 2022 15:47:11 +0000 (16:47 +0100)]
generic: fix compilation warning for ar8xxx swconfig

There are 2 warning for ar8xxx swconfig.
- Fix not used dev variable when ETHERNET_PACKET_MANGLE
  is not selected
- Convert fallthrough comment to compilation macro

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: backport mdio improvement patch for qca8k
Ansuel Smith [Wed, 2 Feb 2022 21:32:57 +0000 (22:32 +0100)]
generic: 5.15: backport mdio improvement patch for qca8k

Backport qca8k mdio improvement patch merged upstream,
where we use eth packet when available to send mdio commands.

This should improve speed and cause less load on the CPU.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: get uImage.FIT partition parser ready
Daniel Golle [Fri, 7 Jan 2022 17:39:42 +0000 (17:39 +0000)]
generic: 5.15: get uImage.FIT partition parser ready

Prepare uImage.FIT partition parser for Linux 5.15

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: fix AQR 113C and 813
Robert Marko [Sun, 6 Mar 2022 11:33:35 +0000 (12:33 +0100)]
generic: 5.15: fix AQR 113C and 813

Patches that add the additional AQR PHY ID-s is just copy/paste from 5.10
and kernel 5.11 dropped the ack_interrupt method for PHY IRQ handling,
instead handle_interrupt is used.

So, simply switch to using handle_interrupt like other upstream AQR PHY-s.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: fix new AQR PHY patches
Robert Marko [Sat, 8 Jan 2022 13:39:54 +0000 (14:39 +0100)]
generic: 5.15: fix new AQR PHY patches

After fixing the original 720 patch, it looks like more were added for
additional AQR ID-s.

Patches that add the additional AQR PHY ID-s is just copy/paste from 5.10
and kernel 5.11 dropped the ack_interrupt method for PHY IRQ handling,
instead handle_interrupt is used.

So, simply switch to using handle_interrupt like other upstream AQR PHY-s.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 years agogeneric: 5.15: backport mirror mode and LAG feature for qca8k
Ansuel Smith [Sun, 19 Dec 2021 02:37:53 +0000 (03:37 +0100)]
generic: 5.15: backport mirror mode and LAG feature for qca8k

Backport LAG and mirror mode feature for qca8k.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agokernel: 5.15: add new module
Ansuel Smith [Thu, 4 Nov 2021 20:59:09 +0000 (21:59 +0100)]
kernel: 5.15: add new module

Add new module require in 5.15
- Changes in block module
- Changes in netfilter module (log module unified)
- Changes in fs module (mainly new depends for cifs and new ntfs3 module)
- Changes in lib add shared lib now used by more than 1 kmod
- Changes in crypto, dropped one crypto algo added arm crypto accellerator
- Changes in other, add zram default compressor choice and missing lib
  by tpm module

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: add support for new kernel version
Ansuel Smith [Sun, 16 Jan 2022 02:51:05 +0000 (03:51 +0100)]
generic: 5.15: add support for new kernel version

Add hash/version file and enable kernel 5.15 for openwrt.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: refresh config
Ansuel Smith [Thu, 4 Nov 2021 22:22:29 +0000 (23:22 +0100)]
generic: 5.15: refresh config

Refresh kernel 5.15 generic config file

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[added some missing Kconfig symbols]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agogeneric: 5.15: fix affinity warning for qcom target
Ansuel Smith [Sun, 16 Jan 2022 18:38:18 +0000 (19:38 +0100)]
generic: 5.15: fix affinity warning for qcom target

Backport a patch from 5.18 that fix affinity warning from qcom pinctrl driver.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: standardize tcp_no_window_check pending patch
Ansuel Smith [Sun, 7 Nov 2021 21:33:21 +0000 (22:33 +0100)]
generic: 5.15: standardize tcp_no_window_check pending patch

Standardize pending patch tcp_no_window_check patch as with
new kernel they added a check for global variables.
The 2 new condition are that they must be read-only or
the data pointer should not point to kernel/module global
data.
Remove the global variable and move it to a standard place
following other variables logic.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: rework pending patch
Ansuel Smith [Thu, 4 Nov 2021 23:48:27 +0000 (00:48 +0100)]
generic: 5.15: rework pending patch

Rework pending patch for kernel 5.15

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: rework hack patch
Ansuel Smith [Thu, 4 Nov 2021 22:25:50 +0000 (23:25 +0100)]
generic: 5.15: rework hack patch

Rework hack patch in dir for kernel 5.15.
For the specific patch of packet mangeling introduce a new extra_priv_flags
as we don't have enough space to add additional flags in priv_flags.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: qca8k: refresh backport patches
Ansuel Smith [Fri, 7 Jan 2022 22:32:59 +0000 (23:32 +0100)]
generic: 5.15: qca8k: refresh backport patches

Refresh qca8k backport patches for 5.15 kernel.
Vlan_prepare is now dropped and there were some changes
to vlan add/remove functions.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: rework backport patch
Ansuel Smith [Mon, 21 Mar 2022 14:13:01 +0000 (15:13 +0100)]
generic: 5.15: rework backport patch

Rework backport patch for kernel 5.15.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: drop upstream patch
Ansuel Smith [Thu, 4 Nov 2021 22:21:11 +0000 (23:21 +0100)]
generic: 5.15: drop upstream patch

Drop upstream patch from backport dir for kernel 5.15

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: copy config and patch from 5.10
Ansuel Smith [Thu, 4 Nov 2021 20:52:43 +0000 (21:52 +0100)]
generic: 5.15: copy config and patch from 5.10

Copy config and patches from kernel 5.10 to kernel 5.15

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agogeneric: sync mtd rootfs hack with part_bits
Daniel Golle [Sat, 26 Mar 2022 22:51:21 +0000 (22:51 +0000)]
generic: sync mtd rootfs hack with part_bits

In commit ab143647ef ("kernel: generic: improve FIT partition parser")
part_bits was bumped to 2 in order to allow up to 3 additional FIT
sub-images mapped into sub-partitions.
This change has to be reflected also in our local patch
420-mtd-set-rootfs-to-be-root-dev.patch
which still assumed part_bits==1 for mtdblock devices in case of
CONFIG_FIT_PARTITION=y.

Fixes: #9557
Fixes: ab143647ef ("kernel: generic: improve FIT partition parser")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: bump 5.10 to 5.10.108
Rui Salvaterra [Wed, 23 Mar 2022 09:47:19 +0000 (09:47 +0000)]
kernel: bump 5.10 to 5.10.108

Patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Tested-by: John Audia <graysky@archlinux.us>
Build-tested: ath79/generic, ramips/mt76{20,21,x8}, ipq40xx, mvebu, realtek/rtl{838,930}x, x86/64
Run-tested: ramips/mt7621, mvebu
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agox86: Add support for Sophos XG 85 and XG 86 devices
Raylynn Knight [Mon, 21 Mar 2022 03:53:38 +0000 (23:53 -0400)]
x86: Add support for Sophos XG 85 and XG 86 devices

This commit builds on previous efforts to add support
for Sophos devices.

* Add support for Sophos XG 85 with/without wireless
* Add support for Sophos XG 86 with/without wireless

Tested on Sophos XG 85w rev1 and XG 86 rev 1

Signed-off-by: Raylynn Knight <rayknight@me.com>
2 years agokernel: mark CONFIG_PSTORE_COMPRESS_DEFAULT as "is not set"
Christian Lamparter [Fri, 25 Mar 2022 22:57:29 +0000 (23:57 +0100)]
kernel: mark CONFIG_PSTORE_COMPRESS_DEFAULT as "is not set"

 # CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
this can lead to confusion. Thankfully, in the KConfig
world this setting is still interpreted as disabled.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: fix wifi mac address of HiWiFi series devices
Shiji Yang [Mon, 14 Mar 2022 16:16:15 +0000 (00:16 +0800)]
ramips: fix wifi mac address of HiWiFi series devices

For HiWiFi series devices, label_mac can be read from bdinfo partition,
and lan_mac, wlan2g_mac are same as the label_mac. Converting label_mac
to wlan5g_mac only needs to unset 6th bit. (It seems that all HiWiFi's
label_mac start with D4:EE)

For example:
label D4:EE:07:32:84:88
lan D4:EE:07:32:84:88
wan D4:EE:07:32:84:89
wlan2g D4:EE:07:32:84:88
wlan5g D0:EE:07:32:84:88

Tested on HiWiFi HC5661.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2 years agokernel: add (disabled) ASYMMETRIC_TPM_KEY_SUBTYPE symbol
Christian Lamparter [Fri, 25 Mar 2022 20:28:56 +0000 (21:28 +0100)]
kernel: add (disabled) ASYMMETRIC_TPM_KEY_SUBTYPE symbol

at91/sama7 fails to build due to:

| Asymmetric (public-key cryptographic) key type (ASYMMETRIC_KEY_TYPE) [Y/?] y
|  Asymmetric public-key crypto algorithm subtype (ASYMMETRIC_PUBLIC_KEY_SUBTYPE) [Y/?] y
|  Asymmetric TPM backed private key subtype (ASYMMETRIC_TPM_KEY_SUBTYPE) [N/m/?] (NEW)
|Error in reading or end of file.

please note that asym_tpm (module) has been removed in 5.17:
<https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d3cff4a9>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: WAC510: device-tree overhauling
Christian Lamparter [Mon, 21 Feb 2022 19:13:53 +0000 (20:13 +0100)]
ipq40xx: WAC510: device-tree overhauling

removes usb-port remains as neither the WAC510 nor the WAC505
come with a USB port. Update the LED properties to phase out
labels and introduce generic node-names as well as adding
the color, function and function-enumerator properties.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: add missing (disabled) GOOGLE_* symbols
Christian Lamparter [Fri, 25 Mar 2022 20:19:46 +0000 (21:19 +0100)]
kernel: add missing (disabled) GOOGLE_* symbols

ARM Builds like sunxi/cortexa53 or the rpi family failed
to build due to a new symbols showing up:

|Google Firmware Drivers (GOOGLE_FIRMWARE) [Y/n/?] y
|  Coreboot Table Access (GOOGLE_COREBOOT_TABLE) [M/n/y/?] m
|  Coreboot Framebuffer (GOOGLE_FRAMEBUFFER_COREBOOT) [N/m/?] (NEW)
|Error in reading or end of file.

Fixes: e5b009e53281 ("kernel: Package GOOGLE_FIRMWARE drivers")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoath79: fix link for long cables with OCEDO Raccoon
David Bauer [Fri, 25 Mar 2022 21:58:34 +0000 (22:58 +0100)]
ath79: fix link for long cables with OCEDO Raccoon

The OCEDO Raccoon had significant packet-loss with cables longer than 50
meter. Disabling EEE restores normal operation.

Also change the ethernet config to reduce loss on sub-1G links.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agokernel: mtdsplit: support UBI after FIT images
Felix Fietkau [Thu, 10 Mar 2022 16:32:20 +0000 (17:32 +0100)]
kernel: mtdsplit: support UBI after FIT images

Change the partition name accordingly. Same behavior as mtdsplit_uimage

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add debugfs file to attempt repair of remapped sectors
Felix Fietkau [Thu, 10 Mar 2022 15:23:25 +0000 (16:23 +0100)]
kernel: mtk_bmt: add debugfs file to attempt repair of remapped sectors

This can be used for sectors that are not physically damaged

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: add support for mediatek NMBM flash mapping support
Felix Fietkau [Thu, 10 Mar 2022 14:31:25 +0000 (15:31 +0100)]
kernel: add support for mediatek NMBM flash mapping support

This NAND flash remapping method is used on newer MediaTek devices with NAND
flash.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: skip bbt scan on mt7621
Felix Fietkau [Thu, 10 Mar 2022 14:20:29 +0000 (15:20 +0100)]
ramips: skip bbt scan on mt7621

reduces unnecessary flash reads and speeds up boot time

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: enable support for mtk_bmt in the nand flash driver
Felix Fietkau [Thu, 10 Mar 2022 10:45:00 +0000 (11:45 +0100)]
ramips: enable support for mtk_bmt in the nand flash driver

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: mt7621_nand: initialize ECC_FDMADDR
Felix Fietkau [Wed, 9 Mar 2022 19:46:21 +0000 (20:46 +0100)]
ramips: mt7621_nand: initialize ECC_FDMADDR

This is needed for the ECC controller to access FDM data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: mt7621_nand: reduce log verbosity
Stijn Tintel [Wed, 19 Jan 2022 15:59:51 +0000 (17:59 +0200)]
ramips: mt7621_nand: reduce log verbosity

Avoid flooding the log with the message below by increasing the log
level to debug:

  mt7621-nand 1e003000.nand: Using programmed access timing: 31c07388

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoramips: move mt7621_nand driver to files
Stijn Tintel [Wed, 19 Jan 2022 13:44:58 +0000 (15:44 +0200)]
ramips: move mt7621_nand driver to files

The patch was rejected by upstream. The mtk_nand driver should be
modified to support the mt7621 flash controller instead. As there is no
newer version to backport, or no upstream version to fix bugs, let's
move the driver to the files dir under the ramips target. This makes it
easier to make changes to the driver while waiting for mt7621 support to
land in mtk_nand.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agokernel: mtk_bmt: on error, do not attempt to remap out-of-range blocks
Felix Fietkau [Wed, 9 Mar 2022 15:14:12 +0000 (16:14 +0100)]
kernel: mtk_bmt: on error, do not attempt to remap out-of-range blocks

Pass errors to caller instead

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: fix block copying on remap with bmt v2
Felix Fietkau [Wed, 9 Mar 2022 15:04:39 +0000 (16:04 +0100)]
kernel: mtk_bmt: fix block copying on remap with bmt v2

Copy from the previously mapped block (in case it was remapped already)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: allow get_mapping_block to return an error
Felix Fietkau [Wed, 9 Mar 2022 14:54:52 +0000 (15:54 +0100)]
kernel: mtk_bmt: allow get_mapping_block to return an error

Used by the mapping implementation to indicate that no backing block is
available

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: split up mtk_bmt driver code
Felix Fietkau [Wed, 9 Mar 2022 10:30:58 +0000 (11:30 +0100)]
kernel: split up mtk_bmt driver code

Keep a separate source file per variant

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: backport patch that allows receiving packets with non-standard VHT MCS10...
Felix Fietkau [Fri, 25 Mar 2022 20:09:14 +0000 (21:09 +0100)]
mac80211: backport patch that allows receiving packets with non-standard VHT MCS10-11 rates

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoipq40xx: update E2600AC c1/c2 board
张 鹏 [Fri, 25 Mar 2022 09:39:07 +0000 (17:39 +0800)]
ipq40xx: update E2600AC c1/c2 board

Modified the radio frequency hardware part of e2600ac c1/c2,
need to cooperate with the modified board.bin file, the device
can work normally.

Signed-off-by: 张 鹏 <sd20@qxwlan.com>
2 years agocypress-firmware: drop several packages
Josef Schlehofer [Sun, 20 Mar 2022 22:28:41 +0000 (23:28 +0100)]
cypress-firmware: drop several packages

1. Drop package: cypress-firmware-4359-pcie
This binary is no longer provided and there are not many details what
happened.

2. Drop package: cypress-firmware-4359-sdio
This binary is no longer provided, but in this case, to compare it with
PCIe package mention as first, there was added
support in Linux-firmware [1], but no sign of firmware file.

4. Drop package: cypress-firmware-89459-pcie [2]
According to Infineon: "CYW89459 is an automotive Wi-Fi chip which is not
supported in the broad market community."

[1] https://patchwork.kernel.org/project/linux-wireless/patch/20191211235253.2539-6-smoch@web.de/

[2] https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/the-wifi-driver-for-CYW89459-in-linux4-14-98-2-3-00/m-p/138971

Fixes: 7ca7e0b22de6 ("cypress-firmware: update it to version 5.4.18-2021_0812")
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agolantiq: xrx200: replace patch with upstream version
Aleksander Jan Bajkowski [Tue, 8 Mar 2022 20:20:37 +0000 (21:20 +0100)]
lantiq: xrx200: replace patch with upstream version

This commit replaces patch number 0703 with the upstream accepted
version. This patch requires backporting an additional patch to
avoid conflicts.

The only significant change is the lower maximum MTU. Packets with
lengths over 2400 may be dropped.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agokernel: move rtl8152 patches to generic
Aleksander Jan Bajkowski [Wed, 9 Mar 2022 19:52:50 +0000 (20:52 +0100)]
kernel: move rtl8152 patches to generic

This commit moves the patches for the r8152.c driver to the generic
directory. Previously they were only available on the bcm27xx target.
With these patches the Realtek RTL8153C, RTL8153D, RTL8156A and RTL8156B
chips are supported on all targets by the kmod-usb-net-rtl8152 module.
The RTL8156A and RTL8156B are the 2.5Gb/s Ethernet adapters.

The patches have been tested on TP-Link UE300 (RTL8153A) and UNITEK
1313B (RTL8156B).

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agokernel: backport two intel igc patches from 5.15
Pascal Coudurier [Sat, 19 Mar 2022 17:39:04 +0000 (18:39 +0100)]
kernel: backport two intel igc patches from 5.15

to allow proper initialization of device

- igc: Remove _I_PHY_ID checking
- igc: Remove phy->type checking

Signed-off-by: Pascal Coudurier <coudu@wanadoo.fr>
(refreshed)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agogpio-cdev: re-add nu801 userspace driver
Chris Blake [Sat, 19 Mar 2022 22:13:42 +0000 (17:13 -0500)]
gpio-cdev: re-add nu801 userspace driver

This reverts commit 80b7a8a7f5a0a88fde6dd19f097df4d7cac9ff04.

Now that 5.10 is the default kernel for all platforms, we can
bring back the NU801 userspace driver for platforms that rely
on it. Currently it's used on the MX100 x86_64 target, but
other Meraki platforms use this controller.

Note that we also now change how we load nu801. The way we did
this previously with procd worked, but it meant it didn't load
until everything was up and working.

To fix this, let's call nu801 from boot and re-trigger the
preinit blink sequence. Since nu801 runs as a daemon this is
now something we can do.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
(removed empty line, currently only MX100 uses it so: @TARGET_x86)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: add support for FRITZ!Box 7520
Andre Heider [Sun, 5 Dec 2021 11:14:45 +0000 (12:14 +0100)]
ipq40xx: add support for FRITZ!Box 7520

This model, also know as "1&1 HomeServer", shares the same features as 7530.

The vendor firmware has artificial software limitations: only 2 of the 4
LAN-Ports are GBit, and the USB-Host is only v2.0.

With OpenWrt, USB is already working at v3.0.

Signed-off-by: Andre Heider <a.heider@gmail.com>
(updated commit message to reflect current state)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: Add subtarget for Google WiFi (Gale)
Brian Norris [Mon, 25 May 2020 21:50:20 +0000 (14:50 -0700)]
ipq40xx: Add subtarget for Google WiFi (Gale)

Google WiFi (codename: Gale) is an IPQ4019-based AP, with 2 Ethernet
ports, 2x2 2.4+5GHz WiFi, 512 MB RAM, 4 GB eMMC, and a USB type C port.
In its stock configuration, it runs a Chromium OS-based system, but you
wouldn't know it, since you can only manage it via a "cloud" +
mobile-app system.

The "v2" label is coded into the bootloader, which prefers the
"google,gale-v2" compatible string. I believe "v1" must have been
pre-release hardware.

Note: this is *not* the Google Nest WiFi, released in 2019.

I include "factory.bin" support, where we generate a GPT-based disk
image with 2 partitions -- a kernel partition (using the custom "Chrome
OS kernel" GUID type) and a root filesystem partition. See below for
flashing instructions.

Sysupgrade is supported via recent emmc_do_upgrade() helper.

This is a subtarget because it enables different features
(FEATURES=boot-part rootfs-part) whose configurations don't make sense
in the "generic" target, and because it builds in a few USB drivers,
which are necessary for installation (installation is performed by
booting from USB storage, and so these drivers cannot be built as
modules, since we need to load modules from USB storage).

Flashing instructions
=====================

Documented here:
https://openwrt.org/inbox/toh/google/google_wifi

Note this requires booting from USB storage.

Features
========

I've tested:

 * Ethernet, both WAN and LAN ports
 * eMMC
 * USB-C (hub, power-delivery, peripherals)
 * LED0 (R/G/B)
 * WiFi (limited testing)
 * SPI flash
 * Serial console: once in developer mode, console can be accessed via
   the USB-C port with SuzyQable, or other similar "Closed Case
   Debugging" tools:
     https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/docs/ccd.md#suzyq-suzyqable
 * Sysupgrade

Not tested:

 * TPM

Known not working:

 * Reboot: this requires some additional TrustZone / SCM
   configuration to disable Qualcomm's SDI. I have a proposal upstream,
   and based on IRC chats, this might be acceptable with additional DT
   logic:
     [RFC PATCH] firmware: qcom_scm: disable SDI at boot
     https://lore.kernel.org/linux-arm-msm/20200721080054.2803881-1-computersforpeace@gmail.com/
 * SMP: enabling secondary CPUs doesn't currently work using the stock
   bootloader, as the qcom_scm driver assumes newer features than this
   TrustZone firmware has. I posted notes here:
     [RFC] qcom_scm: IPQ4019 firmware does not support atomic API?
     https://lore.kernel.org/linux-arm-msm/20200913201608.GA3162100@bDebian/
 * There's a single external button, and a few useful internal GPIO
   switches. I haven't hooked them up.

The first two are fixed with subsequent commits.

Additional notes
================

Much of the DTS is pulled from the Chrome OS kernel 3.18 branch, which
the manufacturer image uses.

Note: the manufacturer bootloader knows how to patch in calibration data
via the wifi{0,1} aliases in the DTB, so while these properties aren't
present in the DTS, they are available at runtime:

  # ls -l
/sys/firmware/devicetree/base/soc/wifi@a*/qcom,ath10k-pre-calibration-data
  -r--r--r--    1 root     root         12064 Jul 15 19:11 /sys/firmware/devicetree/base/soc/wifi@a000000/qcom,ath10k-pre-calibration-data
  -r--r--r--    1 root     root         12064 Jul 15 19:11 /sys/firmware/devicetree/base/soc/wifi@a800000/qcom,ath10k-pre-calibration-data

Ethernet MAC addresses are similarly patched in via the ethernet{0,1} aliases.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
(updated 901 - x1pro moved in the process)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: qcom_scm: Fix cold boot address command
Brian Norris [Sat, 12 Sep 2020 22:41:23 +0000 (15:41 -0700)]
ipq40xx: qcom_scm: Fix cold boot address command

See my upstream questions:
https://lore.kernel.org/linux-arm-msm/20200913201608.GA3162100@bDebian/

This effectively reverts upstream Linux commit 13e77747800e ("firmware:
qcom: scm: Use atomic SCM for cold boot"), because Google WiFi boot
firmwares don't support the atomic variant.

This fixes SMP support for Google WiFi.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2 years agoipq40xx: qcom_scm: Disable SDI at boot
Brian Norris [Tue, 21 Jul 2020 07:23:07 +0000 (00:23 -0700)]
ipq40xx: qcom_scm: Disable SDI at boot

See my upstream RFC of this:
https://lore.kernel.org/linux-arm-msm/20200721080054.2803881-1-computersforpeace@gmail.com/

This fixes warm boot (reboot) for Google WiFi devices using their
factory bootloader/firmware.

I may resend this upstream eventually.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2 years agoipq40xx: Support Chromium OS image-type creation
Brian Norris [Sun, 14 Jun 2020 03:12:18 +0000 (20:12 -0700)]
ipq40xx: Support Chromium OS image-type creation

See firmware-utils.git commits [1], which implemented the cros-vbutil
verified-boot payload-packing tool, and extended ptgen for the CrOS
kernel partition type. With these, it's now possible to package kernel +
rootfs to make disk images that can boot a Chrome OS-based system (e.g.,
Chromebooks, or even a few AP models).

Regarding PARTUUID= changes: Chromium bootloaders work well with a
partition number offset (i.e., relative to the kernel partition), so
we'll be using a slightly different root UUID line.

NB: I've made this support specific to ip40xx for now, because I only
plan to support an IPQ4019-based AP that uses a Chromium-based
bootloader, but this image format can be used for essentially any
Chromebook, as well as the Google OnHub, a prior Chromium-based AP using
an IPQ8064 chipset.

[1]
ptgen: add Chromium OS kernel partition support
https://git.openwrt.org/?p=project/firmware-utils.git;a=commit;h=6c95945b5de973026dc6f52eb088d0943efa96bb

cros-vbutil: add Chrome OS vboot kernel-signing utility
https://git.openwrt.org/?p=project/firmware-utils.git;a=commit;h=8e7274e02fdc6f2cb61b415d6e5b2e1c7e977aa1

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2 years agofirmware/ipq-wifi: Add Google Wifi board-2.bin
Brian Norris [Tue, 22 Feb 2022 08:00:29 +0000 (00:00 -0800)]
firmware/ipq-wifi: Add Google Wifi board-2.bin

From a manufacturer's image (version R89-13729.57.27), with appopriate
',variant=' appended to the board names:

  $ .../qca-swiss-army-knife/tools/scripts/ath10k/ath10k-bdencoder \
        -i ./board-google_wifi.qca4019
  FileSize: 48596
  FileCRC32: 3966df5d
  FileMD5: d54161b0fb9e93691c4272649c37535a
  BoardNames[0]: 'bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=GO_GALE'
  BoardLength[0]: 12064
  BoardCRC32[0]: e117f336
  BoardMD5[0]: ea35e78c88a8571201da8b75edc9b881
  BoardNames[1]: 'bus=ahb,bmi-chip-id=0,bmi-board-id=21,variant=GO_GALE'
  BoardLength[1]: 12064
  BoardCRC32[1]: 6c751ec9
  BoardMD5[1]: 44cbc4ca6cb7141ba4249615f7065582
  BoardNames[2]: 'bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=GO_BREEZE'
  BoardLength[2]: 12064
  BoardCRC32[2]: 24fba117
  BoardMD5[2]: b4ac055b3ab67d5a6f5607a96af39a1f
  BoardNames[3]: 'bus=ahb,bmi-chip-id=0,bmi-board-id=21,variant=GO_BREEZE'
  BoardLength[3]: 12064
  BoardCRC32[3]: a3e16b2a
  BoardMD5[3]: 8b26cb285032314247304114b8ac50e7

Naming follows existing Google projects included in upstream board-2.bin
-- GO(ogle) prefix, an underscore (_), and the project code name, all in
caps.

Note that I only tested the "gale" model; the "breeze" model is a later
revision (same marketing name) with very small hardware changes but
otherwise using the same firmware image.

Submitted upstream here:

  ath10k-firmware: QCA4019: hw1.0: Add Google Wifi BDFs
  http://lists.infradead.org/pipermail/ath10k/2022-March/013465.html
  https://lore.kernel.org/ath10k/YjaNGW252Ls%2FyDw8@localhost/

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2 years agokernel: Package GOOGLE_FIRMWARE drivers
Brian Norris [Sun, 20 Feb 2022 01:26:24 +0000 (17:26 -0800)]
kernel: Package GOOGLE_FIRMWARE drivers

Useful for some Chromium OS based systems, like Google WiFi.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2 years agoapm821xx: fix crash/panic related to SATA/SSD choice
Christian Lamparter [Thu, 24 Mar 2022 20:05:11 +0000 (21:05 +0100)]
apm821xx: fix crash/panic related to SATA/SSD choice

Ticerex on the OpenWrt Forum reported a gnarly crash when
he was using Samsung 840 and 850 EVOs with his MyBook Live:

| BUG: Kernel NULL pointer dereference at 0x00000000
| Faulting instruction address: 0xc03ed4b8
| Oops: Kernel access of bad area, sig: 11 [#1]
| BE PAGE_SIZE=4K PowerPC 44x Platform
| CPU: 0 PID: 362 Comm: scsi_eh_1 Not tainted 5.4.163 #0
| NIP:  c03ed4b8 LR: c03d27e8 CTR: c03ed36c
| REGS: cfa59950 TRAP: 0300   Not tainted  (5.4.163)
| MSR:  00021000 <CE,ME>  CR: 42000222  XER: 00000000
| DEAR: 00000000 ESR: 00000000
| GPR00: c03d27e8 cfa59a08 cfa55fe0 00000000 0fa46bc0 [...]
| [..]
| NIP [c03ed4b8] sata_dwc_qc_issue+0x14c/0x254
| LR [c03d27e8] ata_qc_issue+0x1c8/0x2dc
| Call Trace:
| [cfa59a08] [c003f4e0] __cancel_work_timer+0x124/0x194 (unreliable)
| [cfa59a78] [c03d27e8] ata_qc_issue+0x1c8/0x2dc
| [cfa59a98] [c03d2b3c] ata_exec_internal_sg+0x240/0x524
| [cfa59b08] [c03d2e98] ata_exec_internal+0x78/0xe0
| [cfa59b58] [c03d30fc] ata_read_log_page.part.38+0x1dc/0x204
| [cfa59bc8] [c03d324c] ata_identify_page_supported+0x68/0x130
| [...]

This turned out this is an issue with upstream changing
ATA_TAG_INTERNAL's value from 31 to 32 during 4.18 release.
Update "SATA_DWC_QCMD_MAX" to account for that.

Link: https://forum.openwrt.org/t/my-book-live-duo-reboot-loop/122464
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: disable non-building tel(co Electronics) x1pro
Christian Lamparter [Thu, 24 Mar 2022 19:34:16 +0000 (20:34 +0100)]
ipq40xx: disable non-building tel(co Electronics) x1pro

Tel(co Electronics) X1 Pro is preventing ipq40xx generic
from building due to the KERNEL_SIZE.

Whenever bigger kernels are possible, if lzma is supported
is unknown.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agolibselinux: use musl-fts for host builds
Rosen Penev [Fri, 24 Sep 2021 06:47:31 +0000 (23:47 -0700)]
libselinux: use musl-fts for host builds

Fixes compilation under musl based distros like Alpine Linux.

Also add pcre/host as a build dependency as it's needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agomusl-fts: add host build
Rosen Penev [Fri, 24 Sep 2021 06:44:57 +0000 (23:44 -0700)]
musl-fts: add host build

This will be used for libselinux.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agoath79: fix TPLINK_HWREV field for TL-WR1043ND v4
Matthias Schiffer [Fri, 25 Mar 2022 16:32:24 +0000 (17:32 +0100)]
ath79: fix TPLINK_HWREV field for TL-WR1043ND v4

Required to allow sysupgrades from OpenWrt 19.07.

Closes #7071

Fixes: 98fbf2edc021 ("ath79: move TPLINK_HWID/_HWREV to parent for tplink-safeloader")
Tested-by: J. Burfeind <git@aiyionpri.me>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2 years agogettext-full: add gmsgfmt symlink in host install
Stijn Tintel [Fri, 25 Mar 2022 13:03:53 +0000 (15:03 +0200)]
gettext-full: add gmsgfmt symlink in host install

Some configure scripts look for msgfmt and gmsgfmt. As we don't install
the latter, configure might pick up one from staging_dir/hostpkg, and
the other from the host:

checking for msgfmt... /home/stijn/Development/OpenWrt/openwrt/staging_dir/hostpkg/bin/msgfmt
checking for gmsgfmt... /usr/bin/gmsgfmt

This could potentially lead to hard to debug undefined behaviour.
Install a symlink in the host install phase to avoid this.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoopenwrt-keyring: add OpenWrt 22.03 GPG/usign keys
Petr Štetiar [Fri, 25 Mar 2022 13:26:52 +0000 (14:26 +0100)]
openwrt-keyring: add OpenWrt 22.03 GPG/usign keys

 62471e693b4f usign: add 22.03 release build public key
 70817cffc905 gpg: add OpenWrt 22.03 signing key

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoimagebuilder: fix broken image generation with external targets
Petr Štetiar [Thu, 24 Mar 2022 05:52:37 +0000 (06:52 +0100)]
imagebuilder: fix broken image generation with external targets

When using external targets there is a symlink being created for the
target under target/linux which then becomes dangling under Image
Builder. Fix it by dereferencing the possible symlink.

Tested on IB with external target, ipq40xx and mvebu.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoqoriq: remove CONFIG_GDB_SCRIPTS from kernel config
Stijn Tintel [Thu, 24 Mar 2022 22:46:44 +0000 (00:46 +0200)]
qoriq: remove CONFIG_GDB_SCRIPTS from kernel config

It is disabled in the generic kernel config and not used in any of the
other targets. There was no specific reason for enabling it, so let's be
consistent and remove it from the qoriq kernel config.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agompc85xx: overhaul WS-AP3825i LED setup
David Bauer [Thu, 24 Mar 2022 22:09:24 +0000 (23:09 +0100)]
mpc85xx: overhaul WS-AP3825i LED setup

As the LED controller is working now, we can make good use of the LEDs
now.

 - Drop the model-name prefix
 - Rename eth0 / eth1 LEDs to LAN1 / LAN2, as they are labeled as such
   on the casing
 - Enable wired LEDs in userspace

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agompc85xx: move Extreme WS-AP3825i GPIO extender
David Bauer [Thu, 24 Mar 2022 21:53:43 +0000 (22:53 +0100)]
mpc85xx: move Extreme WS-AP3825i GPIO extender

Move the GPIO extender to the SoC node. Otherwise, the legacy PowerPC
init code will not populate the BUS and thus never probe spi-gpio.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agouqmi: fix acquiring PIN status
Daniel Golle [Thu, 24 Mar 2022 18:40:14 +0000 (18:40 +0000)]
uqmi: fix acquiring PIN status

Evaluating the return value of 'json_load' didn't work in the
intended way resulting in PIN status no longer being read on modems
where --get-pin-status doesn't fail.
Fix this by trying --get-pin-status first and checking if pin1_status
field exists in JSON, and if it doesn't try again with
--uim-get-sim-state.

Fixes: #9501
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoath79: change Ubiquiti UniFi AP model name to include "AP"
Matthias Schiffer [Thu, 24 Mar 2022 08:26:01 +0000 (09:26 +0100)]
ath79: change Ubiquiti UniFi AP model name to include "AP"

While it hasn't always been clear whether the "AP" is part of the model
name on the Ubiquiti website, we include it for all other pre-AC
variants (AP Pro and the AP Outdoor+). Add it to the original UniFi AP
as well for consistency.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2 years agoath79: fix label MAC address for Ubiquiti UniFi
Matthias Schiffer [Wed, 23 Mar 2022 21:06:50 +0000 (22:06 +0100)]
ath79: fix label MAC address for Ubiquiti UniFi

The label has the MAC address of eth0, not the WLAN PHY address.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>