openwrt/staging/linusw.git
4 years agomvebu: Add bootscript for espressobin to support mainline firmware
Andre Heider [Sat, 12 Sep 2020 07:32:41 +0000 (09:32 +0200)]
mvebu: Add bootscript for espressobin to support mainline firmware

The generic bootscript is tailored around a downstream firmware and
doesn't work on a firmware built from mainline components.

Add a bootscript which:
* sets $console since mainline u-boot doesn't do that
* uses distro boot variables, so OpenWRT can be booted off any supported
  device when using a mainline firmware
* sets missing distro boot variables for the downstream firmware

Booting with a downstream firmware is unchanged.
Booting with a mainline firmware now works.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agokernel: Move CONFIG_*_FS_XATTR to generic kernel config
Hauke Mehrtens [Sat, 10 Oct 2020 10:10:53 +0000 (12:10 +0200)]
kernel: Move CONFIG_*_FS_XATTR to generic kernel config

This option is now activated in the generic kernel configuration, no
need to do it for a specific package.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: move CONFIG_F2FS_CHECK_FS to generic kernel config
Hauke Mehrtens [Sat, 10 Oct 2020 10:32:18 +0000 (12:32 +0200)]
kernel: move CONFIG_F2FS_CHECK_FS to generic kernel config

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: Move CONFIG_F2FS_FS_SECURITY to generic kernel config
Hauke Mehrtens [Sat, 10 Oct 2020 10:10:10 +0000 (12:10 +0200)]
kernel: Move CONFIG_F2FS_FS_SECURITY to generic kernel config

Move the CONFIG_F2FS_FS_SECURITY kernel configuration option to the
generic kernel configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: Remove 2FS_FS_XATTR and F2FS_STAT_FS symbols from target configs
Hauke Mehrtens [Sat, 10 Oct 2020 10:02:02 +0000 (12:02 +0200)]
kernel: Remove 2FS_FS_XATTR and F2FS_STAT_FS symbols from target configs

This config option was moved to the generic kernel configuration.

Fixes: ab1bd576562b ("kernel: move F2FS_FS_XATTR and F2FS_STAT_FS symbols to generic")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agoarm-trusted-firmware-mvebu: fix topology for ESPRESSObin V3-V5 (1GB 1CS)
Andre Heider [Tue, 6 Oct 2020 15:28:31 +0000 (17:28 +0200)]
arm-trusted-firmware-mvebu: fix topology for ESPRESSObin V3-V5 (1GB 1CS)

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agouboot-mvebu: don't install 64bit binaries
Andre Heider [Wed, 23 Sep 2020 00:59:47 +0000 (02:59 +0200)]
uboot-mvebu: don't install 64bit binaries

u-boot binaries are not useful for these boards, they need to be combined
with atf for a proper firmware.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agouboot-mvebu: don't default to enable a3700 builds
Andre Heider [Sun, 20 Sep 2020 05:51:31 +0000 (07:51 +0200)]
uboot-mvebu: don't default to enable a3700 builds

u-boot binaries for this SoC are only required for the atf package,
disable them per default so they don't get build unnecessarily.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agouboot-mvebu: don't add CONFIG_NET_RANDOM_ETHADDR to defconfig
Andre Heider [Sat, 26 Sep 2020 06:07:47 +0000 (08:07 +0200)]
uboot-mvebu: don't add CONFIG_NET_RANDOM_ETHADDR to defconfig

All targets already enable it in their defconfig with the used
u-boot version.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agouboot-mvebu: update to v2020.10
Andre Heider [Sat, 26 Sep 2020 06:05:00 +0000 (08:05 +0200)]
uboot-mvebu: update to v2020.10

Remove merged patches and update the emmc set.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agomvebu: Correct regulatory country of WRT3200ACM
Kabuli Chana [Tue, 1 Sep 2020 01:12:13 +0000 (19:12 -0600)]
mvebu: Correct regulatory country of WRT3200ACM

correct oversight on setting regulatory country and mac address of wireless configuration
change method of retrieving mac address

The MAC address for eth0 is rad out of the devinfo partition in some
other initial configuration script already.

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
4 years agomvebu: add wrt3200acm to 03_wireless CC
Kabuli Chana [Sun, 30 Aug 2020 02:11:25 +0000 (20:11 -0600)]
mvebu: add wrt3200acm to 03_wireless CC

correct device CC oversight

Set the initial wifi configuration like for the other similar Linksys
devices.

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
4 years agomvebu: armada-37xx: espressobin: Backport patch for ethernet switch aliases
Pali Rohár [Fri, 9 Oct 2020 09:49:14 +0000 (11:49 +0200)]
mvebu: armada-37xx: espressobin: Backport patch for ethernet switch aliases

Signed-off-by: Pali Rohár <pali@kernel.org>
4 years agomvebu: armada-37xx: Backport PCI aardvark patches
Pali Rohár [Tue, 21 Jul 2020 12:11:08 +0000 (14:11 +0200)]
mvebu: armada-37xx: Backport PCI aardvark patches

This commit contains patches for PCI aardvark driver and relevant DTS
changes for Turris MOX and EspressoBin backported from mainline kernel.
It fixes support for old ATF, various wifi cards, mainly Compex WLE900VX.

Signed-off-by: Pali Rohár <pali@kernel.org>
4 years agoscripts/qemustart: update malta to use MIPS64 R2 cpu
Tony Ambardar [Fri, 25 Sep 2020 03:52:37 +0000 (20:52 -0700)]
scripts/qemustart: update malta to use MIPS64 R2 cpu

Explicitly set the QEMU cpu type and support the MIPS R2 ISA, for both
64-bit and 32-bit targets. The later previously supported MIPS R2 by
implicit default.

This is needed after commit 93608697f3 ("malta: update MIPS64 ISA to R2"),
otherwise booting malta images with scripts/qemustart will hang.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
4 years agomalta: update MIPS64 ISA to R2
Tony Ambardar [Fri, 14 Aug 2020 05:11:22 +0000 (22:11 -0700)]
malta: update MIPS64 ISA to R2

Usage of current R1 ISA is inconsistent with the MIPS32 subtarget, little
used and has limited utility for testing.

Many distros target a minimum R2 ISA. Debian MIPS 32-bit/64-bit ports all
use MIPS R2 ISA since Stretch, for example. Fedora's MIPS arch also targets
the R2 ISA for 32-bit/64-bit.

Widely used MIPS64 platforms like Octeon are based on the MIPS R2 ISA or
later, and benefit from having a compatible test platform in OpenWRT.

While Linux does support MIPS64 R1 targets, its usefulness for development
and testing is limited. As an example, the modern Linux eBPF JIT requires
a MIPS R2 ISA or later.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
[Refresh config and fix README]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agotrace-cmd: disable AUDIT (libaudit library)
Josef Schlehofer [Fri, 2 Oct 2020 12:17:48 +0000 (14:17 +0200)]
trace-cmd: disable AUDIT (libaudit library)

