openwrt/staging/luka.git
4 years agokernel: fix kmemleak warnings introduced in 305-mips_module_reloc.patch
Felix Fietkau [Wed, 6 Nov 2019 15:38:43 +0000 (16:38 +0100)]
kernel: fix kmemleak warnings introduced in 305-mips_module_reloc.patch

Physically allocated memory for modules needs to be registered with kmemleak,
so it can track it as object.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agowolfssl: bump to 4.3.0-stable
Eneas U de Queiroz [Thu, 26 Dec 2019 18:11:31 +0000 (15:11 -0300)]
wolfssl: bump to 4.3.0-stable

This update fixes many bugs, and six security vulnerabilities, including
CVE-2019-18840.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agocurl: rename cyassl->wolfssl
Eneas U de Queiroz [Thu, 26 Dec 2019 18:14:09 +0000 (15:14 -0300)]
curl: rename cyassl->wolfssl

The old name was dropped and no longer works.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agoipq40xx: use ath10k-ct-smallbuffers for 128 MiB devices
Paul Fertser [Tue, 24 Dec 2019 17:49:10 +0000 (20:49 +0300)]
ipq40xx: use ath10k-ct-smallbuffers for 128 MiB devices

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
4 years agoubus: update to version 2019-12-19
Petr Štetiar [Thu, 19 Dec 2019 12:29:20 +0000 (13:29 +0100)]
ubus: update to version 2019-12-19

Contains following changes:

 a1523d76b016 fix blob parsing vulnerability by using blob_parse_untrusted
 c60583743ccf ubus_monitor: workaround possibly false positive uses of memory after it is freed
 dac6c7c575ac ubusd_monitor: fix possible null pointer dereference
 060dfbb26da3 ubus_common: remove duplicate ARRAY_SIZE and add missing include
 c5f2053dfcfd workaround possibly false positive uses of memory after it is freed
 72be8e93f07d lua: ubus_lua_do_subscribe: fix copy&paste error
 a995b1e68129 lua: workaround false positive dereference of null pointer
 08f17c87a000 add fuzzer and cram based unit tests
 c413be9b376c refactor ubusd.c into reusable ubusd_library
 afd47189e864 examples: remove dead increments
 b2e544238672 add initial GitLab CI support
 058f4e9526ed libubus: fix incompatible pointer types assigment
 d2e026a33df8 iron out all extra compiler warnings
 5d7ca8309d0a ubusd/libubus-io: fix variable sized struct position warning
 d61282db5640 ubusd: fix comparison of integers of different signs
 90fb16234c22 cmake: enable extra compiler checks

and bumps ABI_VERSION to 20191219.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoucert: update to version 2019-12-19
Petr Štetiar [Thu, 19 Dec 2019 12:25:03 +0000 (13:25 +0100)]
ucert: update to version 2019-12-19

14a279411cff fix certificate blob parsing vulnerability by using blob_parse_untrusted
19a7225ac018 fix leaking memory in cert_dump_blob
9dba44ddd4f5 fix possibly garbage value returned in cert_process_revoker
4462ff9dedfa add cram based unit tests
5fe64b5606aa cmake: split usign bits into static library
5d7626a2b6d8 cmake: reindent the file
e284ed941972 cmake: enable hardening compiler flags and fix the reported issues
7e5390666347 add initial GitLab CI support
fa0bf4ef45b1 cmake: add proper include and library dependencies

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agolibubox: update to version 2019-12-26
Petr Štetiar [Wed, 11 Dec 2019 20:08:15 +0000 (21:08 +0100)]
libubox: update to version 2019-12-26

Contains following changes:

 eb7eb6393d47 blobmsg: fix array out of bounds GCC 10 warning
 86f6a5b8d1f1 blobmsg: reuse blobmsg_namelen in blobmsg_data
 586ce031eaa0 tests: fuzz: fuzz _len variants of checking methods
 b0e21553ae8c blobmsg: add _len variants for all attribute checking methods
 cd3059796a57 Replace use of blobmsg_check_attr by blobmsg_check_attr_len
 143303149c8b Ensure blob_attr length check does not perform out of bounds reads
 f2b2ee441adb blobmsg: fix heap buffer overflow in blobmsg_parse
 4dfd24ed88c4 blobmsg: make blobmsg_len and blobmsg_data_len return unsigned value
 2df6d35e3299 tests: add test cases for blobmsg parsing
 8a34788b46c4 test: fuzz: add blobmsg_check_attr crashes
 478597b9f9ae blob: fix OOB access in blob_check_type
 325418a7a3c0 tests: use blob_parse_untrusted variant
 0b24e24b93e1 blob: introduce blob_parse_untrusted
 6d27336e4a8b blob: refactor attr parsing into separate function
 833d25797b16 test: fuzz: add blob_parse crashes
 09ee90f8d6ed tests: add test cases for blob parsing
 436d6363a10b tests: add libFuzzer based tests
 bf680707acfd tests: add unit tests covered with Clang sanitizers
 f804578847de cmake: add more hardening compiler flags
 46f8268b4b5b blobmsg/ulog: fix format string compiler warnings
 eb216a952407 cmake: use extra compiler warnings only on gcc6+

and bumps ABI_VERSION to 20191226.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq806x: fix wrong definition for tsense calib
Ansuel Smith [Wed, 25 Dec 2019 14:06:14 +0000 (15:06 +0100)]
ipq806x: fix wrong definition for tsense calib

We have only 11 sensors on ipq806x. Fix the reg property
to load the right amount of data instead of the entire
space.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: rework ipq806x specific tsense temp driver
Ansuel Smith [Thu, 19 Dec 2019 03:01:28 +0000 (04:01 +0100)]
ipq806x: rework ipq806x specific tsense temp driver

Tsense driver for ipq806x have various problem.
- Emit wrong error. On probing of this driver, nvmem driver can be
  not ready and this cause a EDEFER error. Actually this is not an
  error as the kernel will retry to probe the driver after the
  nvmem driver is loaded.
- Use uninitialized value on trigger of critical temp
- Doesn't free allocated memory

Because of this, rework the driver and improve it by removing extra
load of data.

Change the logic of loading data. Use the backup calib data only
when the calib data is not present. As the calibration is only
needed to set the temp offset, we don't really need to read
both calib data and set the offset based only on the backup one.
Also change how the notifier function work. At times when we
output the trigger message, we already have read the temp so
remove the extra read and the wrong uninitialized data that
probably caused a kernel panic for null pointer exception.
(Think we never experience this bug because the router
never reached that temp ever... So just lucky)

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: update kernel config with new driver
Ansuel Smith [Mon, 16 Dec 2019 22:51:50 +0000 (23:51 +0100)]
ipq806x: update kernel config with new driver

The config name for cpufreq driver has changed.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: refresh new and changed patches
Ansuel Smith [Mon, 16 Dec 2019 19:26:25 +0000 (20:26 +0100)]
ipq806x: refresh new and changed patches

Refresh patches to remove fuzz

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq8065: update dtsi with new opp table
Ansuel Smith [Wed, 25 Dec 2019 14:02:46 +0000 (15:02 +0100)]
ipq8065: update dtsi with new opp table

The new driver use opp table to register frequency.
Drop psv bindings as they are not used anymore.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq8064: update dtsi with new opp table
Ansuel Smith [Wed, 25 Dec 2019 16:14:03 +0000 (17:14 +0100)]
ipq8064: update dtsi with new opp table

