openwrt/staging/chunkeey.git
4 years agombedtls: update to 2.16.7
Magnus Kroken [Sat, 25 Jul 2020 12:19:28 +0000 (14:19 +0200)]
mbedtls: update to 2.16.7

Mbed TLS 2.16.7 is a maintenance release of the Mbed TLS 2.16 branch,
and provides bug fixes and minor enhancements. This release includes
fixes for security issues and the most severe one is described in more
detail in a security advisory:
https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2020-07

* Fix a side channel vulnerability in modular exponentiation that could
reveal an RSA private key used in a secure enclave.
* Fix side channel in mbedtls_ecp_check_pub_priv() and
mbedtls_pk_parse_key() / mbedtls_pk_parse_keyfile() (when loading a private
key that didn't include the uncompressed public key), as well as
mbedtls_ecp_mul() / mbedtls_ecp_mul_restartable() when called with a NULL
f_rng argument. An attacker with access to precise enough timing and
memory access information (typically an untrusted operating system
attacking a secure enclave) could fully recover the ECC private key.
* Fix issue in Lucky 13 counter-measure that could make it ineffective when
hardware accelerators were used (using one of the MBEDTLS_SHAxxx_ALT
macros).

Due to Mbed TLS moving from ARMmbed to the Trusted Firmware project, some
changes to the download URLs are required. For the time being, the
ARMmbed/mbedtls Github repository is the canonical source for Mbed TLS.

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
[Use https://codeload.github.com and new tar.gz file]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agoexfat: update to 5.8.7
Rosen Penev [Sat, 1 Aug 2020 22:54:51 +0000 (15:54 -0700)]
exfat: update to 5.8.7

93e2334 exfat: fix build error on linux-5.4,5.5 kernel
01a7b8c exfat: fix name_hash computation on big endian systems
8f92bc0 exfat: fix wrong size update of stream entry by typo

Removed commented material that was for testing compilation.

Removed patch as the error was fixed upstream. First entry above.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agokernel: add ar5523 driver
mohammad rasim [Tue, 11 Aug 2020 19:13:25 +0000 (22:13 +0300)]
kernel: add ar5523 driver

The driver currently only support managed and monitor mode

Changes since v1:
- drop the @DRIVER_11N_SUPPORT dependency

Signed-off-by: mohammad rasim <mohammad.rasim96@gmail.com>
4 years agokernel: backport RTL8366RB patches
Linus Walleij [Tue, 11 Aug 2020 11:11:08 +0000 (13:11 +0200)]
kernel: backport RTL8366RB patches

These upstream patches makes the RTL8366RB DSA switch work
properly with OpenWrt, the D-Link DIR-685 gets network and
can be used as a router, and the same should be applicable
for any other device that want to enable the RTL8366RB
through Device Tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 years agoipset: update to version 7.6
Josef Schlehofer [Fri, 14 Aug 2020 19:18:57 +0000 (21:18 +0200)]
ipset: update to version 7.6

Changelog:
https://ipset.netfilter.org/changelog.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 years agouClibc-ng: refresh config and remove several legacy options
Rosen Penev [Fri, 14 Aug 2020 21:30:03 +0000 (14:30 -0700)]
uClibc-ng: refresh config and remove several legacy options

SUSV3_LEGACY_MACROS are completely unused since SUSV3_LEGACY is enabled

HAS_OBSOLETE_BSD_SIGNAL is completely deprecated functionality.

HAS_BSD_RES_CLOSE is completely deprecated functionality.

HAS_FTW is deprecated SUSV4 functionality. Saves ~4.5kb.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agouClibc-ng: update package from 1.0.31 to 1.0.34
Donald Hoskins [Fri, 14 Aug 2020 21:30:02 +0000 (14:30 -0700)]
uClibc-ng: update package from 1.0.31 to 1.0.34

Update package from 1.0.31 to 1.0.34

Tested mips64/octeonplus/octeon3
Build against: OpenWrt SNAPSHOT r13871-546e140382 / LuCI Master git-20.186.79919-0c47989
Build Kernel: 5.4.51

Signed-off-by: Donald Hoskins <grommish@gmail.com>
4 years agocmake: Disable use of package registries
Jeffery To [Mon, 17 Aug 2020 18:10:25 +0000 (02:10 +0800)]
cmake: Disable use of package registries

CMake provides a user package registry (stored in ~/.cmake/packages) and
a system package registry (not available on non-Windows platforms).

The "export(PACKAGE)" command may store information in the user package
registry, and the "find_package()" command may search both user and
system package registries for information.

This sets various variables to disable the use of these package
registries (both saving and retrieval of package information).

This also sets deprecated variables that perform similar functions, in
case external toolchains include older versions of CMake.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
4 years agolinux-firmware: add support for Marvell SDIO 8997
Josef Schlehofer [Tue, 18 Aug 2020 12:23:03 +0000 (14:23 +0200)]
linux-firmware: add support for Marvell SDIO 8997

For example, Turris MOX SDIO card is using Marvell (NXP) 88W8997 chip.

Technical specs of 88W8997:
- 28nm
- 802.11 ac wave-2
It should support simultaneous dual-band 2.4 GHz and 5 GHz,
but it requires to support multiSSID for one Wi-Fi card [1], which is
not supported in OpenWrt, yet and if we tried to run two instances of
hostapd, it didn't work well, so it's 2.4 GHz or 5 GHz.
- 2x2 MU-MIMO
- Bluetooth 5.1 with LE support
- Unfortunately, there can be connected only 8 clients at the same time
(limited by FW, however, there exists "enterprise" chip, its equal chip,
it is just different that it uses different FW)

Symlink is necessary as mwifiex_sdio tries to load sd8997_uapsta.bin
[   13.651182] mwifiex_sdio mmc0:0001:1: Direct firmware load for mrvl/sd8997_uapsta.bin failed with error -2
[   13.661065] mwifiex_sdio mmc0:0001:1: Falling back to user helper
[   13.684880] firmware mrvl!sd8997_uapsta.bin: firmware_loading_store: map pages failed
[   13.695910] mwifiex_sdio mmc0:0001:1: Failed to get firmware mrvl/sd8997_uapsta.bin
[   13.703774] mwifiex_sdio mmc0:0001:1: info: _mwifiex_fw_dpc: unregister device

Pali Rohár sent two patches [2] [3] into kernel to fix default firmware name for SD8997, so
the symlink will not be required in the future versions of kernel, which
was accepted and right now, according to my details it was backported to 5.8, 5.7 and 5.4

[1] https://bugs.openwrt.org/index.php?do=details&task_id=3243
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=00eb0cb36fad5
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2e1fcac52a9ea

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 years agolinux-firmware: update to version 20200817
Josef Schlehofer [Mon, 17 Aug 2020 12:42:24 +0000 (14:42 +0200)]
linux-firmware: update to version 20200817

git log --pretty=oneline --abbrev-commit 20200619..20200817
7a30af1 (HEAD -> master, tag: 20200817, origin/master, origin/main, origin/HEAD) Merge branch 'i915-firmware-updates-08-2020' of git://anongit.freedesktop.org/drm/drm-firmware into main
923bfa6 brcm: Add brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt symlink
33e11ab rtl_bt: Update RTL8822C BT UART firmware to 0x0599_8A4F
1b81373 i915: Add DMC firmware 2.02 for RKL
bdf8d7a i915: Add DMC firmware 2.08 for TGL
1bcdc9a i915: Add HuC firwmare v7.5.0 for TGL
c331aa9 amdgpu: update vega20 firmware for 20.30
a434387 amdgpu: update vega12 firmware for 20.30
49e9ea8 amdgpu: update vega10 firmware for 20.30
d89e9b1 amdgpu: update renoir firmware for 20.30
373c08a amdgpu: update raven2 firmware for 20.30
69ca06e amdgpu: update raven firmware for 20.30
12042c2 amdgpu: update picasso firmware for 20.30
2c9d97a amdgpu: update navi14 firmware for 20.30
eaa3e55 amdgpu: update navi10 firmware for 20.30
9bc3789 linux-firmware: update NXP SDSD-8997 firmware image
6c79b68 Mellanox: Add new mlxsw_spectrum firmware xx.2008.1036
2b823fc (tag: 20200721) linux-firmware: Update AMD SEV firmware
e33306f Merge branch 'qca_0714' of https://github.com/bgodavar/qca_bt_fw into main
1d1c80b Update to 20200629111339 version to aligh SDK. Mainly fix DFS false alarm.
69c7f0b rtl_nic: update firmware for RTL8125B
f39b687 Update binary firmware for MT7663 based devices to include firmware offload feature and low power feature.
3882702 QCA: Add correct bin file for WCN3991
3d3a06f linux-firmware: Update firmware file for Intel Bluetooth AX201
b7849f7 linux-firmware: Update firmware file for Intel Bluetooth AX200
07b0375 linux-firmware: Update firmware file for Intel Bluetooth 9560
44bf1b1 linux-firmware: Update firmware file for Intel Bluetooth 9260
7169ab3 linux-firmware: wilc1000: add wilc1000 v15.4 FW
b1497fc Merge https://github.com/rjliao-qca/qca-btfw into main
c4e04b4 QCA: Update Bluetooth firmware for QCA6390
74ac3b5 Merge https://github.com/bgodavar/qca_wcn3991 into main
1a0c0c2 amdgpu: add UVD firmware for SI asics
24cc617 QCA: Update WCN3991 FW files

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 years agokernel: bump 5.4 to 5.4.60
Adrian Schmutzler [Fri, 21 Aug 2020 16:16:42 +0000 (18:16 +0200)]
kernel: bump 5.4 to 5.4.60

Deleted upstream patches:
  generic:
    041-genirq-affinity-Make-affinity-setting-if-activated-o.patch
  ipq806x:
    093-5-v5.8-ipq806x-PCI-qcom-Define-some-PARF-params-needed-for-ipq8064-SoC.patch
    093-6-v5.8-ipq806x-PCI-qcom-Add-support-for-tx-term-offset-for-rev-2_1_0.patch

Merged manually:
  ipq806x:
    093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch
  layerscape:
    804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch

Build-tested: ath79/generic, ipq806x, layerscape/armv7, layerscape/armv8_64b
Run-tested: ipq806x (R7800)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoRevert "scripts/download: add sources CDN as first mirror"
Jo-Philipp Wich [Mon, 24 Aug 2020 13:53:17 +0000 (15:53 +0200)]
Revert "scripts/download: add sources CDN as first mirror"

This reverts commit c737a9ee6a9c47b6e553ac81bf293b1161e59799.

The source CDN has been discontinued in its current form and will take a
while to be reestablished. Even then it makes little sense to put a CDN
before other CDNs such as kernel.org, apache.org, sourceforge etc.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agokernel: set WATCHDOG_CORE dependency in kmod-hwmon-sch5627
Adrian Schmutzler [Sat, 22 Aug 2020 11:20:07 +0000 (13:20 +0200)]
kernel: set WATCHDOG_CORE dependency in kmod-hwmon-sch5627

For many target we have added CONFIG_WATCHDOG_CORE=y to the target
config due to the following error:

 Package kmod-hwmon-sch5627 is missing dependencies for the following
 libraries:
 watchdog.ko

However, actually the proper way appears to be setting the
dependency for the kmod-hwmon-sch5627 package, as the error message
demands.

Do this in this patch and remove the target config entries added
due to this issue.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq806x: replace pci patchset with upstream version
Ansuel Smith [Sat, 8 Aug 2020 14:50:04 +0000 (16:50 +0200)]
ipq806x: replace pci patchset with upstream version

Changes:
- Update patches
- Update dts with new binding
    Tx term offset dropped and replaced with a new compatible

Removed:
- 0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x
    Pci init does the same exact thing (was needed in older kernel version)
- 0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B
    Rejected upstream, can't find any reason to have this. No regression with
    testing it on R7800.

Tested on R7800 (ipq8065), R7500 v2 ("ipq8064-v2")

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
[rebase and refresh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoconfig: kernel: fix missed CGROUP_HUGETLB symbol
Yuan Tao [Sat, 22 Aug 2020 11:31:20 +0000 (19:31 +0800)]
config: kernel: fix missed CGROUP_HUGETLB symbol

The symbol KERNEL_CGROUP_HUGETLB is always used whenever KERNEL_CGROUPS is enabled.
The absence of this notation will cause the user to be asked to enter this parameter the first time it is compiled.

Signed-off-by: Yuan Tao <ty@wevs.org>
4 years agobusybox: fix typo in Makefile
Daniel Golle [Sun, 23 Aug 2020 22:58:18 +0000 (23:58 +0100)]
busybox: fix typo in Makefile

'conffiiles' -> 'conffiles'

Fixes: 2e06f8ae24 ("busybox: add selinux variant")
Reported-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agof2fs-tools: add selinux variant
Paul Spooren [Thu, 20 Aug 2020 01:02:24 +0000 (15:02 -1000)]
f2fs-tools: add selinux variant

This variant is build with `libselinux` and required to set labels
during runtime.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agobusybox: add selinux variant
Paul Spooren [Wed, 19 Aug 2020 21:40:27 +0000 (11:40 -1000)]
busybox: add selinux variant

This commit adds a `selinux` variant which comes with with a number of
SELinux applets and also SELinux label support.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoramips: mt7621: use lzma-loader for ZBT-WG3526
Rustam Gaptulin [Sun, 23 Aug 2020 10:02:48 +0000 (15:02 +0500)]
ramips: mt7621: use lzma-loader for ZBT-WG3526

The wg3526 fails to boot if the kernel is large.
Enabling lzma-loader resolves the issue on both the wg3526-16m
and wg3526-32m.

Fixes: FS#3143
Signed-off-by: Rustam Gaptulin <rascal6@gmail.com>
[commit message facelift]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agonat46: update to latest git HEAD
Hans Dedecker [Sun, 23 Aug 2020 18:07:00 +0000 (20:07 +0200)]
nat46: update to latest git HEAD

362640b nat46-module: fix compilation with kernel 5.6

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agotools/ccache: update to 3.7.11
Hannu Nyman [Sun, 23 Aug 2020 14:04:07 +0000 (17:04 +0300)]
tools/ccache: update to 3.7.11

Update ccache to 3.7.11

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agotools/cmake: update to 3.18.2
Hannu Nyman [Sun, 23 Aug 2020 14:11:11 +0000 (17:11 +0300)]
tools/cmake: update to 3.18.2

Update cmake to version 3.18.2.
Refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agotools/mpfr: update to 4.1.0
Hannu Nyman [Sun, 23 Aug 2020 14:08:14 +0000 (17:08 +0300)]
tools/mpfr: update to 4.1.0

Update mpfr to version 4.1.0.
Refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agobuild: SDK/IB reproducible and faster compression
Paul Spooren [Thu, 13 Aug 2020 23:46:43 +0000 (13:46 -1000)]
build: SDK/IB reproducible and faster compression

Both IB and SDK now use the same logic for packing.

This commit add reproducible multithread compression to the SDK and
corrects the file mtime for both. Previously all files where just copied
over from the build system, generating random mtimes.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agotools/bison: update to 3.7.1
Hannu Nyman [Sat, 22 Aug 2020 15:19:20 +0000 (18:19 +0300)]
tools/bison: update to 3.7.1

Update GNU bison to version 3.7.1.
Refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agocurl: disable zstd support
Hans Dedecker [Sun, 23 Aug 2020 08:47:04 +0000 (10:47 +0200)]
curl: disable zstd support

Fixes package libcurl build issue :

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

Suggested-by: Syrone Wong <wong.syrone@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agomt76: update to the latest version
Felix Fietkau [Sat, 22 Aug 2020 19:23:42 +0000 (21:23 +0200)]
mt76: update to the latest version

8027c7d95274 mt76: mt7615: fix reading airtime statistics
3743e7c904de mt76: mt7915: optimize mt7915_mac_sta_poll
d2fe5e8330c6 mt76: mt7915: fix variable initialization in sta poll
692065b4c9db mt76: mt7915: only enable hw amsdu for AP and station
b54157df7c27 mt7615: update firmware to version 20200814
888990e159d2 mt76: use threaded NAPI
3a3306e408f2 mt76: mt7915: add 802.11 encap offload support
795b772cd392 mt76: mt7915: add encap offload for 4-address mode stations
55d79ab7fa23 mt76: dma: update q->queued immediately on cleanup
23dbd64d6324 mt76: mt7915: schedule tx tasklet in mt7915_mac_tx_free
5cf34cda70af mt76: mt7915: significantly reduce interrupt load
87a69429069f mt76: add utility functions for deferring work to a kernel thread
2f1318a06d0a mt76: convert from tx tasklet to tx worker thread
72f0979566be mt76: mt7915: add support for accessing mapped registers via bus ops
f9ce5c776c9a mt76: use ieee80211_rx_list to pass frames to the network stack as a batch
25dd8bdae3bf mt76: mt7615: significantly reduce interrupt load
7c5445dec812 mt76: mt7615: release mutex in mt7615_reset_test_set
e68c3e254822 mt76: mt7663s: use NULL instead of 0 in sdio code
4368380e20e7 mt76: mt7663s: fix resume failure
bea386f27914 mt76: mt7663s: fix unable to handle kernel paging request
b8780c44c716 mt76: mt7615: fix possible memory leak in mt7615_tm_set_tx_power
37a1c7ed6796 mt76: mt7615: fix a possible NULL pointer dereference in mt7615_pm_wake_work
8c7c1a207d25 mt76: fix a possible NULL pointer dereference in mt76_testmode_dump

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoath79: fix/improve LED control for TL-WPA8630 v1/v2
Joe Mullally [Fri, 21 Aug 2020 06:02:23 +0000 (07:02 +0100)]
ath79: fix/improve LED control for TL-WPA8630 v1/v2

The TL-WPA8630 v1 and v2 have the same LED Control GPIO configuration
according to the TP-Link GPL sources. Set the GPIO to output to make
it work and set to Active Low. It defaults to LEDs on at bootup.

To turn all LEDs off:
  echo 0 > /sys/class/gpio/tp-link\:led\:control/value
To turn all LEDs on:
  echo 1 > /sys/class/gpio/tp-link\:led\:control/value

Change the "LED" button from BTN_0 to KEY_LIGHTS_TOGGLE to match other
devices and the button guide, and to reduce the number of unintuitive
"BTN_X" inputs.

Fixes: ab74def0db93 ("ath79: add support for TP-Link TL-WPA8630P v2")
Signed-off-by: Joe Mullally <jwmullally@gmail.com>
[shorten commit title, minor commit message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq806x: create shared DTSI for EA7500 v1 and EA8500
Adrian Schmutzler [Fri, 14 Aug 2020 15:10:00 +0000 (17:10 +0200)]
ipq806x: create shared DTSI for EA7500 v1 and EA8500

Most of the definitions for the two devices are shared, so put
them in a shared DTSI.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomac80211: rework encapsulation offload support
Felix Fietkau [Mon, 17 Aug 2020 16:27:25 +0000 (18:27 +0200)]
mac80211: rework encapsulation offload support

Fix a number of deficiencies in the existing API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agokernel: add patch that adds support for running threaded NAPI poll functions
Felix Fietkau [Sun, 26 Jul 2020 13:24:42 +0000 (15:24 +0200)]
kernel: add patch that adds support for running threaded NAPI poll functions

This is helps on workloads with CPU intensive poll functions (e.g. 802.11)
on multicore systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agouml: update to linux 5.4
Felix Fietkau [Thu, 20 Aug 2020 15:14:36 +0000 (17:14 +0200)]
uml: update to linux 5.4

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agocurl: update to version 7.72.0
Josef Schlehofer [Fri, 21 Aug 2020 15:17:47 +0000 (17:17 +0200)]
curl: update to version 7.72.0

Changes in this version can be found here:
https://curl.haxx.se/changes.html#7_72_0

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 years agokernel: backport a fix for a regression that broke IRQ affinity on ARM
Felix Fietkau [Fri, 21 Aug 2020 18:44:25 +0000 (20:44 +0200)]
kernel: backport a fix for a regression that broke IRQ affinity on ARM

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomac80211: add missing return code checks in AQL improvements
Felix Fietkau [Fri, 21 Aug 2020 16:06:50 +0000 (18:06 +0200)]
mac80211: add missing return code checks in AQL improvements

Fixes throughput issues with some drivers (e.g. ath10k)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoramips: remove legacy ethernet driver components for mt7621
Adrian Schmutzler [Fri, 14 Aug 2020 10:01:31 +0000 (12:01 +0200)]
ramips: remove legacy ethernet driver components for mt7621

The mt7621 subtarget has been switched to DSA quite a while ago and
seems to run sufficiently fine. Build with older kernels than 5.4 has
been disabled directly during the kernel bump, so our local ethernet
driver is unused in master since then.

Therefore, let's remove the mt7621-specific parts of "our" ethernet
driver, so we don't have to maintain them and it's obvious to
everybody that they are not used anymore.

This also drops the offloading components as this was specifically
implemented to depend on mt7621.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agopistachio: use generic diag.sh
Adrian Schmutzler [Thu, 20 Aug 2020 20:18:41 +0000 (22:18 +0200)]
pistachio: use generic diag.sh

Remove local diag.sh in favor of generic one and add the required
led-* aliases to DTS.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agopistachio: use vendor_model scheme for device/image name
Adrian Schmutzler [Thu, 20 Aug 2020 20:18:40 +0000 (22:18 +0200)]
pistachio: use vendor_model scheme for device/image name

This uses the vendor_model scheme for the device/image name in
order to make this consistent to most other targets.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agopistachio: Add kmod-ca8210 wpan-tools by default
Hauke Mehrtens [Fri, 21 Aug 2020 09:04:57 +0000 (11:04 +0200)]
pistachio: Add kmod-ca8210 wpan-tools by default

A ca8210 chip is soldered onto the board, add the driver by default.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agopistachio: Add SC16IS7XX device driver
Hauke Mehrtens [Sat, 15 Aug 2020 14:45:16 +0000 (16:45 +0200)]
pistachio: Add SC16IS7XX device driver

This device is used to control extra UARTs and LEDs on the board.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agopistachio: Add extra devices to dts file
Hauke Mehrtens [Sat, 15 Aug 2020 14:42:29 +0000 (16:42 +0200)]
pistachio: Add extra devices to dts file

This adds some extra devices to the DTS file.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agopistachio: Add mtd device name from dts
Hauke Mehrtens [Wed, 12 Aug 2020 22:45:12 +0000 (00:45 +0200)]
pistachio: Add mtd device name from dts

Parse the "linux,mtd-name" property also for SPI NAND flashes.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agopistachio: Fix Null pointer access in pwm-img.c
Hauke Mehrtens [Tue, 11 Aug 2020 22:52:36 +0000 (00:52 +0200)]
pistachio: Fix Null pointer access in pwm-img.c

This fixes a crash when booting the board.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agopistachio: Make patches and configuration apply on to of 5.4
Hauke Mehrtens [Sun, 9 Aug 2020 17:47:17 +0000 (19:47 +0200)]
pistachio: Make patches and configuration apply on to of 5.4

This refreshes the patches, removes patches already applied upstream and
removes the SPI NAND framework to use the upstream version.

In addition it also refreshes the kernel configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agopistachio: Copy kernel 4.14 to 5.4
Hauke Mehrtens [Sun, 9 Aug 2020 17:27:48 +0000 (19:27 +0200)]
pistachio: Copy kernel 4.14 to 5.4

This only copies the patches and configuration without doing any
modification to the files.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: Add GigaDevice GD5F4GQ4xC SPI NAND flash
Hauke Mehrtens [Sat, 15 Aug 2020 17:34:00 +0000 (19:34 +0200)]
kernel: Add GigaDevice GD5F4GQ4xC SPI NAND flash

This flash was found on the Imagination Technologies Creator Ci40 (Marduk).

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: wpan: Add kmod-ca8210
Hauke Mehrtens [Sat, 15 Aug 2020 14:44:23 +0000 (16:44 +0200)]
kernel: wpan: Add kmod-ca8210

This device is found on the pistachio marduk board.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: wpan: Add missing AUTOLOAD to load kernel module
Hauke Mehrtens [Sat, 15 Aug 2020 14:43:19 +0000 (16:43 +0200)]
kernel: wpan: Add missing AUTOLOAD to load kernel module

These kernel modules were not loaded automatically, fix this by adding
the AUTOLOAD definition.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agoath79: add support for TP-Link TL-WR710N v2.1
Adrian Schmutzler [Tue, 18 Aug 2020 11:49:15 +0000 (13:49 +0200)]
ath79: add support for TP-Link TL-WR710N v2.1

This adds support for the TP-Link TL-WR710N v2.1. It is basically a
re-issue of the v1.2.

Specifications:

SoC:       Atheros AR9331
CPU:       400 MHz
Flash:     8 MiB
RAM:       32 MiB
WiFi:      2.4 GHz b/g/n
Ethernet:  2x 100M ports
USB:       1x 2.0

The only difference from the v1 is the TP-Link hardware ID/revision.

Attention:
The TL-WR710N v2.0 (!) has only 4 MB flash and cannot be flashed with
this image. It has a different TPLINK_HWREV, so accidental flashing
of the factory image should be impossible without additional measures.

Unfortunately, the v2.0 in ar71xx has the same board name, so sysupgrade
from ar71xx v2.0 into ath79 v1/v2.1 will not be prevented, but will brick
the device.

Flashing instruction:

Upload the factory image via the OEM firmware GUI upgrade mechanism.

Further notes:

To make implementation easier if somebody desires to port the 4M v2.0,
this already creates two DTSI files.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Fabian Eppig <fabian@eppig.de>
4 years agolantiq: remove vmmc node from FritzBox 7412 dts
Aleksander Jan Bajkowski [Tue, 18 Aug 2020 20:25:38 +0000 (22:25 +0200)]
lantiq: remove vmmc node from FritzBox 7412 dts

As described in commit commit 891a7007598d ("lantiq: enable second VPE
on Fritz!Box 7412"):

 The AVM Fritz!Box 7412 does not use the VMMC part of the Lantiq chip but
 rather a proprietary solution based on the DECT chip for the FXS ports.

We can remove last traces of vmmc in dts.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agodnsmasq: abort dhcp_check on interface state
David Bauer [Tue, 18 Aug 2020 13:09:22 +0000 (15:09 +0200)]
dnsmasq: abort dhcp_check on interface state

Abort the dhcp-check based on the interface instead of the carrier
state. In cases where the interface is up but the carrier is down,
netifd won't cause a dnsmasq reload, thus dhcp won't become active
on this interface.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agokernel: bump 5.4 to 5.4.59
Adrian Schmutzler [Wed, 19 Aug 2020 11:25:42 +0000 (13:25 +0200)]
kernel: bump 5.4 to 5.4.59

Removed since added upstream:
  bcm27xx:
    950-0428-staging-vchiq_arm-Add-a-matching-unregister-call.patch
  lantiq:
    0800-spi-lantiq-ssc-Fix-warning-by-using-WQ_MEM_RECLAI.patch

Manually adjusted patches:
  layerscape:
    801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch

Build-tested: ath79/generic, ramips, lantiq/xrx200, lantiq/xway,
   mvebu/cortexa9, sunxi/a53
Run-tested: ipq806x (R7800), layerscape (LS1012A-FRDM, LS1046A-RDB)

Building on layerscape is only possible with workaround from PR #3179.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [layerscape]
4 years agolayerscape: remove useless pairs of kernel patches
Adrian Schmutzler [Wed, 19 Aug 2020 13:41:30 +0000 (15:41 +0200)]
layerscape: remove useless pairs of kernel patches

The layerscape kernel patches appears to be just some uncleaned local
development tree, where patches are sometimes directly followed by
their revert. While this does not seem a problem in the first place,
it becomes incredibly unpleasant when the upstream kernel changes in
the relevant areas and requires rebase.

This removes all these patch-revert pairs and refreshs the rest.

It removes about 44000 lines of entirely useless code.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotreewide: use wpad-basic-wolfssl as default
Petr Štetiar [Mon, 27 Jul 2020 10:30:41 +0000 (12:30 +0200)]
treewide: use wpad-basic-wolfssl as default

In order to support SAE/WPA3-Personal in default images. Replace almost
all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for
consistency. Keep out ar71xx from the list as it won't be in the next
release and would only make backports harder.

Build-tested (build-bot settings):
ath79: generic, ramips: mt7620/mt76x8/rt305x, lantiq: xrx200/xway,
sunxi: a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
[rebase, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm27xx: remove no-op patch pair
Adrian Schmutzler [Wed, 19 Aug 2020 11:49:30 +0000 (13:49 +0200)]
bcm27xx: remove no-op patch pair

Patch 1 introduces a change, and patch 2 reverts it again. Remove
both patches and achieve the same outcome.

Refreshed patches for the target as well.

Cc: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agomap: rename type to maptype (FS#3287)
Remi NGUYEN VAN [Sat, 15 Aug 2020 14:03:26 +0000 (23:03 +0900)]
map: rename type to maptype (FS#3287)

"type" is already used as a common option for all protocols types, so
using the same option name for the map type makes the configuration
ambiguous. Luci in particular adds controls for both options and sees
errors when reading the resulting configuration.

Use "maptype" instead, but still fallback to "type" if "maptype" is not
set. This allows configurations to migrate without breaking old
configurations.

This addresses FS#3287.

Signed-off-by: Remi NGUYEN VAN <remi.nguyenvan+openwrt@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
4 years agotools/tplink-safeloader: use soft_ver 1.9.1 for archer c6 v2
Alexander Couzens [Mon, 3 Aug 2020 21:51:53 +0000 (23:51 +0200)]
tools/tplink-safeloader: use soft_ver 1.9.1 for archer c6 v2

TP-LINK published a firmware update for the archer c6 v2.
This updates also reached the factory devices. Newer software version
rejects downgrading to 1.2.x. Use 1.9.x to allow installing the factory images
and have a little bit time to change it again.

Tested on archer c6 v2 with firmware 1.3.1

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
4 years agokernel: bump 5.4 to 5.4.58
John Audia [Tue, 11 Aug 2020 16:13:19 +0000 (12:13 -0400)]
kernel: bump 5.4 to 5.4.58

This PR is a blend of several kernel bumps authored by ldir taken from his
staging tree w/ some further adjustments made by me and update_kernel.sh

Summary:
Deleted upstreamed patches:
  generic:
    742-v5.5-net-sfp-add-support-for-module-quirks.patch
    743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch
  bcm63xx:
    022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch
    024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch
  mediatek:
    0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch

Deleted patches applied differently upstream:
  generic:
    641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch

Manually merged patches:
  generic:
    395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch
  bcm27xx:
    950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
  layerscape:
    701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch

Build system: x86_64
Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711,
  imx6, mvebu/cortexa9, sunxi/a53
Run-tested: Netgear R7800 (ipq806x)

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu]
Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64]
[do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch,
adjust and refresh patches, adjust commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
4 years agoath79: mikrotik: erase firmware on SPI NOR before install
Thibaut VARÈNE [Mon, 17 Aug 2020 10:44:13 +0000 (12:44 +0200)]
ath79: mikrotik: erase firmware on SPI NOR before install

On Mikrotik SPI NOR devices, the firmware partition must be erased when
flashing from stock firmware, otherwise leftover bits (in particular a
kernel signature) can trigger a boot loop.

When booted from initramfs (the only way to install OpenWRT on these
devices), this patch unconditionally erases the firmware partition in
the do_upgrade() stage for all supported SPI NOR devices.

This is forward-ported from ed49d0876 and 20452a8db

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agogeneric: platform/mikrotik: fix incorrect test
Thibaut VARÈNE [Tue, 18 Aug 2020 09:57:31 +0000 (11:57 +0200)]
generic: platform/mikrotik: fix incorrect test

The test is meant to check the result of the preceding kmalloc()

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoRevert "bcm53xx: remove useless echo in 02_network"
Adrian Schmutzler [Tue, 18 Aug 2020 09:44:10 +0000 (11:44 +0200)]
Revert "bcm53xx: remove useless echo in 02_network"

This reverts commit b1f6a5d9dffd8da30800e9e66ea772554bbba778.

In this particular case, the echo command was _not_ useless, but
converted the newlines back to spaces.

Add a comment into the code to make that obvious for the next one
looking at it like me.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoltq-dsl-base: remove useless echos in lantiq_dsl.sh
Adrian Schmutzler [Mon, 17 Aug 2020 21:23:37 +0000 (23:23 +0200)]
ltq-dsl-base: remove useless echos in lantiq_dsl.sh

The is no reason to catch the output by $() and then echo it again.

Remove the useless echos.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm53xx: remove useless echo in 02_network
Adrian Schmutzler [Mon, 17 Aug 2020 21:16:58 +0000 (23:16 +0200)]
bcm53xx: remove useless echo in 02_network

The output is already produced in the inner $() brackets, no need
to catch and echo it again.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agorockchip: remove useless echo in 40-net-smp-affinity
Adrian Schmutzler [Mon, 17 Aug 2020 21:13:57 +0000 (23:13 +0200)]
rockchip: remove useless echo in 40-net-smp-affinity

The command in the $() brackets will already provide the same output.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoapm821xx: tidy up 10-fix-wifi-mac
Adrian Schmutzler [Mon, 17 Aug 2020 21:09:37 +0000 (23:09 +0200)]
apm821xx: tidy up 10-fix-wifi-mac

This applies some cosmetic style fixes:
- remove useless echo
- remove double equal sign (specific to bash)
- add quotes for -n check

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: fix syntax error in ar7240_tplink_tl-wa.dtsi
Adrian Schmutzler [Mon, 17 Aug 2020 16:26:55 +0000 (18:26 +0200)]
ath79: fix syntax error in ar7240_tplink_tl-wa.dtsi

The node needs to be terminated by a semicolon.

Fixes: 8484a764df20 ("ath79: ar724x: make sure builtin-switch is
enabled in DT")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: change WPS to Wifi button on TL-WPA8630P v2
Adrian Schmutzler [Sun, 16 Aug 2020 00:07:14 +0000 (02:07 +0200)]
ath79: change WPS to Wifi button on TL-WPA8630P v2

Both TL-WPA8630(P) v1 and v2 feature a button labelled "WiFi".
While this is implemented as KEY_RFKILL for v1 in ar71xx and ath79,
the v2 sets it up as WPS button.

According to the manual, the behavior in OEM firmware is:
"Press and hold the button for 1 second to copy wireless settings
from the main router to the extender. Go to Wi-Fi Clone for more
information. Press and hold the button for at least 5 seconds to
turn the wireless function on or off."

Consequently, and since this is historic behavior on v1 in OpenWrt,
we set this button to KEY_RFKILL on both revisions.

Fixes: ab74def0db93 ("ath79: add support for TP-Link TL-WPA8630P v2")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq806x: move further common nodes to the DTSI files
Adrian Schmutzler [Fri, 14 Aug 2020 14:31:40 +0000 (16:31 +0200)]
ipq806x: move further common nodes to the DTSI files

The moves a few additional common nodes to the common DTSI files
for qcom-ipq8064-v2.0 and qcom-ipq8065 devices.

Remove a few redundant definitions on the way.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: ar724x: make sure builtin-switch is enabled in DT
Adrian Schmutzler [Fri, 14 Aug 2020 13:09:29 +0000 (15:09 +0200)]
ath79: ar724x: make sure builtin-switch is enabled in DT

On ar7240/ar7241 the mdioX node with the builtin-switch is enabled
in the DTSI files, but the parent ethX node is left disabled. It
only gets enabled per device or device family, and has not been
enabled at all yet for the TP-Link WA devices with ar7240, making
the switch unavailable there.

This patch makes sure &eth0/&eth1 nodes are enabled together with
the &mdio0/&mdio1 nodes containing the builtin-switch.
For ar7240_tplink_tl-wa.dtsi, &eth0 is properly hidden again via
  compatible = "syscon", "simple-mfd";

This partially fixes FS#2887, however it seems dmesg still does
not show cable (dis)connect in dmesg for ar7240 TP-Link WA
devices.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: fix LED labels for Asus RT-AC65P
Adrian Schmutzler [Mon, 17 Aug 2020 12:57:52 +0000 (14:57 +0200)]
ramips: fix LED labels for Asus RT-AC65P

The leds block was copied over from the RT-AC85P DTS to the common
DTSI while keeping the device-specific model name in the label.

This moves the LEDs back to the DTS files and adjusts the names to
properly resemble the model name of the devices used at, just like
it is handled on most other devices.

Fixes: 7c5f712e4fec ("ramips: add support for Asus RT-AC65P")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoat91: drop obsolete empty Makefiles
Adrian Schmutzler [Sun, 16 Aug 2020 23:22:36 +0000 (01:22 +0200)]
at91: drop obsolete empty Makefiles

This files have been emptied during subtarget consolidation, but
not removed. Remove them now.

Fixes: aff084adf339 ("at91: Merge SAMA5 subtargets")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoocteon: add support for Itus Shield Router
Donald Hoskins [Wed, 22 Jul 2020 09:26:33 +0000 (05:26 -0400)]
octeon: add support for Itus Shield Router

Itus Networks Shield - 1Ghz dual-core mips64 / Cavium Octeon 3 SoC,
1Gb RAM, 4Gb eMMC,3 GbE 10/100/1000 ports

Information regarding device can be found:
https://deviwiki.com/wiki/Itus_Networks_Shield_Pro

Installing OpenWrt on Itus Networks Shield:

1) Boot Shield
2) On device: mount /dev/mmcblk1p1 /mnt
3) scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to
   /mnt/ItusrouterImage
3a) Optionally: scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin
    to /mnt/ItusgatewayImage to allow you to have an emergency recovery
    boot in the GATEWAY slot - this slot will have no permament storage and
    is used for emergency recovery only when booted in the (G)ateway
    position
4) On device: umount /mnt
5) reboot

Once booted, run the sysupgrade via cli or luCi on the
openwrt-octeon-itus,shield-router-squashfs-sysupgrade.tar file the mode
you are running.

Once rebooted, the system installation is complete. Your storage partition
for the mode is inialized and set.

Signed-off-by: Donald Hoskins <grommish@gmail.com>
[cut out sysupgrade-* changes, move a few lines,
drop case CVMX_BOARD_TYPE_ITUS_SHIELD]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoocteon: determine sysupgrade-* directory for upgrade automatically
Donald Hoskins [Sat, 15 Aug 2020 11:50:43 +0000 (13:50 +0200)]
octeon: determine sysupgrade-* directory for upgrade automatically

So far, the sysupgrade-* folder used during upgrade in octeon was
hardcoded to contain the board name. Therefore, changing board name
or BOARD_NAME variable in image/Makefile might have broken upgrade.

Improve this by adding a step to determine the folder name via
a wildcard, as it is done for generic nand_upgrade_tar() in
lib/upgrade/nand.sh.

While this still does not remove the problem for existing devices
(which still have the old script), it will entirely remove the
issue on newly added devices on this platform.

Signed-off-by: Donald Hoskins <grommish@gmail.com>
[split into separate patch, add commit message, add return values]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: reorganize board patches
Adrian Schmutzler [Sat, 15 Aug 2020 15:21:35 +0000 (17:21 +0200)]
bcm63xx: reorganize board patches

This renames board patches to make finding devices easier
and reorders them based on their board.

The devices are grouped based on the board/cpu_id. New device
patches should be numbered based on their group.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomap: add a legacymap option
Remi NGUYEN VAN [Sat, 15 Aug 2020 08:00:15 +0000 (17:00 +0900)]
map: add a legacymap option

The legacy map version based on the IPv6 Interface Identifier in
draft-ietf-softwire-map-03 was typically used by uncommenting the LEGACY
variable in the map.sh file, which is not ideal. A proper configuration
option is needed instead.

The IPv6 Interface Identifier format described in the draft was
eventually changed in RFC7597, but is still used by some major ISPs,
including in Japan.

Signed-off-by: Remi NGUYEN VAN <remi.nguyenvan+openwrt@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
4 years agodropbear: allow disabling support for scp
Rui Salvaterra [Sat, 15 Aug 2020 10:10:22 +0000 (11:10 +0100)]
dropbear: allow disabling support for scp

If not needed, disabling scp allows for a nice size reduction.

Dropbear executable size comparison:

153621 bytes (baseline)
133077 bytes (without scp)

In other words, we trim a total of 20544 bytes.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
4 years agoath79: add support for ALLNET ALL-WAP02860AC
Tomasz Maciej Nowak [Fri, 14 Aug 2020 16:03:40 +0000 (18:03 +0200)]
ath79: add support for ALLNET ALL-WAP02860AC

ALLNET ALL-WAP02860AC is a dual-band wireless access point.

Specification
SoC: Qualcomm Atheros QCA9558
RAM: 128 MB DDR2
Flash: 16 MB SPI NOR
WIFI: 2.4 GHz 3T3R integrated
      5 GHz 3T3R QCA9880 Mini PCIe card
Ethernet: 1x 10/100/1000 Mbps AR8035-A, PoE capable (802.3at)
LEDS: 5x, which four are GPIO controlled
Buttons: 1x GPIO controlled
UART: 4 pin header near Mini PCIe card, starting count from white
      triangle on PCB
      1. VCC 3.3V, 2. GND, 3. TX, 4. RX
      baud: 115200, parity: none, flow control: none

MAC addresses
Calibration data does not contain valid MAC addresses.
The calculated MAC addresses are chosen in accordance with OEM firmware.

Because of:
a) constrained environment (SNMP) when connecting through Telnet
   or SSH,
b) hard-coded kernel and rootfs sizes,
c) checksum verification of kerenel and rootfs images in bootloder,