If you compile first libaudit library and then trace-cmd package,
compilations fails with:

Package trace-cmd is missing dependencies for the following libraries:
libaudit.so.1

If you enable libaudit for trace-cmd, it will show system name calls while using command profile.
Try to be slim as much as possible - libaudit .ipk has 42,4 kB.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 years agoperf: disable libzstd support
Rosen Penev [Sat, 3 Oct 2020 00:36:16 +0000 (17:36 -0700)]
perf: disable libzstd support

libzstd from the packages feed gets picked up. Remove it.

Fixes:

Package perf is missing dependencies for the following libraries:
libzstd.so.1

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoperf: pass CFLAGS correctly
Marek Behún [Sat, 26 Sep 2020 21:49:50 +0000 (21:49 +0000)]
perf: pass CFLAGS correctly

For this package CFLAGS have to be passed via EXTRA_CFLAGS.
On arm this bug causes build to fail because no -fPIC is present in CFLAGS.

Signed-off-by: Marek Behún <kabel@blackhole.sk>
4 years agoperf: fix building with musl when NLS is enabled
Marek Behún [Sat, 26 Sep 2020 21:42:52 +0000 (21:42 +0000)]
perf: fix building with musl when NLS is enabled

This package fails with a strange error when building with musl when NLS
is enabled. The configuration thinks that libelf is not present, even
though DEPENDS contains +libelf, because when NLS is enabled, libelf.so
depends on libintl, and the correct LDFLAGS are missing for
libintl-full. This then causes the configuration script to check for
glibc, but this fails because we are using musl.

Signed-off-by: Marek Behún <kabel@blackhole.sk>
4 years agonetifd: update to latest git HEAD
Hans Dedecker [Sat, 10 Oct 2020 19:12:25 +0000 (21:12 +0200)]
netifd: update to latest git HEAD

64ff909 system-linux: initialize ifreq struct before using it

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agobcm63xx: move dts-v1 statement to top-level DTSI files
Adrian Schmutzler [Fri, 25 Sep 2020 22:46:13 +0000 (00:46 +0200)]
bcm63xx: move dts-v1 statement to top-level DTSI files

The "/dts-v1/;" identifier is supposed to be present once at the
top of a device tree file after the includes have been processed.

Like done for other targets recently, put the dts-v1 statement
into the top-level SoC-based DTSI files, and remove all other
occurences.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: add a few DTSI files to share definitions
Adrian Schmutzler [Sun, 4 Oct 2020 13:12:57 +0000 (15:12 +0200)]
bcm63xx: add a few DTSI files to share definitions

After the LED labels have been made more general by removing
the model names, we can move several definitions to DTSI files
to reduce the amount of duplicate code.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: remove model name from LED labels
Adrian Schmutzler [Sat, 10 Oct 2020 17:44:02 +0000 (19:44 +0200)]
bcm63xx: remove model name from LED labels

Like in the previous patches for various targets, this will remove
the "devicename" from LED labels in bcm63xx, as it's useless and
only creates complexity.

The devicename is removed in DTS files and 01_leds, merging
several cases on the way. A migration script is added for
existing configurations.

Note that a few labels were using "model::function" scheme without
color specified, those were converting to just "function" and the
necessary migrations were added to the migration script.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokernel: move F2FS_FS_XATTR and F2FS_STAT_FS symbols to generic
Daniel Golle [Fri, 9 Oct 2020 22:16:53 +0000 (23:16 +0100)]
kernel: move F2FS_FS_XATTR and F2FS_STAT_FS symbols to generic

Similar to how it was already done for other filesystems' *_FS_XATTR
kernel config symbols, also move CONFIG_F2FS_FS_XATTR=y and
CONFIG_F2FS_STAT_FS=y to target/linux/generic.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agokernel: bump 5.4 to 5.4.70
John Audia [Wed, 7 Oct 2020 11:28:23 +0000 (07:28 -0400)]
kernel: bump 5.4 to 5.4.70

All modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
4 years agoath79: drop redundant gpios on i2c
Adrian Schmutzler [Fri, 9 Oct 2020 20:45:36 +0000 (22:45 +0200)]
ath79: drop redundant gpios on i2c

Since "sda-gpios" and "scl-gpios" are only available since kernel 4.19,
a few devices have redundantly defined "gpios" to also support older
kernels. Since we have nothing older than 4.19 now, we can remove
the redundant definitions.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: drop kernel version switches
Adrian Schmutzler [Fri, 9 Oct 2020 20:24:04 +0000 (22:24 +0200)]
ramips: drop kernel version switches

The ramips target only supports 5.4, so drop all kernel version
switches for older kernels there.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoseclic: depends on libsepol
Daniel Golle [Fri, 9 Oct 2020 17:59:52 +0000 (18:59 +0100)]
seclic: depends on libsepol

Add missing dependency for target build of seclic which requires
libsepol (just like the host build requires libsepol/host).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agooxnas: fix qc_prep return in sata driver after kernel 5.4.69
Adrian Schmutzler [Fri, 9 Oct 2020 14:44:30 +0000 (16:44 +0200)]
oxnas: fix qc_prep return in sata driver after kernel 5.4.69

This fixes a regression after a kernel change in 5.4.69 [1] that
led to build failure on oxnas/ox820:

  drivers/ata/sata_oxnas.c:2238:13: error: initialization of
  'enum ata_completion_errors (*)(struct ata_queued_cmd *)'
  from incompatible pointer type
  'void (*)(struct ata_queued_cmd *)' [-Werror=incompatible-pointer-types]
    .qc_prep = sata_oxnas_qc_prep,
               ^~~~~~~~~~~~~~~~~~
  drivers/ata/sata_oxnas.c:2238:13: note:
  (near initialization for 'sata_oxnas_ops.qc_prep')

Our local driver is changed the same way as prototyped in the
kernel patch, i.e. return type is changed and AC_ERR_OK return
value is added.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e11c83520cd04b813cd1748ee2a8f2c620e5f7e3

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: 5.4: move AR40xx driver into files
Robert Marko [Wed, 7 Oct 2020 15:12:56 +0000 (17:12 +0200)]
ipq40xx: 5.4: move AR40xx driver into files

There is no point in keeping the AR40xx driver as a patch as its
not pending merge or backport.