The new driver use opp table to register frequency.
Drop psv bindings as they are not used anymore.
Adds speedbin definition for nvmem driver

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: add patch to support krait cpu scaling driver
Ansuel Smith [Sun, 15 Dec 2019 01:30:48 +0000 (02:30 +0100)]
ipq806x: add patch to support krait cpu scaling driver

This patch has been proposed but never actually merged to
mainline. It was accepted but never re proposed by the
creator.
Rework it, fix kernel panic cause by double kfree.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: backport qcom-cpufreq-kryo patch
Ansuel Smith [Sun, 15 Dec 2019 01:28:46 +0000 (02:28 +0100)]
ipq806x: backport qcom-cpufreq-kryo patch

Backport patch applied to qcom-cpufreq-kryo
driver as krait cpu will base on this driver.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: drop old cpufreq patch
Ansuel Smith [Sun, 15 Dec 2019 01:39:38 +0000 (02:39 +0100)]
ipq806x: drop old cpufreq patch

Drop old cpufreq as now we have new driver that
can use normal kernel opp definition

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: opp/core: update patch updating voltage tolerance on voltage adjust
Ansuel Smith [Sun, 15 Dec 2019 02:01:29 +0000 (03:01 +0100)]
ipq806x: opp/core: update patch updating voltage tolerance on voltage adjust

Rework 0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t
to reflect changes upstream.

- Skip unnecessary allocation of buffer to set u_volt
- Change opp u_volt directly

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: opp/core: update patch allowing adjusting of OPP voltages at runtime
Ansuel Smith [Sun, 15 Dec 2019 01:26:23 +0000 (02:26 +0100)]
ipq806x: opp/core: update patch allowing adjusting of OPP voltages at runtime

Update 0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime with
upstream version.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoipq806x: fix bug in L2 cache scaling
Ansuel Smith [Sun, 15 Dec 2019 01:25:04 +0000 (02:25 +0100)]
ipq806x: fix bug in L2 cache scaling

It has been notice a buf in L2 cache scaling where the scaling is not
done proprely if the frequency is set to the initial state before
the new frequency.

From: https://patchwork.kernel.org/patch/10565443/

* The clocks are set to aux clock rate first to make sure the
* secondary mux is not sourcing off of QSB. The rate is then set to
* two different rates to force a HFPLL reinit under all
* circumstances.

In the initial stage of boot to force a new frequency to apply, is
needed to first set the frequency back to the lowest one (aux_rate)
and then to the target one. This force and make sure the controller
actually switch the frequency to the right one. Apply the same
mechanism to L2 frequency scaling. Before scaling to the target
frequency, first set the frequency to the aux_rate to force the
transition, then scale it to the target frequency. Doing the wrong way
can produce unexpected results and could lock the scaling mechanism
until a full reboot is done (Causing a full reset by the krait-cc driver)

From: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=77612720a2362230af726baa4149c40ec7a7fb05

When the Hfplls are reprogrammed during the rate change,
the primary muxes which are sourced from the same hfpll
for higher frequencies, needs to be switched to the 'safe
secondary mux' as the parent for that small window. This
is done by registering a clk notifier for the muxes and
switching to the safe parent in the PRE_RATE_CHANGE notifier
and back to the original parent in the POST_RATE_CHANGE notifier.

This should apply also to L2 scaling... as we can't relly use
the notifier, we manually do this on L2 scaling.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoath79: tp-link: use ath10k-ct-smallbuffers for 64 MiB devices
Paul Fertser [Tue, 24 Dec 2019 21:02:24 +0000 (00:02 +0300)]
ath79: tp-link: use ath10k-ct-smallbuffers for 64 MiB devices

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
4 years agobrcm2708: fix malformed patch
Álvaro Fernández Rojas [Wed, 25 Dec 2019 01:48:25 +0000 (02:48 +0100)]
brcm2708: fix malformed patch

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agowireguard: bump to 20191219
Kevin Darbyshire-Bryant [Tue, 24 Dec 2019 20:43:20 +0000 (20:43 +0000)]
wireguard: bump to 20191219

edad0d6 version: bump snapshot
0e38a3c compat: ipv6_dst_lookup_flow was backported to 5.3 and 5.4
2e52c41 wg-quick: linux: use already configured addresses instead of in-memory
3721521 tools: adjust wg.8 syntax for consistency in COMMANDS section
21a1498 wg-quick: linux: try both iptables(8) and nft(8) on teardown

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agobrcm2708: update to latest patches from RPi Foundation
Álvaro Fernández Rojas [Mon, 23 Dec 2019 16:25:19 +0000 (17:25 +0100)]
brcm2708: update to latest patches from RPi Foundation

Also removes reverted patches.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobrcm2708: organize kernel patches
Álvaro Fernández Rojas [Mon, 23 Dec 2019 12:42:55 +0000 (13:42 +0100)]
brcm2708: organize kernel patches

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: bump 4.9 to 4.9.207
Hauke Mehrtens [Mon, 23 Dec 2019 20:49:48 +0000 (21:49 +0100)]
kernel: bump 4.9 to 4.9.207

Refreshed all patches.

Compile-tested on: ar7
Runtime-tested on: none

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: bump 4.14 to 4.14.160
Hauke Mehrtens [Mon, 23 Dec 2019 20:46:17 +0000 (21:46 +0100)]
kernel: bump 4.14 to 4.14.160

Refreshed all patches.

Compile-tested on: ipq40xx, apm821xx
Runtime-tested on: ipq40xx

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: bump 4.19 to 4.19.91
Hauke Mehrtens [Mon, 23 Dec 2019 19:48:13 +0000 (20:48 +0100)]
kernel: bump 4.19 to 4.19.91

Refreshed all patches.

Compile-tested on: ipq40xx, apm821xx
Runtime-tested on: ipq40xx

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: bump 4.19 to 4.19.90
Koen Vandeputte [Wed, 18 Dec 2019 15:38:57 +0000 (16:38 +0100)]
kernel: bump 4.19 to 4.19.90

Refreshed all patches.

Remove upstreamed:
- 010-dmaengine-dw-dmac-implement-dma-prot.patch
- 950-0148-Increase-firmware-call-buffer-size-to-48-bytes.patch
- 950-0206-Mailbox-firmware-calls-now-use-kmalloc-2749.patch
- 402-leds-trigger-netdev-fix-handling-on-interface-rename.patch