creating factory image accepted by OEM web interface is difficult,
therefore, to install OpenWrt on this device UART connection is needed.
The teardown is simple, unscrew four screws to disassemble the casing,
plus two screws to separate mainboard from the casing.
Before flashing, be sure to have a copy of factory firmware, in case You
wish to revert to original firmware.

Installation
1. Prepare TFTP server with OpenWrt initramfs-kernel image.
2. Connect to LAN port.
3. Connect to UART port.
4. Power on the device and when prompted to stop autoboot, hit any key.
5. Alter U-Boot environment with following commands:
    setenv failsafe_boot bootm 0x9f0a0000
    saveenv
6. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use
   'setenv' to do that, then run following commands:
    tftpboot 0x81000000 <openwrt_initramfs-kernel_image_name>
    bootm 0x81000000
7. Wait about 1 minute for OpenWrt to boot.
8. Transfer OpenWrt sysupgrade image to /tmp directory and flash it
   with:
    sysupgrade -n /tmp/<openwrt_sysupgrade_image_name>
9. After flashing, the access point will reboot to OpenWrt. Wait few
   minutes, until the Power LED stops blinking, then it's ready for
   configuration.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[add MAC address comment to commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokernel: mips: fix init crash/bootloop on 64-bit systems
Tony Ambardar [Fri, 14 Aug 2020 14:43:36 +0000 (07:43 -0700)]
kernel: mips: fix init crash/bootloop on 64-bit systems

The malta subtargets for mips64 and mips64el fail to start the init process
at boot, resulting in a boot loop. The issue was raised and analyzed within
FS#3277. Investigation suggested code near the [vdso] memory area of the
process was long jumping into a region inaccessible to the process, e.g.

 init: - preinit -
 init: Launched preinit instance, pid=522
 do_page_fault(): sending SIGSEGV to init for invalid read access from 0000000000000360
 epc = 0000000000000360 in init[aaab42b000+4000]
 ra  = 000000fffee385e0 in
 Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
 Rebooting in 1 seconds..

Note the low-memory read access and epc are the same. Upstream kernel 5.6
included a relevant patch and discussion:

  * d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in vdso code")

Disassembly of the failing kernel's vdso.so confirmed presence of the
telltale long jumps, e.g.:

00000000000007c0 <__vdso_clock_getres@@LINUX_2.6>:
 [...]
 7dc:   0320f809        jalr    t9
 [...]

Restore booting mips64/mips64el malta by backporting the above commit:
  * 310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch

Fixes: 54310a3aa02f ("malta: add kernel 5.4 config")
Fixes: FS#3277
Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3277

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
4 years agomac80211: add missing backports for building with 4.14 kernels
Felix Fietkau [Fri, 14 Aug 2020 14:32:23 +0000 (16:32 +0200)]
mac80211: add missing backports for building with 4.14 kernels

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agolibselinux: fix Makefile style
Daniel Golle [Fri, 14 Aug 2020 01:41:39 +0000 (02:41 +0100)]
libselinux: fix Makefile style

Also fix line order in libselinux Makefile.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agolibsepol: fix Makefile style
Daniel Golle [Fri, 14 Aug 2020 01:40:47 +0000 (02:40 +0100)]
libsepol: fix Makefile style

Fix line ordering (cosmetic).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agopcre: clean up Makefile line order
Daniel Golle [Fri, 14 Aug 2020 01:38:21 +0000 (02:38 +0100)]
pcre: clean up Makefile line order

The most recent patch added add lines in one block instead of in the
appropriate places to keep Makefiles in consistent style. Fix that.

Fixes: ff02e1561f ("pcre: add host variant of libpcre")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agopcre: add host variant of libpcre
Thomas Petazzoni [Tue, 14 Jul 2020 21:32:28 +0000 (16:32 -0500)]
pcre: add host variant of libpcre

This is needed to build the host variant of libselinux.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
4 years agoath79: add support for TP-Link TL-WPA8630 v1
Adrian Schmutzler [Thu, 9 Jul 2020 10:49:17 +0000 (12:49 +0200)]
ath79: add support for TP-Link TL-WPA8630 v1

This ports the TP-Link TL-WPA8630 v1 from ar71xx to ath79.

Specifications:

SoC: QCA9563
CPU: 750 MHz
Flash/RAM: 8 / 128 MiB
Ethernet: 3x 1G ports (QCA8337 switch)
WLAN: 2.4 GHz b/g/n, 5 GHz a/n/ac (ath10k)

Buttons, LEDs and network setup appear to be almost identical
to the v2 revision.

Powerline interface is connected to switch port 5 (Label LAN4).

Installation:

No "fresh" device was available for testing the factory image.

It is not known whether flashing via OEM firmware GUI is possible
or not. A discussion from 2018 [1] about that indicates a few
adjustments are necessary, but it is not clear whether those
are already implemented with the TPLINK_HEADER_VERSION = 2 or not.

Note that for the TL-WPA8630P v1, the TPLINK_HWID needs to be
changed to 0x86310001 to allow factory flashing.

[1] https://forum.openwrt.org/t/solved-tl-wpa8630p-lede-does-not-install/8161/27

Recovery:

Recovery is only possible via serial.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agompc85xx: tidy up 10-fix-wifi-mac
Adrian Schmutzler [Thu, 13 Aug 2020 18:22:30 +0000 (20:22 +0200)]
mpc85xx: tidy up 10-fix-wifi-mac

This applies some cosmetic style fixes, mostly by removing useless
echo commands.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolibselinux: fix build on non-Linux systems
Felix Fietkau [Thu, 13 Aug 2020 18:04:34 +0000 (20:04 +0200)]
libselinux: fix build on non-Linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agolibsepol: fix build on non-Linux systems
Felix Fietkau [Thu, 13 Aug 2020 18:03:43 +0000 (20:03 +0200)]
libsepol: fix build on non-Linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agotools/coreutils: install ln
Felix Fietkau [Thu, 13 Aug 2020 18:02:50 +0000 (20:02 +0200)]
tools/coreutils: install ln

It is needed for libsepol on non-GNU systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomac80211: add AQL improvements
Felix Fietkau [Wed, 12 Aug 2020 15:12:03 +0000 (17:12 +0200)]
mac80211: add AQL improvements

Add AQL support for HE drivers.
Improve assumed aggregation length based on tx rate

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomt76: update to the latest version
Felix Fietkau [Thu, 13 Aug 2020 15:56:46 +0000 (17:56 +0200)]
mt76: update to the latest version

34aed01ca865 mt76: mt7915: use ieee80211_free_txskb to free tx skbs
efc8669db5f9 mt76: mt7915: fix max_mpdu_size field for A-MSDU

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agolibselinux: don't depend on kernel config symbols
Daniel Golle [Thu, 13 Aug 2020 13:05:26 +0000 (14:05 +0100)]
libselinux: don't depend on kernel config symbols

Dependencies are meant to express actual run-time dependencies and
strictly speaking, libselinux can be build and used on kernels without
SELinux (not in a very meaningful way, but never mind).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoprocd: remove duplicate confguration menu
Daniel Golle [Thu, 13 Aug 2020 13:04:30 +0000 (14:04 +0100)]
procd: remove duplicate confguration menu

Fixes: 962e73c1a4 ("procd: add selinux variant")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoiproute2: disable SELinux for now
Daniel Golle [Thu, 13 Aug 2020 12:59:01 +0000 (13:59 +0100)]
iproute2: disable SELinux for now

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoath79/mikrotik: add function for loading ath9k caldata
Adrian Schmutzler [Wed, 12 Aug 2020 12:40:00 +0000 (14:40 +0200)]
ath79/mikrotik: add function for loading ath9k caldata

The commands to read ath9k caldata on mikrotik subtarget are
mostly repetitive, so let's put them into a function to make
writing and reading them easier.

This function will only be required when patching the MAC address.
For cases where it is put correctly into the calibration data by
the vendor, caldata_sysfsload_from_file can be used directly as
done for ath10k at the moment.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: add support for MikroTik RouterBOARD 760iGS (hEX S)
John Thomson [Wed, 10 Jun 2020 22:15:40 +0000 (08:15 +1000)]
ramips: add support for MikroTik RouterBOARD 760iGS (hEX S)

This patch adds support for the MikroTik RouterBOARD 760iGS router.
It is similar to the already supported RouterBOARD 750Gr3.
The 760iGS device features an added SFP cage, and passive
PoE out on port 5 compared to the RB750Gr3.

https://mikrotik.com/product/hex_s

Specifications:

- SoC: MediaTek MT7621A
- CPU: 880MHz
- Flash: 16 MB
- RAM:  256 MB
- Ethernet: 5x 10/100/1000 Mbps
- SFP cage
- USB port
- microSD slot

Unsupported:

- Beeper (requires PWM driver)
- ZT2046Q (ADS7846 compatible) on SPI as slave 1 (CS1)
  The linux driver requires an interrupt, and pendown GPIO
  These are unknown, and not needed with the touchscreen
  only used for temperature and voltage monitoring.
  ads7846 hwmon:
  temp0 is degrees Celsius
  temp1 is voltage * 32

GPIOs:

- 07:  input passive PoE out (lan5) compatible (Mikrotik) device connected
- 17:  output passive PoE out (lan5) switch

Installation through RouterBoot follows the usual MikroTik method
https://openwrt.org/toh/mikrotik/common

To boot to intramfs image in RAM:

1. Setup TFTP server to serve intramfs image.
2. Plug Ethernet cable into WAN port.
3. Unplug power, hold reset button and plug power in.
   Wait (~25 seconds) for beep and then release reset button.
   The SFP LED will be lit in RouterBoot, but will not be lit in OpenWRT.
4. Wait for a minute. Router should be running OpenWrt,
   check by plugging in to port 2-5 and going to 192.168.1.1.

To install OpenWrt to flash:

1. Follow steps above to boot intramfs image in RAM.
2. Flash the sysupgrade.bin image with web interface or sysupgrade.
3. Once the router reboots you will be running OpenWrt from flash.

OEM firmware differences:

- RouterOS assigns a different MAC address for each port
- The first address (E01 on the sticker) is used for wan (ether1 in OEM).
- The next address is used for lan2.
- The last address (E06 on the sticker) is used for sfp.

[Initial port work, shared dtsi]
Signed-off-by: Vince Grassia <vincenzo.grassia@zionark.com>
[SFP support and GPIO identification]
Signed-off-by: Luka Logar <luka.logar@iname.com>
[Misc. fixes and submission]
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
[rebase, drop uart3 from state_default on 750gr3, minor commit
title/message facelift]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips/mt7621: create common DTSI for Mikrotik devices
Adrian Schmutzler [Wed, 12 Aug 2020 18:10:12 +0000 (20:10 +0200)]
ramips/mt7621: create common DTSI for Mikrotik devices

This moves some common definitions for Mikrotik devices, mainly
routerboot partitions and reset key, to a common DTSI file.

While at it, remove unused hard_config DT label.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomusl-fts: import from packages feed
Daniel Golle [Thu, 13 Aug 2020 10:43:18 +0000 (11:43 +0100)]
musl-fts: import from packages feed

libselinux requires musl-fts to build with musl. Import it from
packages feed as well.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agopcre: import from packages feeds
Daniel Golle [Thu, 13 Aug 2020 10:27:39 +0000 (11:27 +0100)]
pcre: import from packages feeds

libselinux require pcre, import to to core so it can build without
packages feeds.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoprocd: add selinux variant
Paul Spooren [Wed, 12 Aug 2020 04:49:44 +0000 (18:49 -1000)]
procd: add selinux variant

This commit adds a `selinux` variant to `procd` allowing to load an
SELinux policy at boot.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agolibselinux: add new package
Thomas Petazzoni [Tue, 11 Aug 2020 23:48:33 +0000 (18:48 -0500)]
libselinux: add new package

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[rebase, update to 3.1]
Signed-off-by: W. Michael Petullo <mike@flyn.org>