To allow for easier maintenance until DSA is ready move it into
files like EDMA is.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
[combine with removal from patches-5.4]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoconfig: add option for dssp selinux policy
Daniel Golle [Wed, 30 Sep 2020 21:03:20 +0000 (22:03 +0100)]
config: add option for dssp selinux policy

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoselinux-policy: adds new package
Dominick Grift [Wed, 30 Sep 2020 10:21:19 +0000 (12:21 +0200)]
selinux-policy: adds new package

Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
4 years agosecilc: adds new package
Dominick Grift [Wed, 30 Sep 2020 10:17:19 +0000 (12:17 +0200)]
secilc: adds new package

Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
4 years agort2x00: mt7620: differentiate based on SoC's CHIP_VER
Daniel Golle [Sun, 5 Feb 2017 16:55:53 +0000 (17:55 +0100)]
rt2x00: mt7620: differentiate based on SoC's CHIP_VER

The vendor driver does things differently based on what it finds in the
SoC's CHIP_VER register, which should tell whether this is MT7620N or
MT7620A (PKG) and probably also the revision (VER) and most likely
also something about the silicon implementer (ECO).
Introduce codepaths just like the ones in the vendor driver to handle
the different chips properly.

Some of those paths are most likely dead code and left-overs from FPGA
versions or early prototypes of the chip. It'd thus be great if people
can post their kernel logs, at least the line telling the chip version
and eco, so we know what's actually out there in the wild -- all I
could find is
[ 0.000000] SoC Type: Ralink MT7620A ver:2 eco:6
and
[ 0.000000] SoC Type: Ralink MT7620N ver:2 eco:6
which would make things easier, as then we really just need to know
whether it's MT7620N or MT7620A and not care about FPGA or prototypes
with ver <= 1 and eco <= 2.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agokernel: clean up XATTR config symbols
Paul Spooren [Mon, 5 Oct 2020 23:54:43 +0000 (13:54 -1000)]
kernel: clean up XATTR config symbols

Extended attributes are required for overlayfs and have hence been long
ago enabled for jffs2, but should be enabled unconditionally for all
other filesystems which may potentially serve as overlayfs' upper
directory. Previously it was inconsistently added in multiple targets.
Add symbols to generic kernel config and remove all *_XATTR symbols
from target configs.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[keep things as they are for squashfs, improve commit message]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agokernel: sort config-5.4 via kconfig.pl
Paul Spooren [Tue, 6 Oct 2020 19:17:02 +0000 (09:17 -1000)]
kernel: sort config-5.4 via kconfig.pl

The options were out of order which makes reviewing of changes harder.
Sort it before applying an actual change.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agobuild, imagebuilder: Do not require compilers
Sven Roederer [Sun, 27 Sep 2020 21:07:38 +0000 (23:07 +0200)]
build, imagebuilder: Do not require compilers

The buildroot and SDK both require the compilers (gcc, g++) to be
installed on the host system, however the ImageBuilder uses precompiled
binaries.

This patch changes the prerequirements checks to skip the checking for
the compilers if running as ImageBuilder. A similar change has been
made for libncurses-dev in 4a1a58a3e2d2.

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
Acked-by: Paul Spooren <mail@aparcar.org>
4 years agolantiq: remove model name from LED labels
Adrian Schmutzler [Wed, 30 Sep 2020 18:49:57 +0000 (20:49 +0200)]
lantiq: remove model name from LED labels

Like in the previous patches for other targets, this will remove
the "devicename" from LED labels in lantiq.

The devicename is removed in DTS files and 01_leds, consolidation
of definitions into DTSI files is done where (easily) possible,
and migration scripts are updated. The DTS/DTSI consolidation is
only performed for files-5.4.

For lantiq,easy98020 some LED definitions have the form
"devicename:function" without the color, so we need to implement
explicit migration for that one.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: use upstream DTS files for IPQ4019/AP-DK04.1
Adrian Schmutzler [Thu, 1 Oct 2020 18:40:03 +0000 (20:40 +0200)]
ipq40xx: use upstream DTS files for IPQ4019/AP-DK04.1

Upstream provides DTS(I) files for IPQ4019/AP-DK04.1, but we overwrite
them with local versions so far.

Remove the local files and use patches to be closer to upstream.
We already do the same for IPQ40xx/AP-DK01.1-C1.

Technically, this changes the compatible from "qcom,ipq4019" to
"qcom,ipq4019-dk04.1-c1", but it has never been implemented correctly
beforehand anyway.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: improve support for Edgecore ECW5211
Sungbo Eo [Fri, 18 Sep 2020 13:31:59 +0000 (22:31 +0900)]
ipq40xx: improve support for Edgecore ECW5211

This adds several stylistic and functional improvements of the recently
added Edgecore ECW5211, especially:

* Drop the local BDFs as those are already in the upstream under different names
* Add SPDX tag to DTS
* Add label MAC address
* Move LED trigger to DTS
* Remove unnecessary status="okay"
* Disable unused SS USB phy as the USB port only supports USB 2.0
* Make uboot-env partition writable
* Remove qcom,poll_required_dynamic property as the driver does not use it
* Tidy up the device recipe

Fixes: 4488b260a02e ("ipq40xx: add Edgecore ECW5211 support")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Acked-by: Robert Marko <robert.marko@sartura.hr>
4 years agoipq806x: remove model name from LED labels
Adrian Schmutzler [Thu, 1 Oct 2020 19:24:35 +0000 (21:24 +0200)]
ipq806x: remove model name from LED labels

Like in the previous patches for ath79 and ramips, this will remove
the "devicename" from LED labels in ipq806x.

The devicename is removed in DTS files and 01_leds, and a migration
script is added.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: remove model name from LED labels
Adrian Schmutzler [Thu, 1 Oct 2020 19:15:47 +0000 (21:15 +0200)]
ipq40xx: remove model name from LED labels

Like in the previous patches for ath79 and ramips, this will remove
the "devicename" from LED labels in ipq40xx.

The devicename is removed in DTS files and 01_leds, and a migration
script is added. While at it, also harmonize capitalization of
wlan2G/wlan5G vs. wlan2g/wlan5g.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: rename ubnt,acb-isp to ubnt,aircube-isp
Roman Kuzmitskii [Tue, 6 Oct 2020 12:08:28 +0000 (12:08 +0000)]
ath79: rename ubnt,acb-isp to ubnt,aircube-isp

Use the full model name for this device to make it easier to
recognize for the users and in order to make it consistent with
the other devices.

While at it, fix sorting in 03_gpio_switches.

Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
[commit message facelift]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoppp: update to version 2.4.8.git-2020-10-03
Hans Dedecker [Mon, 5 Oct 2020 19:16:15 +0000 (21:16 +0200)]
ppp: update to version 2.4.8.git-2020-10-03