Fixes:
- CVE-2019-19332

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[Add 010-dt-bindings-dmaengine-dw-dmac-add-protection-control.patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: bump 4.14 to 4.14.159
Koen Vandeputte [Wed, 18 Dec 2019 15:34:37 +0000 (16:34 +0100)]
kernel: bump 4.14 to 4.14.159

Refreshed all patches.

Remove upstreamed:
- 302-0002-dmaengine-dw-implement-per-channel-protection-contro.patch

Fixes:
- CVE-2019-19332

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoath79: use ath10k-ct-smallbuffers for 64 MiB devices
Paul Fertser [Sun, 22 Dec 2019 20:05:13 +0000 (23:05 +0300)]
ath79: use ath10k-ct-smallbuffers for 64 MiB devices

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
4 years agoath10k-firmware: Add kmod-ath10k-ct-smallbuffers to depends
Hauke Mehrtens [Mon, 23 Dec 2019 23:46:51 +0000 (00:46 +0100)]
ath10k-firmware: Add kmod-ath10k-ct-smallbuffers to depends

Only select ath10k-ct-regular when smallbuffers version was not
selected.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: ath10k-ct: provide a build variant for small RAM devices
Paul Fertser [Sun, 22 Dec 2019 18:20:57 +0000 (21:20 +0300)]
kernel: ath10k-ct: provide a build variant for small RAM devices

According to many bugreports [0][1][2] the default ath10k-ct kernel
module is unusable on devices with just 64 MiB RAM or with 128 MiB and
dual ath10k cards. The target boards boot but eventually oom-killer
starts to interfere with normal operation, so the current state is
effectively broken.

Since the two patches in question have a performance impact (and
possibly some other unexpected side-effects) a dedicated build variant
is added so that users of the low RAM devices can still benefit from all
the ath10k-ct advantages.

According to testing [3] results, the issue can be experienced even with
"a 256MB device with three radios". Measured performance impact of
implementing small buffers was lowering "the maximum 5 GHz throughput on
an IPQ40xx device without RPS/XPS optimizations from 494/432 Mbit/s for
TCP transfers (download/upload) to 438/343 Mbit/s"

The patches were apparently inspired by QSDK tweaks used by ODMs for the
affected devices.

[0] http://lists.infradead.org/pipermail/openwrt-devel/2019-December/020573.html
[1] https://github.com/openwrt/openwrt/pull/1077
[2] https://bugs.openwrt.org/index.php?do=details&task_id=2664
[3] https://github.com/freifunk-gluon/gluon/pull/1440#issue-195607701

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
[Remove double CONFIG_ATH10K-CT_LEDS entry]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agotreewide: Remove self from MAINTAINER entries
Florian Fainelli [Sat, 21 Dec 2019 21:05:52 +0000 (13:05 -0800)]
treewide: Remove self from MAINTAINER entries

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
4 years agobrcm2708-gpu-fw: update to latest firmware
Álvaro Fernández Rojas [Mon, 23 Dec 2019 16:48:22 +0000 (17:48 +0100)]
brcm2708-gpu-fw: update to latest firmware

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: Deactivate CONFIG_SFP in generic config
Hauke Mehrtens [Mon, 23 Dec 2019 14:23:09 +0000 (15:23 +0100)]
kernel: Deactivate CONFIG_SFP in generic config

Deactivate CONFIG_SFP for kernel 4.19 in the generic configuration.
The CONFIG_SFP configuration option was not set to anything in the
ath79 build for me, set it to deactivated by default.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agoath79: Do not build dlink_dir-615-e4 by default
Hauke Mehrtens [Mon, 23 Dec 2019 14:21:57 +0000 (15:21 +0100)]
ath79: Do not build dlink_dir-615-e4 by default

The factory image for the dlink_dir-615-e4 is getting too big which makes
the full ath79 tiny build fail, deactivate it by default.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agobrcm2708: remove unneeded patches
Álvaro Fernández Rojas [Mon, 23 Dec 2019 12:03:20 +0000 (13:03 +0100)]
brcm2708: remove unneeded patches

- wireless patches
- defconfig patches

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agolibcxx: Depenency fixes
Rosen Penev [Mon, 23 Dec 2019 01:41:15 +0000 (17:41 -0800)]
libcxx: Depenency fixes

Don't build with uClibc-ng. It's totally unsupported as several functions
are missing.

Make the musl libc support conditional.

Fix hash with make check FIXUP=1. Apparently I based the Makefile off of
libedit and forgot to fix the hash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Fixes: 856ea2bad3b3 ("libcxx: Add package")
4 years agoramips: add label MAC address for Mikrotik RB750Gr3
Sven Roederer [Mon, 23 Dec 2019 00:42:52 +0000 (01:42 +0100)]
ramips: add label MAC address for Mikrotik RB750Gr3

The device label contains:
E01: 74:4D:28:xx:xx:30
E05: 74:4D:28:xx:xx:34

The first value corresponds to the address set in hard_config 0x10.

That one is taken for the label MAC address.

Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
4 years agoramips: simplify state_default/pinctrl0 in device DTS files
Adrian Schmutzler [Sun, 22 Dec 2019 20:26:01 +0000 (21:26 +0100)]
ramips: simplify state_default/pinctrl0 in device DTS files

The node pinctrl0 is already set up in the SOC DTSI files, but
defined again as member of pinctrl in most of the device DTS(I)
files. This patch removes this redundancy for the entire ramips
target.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokernel: fix *-gpio-custom module unloading
Sungbo Eo [Fri, 6 Dec 2019 14:25:48 +0000 (23:25 +0900)]
kernel: fix *-gpio-custom module unloading

Unloading and reloading the modules fails, as platform_device_put() does not
release resources fully.

root@OpenWrt:/# insmod i2c-gpio-custom bus0=0,18,0,5
[  196.860620] Custom GPIO-based I2C driver version 0.1.1
[  196.871162] ------------[ cut here ]------------
[  196.880517] WARNING: CPU: 0 PID: 1365 at fs/sysfs/dir.c:31 0x80112158
[  196.893431] sysfs: cannot create duplicate filename '/devices/platform/i2c-gpio.0'
...
[  197.513200] kobject_add_internal failed for i2c-gpio.0 with -EEXIST, don't try to register things with the same name in the same directory.

This patch fixes it by replacing platform_device_put() to
platform_device_unregister().

Fixes: da7740853715 ("i2c-gpio-custom: minor bugfix")
Fixes: 3bc81edc70e8 ("package: fix w1-gpio-custom package (closes #6770)")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agorpcd: add respawn param
Florian Eckert [Thu, 7 Nov 2019 13:31:29 +0000 (14:31 +0100)]
rpcd: add respawn param

The rpcd service is an important service, but if the service stops
working for any reason, no one will ever respawn that service. With this
commit, the procd service will monitor if the rpcd service
is running. If the rpcd service has crashed, then
procd respawns the rpcd service.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
4 years agocmake: Install host packages to lib instead of lib64
Rosen Penev [Sun, 17 Nov 2019 21:42:04 +0000 (13:42 -0800)]
cmake: Install host packages to lib instead of lib64

Several CMake packages such as log4cplus and protobuf(-c) install to
lib64 instead of lib on some hosts. This completely breaks rpath linking.
Override it globally to avoid fixing each package individually.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Tested-by: Sebastian Kemper <sebastian_ml@gmx.net>
4 years agoadb: fix for SuperSpeed devices
Bjørn Mork [Tue, 19 Nov 2019 13:37:24 +0000 (14:37 +0100)]
adb: fix for SuperSpeed devices

The USB descriptor parsing in adb fails to detect SuperSpeed devices
because of the SuperSpeed Endpoint Companion Descriptor.  This
cherry-picks the upstream fix for the problem.

Unfortunately there never were a release with this fix before the
conversion to C++, so upgrading to a newer version isn't an option.

This makes adb work with SuperSpeed devices like the Sierra Wireless
EM7565.  Tested and verified.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
4 years agoca-certificates: provide ca-certs by both ca-certificates and ca-bundle
Maxim Storchak [Thu, 12 Dec 2019 10:02:19 +0000 (12:02 +0200)]
ca-certificates: provide ca-certs by both ca-certificates and ca-bundle

- both packages provide ca-certs
- make ca-bundle the default provider

This should allow easy transition between these two forms of CA certificates storage

Signed-off-by: Maxim Storchak <m.storchak@gmail.com>
4 years agolibcxx: Add package
Rosen Penev [Sat, 14 Dec 2019 05:07:04 +0000 (21:07 -0800)]
libcxx: Add package

Currently in OpenWrt, there are two libc++: libstdcpp and uClibc++. The
former is huge and the latter supports only C++98 with some basic support
for C++11. Those C++ versions seem to be specific to the compiler version

libcxx supports C++11 and above while being much smaller than libstdcpp.
On mt7621, these are the sizes of the ipks that I get:

libstdcpp: 460786
libcxx: 182881
uClibc++:67720

libcxx is faster than uClibc++ and is under active development as part of
the LLVM project while uClibc++ is effectively dead.

This PR modifies uclibc++.mk to expose the make menuconfig option. Further
cleanup is beyond the scope of this PR. What that means is, this is not
used by default.

A g++-libcxx wrapper based on the uClibc++ one was added. Works the same
way.

Compile tested with all packages that use uclibc++.mk in their Makefiles
under mipsel_24kc. kismet fails compilation but that package needs to be
cleaned up and updated.

Runtime tested with gddrescue, gdisk, dcwapd, bonnie++, and aircrack-ng
on a TP-Link Archer C7v2.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoiperf: Fix compilation with libcxx
Rosen Penev [Sat, 14 Dec 2019 05:25:03 +0000 (21:25 -0800)]
iperf: Fix compilation with libcxx

Avoids redefining bool.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agobuild: build proper VMDK formats for ESXI 6.5
John Sommerville [Fri, 27 Sep 2019 20:09:10 +0000 (14:09 -0600)]
build: build proper VMDK formats for ESXI 6.5

VMWare ESXI 6.5 and above is not compatible with
subformat=monolithicSparse (The default qemu-img convert -O VMDK option).
Monolithic Sparse vmdk can be imported, but issues occur when running
sysupgrade with new images and other tasks that modify the file system
(issues like Kernel panics, reboot loops, sometimes crashing the Host ESXI
box).

This change creates an additional VMDK output file for ESXI that sets the
subformat to monlithicFlat, and the adapter_type to the SCSI lsilogic
controller.

This change existed back on:
25e36d379e73d64d6316fae9dc841c5ef28980f1

But it looks like the change was removed when refactoring occurred with:
5f6a2732f892b6229473576d89cc963ae9c97d5d

Signed-off-by: John Sommerville <jsommerville@untangle.com>
4 years agotools: qemu: Add patches to support adapter_type and monolithicFlat
Brett Mastbergen [Wed, 2 Oct 2019 14:28:16 +0000 (10:28 -0400)]
tools: qemu: Add patches to support adapter_type and monolithicFlat

Its way more trouble to update this to a newer version of qemu than it
is to backport the two additional features we need.

Signed-off-by: Brett Mastbergen <bmastbergen@untangle.com>
4 years agoscripts/dowload.pl: add archive.apache.org to apache mirror list
Jiri Kastner [Thu, 28 Nov 2019 15:29:31 +0000 (16:29 +0100)]
scripts/dowload.pl: add archive.apache.org to apache mirror list

apache mirrors holds only latest releases, to download
older releases, one must use archive.apache.org to get
them.

Signed-off-by: Jiri Kastner <cz172638@gmail.com>
4 years agoath10k-firmware: update Candela Tech firmware images
Stefan Lippers-Hollmann [Thu, 19 Dec 2019 08:14:54 +0000 (09:14 +0100)]
ath10k-firmware: update Candela Tech firmware images

The release notes since last time for wave-1:

 * No changes to wave-1, but I make a version .014 copy anyway to keep
   the makefile in sync.

The release notes since last time for wave-2:

 * December 16, 2019: Wave-2 has a fix to make setting txpower work
                      better. Before setting the power was ignored at
                      least some of the time (it also appeared to work
                      mostly, so I guess it was being correctly set in
                      other ways).

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
4 years agolinux-firmware: update to 20191215
DENG Qingfang [Sun, 15 Dec 2019 16:43:08 +0000 (00:43 +0800)]
linux-firmware: update to 20191215

Update linux-firmware to 20191215

git log --pretty=oneline --abbrev-commit 20190815..20191215

eefb5f7 inside-secure: add new "mini" firmware for the EIP197 driver
dd1a12e Merge branch 'RB3-adsp-cdsp-mss-v4' of https://github.com/andersson/linux-firmware
c523dcd WHENCE: Add raspberry-pi4 SDIO file
99a15a4 Merge branch 'rpi4-fw' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux-firmware
2260cbd Merge branch 'master' of https://github.com/dikshitaagarwal/video_firmware_5.4
4c688be Merge branch 'for-upstream' of git://git.chelsio.net/pub/git/linux-firmware
e10ed21 qcom: update venus firmware files for v5.4
af4c4be cxgb4: Update firmware to revision 1.24.11.0
f93c7a1 brcm: Add BCM43455 NVRAM for Raspberry Pi 4 B
212e441 qcom: Add SDM845 Compute DSP firmware
ec84cf9 qcom: Add SDM845 Audio DSP firmware
62d0a1a qcom: Add SDM845 modem firmware
e8a0f4c rtl_nic: add firmware rtl8168fp-3
9581f15 Merge branch 'nxp_mc' of https://github.com/NXP/linux-firmware
978c04e linux-firmware: Update NXP Management Complex firmware to version 10.18.0
c62c3c2 linux-firmware: Update firmware file for Intel Bluetooth AX201
6272383 linux-firmware: Update firmware file for Intel Bluetooth AX200
84a7ca5 linux-firmware: Update firmware file for Intel Bluetooth 9560
96c3994 linux-firmware: Update firmware file for Intel Bluetooth 9260
7319341 amdgpu: update navi14 vcn firmware
b363d9d amdgpu: update navi10 vcn firmware
f1100dd Merge branch 'ehl_tgl_guc_huc' of git://anongit.freedesktop.org/drm/drm-firmware
4debf21 i915: Add HuC firmware v7.0.3 for TGL
1eb2ac4 i915: Add GuC firmware v35.2.0 for TGL
4b0a210 i915: Add HuC firmware v9.0.0 for EHL
610fe75 i915: Add GuC firmware v33.0.4 for EHL
11bdc57 rtw88: RTL8723D: add firmware file v48
9e194c7 qed: Add firmware 8.40.33.0
4065643 amdgpu: add new navi14 wks gfx firmware for 19.30
d4f88ea amdgpu: update navi14 firmware for 19.30
ea755b6 amdgpu: update raven firmware for 19.30
340e06e linux-firmware: Add firmware file for Intel Bluetooth AX201
ad7a8b2 Mellanox: Add new mlxsw_spectrum2 firmware 29.2000.2308
e756bf3 Mellanox: Add new mlxsw_spectrum firmware 13.2000.2308
b27d123 rtl_nic: add firmware files for RTL8153
180e2b4 rtl_bt: Update configuration file for BT part of RTL8822CU
0acd93e bnx2x: Add FW 7.13.15.0.
2b016af linux-firmware: Update AMD cpu microcode
4c3e853 linux-firmware: Update firmware file for Intel Bluetooth AX200
7a79d22 linux-firmware: Update firmware file for Intel Bluetooth AX201
fdab23a linux-firmware: Update firmware file for Intel Bluetooth 9560
b68efd7 linux-firmware: Update firmware file for Intel Bluetooth 9260
aa95e90 amdgpu: add initial navi14 firmware form 19.30
c1ce20e rtlwifi: rtl8821ae: Add firmware for the RTL8812AE variant.
7d187ac ice: Fix up WHENCE entry and symlink
4c55b97 Merge branch 'dev-queue' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/firmware
7c4db73 nvidia: Update Tegra210 XUSB firmware to v50.24
c054c53 nvidia: Add XUSB firmware for Tegra194
9cfefbd Remove duplicate symlinks
2de7abd copy-firmware: Create symlinks from WHENCE file
2116bcd Make symlinks consistent
c0590d8 amdgpu: update vega20 ucode for 19.30
43cc648 amdgpu: update vega12 ucode for 19.30
ffa0ed7 amdgpu: update vega10 ucode for 19.30
83e1b41 amdgpu: update picasso ucode for 19.30
7008617 amdgpu: update raven2 ucode for 19.30
9200baa amdgpu: update raven ucode for 19.30
f25a39c amdgpu: add new raven rlc firmware
9ae61e7 ice: Add package file for Intel E800 series driver
417a9c6 amdgpu: add initial navi10 firmware
702cc63 Merge branch 'cml_tgl-icl-dmc_huc_updates' of git://anongit.freedesktop.org/drm/drm-firmware
3182b4b Merge branch 'gpu-845' of https://github.com/ndechesne/linux-firmware
3ea84e5 drm/i915/firmware: Add v9.0.0 of HuC for Icelake
60ddd0e drm/i915/firmware: Add v4.0.0 of HuC for Cometlake
c47d8f8 drm/i915/firmware: Add v4.0.0 of HuC for Geminilake
2cdb78c drm/i915/firmware: Add v2.0.0 of HuC for Broxton
38965af drm/i915/firmware: Add v4.0.0 of HuC for Kabylake
8d127af drm/i915/firmware: Add v2.0.0 of HuC for Skylake
e7b6fa7 drm/i915/firmware: Add v33 of GuC for CML
e4ea25f drm/i915/firmware: Add v2.04 of DMC for TGL
51deca6 drm/i915/firmware: Add v1.09 of DMC for ICL
88ea23e qcom: add firmware files for Adreno a630
6c6918a linux-firmware: Update firmware file for Intel Bluetooth AX201
6ddb9d9 Merge branch 'for-upstream' of git://git.chelsio.net/pub/git/linux-firmware
d45c950 nvidia: Add XUSB firmware for Tegra186
65c6595 Add symlinks for Tegra VIC firmware binaries
0b22bfc rtl_bt: Update RTL8723D BT FW to 0x828A_96F1
f667c00 rtl_nic: add firmware rtl8125a-3
fe1ae0d linux-firmware: Add firmware file for Intel Bluetooth AX201
2f885ba Chelsio driver loads firmware configuration file to allow firmware to distribute resources before chip bring up. Chelsio NIC driver, cxgb4 searches for firmware config file at /lib/firmware/cxgb4/ directory.
7307a29 brcm: Add 43455 based AP6255 NVRAM for the Minix Neo Z83-4 Mini PC
65d02cd brcm: Add 43340 based AP6234 NVRAM for the PoV TAB-P1006W-232 tablet
f38fb4f Merge tag 'iwlwifi-fw-2019-08-23' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware
40e4162 iwlwifi: update FWs to core45-152 release
c0fb3d9 check_whence: Add copy-firmware.sh to the list of ignored files
aa703aa rtl_bt: Update RTL8822C BT FW to V0x098A_94A4
665001a linux-firmware: Update firmware file for Intel Bluetooth AX200
c0ca980 linux-firmware: Update firmware file for Intel Bluetooth AX201
b6427bf linux-firmware: Update firmware file for Intel Bluetooth 9560
fe48882 linux-firmware: Update firmware file for Intel Bluetooth 9260
ebd40c6 Mellanox: Add new mlxsw_spectrum firmware 13.2000.1886

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[Added missing symbolic links to Makefile]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agotoolchain/gcc: Backport patch to fix unconditional MULTIARCH_DIRNAME
Jeffery To [Mon, 18 Nov 2019 22:04:59 +0000 (06:04 +0800)]
toolchain/gcc: Backport patch to fix unconditional MULTIARCH_DIRNAME

This backports the patch for GCC PR target/89587 (gcc's rs6000
configuration unconditionally sets MULTIARCH_DIRNAME, even when
multiarch is disabled).

This currently affects apm821xx and may cause issues when
cross-compiling packages, e.g. Python 3[1].

This includes patches for GCC 8 (with the changelog diff removed);
this change is already included in GCC 9.2 and 7.5.

[1]: https://github.com/openwrt/packages/issues/10552

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
[Removed patch for GCC 7.4.0, GCC 7.5.0 already contains this]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agotoolchain/gcc: correct the check expr for newer clang
Yorkie Liu [Tue, 19 Nov 2019 05:41:10 +0000 (13:41 +0800)]
toolchain/gcc: correct the check expr for newer clang

This fixes gcc build error within clang 11.0, it tweaks the version
string from LLVM to clang.

Signed-off-by: Yorkie Liu <yorkiefixer@gmail.com>
4 years agolantiq: enable 5ghz wifi on VR200/VR200v
Kevin Schmidt [Sat, 23 Nov 2019 21:18:32 +0000 (22:18 +0100)]
lantiq: enable 5ghz wifi on VR200/VR200v

Enable mt76 driver on VR200/VR200v.

Signed-off-by: Kevin Schmidt <kevin.patrick.schmidt@googlemail.com>
4 years agolantiq: fix phys led
Aleksander Jan Bajkowski [Wed, 11 Dec 2019 18:11:42 +0000 (19:11 +0100)]
lantiq: fix phys led

led2l and led2h value is incorrectly set by led3l and led3h.
Bug was introduced in commit: 863e79f8d5544a8a884375d7e867f350fddca9b9

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
Fixes: 863e79f8d554 ("lantiq: add support for kernel 4.9")
4 years agouhttpd: reset PKG_RELEASE
Jo-Philipp Wich [Sun, 22 Dec 2019 22:03:59 +0000 (23:03 +0100)]
uhttpd: reset PKG_RELEASE

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agouhttpd: update to latest Git HEAD
Jo-Philipp Wich [Sun, 22 Dec 2019 21:50:00 +0000 (22:50 +0100)]
uhttpd: update to latest Git HEAD

5f9ae57 client: fix invalid data access through invalid content-length values

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agofstools: update to latest git HEAD
Jo-Philipp Wich [Sun, 22 Dec 2019 20:30:02 +0000 (21:30 +0100)]
fstools: update to latest git HEAD

b4e25d5 libblkid-tiny: fix symbol collision with full libblkid

Fixes: FS#2691, FS#2692
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoramips: fix MAC address setup for Xiaomi MiWiFi Nano
Sungbo Eo [Sun, 22 Dec 2019 15:36:11 +0000 (00:36 +0900)]
ramips: fix MAC address setup for Xiaomi MiWiFi Nano

MAC addresses are stored in factory partition at:
0x0004: WiFi 2.4GHz (label_mac +1)
0x0028: LAN, WAN (label_mac)

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoramips: further improve support for Xiaomi MiWiFi Nano
Sungbo Eo [Sun, 22 Dec 2019 14:47:24 +0000 (23:47 +0900)]
ramips: further improve support for Xiaomi MiWiFi Nano

This patch does the following:

- prepend vendor name to model
- set status LEDs to follow the behavior in stock FW
- simplify state_default node definition
- use generic name for flash node

Stock FW status indicators:
https://files.xiaomi-mi.com/files/Mi_Router_Wi-Fi_Nano/Mi_router-NANO_EN.pdf
> Yellow: power on / off
> Blue: during normal operation
> Red: in case of problems with the operation of the device

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoopenvpn: update to 2.4.8
Magnus Kroken [Fri, 1 Nov 2019 23:30:02 +0000 (00:30 +0100)]
openvpn: update to 2.4.8

Backport two upstream commits that allow building
openvpn-openssl without OpenSSLs deprecated APIs.

Full changelog:
https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn24#OpenVPN2.4.8

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
4 years agolantiq: move include to parent falcon_lantiq_easy98000.dtsi
Adrian Schmutzler [Fri, 20 Dec 2019 13:08:55 +0000 (14:08 +0100)]
lantiq: move include to parent falcon_lantiq_easy98000.dtsi

This moves the include of lantiq.dtsi from the DTS files to the
parent falcon_lantiq_easy98000.dtsi.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: remove ar9_lantiq_easy50810.dts
Adrian Schmutzler [Sun, 15 Dec 2019 23:25:01 +0000 (00:25 +0100)]
lantiq: remove ar9_lantiq_easy50810.dts

This file seems to be orphaned, no device setup existing for it.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: use soc_vendor_device scheme on DTS file
Adrian Schmutzler [Sun, 15 Dec 2019 23:21:33 +0000 (00:21 +0100)]
lantiq: use soc_vendor_device scheme on DTS file

This renames lantiq DTS(I) files to follow soc_vendor_device scheme.
This will make DTS files easier to maintain.

As a side effect, DTS file name can be derived from device node
names now, only having to specify a SOC variable in Makefiles.

While at it, move files to arch/mips/boot/dts/lantiq subfolder.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: split device definitions into files
Adrian Schmutzler [Sun, 15 Dec 2019 21:58:34 +0000 (22:58 +0100)]
lantiq: split device definitions into files

This splits device definitions into several *.mk files to increase
overview.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: dts: assign the ASC pins to the serial controller node
Martin Blumenstingl [Mon, 8 Jul 2019 13:24:22 +0000 (15:24 +0200)]
lantiq: dts: assign the ASC pins to the serial controller node

Assign the ASC pins to the serial controller node instead of using pin
hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agolantiq: dts: assign the PCI pins to the PCI controller node
Martin Blumenstingl [Mon, 8 Jul 2019 13:17:25 +0000 (15:17 +0200)]
lantiq: dts: assign the PCI pins to the PCI controller node

Assign the PCI pins to the PCI controller node instead of using pin
hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agolantiq: dts: assign the STP pins to the STP GPIO controller node
Martin Blumenstingl [Mon, 8 Jul 2019 12:54:13 +0000 (14:54 +0200)]
lantiq: dts: assign the STP pins to the STP GPIO controller node

Assign the STP pins to the STP GPIO controller node instead of using
pin hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agolantiq: dts: assign the GPHY LED pins to the Ethernet controller node
Martin Blumenstingl [Mon, 8 Jul 2019 12:47:37 +0000 (14:47 +0200)]
lantiq: dts: assign the GPHY LED pins to the Ethernet controller node

Assign the GPHY LED pins to the Ethernet controller node instead of
using pin hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agolantiq: dts: assign the NAND pins to the nand-controller node
Martin Blumenstingl [Mon, 8 Jul 2019 10:10:12 +0000 (12:10 +0200)]
lantiq: dts: assign the NAND pins to the nand-controller node

Assign the NAND pins to the NAND controller node instead of using pin
hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

While here, define all NAND pins (CLE, ALE, read/RD, ready busy/RDY and
CE/CS1). This means that the pinctrl subsystem knows that these pins are
in use and cannot be re-assigned as GPIOs for example.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agolantiq: dts: define the SPI pins in {amazonse,ar9,vr9}.dtsi
Martin Blumenstingl [Mon, 8 Jul 2019 09:50:23 +0000 (11:50 +0200)]
lantiq: dts: define the SPI pins in {amazonse,ar9,vr9}.dtsi

Define the SPI pins in the corresponding SoCs.dtsi and assign them to
the SPI controller node. All known boards use CS4 and it's likely that
this is hardcoded in bootrom so this doesn't bother with having
per-board SPI pinmux settings.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agolantiq: dts: assign the MDIO pins to the gsw node
Martin Blumenstingl [Mon, 8 Jul 2019 09:40:25 +0000 (11:40 +0200)]
lantiq: dts: assign the MDIO pins to the gsw node

Assign the MDIO pins to the switch node instead of using pin hogging
(where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

This converts amazonse, ar9 and vr9. danube is skipped because the pin
controller doesn't define a pinmux for the MDIO pins (some of the SoC
pads may be hardwired to the MDIO pins instead of being configurable).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 years agoramips: further DTS improvements for Edimax RG21S
Adrian Schmutzler [Thu, 19 Dec 2019 18:03:44 +0000 (19:03 +0100)]
ramips: further DTS improvements for Edimax RG21S

This fixes the state_default node by setting the correct groups and
inheriting &state_default from parent DTSI directly.

The compatible for the wifi nodes is changed to the more generic
mediatek,mt76.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: add eth0 MAC address for Edimax RG21S
Adrian Schmutzler [Tue, 17 Dec 2019 12:43:25 +0000 (13:43 +0100)]
ramips: add eth0 MAC address for Edimax RG21S

So far, lan/wan MAC address for Edimax RG21S are only read using
mtd_get_mac_ascii, so eth0.1 and eth0.2 addresses are set, but
eth0 address is random. Since the device's LAN address is the same
as for 2.4 GHz, though, this patch set's the eth0 address based
on the 2.4 GHz one, which can be extracted by mtd-mac-address.

This will also allow to move the label MAC address setup to DT.

The setup of lan_mac and wan_mac are kept in 02_network, so those
locations are still in use, too.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58U
Sungbo Eo [Sat, 21 Dec 2019 12:43:24 +0000 (21:43 +0900)]
ipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58U

RT-AC58U has single USB 3.0 port, and only usb3_port1 is actually used.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoipq40xx: improve ASUS RT-AC58U support
Sungbo Eo [Sat, 21 Dec 2019 03:43:40 +0000 (12:43 +0900)]
ipq40xx: improve ASUS RT-AC58U support

This patch does the following:

- move WiFi LED setup to DTS
- fix LAN/WAN MAC addresses and add label MAC address
- wan5G -> wlan5G, power -> led_power
- increase flash SPI frequency to 30MHz

MAC addresses are stored in Factory partition at:
0x1006: WiFi 2.4GHz, WAN (label_mac)
0x5006: WiFi 5GHz, LAN (label_mac +4)

By improving flash speed,
`time dd if=/dev/mtdblock8 of=/dev/null bs=2k`
is reduced from 7m 10.26s to 5m 9.52s.
Using higher frequencies did not improve speed further.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoar71xx: fix MAC address setup for TL-WDR4300 board
Sungbo Eo [Sun, 15 Dec 2019 09:10:18 +0000 (18:10 +0900)]
ar71xx: fix MAC address setup for TL-WDR4300 board

The current ethernet MAC address setup of TL-WDR4300 board is different
from the setup of stock firmware:

OpenWrt: lan = label_mac -2, wan = label_mac -2
  stock: lan = label_mac,    wan = label_mac +1

This patch applies to all devices using TL-WDR4300 board:
TL-WDR3600 v1
TL-WDR4300 v1
TL-WDR4300 v1 (IL)
TL-WDR4310 v1
Mercury MW4530R v1

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoath79: fix MAC address setup for TP-Link TL-WDR3600/TL-WDR4300
Sungbo Eo [Sun, 15 Dec 2019 09:11:45 +0000 (18:11 +0900)]
ath79: fix MAC address setup for TP-Link TL-WDR3600/TL-WDR4300

The current ethernet MAC address setup of TL-WDR4300 board is different
from the setup of stock firmware:

OpenWrt: lan = label_mac -2, wan = label_mac -2
  stock: lan = label_mac,    wan = label_mac +1

The full address assignment is as follows:
LAN  label
WAN  label + 1
5G   label
2G   label - 1

This patch changes all devices using TL-WDR4300 board:
TL-WDR3600 v1 (checked on device)
TL-WDR4300 v1 (checked on device)
TL-WDR4300 v1 (IL)

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rephrase/extend commit title/message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: add support for Aruba AP-303
David Bauer [Wed, 23 Oct 2019 20:25:14 +0000 (22:25 +0200)]
ipq40xx: add support for Aruba AP-303

Hardware
--------

SoC:   Qualcomm IPQ4029
RAM:   512M DDR3
FLASH: - 128MB NAND (Macronix MX30LF1G18AC)
       - 4MB SPI-NOR (Macronix MX25R3235F)
TPM:   Atmel AT97SC3203
BLE:   Texas Instruments CC2540T
       attached to ttyMSM0
ETH:   Atheros AR8035
LED:   WiFi (amber / green)
       System (red / green)
BTN:   Reset

To connect to the serial console, you can solder to the labled pads next
to the USB port or use your Aruba supplied UARt adapter.

Do NOT plug a standard USB cable into the Console labled USB-port!
Aruba/HPE simply put UART on the micro-USB pins. You can solder yourself
an adapter cable:

VCC - NC
 D+ - TX
 D- - RX
GND - GND

The console setting in bootloader and OS is 9600 8N1. Voltage level is
3.3V.

To enable a full list of commands in the U-Boot "help" command, execute
the literal "diag" command.

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

1. Get the OpenWrt initramfs image. Rename it to ipq40xx.ari and put it
   into the TFTP server root directory. Configure the TFTP server to
   be reachable at 192.168.1.75/24. Connect the machine running the TFTP
   server to the ethernet port of the access point.

2. Connect to the serial console. Interrupt autobooting by pressing
   Enter when prompted.

3. Configure the bootargs and bootcmd for OpenWrt.
   $ setenv bootargs_openwrt "setenv bootargs console=ttyMSM1,9600n8"
   $ setenv nandboot_openwrt "run bootargs_openwrt; ubi part aos1;
     ubi read 0x85000000 kernel; bootm 0x85000000"
   $ setenv ramboot_openwrt "run bootargs_openwrt;
     setenv ipaddr 192.168.1.105; setenv serverip 192.168.1.75;
     netget; set fdt_high 0x87000000; bootm"
   $ setenv bootcmd "run nandboot_openwrt"
   $ saveenv

4. Load OpenWrt into RAM:
   $ run ramboot_openwrt

5. After OpenWrt booted, transfer the OpenWrt sysupgrade image to the
   /tmp folder on the device.

6. Flash OpenWrt:
   $ ubidetach -p /dev/mtd1
   $ ubiformat /dev/mtd1
   $ sysupgrade -n /tmp/openwrt-sysupgrade.bin

To go back to the stock firmware, simply reset the bootcmd in the
bootloader to the original value:

  $ setenv bootcmd "boot"
  $ saveenv

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoipq-wifi: add BDF for Aruba AP-303
David Bauer [Sun, 15 Dec 2019 22:02:54 +0000 (23:02 +0100)]
ipq-wifi: add BDF for Aruba AP-303

The BDF originates from the vendor-firmware.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: fix USB LED for Belkin F9K1109v1
Sungbo Eo [Mon, 11 Nov 2019 16:19:03 +0000 (01:19 +0900)]
ramips: fix USB LED for Belkin F9K1109v1

Device support for Belkin F9K1109v1 was added using set_usb_led()
although this was removed in 772b27c20736 ("ramips: set F5D8235 v1
usb led trigger via devicetree").

Use ucidef_set_led_usbport() instead.

Fixes: f2c83532f92c ("ramips: add support for Belkin F9K1109v1")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rephrase commit title and message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agofstools: update to latest git HEAD
Rafał Miłecki [Fri, 20 Dec 2019 07:19:02 +0000 (08:19 +0100)]
fstools: update to latest git HEAD

111a43f libblkid-tiny: vfat: Change parsing label in special cases
f43a1aa libblkid-tiny: vfat: Fix reading labels which starts with byte 0x05
157924d libblkid-tiny: add blkid_probe_set_id_label() stub
0c5761f libblkid-tiny: use separated buffer for each block device read
b82c5c1 libblkid-tiny: add functions for allocating & freeing probe struct
12851d6 blockd: don't flush devices list on "hotplug" call
5ea47fe blockd: fix vlist memory corruption

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agosunxi: rename SUNXI_SOC to SOC
Adrian Schmutzler [Fri, 20 Dec 2019 00:18:44 +0000 (01:18 +0100)]
sunxi: rename SUNXI_SOC to SOC

This replaces SUNXI_SOC by the newly introduced common SOC device
variable.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: rename MTK_SOC to SOC
Adrian Schmutzler [Fri, 20 Dec 2019 00:15:57 +0000 (01:15 +0100)]
ramips: rename MTK_SOC to SOC

This replaces MTK_SOC by the newly introduced common SOC device
variable.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: rename ATH_SOC to SOC
Adrian Schmutzler [Fri, 20 Dec 2019 00:12:42 +0000 (01:12 +0100)]
ath79: rename ATH_SOC to SOC

This replaces ATH_SOC by the newly introduced common SOC device
variable.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobuild: image: add SOC device variable
Adrian Schmutzler [Mon, 16 Dec 2019 12:19:43 +0000 (13:19 +0100)]
build: image: add SOC device variable

This creates the device variable SOC and adds it to DEFAULT_DEVICE_VARS.

It is supposed to replace target-specific SOC variables like ATH_SOC or
MTK_SOC and thus unify variable names across targets.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: harmonize line breaks in image Makefiles
Adrian Schmutzler [Thu, 19 Dec 2019 19:42:19 +0000 (20:42 +0100)]
ath79: harmonize line breaks in image Makefiles

This harmonizes the line wrapping in image Makefile device
definitions, as those are frequently copy-pasted and are a common
subject of review comments. Having the treatment unifying should
reduce the cases where adjustment is necessary afterwards.

Harmonization is achieved by consistently (read "strictly")
applying certain rules:
- Never put more than 80 characters into one line
- Fill lines up (do not break after 40 chars because of ...)
- Use one tab for indent after wrapping by "\"
- Only break after pipe "|" for IMAGE variables

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: harmonize line breaks in image Makefiles
Adrian Schmutzler [Thu, 19 Dec 2019 18:40:33 +0000 (19:40 +0100)]
ramips: harmonize line breaks in image Makefiles

This harmonizes the line wrapping in image Makefile device
definitions, as those are frequently copy-pasted and are a common
subject of review comments. Having the treatment unifying should
reduce the cases where adjustment is necessary afterwards.

Harmonization is achieved by consistently (read "strictly")
applying certain rules:
- Never put more than 80 characters into one line
- Fill lines up (do not break after 40 chars because of ...)
- Use one tab for indent after wrapping by "\"
- Only break after pipe "|" for IMAGE variables

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agouci: update to latest Git HEAD
Petr Štetiar [Wed, 11 Dec 2019 20:23:24 +0000 (21:23 +0100)]
uci: update to latest Git HEAD

165b44413145 uci: Fix extra semicolons warnings
66264ed9ec9e cmake: add more hardening compiler flags
cca6f105fae2 libuci: refactor uci_get_errorstr
750b046eb77f tests: cram: Lua: add test case for uci_get_errorstr
654d7c33da28 lua: add missing forward declaration
03dfbbe6fef7 cli: fix format string clang-10 warning

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-envtools: ath79: fix missing etactica eg200 support
Karl Palsson [Fri, 13 Dec 2019 14:38:14 +0000 (14:38 +0000)]
uboot-envtools: ath79: fix missing etactica eg200 support

Was inadvertantly missed from the inital forward port from ar71xx to
ath79.

Fixes: 1588114cf2a3 ("ath79: add etactica-eg200 support")
Signed-off-by: Karl Palsson <karlp@etactica.com>
[commit description/subject facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoath79-tiny: enable 4k sectors
Paul Fertser [Tue, 26 Nov 2019 13:01:11 +0000 (16:01 +0300)]
ath79-tiny: enable 4k sectors

This enables using 4kiB sectors as erase blocks for 4MiB NOR flash ICs
that support it.

Writeable jffs2 overlay used to store settings requires a partition with
at least 5 erase blocks, so using small sectors is essential for devices
with 4MiB flash.

Sysupgrading a device running firmware without this feature will likely
not allow to preserve configs automatically but since ath79 is
considered to be in a "technology preview" state it shouldn't be a
problem.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
4 years agoath79: add D-Link DIR-615 E4
Paul Fertser [Tue, 10 Dec 2019 10:52:02 +0000 (13:52 +0300)]
ath79: add D-Link DIR-615 E4

Specifications:

- FCC ID: KA2IR615E3
- SoC: MIPS32 24K 400 MHz Atheros AR7240
- RAM: 32 MiB DDR SDRAM ESMT M13S2561616A-5T
- Flash: 4 MiB NOR SPI Macronix MX25L3208E
- Wireless: AR9287 2.4 GHz 802.11n 2T2R, 2x RP-SMA connectors
- Ethernet: 5x 100BASE-TX Fast Ethernet
- LEDs: 9x GPIO, 1x ath9k
- Buttons: 2x tactile switches
- UART: 3.3 V, 115200 8n1
- USB: simple hardware modification required, 1x USB 1.1 Full Speed

Partitioning notes:

Vendor firmware (based on CameoAP99) defines two additional partitions:
"mac" @0x3b0000, size 0x10000 and "lp" @0x3c0000, size 0x30000.

The "mac" partition stores LAN MAC address and hardware board name.
However, the vendor firmware uses addresses from "nvram" partition, and
the board name is used only for informational purposes in the Web
interface (included in the pages' header), not affecting the firmware
image check.

The "lp" partition is supposed to contain a "language pack" (which can
be used to add an additional language support to the Web interface) and
is flashed separately, using the vendor firmware upgrade page.

Since these partitions are absolutely useless for OpenWrt and
overwriting them doesn't prevent downgrading to obsolete vendor
firmware, this patch appends the valueable space to "firmware".

Installation instructions:

- Upgrade from OpenWrt ar71xx with "sysupgrade -f -n"
or
- Upload as a firmware update via the vendor Web-interface
or
- Connect UART and use "loady" to upload and run OpenWrt initramfs
  image, then sysupgrade from it (TFTP client doesn't work)
or
- Before powering up hold "reset" button and keep it pressed for about
  15 seconds after, then access fail safe Web server on 192.168.0.1 (the
  old uIP TCP/IP protocol stack is not compatible with modern Linux, the
  kernel, so you'll need to use some other OS to do this). Can be
  performed without a Web-browser too:
    curl http://192.168.0.1/cgi/index \
      -F Send=@openwrt-ath79-tiny-dlink_dir-615-e4-squashfs-factory.bin

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
4 years agoath79: enable all space on Netgear ar9344-based WNDR routers
Michal Cieslakiewicz [Tue, 12 Nov 2019 13:02:14 +0000 (14:02 +0100)]
ath79: enable all space on Netgear ar9344-based WNDR routers

Netgear WNDR routers (AR9344 models) like WNDR4300 have 128 MiB of flash
memory but only first 32 MiB are used now - both by vendor's firmware and
OpenWrt. This patch concatenates two regions of flash memory: ubi part
of firmware partition and reserved (unused) space beyond 'caldata_backup'
while preserving ART backup. No data is wiped or moved away.
This increases area for OS ubi volumes from 23 to 119 Megabytes.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
4 years agobase-files: send informational UDP message each second waiting
Paul Fertser [Tue, 10 Dec 2019 14:24:20 +0000 (17:24 +0300)]
base-files: send informational UDP message each second waiting

The preinit network initialisation and failsafe informational message
are inherently racy as the interface takes some time to become
functional after "ip link set $pi_ifname up" command.

Consider this timing:

[   12.002713] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   12.008819] IPv6: ADDRCONF(NETDEV_UP): eth1.1: link is not ready
[   12.118877] random: procd: uninitialized urandom read (4 bytes read)
[   13.068614] eth1: link up (1000Mbps/Full duplex)
[   13.073309] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   13.080445] IPv6: ADDRCONF(NETDEV_CHANGE): eth1.1: link becomes ready

Since the UDP message was sent prior to link becoming ready, it was
never seen on the wire.

The default failsafe timeout is set to 2 seconds, so with this patch
there are two attempts to send the message, one spent in vain, and the
other visible in tcpdump on an attached host. Of course, in cases when
the interface is brought up faster it leads to two messages, however it
should be harmless. This patch (almost) doesn't affect normal boot time
while still allowing to enter failsafe reliably with a single button
press, matching the official "generic failsafe" documentation.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
4 years agoiputils: move iputils tools to packages feed
Petr Štetiar [Fri, 6 Dec 2019 05:55:24 +0000 (06:55 +0100)]
iputils: move iputils tools to packages feed

iputils has moved from the master tree to the packages feed, and is
switching from the abandoned skbuff.net upstream to
github.com/iputils/iputils.

Ref: https://git.openwrt.org/556698cedf9e86a0ffe9f148d4e8e733676c26f6
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq806x: switch to 4.19 kernel version
Ansuel Smith [Sun, 15 Dec 2019 13:08:46 +0000 (14:08 +0100)]
ipq806x: switch to 4.19 kernel version

It has been used by several people for some time already and feedback
has been mostly positive.

Ref: https://github.com/openwrt/openwrt/pull/2472
Tested-by: Hannu Nyman <hannu.nyman@iki.fi> [ipq8065, R7800]
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq8065, NBG6817]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[separate commit, commit subject and description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq806x: update USB3 modules for 4.19
Ansuel Smith [Sun, 15 Dec 2019 13:07:46 +0000 (14:07 +0100)]
ipq806x: update USB3 modules for 4.19

- Use new dwc3-qcom usb driver.
- Drop dwc3-of-simple as we have a dedicated driver now.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[split into separate commit, commit subject facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq806x: add missing core1 voltage tolerance
Pavel Kubelun [Mon, 2 Dec 2019 23:45:47 +0000 (00:45 +0100)]
ipq806x: add missing core1 voltage tolerance

Voltage tolerance is accounted per core, not per cpu, so add
missing DT entry.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agokernel: make dwc3 usb driver depends on kernel 4.14
Ansuel Smith [Fri, 29 Nov 2019 16:24:14 +0000 (17:24 +0100)]
kernel: make dwc3 usb driver depends on kernel 4.14

- usb-dwc3-of-simple is not used anymore as we have qcom dedicated driver
- usb-phy-qcom-dwc3 is not dependent of dwc3-of-simple

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>