2937722 Enable IPv6 by default (#171)
6d39c65 pppd: Fix blank password usage

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agouhttpd: update to latest Git HEAD
Jo-Philipp Wich [Sun, 4 Oct 2020 21:04:51 +0000 (23:04 +0200)]
uhttpd: update to latest Git HEAD

14a3cb4 ubus: fix legacy empty reply format
0f38b03 client: fix spurious keepalive connection timeouts
88ba2fa client: really close connection on timeout
c186212 ubus: support GET method with CORS requests

Fixes: FS#3369
Fixes: https://github.com/openwrt/luci/issues/4467
Fixes: https://github.com/openwrt/luci/issues/4470
Fixes: https://github.com/openwrt/luci/issues/4479
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agotoolchain/binutils: update to 2.35.1
DENG Qingfang [Mon, 28 Sep 2020 08:54:09 +0000 (16:54 +0800)]
toolchain/binutils: update to 2.35.1

Update binutils 2.35 to 2.35.1

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoath79: rename TP-Link TL-WPA8630P v2 (EU) to v2.0 (EU)
Adrian Schmutzler [Mon, 28 Sep 2020 12:31:02 +0000 (14:31 +0200)]
ath79: rename TP-Link TL-WPA8630P v2 (EU) to v2.0 (EU)

Since we have a v2.1 (EU) with different partitioning now, rename
the v2.0 to make the difference visible to the user more directly.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link TL-WPA8630P (EU) v2.1
Joe Mullally [Sat, 12 Sep 2020 18:46:28 +0000 (19:46 +0100)]
ath79: add support for TP-Link TL-WPA8630P (EU) v2.1

This adds support for the TP-Link TL-WPA8630P (EU) in its v2.1
version. The only unique aspect for the firmware compared to v2
layout is the partition layout.

Note that while the EU version has different partitioning for
v2.0 and v2.1, the v2.1 (AU) is supported by the v2-int image.

If you plan to use this device, make sure you have a look at
the Wiki page to check whether the device is supported and
which image needs to be taken.

Specifications
--------------

  - QCA9563 750MHz, 2.4GHz WiFi
  - QCA9888 5GHz WiFi
  - 8MiB SPI Flash
  - 128MiB RAM
  - 3 GBit Ports (QCA8337)
  - PLC (QCA7550)

Installation
------------

Installation is possible from the OEM web interface. Make sure to
install the latest OEM firmware first, so that the PLC firmware is
at the latest version. However, please also check the Wiki page
for hints according to altered partitioning between OEM firmware
revisions.

Notes
-----

The OEM firmware has 0x620000 to 0x680000 unassigned, so we leave
this empty as well. It is complicated enough already ...

Signed-off-by: Joe Mullally <jwmullally@gmail.com>
[improve partitions, use v2 DTSI, add entry in 02_network, rewrite
and extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoomap: update uboot to v2020.04
Andre Heider [Fri, 4 Sep 2020 07:30:49 +0000 (09:30 +0200)]
omap: update uboot to v2020.04

Fixes the build error:
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status

Successfully tested on boneblack.

Signed-off-by: Andre Heider <a.heider@gmail.com>
4 years agoramips: fix logic level for DIR-645 buttons
David Bauer [Wed, 26 Aug 2020 13:39:54 +0000 (15:39 +0200)]
ramips: fix logic level for DIR-645 buttons

The D-Link DIR-645 currently uses an incorrect logic level for its
buttons.

Correct them in order to prevent unintentional activation of failsafe
mode.

Reported-by: Perry Melange <isprotejesvalkata@gmail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agouboot-rockchip: add Rock Pi 4 support
Marty Jones [Thu, 1 Oct 2020 07:04:48 +0000 (03:04 -0400)]
uboot-rockchip: add Rock Pi 4 support

Add support for the  Raxda Rock Pi 4.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
4 years agorockchip: add support for Radxa Rock Pi 4
Marty Jones [Fri, 25 Sep 2020 18:00:40 +0000 (14:00 -0400)]
rockchip: add support for Radxa Rock Pi 4

This adds basic support for Radxa Rock Pi 4

Specification:
  - RAM:      1 GB/ 2 GB/4 GB LPDDR4

  - SoC:      Rockchip RK3399
  - CPU:      64bit hexa core processor
              Dual Cortex-A72, freqency 1.8Ghz
              with quad Cortex-A53, frequency 1.4Ghz
  - USB:      USB 3.0 OTG x1
              hardware switch for host/device switch, upper one
              USB 3.0 HOST x1
              dedicated USB3.0 channel, lower one
              USB 2.0 HOST x2
  - Ethernet: 1x GbE
  - Storage:  eMMC module
              uSD card
              M.2 SSD
  - Wireless: 802.11 ac wifi
              Bluetooth 5.0
              currently not supported

 firmware Installation
 ======================
 gzip -d xxx.img.gz, then dd the .img to SD/eMMC
 ======================

 Device Tested: ROCK PI 4 Model B v1.3

Signed-off-by: Marty Jones <mj8263788@gmail.com>
4 years agolinux-firmware: update to 20200918
David Bauer [Sun, 27 Sep 2020 08:05:18 +0000 (10:05 +0200)]
linux-firmware: update to 20200918

00a84c5 linux-firmware: Update AMD SEV firmware
71338c2 Merge branch 'for-master' of https://github.com/CosmicPenguin/linux-firmware into main
07367b9 linux-firmware: Update firmware file for Intel Bluetooth AX200
1d1586a linux-firmware: Update firmware file for Intel Bluetooth AX201
28b333d linux-firmware: Update firmware file for Intel Bluetooth 9560
db30380 linux-firmware: Update firmware file for Intel Bluetooth 9260
eb3aa1f Mellanox: Add new mlxsw_spectrum firmware xx.2008.1310
ec88f05 mediatek: update MT7915 firmware to 20200819
a9993f8 brcm: Fix a stale symlink for RPi3 model b+
f48fec4 qcom: Add updated a5xx and a6xx microcode
d5f9eea wl18xx: update firmware file 8.9.0.0.83
7a237c6 linux-firmware: mt7615: update firmware to 20200814 version
74bd44f amdgpu: add navi12 firmware from 20.30
b9f69cd amdgpu: update navi10 firmware for 20.30

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agorockchip: enable Realtek PHY support
David Bauer [Sat, 3 Oct 2020 11:50:49 +0000 (13:50 +0200)]
rockchip: enable Realtek PHY support

The NanoPi R2S features a Realtek Gigabit Ethernet PHY. Enable the
Realtek specific PHY driver to correctly configure internal delays.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agorockchip: fix NanoPi R2S PHY ID
David Bauer [Thu, 1 Oct 2020 08:25:45 +0000 (10:25 +0200)]
rockchip: fix NanoPi R2S PHY ID

Fix the PHY ID for the NanoPi R2S PHY compatible to match the used PHY.
The ID was wrong as I've accidentally picked the wrong upstream patch.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoRevert "uboot-rockchip: update NanoPi R2S patches"
David Bauer [Sat, 3 Oct 2020 11:25:02 +0000 (13:25 +0200)]
Revert "uboot-rockchip: update NanoPi R2S patches"

This reverts commit bda6f6572be630bcf9a1c8a429e40d8a53033af5.

This commit breaks the onboard ethernet on some units. Revert it for
now.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agokernel: bump 5.4 to 5.4.69
John Audia [Thu, 1 Oct 2020 13:22:00 +0000 (09:22 -0400)]
kernel: bump 5.4 to 5.4.69

Seemingly unneeded based on new upstream code so manually deleted:
 layerscape:
  820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch

Manually merged:
 generic-hack:
  251-sound_kconfig.patch

All other modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711
Run-tested: ipq806x/R7800, lantiq/Easybox 904 xDSL

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[add lantiq test report, minor commit message clarification]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolayerscape: add layerscape's SATA driver package
Pawel Dembicki [Tue, 25 Aug 2020 13:26:05 +0000 (15:26 +0200)]
layerscape: add layerscape's SATA driver package

This patch intruduce SATA support for layerscape devices.
Target specific package with ahci_qoriq driver was added
to local modules.mk.
Kmod package was added to default packages for devices with
SATA interface.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: add missing kmods for i2c peripherials
Pawel Dembicki [Tue, 18 Aug 2020 08:20:35 +0000 (10:20 +0200)]
layerscape: add missing kmods for i2c peripherials

This patch adds kmod-hwmon-ina2xx kmod-hwmon-lm90 for boards,
which have it installed.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agouboot-layerscape: fix LS1012A-FRDM fdt_high value
Pawel Dembicki [Mon, 17 Aug 2020 10:28:00 +0000 (12:28 +0200)]
uboot-layerscape: fix LS1012A-FRDM fdt_high value

LS1012A-FRDM have configured wrong fdt_high value.
That causes impossibility of booting.

This patch fix it.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Yangbo Lu <yangbo.lu@nxp.com>
[bump PKG_RELEASE]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: remove set_wifi_led function in 01_leds
Adrian Schmutzler [Sun, 27 Sep 2020 21:35:11 +0000 (23:35 +0200)]
ramips: remove set_wifi_led function in 01_leds

While we mostly use the ucidef_set_led_* functions directly in 01_leds
we still have the set_wifi_led function in parallel for several old
devices. This is not only inconsistent with the other definitions,
it also links to the wlan0 interface instead of using a phy trigger
which would be independent of the interface name (and is used for
all newer devices anyway). Apart from that, the standard names
"wifi" and "wifi-led" are not very helpful in a world with different
radio bands either.

Thus, this patch removes the set_wifi_led function and puts the
relevant commands into the cases explicitly. This makes the
mechanism used more evident and will hopefully lead to some future
improvements or at least prevent some copy-pasting of the old
setups.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: remove option to set WiFi LED via aliases
Adrian Schmutzler [Sun, 27 Sep 2020 21:20:23 +0000 (23:20 +0200)]
ramips: remove option to set WiFi LED via aliases

In ramips, it's not common to use an alias for specifying the WiFi
LED; actually only one device uses this mechanism (TL-WR841N v14).

Particularly since the WiFi LEDs are typically distinguished between
2.4G and 5G etc. it is also not very useful for this target.

Thus, this patch removes the setup lines for this mechanism and
converts the TL-WR841N v14 to the normal setup.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: remove model name from LED labels
Adrian Schmutzler [Sun, 27 Sep 2020 17:40:51 +0000 (19:40 +0200)]
ramips: remove model name from LED labels

Like in the previous patch for ath79 target, this will remove the
"devicename" from LED labels in ramips as well.

The devicename is removed in DTS files and 01_leds, consolidation
of definitions into DTSI files is done where (easily) possible,
and migration scripts are updated.

For the latter, all existing definitions were actually just
devicename migrations anyway. Therefore, those are removed and
a common migration file is created in target base-files. This is
actually another example of how the devicename removal makes things
easier.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobase-files: allow exceptions when removing devicename from LEDs
Adrian Schmutzler [Fri, 2 Oct 2020 12:23:59 +0000 (14:23 +0200)]
base-files: allow exceptions when removing devicename from LEDs

Without the model-based devicename for LEDs, there are still cases
where a third component is required, typically when it refers to
internal "devices" like phys etc. An example are the following two
found on ramips:

  - rt2800soc-phy0::radio
  - rt2800pci-phy0::radio

So far, the rt2800*-phy: prefixes would be removed by the devicename
removal ("migration") script, and the configuration for these LEDs
would be broken.

To address this, this patch allows to add arguments to a call of
remove_devicename_leds, which will be compared against the first
part of the LED names/labels, and then be ignored by the routine,
and thus not removed:

  remove_devicename_leds "rt2800soc-phy0" "rt2800pci-phy0"

This mechanism is supposed to be used when a "devicename" applies
to several devices. If only a single device is affected, it might
be more effective to use a case statement and exclude the device
from migration by that entirely.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agonetfilter: ship nft_chain_nat on 5.1+ kernels
Jo-Philipp Wich [Fri, 2 Oct 2020 12:28:00 +0000 (14:28 +0200)]
netfilter: ship nft_chain_nat on 5.1+ kernels

The former nft_chain_nat_ipv4 and nft_chain_nat_ipv6 modules have been merged
into a common nft_chain_nat module starting with Linux 5.1.

Ensure that this common module is shipped along with kmod-nft-nat on recent
kernels.

While we're at it, also apply version constraints to other nft modules that
have been merged into the core with newer kernels.

Ref: https://bugs.openwrt.org/index.php?do=details&task_id=2815#comment8016
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoath79: remove model name from LED labels
Adrian Schmutzler [Sat, 26 Sep 2020 15:31:17 +0000 (17:31 +0200)]
ath79: remove model name from LED labels

Currently, we request LED labels in OpenWrt to follow the scheme

  modelname:color:function

However, specifying the modelname at the beginning is actually
entirely useless for the devices we support in OpenWrt. On the
contrary, having this part actually introduces inconvenience in
several aspects:

  - We need to ensure/check consistency with the DTS compatible
  - We have various exceptions where not the model name is used,
    but the vendor name (like tp-link), which is hard to track
    and justify even for core-developers
  - Having model-based components will not allow to share
    identical LED definitions in DTSI files
  - The inconsistency in what's used for the model part complicates
    several scripts, e.g. board.d/01_leds or LED migrations from
    ar71xx where this was even more messy

Apart from our needs, upstream has deprecated the label property
entirely and introduced new properties to specify color and
function properties separately. However, the implementation does
not appear to be ready and probably won't become ready and/or
match our requirements in the foreseeable future.

However, the limitation of generic LEDs to color and function
properties follows the same idea pointed out above. Generic LEDs
will get names like "green:status" or "red:indicator" then, and
if a "devicename" is prepended, it will be the one of an internal
device, like "phy1:amber:status".

With this patch, we move into the same direction, and just drop
the boardname from the LED labels. This allows to consolidate
a few definitions in DTSI files (will be much more on ramips),
and to drop a few migrations compared to ar71xx that just changed
the boardname. But mainly, it will liberate us from a completely
useless subject to take care of for device support review and
maintenance.
To also drop the boardname from existing configurations, a simple
migration routine is added unconditionally.

Although this seems unfamiliar at first look, a quick check in kernel
for the arm/arm64 dts files revealed that while 1033 lines have
labels with three parts *:*:*, still 284 actually use a two-part
labelling *:*, and thus is also acceptable and not even rare there.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobase-files: add function to remove devicename from LED labels
Adrian Schmutzler [Sun, 27 Sep 2020 15:25:15 +0000 (17:25 +0200)]
base-files: add function to remove devicename from LED labels

Currently, we request LED labels in OpenWrt to follow the scheme

  modelname:color:function

However, specifying the modelname at the beginning is actually
entirely useless for the devices we support in OpenWrt. In patches
subsequent to this one, we will thus remove the modelname from
the label definitions on various targets.

To migrate the existing definitions from older installations,
a migration script needs to be deployed that does

  modelname:color:function -> color:function

e.g.

  dir-789:green:status -> green:status

This patch introduces two functions that do exactly that:
For each entry in /etc/config/system, the routine will check whether
two (or more) colons are present, and then remove everything up to
(and including) the first colon.

For now, this will be applied unconditionally, i.e. if the function
is called for a device, all labels will be cut like this.

However, for a future case of mixed three-part and two-part labels,
it should not be too hard to provide a function argument with
exceptions to the removal.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: move dts-v1 statement to top-level DTSI files
Adrian Schmutzler [Thu, 1 Oct 2020 16:08:17 +0000 (18:08 +0200)]
lantiq: move dts-v1 statement to top-level DTSI files

The "/dts-v1/;" identifier is supposed to be present once at the
top of a device tree file after the includes have been processed.

In lantiq, we therefore requested to have in the DTS files so far,
and omit it in the DTSI files. However, essentially the syntax of
the parent SoC-based DTSI files already determines the DTS
version, so putting it into the DTS files is just a useless repetition.

Consequently, this patch puts the dts-v1 statement into the top-level
SoC-based DTSI files, and removes all other occurences.
Since the dts-v1 statement needs to be before any other definitions,
this also moves the includes accordingly where necessary.

Changes are applied to files-5.4 only, files-4.19 remains untouched.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agopolicycoreutils: add missing gettext dependency
Paul Spooren [Mon, 28 Sep 2020 19:48:26 +0000 (09:48 -1000)]
policycoreutils: add missing gettext dependency

Add missing build dependency to both host and target build. The `msgfmt`
is required which is missing without gettext-full.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoath79: ar8216: make switch register access atomic
Chuanhong Guo [Mon, 21 Sep 2020 06:57:44 +0000 (14:57 +0800)]
ath79: ar8216: make switch register access atomic

reg accesses on integrated ar8229 sometimes fails. As a result, phy read
got incorrect port status and wan link goes down and up mysteriously.
After comparing ar8216 with the old driver, these local_irq_save/restore
calls are the only meaningful differences I could find and it does fix
the issue.
The same changes were added in svn r26856 by Gabor Juhos:
ar71xx: ag71xx: make switch register access atomic

As I can't find the underlying problem either, this hack is broght
back to fix the unstable link issue.
This hack is only suitable for ath79 mdio and may easily break the
driver on other platform. Limit it to ath79-only as a target patch.

Fixes: FS#2216
Fixes: FS#3226
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agorefpolicy: fix path to setfiles and checkpolicy
Paul Spooren [Tue, 29 Sep 2020 09:09:22 +0000 (23:09 -1000)]
refpolicy: fix path to setfiles and checkpolicy

Directly set path via MAKE vars instead of defning TESTTOOLS. This way
setfiles, which is required by the ImageBuilder, ends up in /host/bin
while checkpolicy can stay in hostpkg/bin.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agorockchip: rk3328: add compatible to NanoPi R2S ethernet PHY
David Bauer [Mon, 28 Sep 2020 20:57:35 +0000 (22:57 +0200)]
rockchip: rk3328: add compatible to NanoPi R2S ethernet PHY

This adds the compatible property to the NanoPi R2S ethernet PHY node.
Otherwise, the PHY might not be probed, as the PHY ID reads all 0xff
when it is still in reset.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agouboot-rockchip: update NanoPi R2S patches
David Bauer [Mon, 28 Sep 2020 15:55:21 +0000 (17:55 +0200)]
uboot-rockchip: update NanoPi R2S patches

Update the patches required for the NanoPi R2S to match the DTS accepted
for upstream Linux. The U-Boot patch meanwhile is still pending
upstream.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agomac80211: add support for specifying a per-device scan list
Felix Fietkau [Mon, 28 Sep 2020 13:12:56 +0000 (15:12 +0200)]
mac80211: add support for specifying a per-device scan list

This is useful to bring up multiple client mode interfaces on a single
channel much faster without having to scan through a lot of channels

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomac80211: backport sched_set_fifo_low
Felix Fietkau [Mon, 28 Sep 2020 13:12:28 +0000 (15:12 +0200)]
mac80211: backport sched_set_fifo_low

This is needed for newer mt76 updates

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomac80211: another fix for the sta connection monitor
Felix Fietkau [Mon, 28 Sep 2020 13:11:51 +0000 (15:11 +0200)]
mac80211: another fix for the sta connection monitor

Make the code more closely match the original behavior

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agorefpolicy: mark as architecture independent
Daniel Golle [Tue, 29 Sep 2020 03:02:03 +0000 (04:02 +0100)]
refpolicy: mark as architecture independent

Use PKGARCH:=all to declare this package to be free of any
architecture dependent code.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoconfig: prepare for choice of SELinux policy
Daniel Golle [Tue, 29 Sep 2020 01:47:25 +0000 (02:47 +0100)]
config: prepare for choice of SELinux policy

Only 'targeted' from refpolicy is supported for now.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoimage.mk: evaluate /etc/selinux/config to choose SELinux policy
Daniel Golle [Tue, 29 Sep 2020 00:46:25 +0000 (01:46 +0100)]
image.mk: evaluate /etc/selinux/config to choose SELinux policy

Instead of hardcoding 'targeted' policy, evaluate /etc/selinux/config
in rootfs to choose according to which policy files in the rootfs got
to be labeled.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agopolicycoreutils: install to host/bin not hostpkg
Paul Spooren [Mon, 28 Sep 2020 08:37:53 +0000 (22:37 -1000)]
policycoreutils: install to host/bin not hostpkg

By installing policycoreutils to host/bin it is also available within
the ImageBuilder and SDK, allowing to correctly label both filesystems
and packages.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoimagebuilder: add missing libfakeroot files
Paul Spooren [Sun, 27 Sep 2020 21:50:40 +0000 (11:50 -1000)]
imagebuilder: add missing libfakeroot files

The `libfakeroot` files are currently missing in the ImageBuilder. As
`fakeroot` is always built, copy those files unconditionally.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agotoolchain: nasm: update to 2.15.05
Daniel Golle [Mon, 28 Sep 2020 22:40:27 +0000 (23:40 +0100)]
toolchain: nasm: update to 2.15.05

Compile-tested libx264 and ffmpeg with x86-asm, worked fine.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agorockchip: refresh NanoPi R2S patches
David Bauer [Sun, 13 Sep 2020 04:45:52 +0000 (06:45 +0200)]
rockchip: refresh NanoPi R2S patches

Update the patches for the NanoPi R2S to the v3 sent (and accepted)
upstream.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath10k-firmware: package Wave1 from linux-firmware
David Bauer [Sun, 27 Sep 2020 08:11:11 +0000 (10:11 +0200)]
ath10k-firmware: package Wave1 from linux-firmware

The firmware for Wave1 chips was updated to the latest release
10.2.4-1.0-00047 at the end of 2019 (commit 513d70cc50b).
Package firmware for these chips from linux-firmware.

This avoids downloading the ath10k-firmware repository.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agokernel: bump 5.4 to 5.4.68
John Audia [Sat, 26 Sep 2020 17:30:16 +0000 (13:30 -0400)]
kernel: bump 5.4 to 5.4.68

All modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x, ath79/generic, bcm72xx/bcm2711
Run-tested: ipq806x (R7800)

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
4 years agoath79: add WiFi migration for AR913x
David Bauer [Sat, 26 Sep 2020 20:14:32 +0000 (22:14 +0200)]
ath79: add WiFi migration for AR913x

This adds the automatic WiFi path migration for AR913x platforms.

Tested on: TP-Link TL-WA901ND v2

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoopenssl: bump to 1.1.1h
Eneas U de Queiroz [Sun, 27 Sep 2020 22:01:27 +0000 (19:01 -0300)]
openssl: bump to 1.1.1h

This is a bug-fix release.  Patches were refreshed.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agoath79: add support for Hak5 WiFi Pineapple NANO
Piotr Dymacz [Wed, 19 Aug 2020 14:01:25 +0000 (16:01 +0200)]
ath79: add support for Hak5 WiFi Pineapple NANO

Hak5 WiFi Pineapple NANO is an "USB dongle" device dedicated for Wi-Fi
pentesters. This device is based on Atheros AR9331 and AR9271. Support
for it was first introduced in 950b278c81 (ar71xx). FCC ID: 2AB87-NANO.

Specifications:

- Atheros AR9331
- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR1)
- 16 MB of flash (SPI NOR)
- 1T1R 2.4 GHz Wi-Fi (AR9331)
- 1T1R 2.4 GHz Wi-Fi (AR9271L), with ext. PA and LNA (Qorvo RFFM4203)
- 2x RP-SMA antenna connectors
- 1x USB 2.0 to 10/100 Ethernet bridge (ASIX AX88772A)
- integrated 4-port USB 2.0 HUB: Alcor Micro AU6259:
  - 1x USB 2.0
  - 1x microSD card reader (Genesys Logic GL834L)
  - Atheros AR9271L
- 1x LED, 1x button
- UART (4-pin, 2 mm pitch) header on PCB
- USB 2.0 Type-A plug for power and AX88772A

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on OpenWrt/LEDE.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: add support for Hak5 Packet Squirrel
Piotr Dymacz [Wed, 19 Aug 2020 13:10:04 +0000 (15:10 +0200)]
ath79: add support for Hak5 Packet Squirrel

Hak5 Packet Squirrel is a pocket-sized device dedicated for pentesters
(MITM attacks). This device is based on Atheros AR9331 but it lacks
WiFi. Support for it was first introduced in 950b278c81 (ar71xx).

Specifications:

- Atheros AR9331
- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2x RJ45 10/100 Mbps Ethernet (AR9331)
- 1x USB 2.0
- 1x RGB LED, 1x button, 1x 4-way mechanical switch
- 1x Micro USB Type-B for main power input

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on OpenWrt/LEDE.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: add support for Hak5 LAN Turtle
Piotr Dymacz [Wed, 19 Aug 2020 12:20:54 +0000 (14:20 +0200)]
ath79: add support for Hak5 LAN Turtle

Hak5 LAN Turtle is an "USB Ethernet Adapter" shaped device dedicated for
sysadmins and pentesters. This device is based on Atheros AR9331 but it
lacks WiFi. Support for it was first introduced in 950b278c81 (ar71xx).

Two different versions of this device exist and it's up to the user to
install required drivers (generic image supports only common features):

- LAN Turtle 3G with Quectel UG96 3G modem
- LAN Turtle SD with microSD card reader (Alcorlink AU6435R)

Specifications:

- Atheros AR9331
- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 1x RJ45 10/100 Mbps Ethernet (AR9331)
- 1x USB 2.0 to 10/100 Ethernet bridge (Realtek RTL8152B)
- 2x LED (power, system), 1x button (inside, on the PCB)
- USB 2.0 Type-A plug for power and RTL8152B

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on OpenWrt/LEDE.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agouboot-envtools: ath79: add support for ALFA Network N5Q
Piotr Dymacz [Tue, 12 May 2020 21:44:44 +0000 (23:44 +0200)]
uboot-envtools: ath79: add support for ALFA Network N5Q

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: add support for ALFA Network N5Q
Piotr Dymacz [Tue, 12 May 2020 21:44:10 +0000 (23:44 +0200)]
ath79: add support for ALFA Network N5Q

ALFA Network N5Q is a successor of previous model, the N5 (outdoor
CPE/AP, based on Atheros AR7240 + AR9280). New version is based on
Atheros AR9344.

Support for this device was first introduced in 4b0eebe9df (ar71xx
target) but users are advised to migrate from ar71xx target without
preserving settings as ath79 support includes some changes in network
and LED default configuration. They were aligned with vendor firmware
and recently added N2Q model (both Ethernet ports as LAN, labelled as
LAN1 and LAN2).

Specifications:

- Atheros AR9344
- 550/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R 5 GHz Wi-Fi, with ext. PA (RFPA5542) and LNA, up to 27 dBm
- 2x IPEX/U.FL or MMCX antenna connectors (for PCBA version)
- 8x LED (7 are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, enabled by default)
- header for optional 802.3at/af PoE module
- DC jack for main power input (optional, not installed by default)
- UART (4-pin, 2.54 mm pitch) header on PCB
- LEDs (2x 5-pin, 2.54 mm pitch) header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on OpenWrt/LEDE. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
   device, wait for first blink of all LEDs (indicates network setup),
   then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agouboot-envtools: ath79: add support for ALFA Network N2Q
Piotr Dymacz [Fri, 18 Sep 2020 17:02:29 +0000 (19:02 +0200)]
uboot-envtools: ath79: add support for ALFA Network N2Q

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: add support for ALFA Network N2Q
Piotr Dymacz [Fri, 18 Sep 2020 16:55:23 +0000 (18:55 +0200)]
ath79: add support for ALFA Network N2Q

ALFA Network N2Q is an outdoor N300 AP/CPE based on Qualcomm/Atheros
QCA9531 v2. This model is a successor of the old N2 which was based
on Atheros AR7240. FCC ID: 2AB8795311.

Specifications:

- Qualcomm/Atheros QCA9531 v2
- 650/400/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2T2R 2.4 GHz Wi-Fi with ext. PA (Skyworks SE2623L) and LNA
- 2x 10/100 Mbps Ethernet with passive PoE input in one port (24 V)
- PoE pass through in second port (controlled by GPIO)
- support for optional 802.3af/at PoE module
- 1x mini PCIe slot (PCIe bus, extra 4.2 V for high power cards)
- 2x IPEX/U.FL connectors on PCB
- 1x USB 2.0 mini Type-B (power controlled by GPIO)
- 8x LED (7 of them are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, enabled by default)
- UART (4-pin, 2.54 mm pitch) header on PCB
- LEDs (2x 5-pin, 2.54 mm pitch) header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
   device, wait for first blink of all LEDs (indicates network setup),
   then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agouboot-envtools: ath79: add support for ALFA Network R36A
Piotr Dymacz [Thu, 2 Jul 2020 05:03:49 +0000 (07:03 +0200)]
uboot-envtools: ath79: add support for ALFA Network R36A

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: add support for ALFA Network R36A
Piotr Dymacz [Thu, 2 Jul 2020 05:03:33 +0000 (07:03 +0200)]
ath79: add support for ALFA Network R36A

ALFA Network R36A is a successor of the previous model, the R36 (Ralink
RT3050F based). New version is based on Qualcomm/Atheros QCA9531 v2, FCC
ID: 2AB879531.

Support for this device was first introduced in af8f0629df (ar71xx
target). When updating from previous release (and/or ar71xx target),
user should only adjust the WAN LED trigger type (netdev in ar71xx,
switch port in ath79).

Specifications:

- Qualcomm/Atheros QCA9531 v2
- 650/400/200 MHz (CPU/DDR/AHB)
- 128 MB (R36AH/-U2) or 64 MB (R36A) of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2x 10/100 Mbps Ethernet
- Passive PoE input support (12~36 V) in RJ45 near DC jack
- 2T2R 2.4 GHz Wi-Fi with Qorvo RFFM8228P FEM
- 2x IPEX/U.FL connectors on PCB
- 1x USB 2.0 Type-A
- 1x USB 2.0 mini Type-B in R36AH-U2 version
- USB power is controlled by GPIO
- 6/7x LED (5/6 of them are driven by GPIO)
- 2x button (reset, wifi/wps)
- external h/w watchdog (EM6324QYSP5B, enabled by default)
- DC jack with lock, for main power input (12 V)
- UART (4-pin, 2.54 mm pitch) header on PCB

Optional/additional features in R36A series (R36A was the first model):
- for R36AH:    USB 2.0 hub*
- for R36AH-U2: USB 2.0 hub*, 1x USB 2.0 mini Type-B, one more LED

*) there are at least three different USB 2.0 hub in R36AH/-U2 variants:
- Terminus-Tech FE 1.1
- Genesys Logic GL852G
- Genesys Logic GL850G (used in latests revision)

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
   device, wait for first blink of all LEDs (indicates network setup),
   then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agouboot-envtools: ath79: add support for Samsung WAM250
Piotr Dymacz [Fri, 18 Sep 2020 12:11:23 +0000 (14:11 +0200)]
uboot-envtools: ath79: add support for Samsung WAM250

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: add support for Samsung WAM250
Piotr Dymacz [Fri, 18 Sep 2020 12:11:13 +0000 (14:11 +0200)]
ath79: add support for Samsung WAM250

Samsung WAM250 is a dual-band (selectable, not simultaneous) wireless
hub, dedicated for Samsung Shape Wireless Audio System. The device is
based on Atheros AR9344 (FCC ID: A3LWAM250). Support for this device
was first introduced in e58e49bdbe (ar71xx target).

Specifications:

- Atheros AR9344
- 560/450/225 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2x 10/100 Mbps Ethernet
- 2T2R 2.4/5 GHz Wi-Fi, with ext. PA (SE2598L, SE5003L) and LNA
- 1x USB 2.0
- 4x LED (all are driven by GPIO)
- 2x button (reset, wps/speaker add)
- DC jack for main power input (14 V)
- UART header on PCB (J4, RX: 3, TX: 5)

Flash instruction:

This device uses dual-image (switched between upgrades) with a common
jffs2 config partition. Fortunately, there is a way to disable this mode
so that more flash space can be used by OpenWrt image.

You can easily access this device over telnet, using root/root
credentials (the same also work for serial console access).

1. Make sure that your device uses second (bootpart=2) image using
   command: "fw_printenv bootpart".
2. If your device uses first image (bootpart=1), perform upgrade to the
   latest vendor firmware (after the update, device should boot from
   second partition) using web gui (default login: admin/1234567890).
3. Rename "sysupgrade" image to "firmware.bin", download it (you can use
   wget, tftp or ftpget) to "/tmp" and issue below commands:

   mtd_debug erase /dev/mtd3 0 $(wc -c /tmp/firmware.bin | awk -F' ' '{print $1}')
   mtd_debug write /dev/mtd3 0 $(wc -c /tmp/firmware.bin)
   fw_setenv bootpart
   fw_setenv bootcmd "bootm 0x9f070000"
   reboot

Revert to vendor firmware instruction:

1. Download vendor firmware to "/tmp" device and issue below commands:

   fw_setenv bootpart 1
   sysupgrade -n -F SS_BHUB_v2.2.05.bin

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
4 years agoath79: image: don't combine kmod-usb2 with kmod-usb-chipidea2
Piotr Dymacz [Fri, 18 Sep 2020 11:56:53 +0000 (13:56 +0200)]
ath79: image: don't combine kmod-usb2 with kmod-usb-chipidea2

Include of kmod-usb-chipidea2 is enough to support USB host mode in
devices with Atheros AR9331 WiSOC.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>