openwrt/staging/jow.git
4 years agonghttp2: bump to 1.41.0
Hans Dedecker [Sat, 6 Jun 2020 12:00:37 +0000 (14:00 +0200)]
nghttp2: bump to 1.41.0

8f7b008b Update bash_completion
83086ba9 Update manual pages
c3b46625 Merge pull request from GHSA-q5wr-xfw9-q7xr
3eecc2ca Bump version number to v1.41.0, LT revision to 34:0:20
881c060d Update AUTHORS
f8da73bd Earlier check for settings flood
336a98fe Implement max settings option
ef415836 Revert "Add missing connection error handling"
979e6c53 Merge pull request #1459 from nghttp2/proxyprotov2
b7d16101 Add missing connection error handling
cd53bd81 Merge pull request #1460 from gportay/patch-1
e5625b8c Fix doc
c663349f integration: Add PROXY protocol v2 tests
854e9fe3 nghttpx: Always call init_forwarded_for
c60ea227 Update doc
49cd8e6e nghttpx: Add PROXY-protocol v2 support
3b17a659 Merge pull request #1453 from Leo-Neat/master
600fcdf5 Merge pull request #1455 from xjtian/long_serials
4922bb41 static_cast size parameter in StringRef constructor to size_t
aad86975 Fix get_x509_serial for long serial numbers
dc7a7df6 Adding CIFuzz
b3f85e2d Merge pull request #1444 from nghttp2/fix-recv-window-flow-control-issue
ffb49c6c Merge pull request #1435 from geoffhill/master
2ec58551 Fix receiving stream data stall
459df42b Merge pull request #1442 from nghttp2/upgrade-llhttp
a4c1fed5 Bump llhttp to 2.0.4
866eadb5 Enable session_create_idle_stream test, fix errors
5e13274b Fix typo
e0d7f7de h2load: Allow port in --connect-to
df575f96 h2load: add --connect-to option
1fff7379 clang-format-9
b40c6c86 Merge pull request #1418 from vszakats/patch-1
9bc2c75e lib/CMakeLists.txt: Make hard-coded static lib suffix optional
2d5f7659 Bump up version number to 1.41.0-DEV

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agokernel: sch_cake: use skb hash improve wireguard compatibility
Kevin Darbyshire-Bryant [Fri, 29 May 2020 15:29:53 +0000 (16:29 +0100)]
kernel: sch_cake: use skb hash improve wireguard compatibility

While the other fq-based qdiscs take advantage of skb->hash and doesn't
recompute it if it is already set, sch_cake does not.

This was a deliberate choice because sch_cake hashes various parts of the
packet header to support its advanced flow isolation modes. However,
foregoing the use of skb->hash entirely loses a few important benefits:

- When skb->hash is set by hardware, a few CPU cycles can be saved by not
  hashing again in software.

- Tunnel encapsulations will generally preserve the value of skb->hash from
  before the encapsulation, which allows flow-based qdiscs to distinguish
  between flows even though the outer packet header no longer has flow
  information.

It turns out that we can preserve these desirable properties in many cases,
while still supporting the advanced flow isolation properties of sch_cake.
This patch does so by reusing the skb->hash value as the flow_hash part of
the hashing procedure in cake_hash() only in the following conditions:

- If the skb->hash is marked as covering the flow headers (skb->l4_hash is
  set)

AND

- NAT header rewriting is either disabled, or did not change any values
  used for hashing. The latter is important to match local-origin packets
  such as those of a tunnel endpoint.

The immediate motivation for fixing this was the recent patch to WireGuard
to preserve the skb->hash on encapsulation. As such, this is also what I
tested against; with this patch, added latency under load for competing
flows drops from ~8 ms to sub-1ms on an RRUL test over a WireGuard tunnel
going through a virtual link shaped to 1Gbps using sch_cake. This matches
the results we saw with a similar setup using sch_fq_codel when testing the
WireGuard patch.

Fixes: 046f6fd5daef ("sched: Add Common Applications Kept Enhanced (cake) qdisc")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agomvebu: remove ClearFog Pro SUPPORTED_DEVICES
DENG Qingfang [Thu, 4 Jun 2020 04:30:19 +0000 (12:30 +0800)]
mvebu: remove ClearFog Pro SUPPORTED_DEVICES

A direct upgrade from previous swconfig version with
incompatible settings to DSA will break the internet.
Remove SUPPORTED_DEVICES so users cannot upgrade directly.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[rebase after Linksys rename, adjust title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomvebu: rename Linksys devices based on their common names
Paul Spooren [Fri, 10 Apr 2020 10:14:21 +0000 (00:14 -1000)]
mvebu: rename Linksys devices based on their common names

The Linksys devices in mvebu target feature a mixed naming,
where parts are based on the official product name (device
node, image; e.g. WRT3200ACM) and parts are based on the
internal code name (DTS file name, compatible, LED labels;
e.g. rango). This inconsistent naming has been perceived
as quite confusing.

A recent attempt by Paul Spooren to harmonize this naming
in kernel has been declined there. However, for us it still
makes sense to apply at least a part of these changes
locally.

Primarily, this patch changes the compatible in DTS and thus
the board name used in various scripts to have them in line
with the device, model and image names. Due to the recent
switch from swconfig to DSA, this allows us to drop
SUPPORTED_DEVICES and thus prevent seamless upgrade between
these incompatible setups.

However, this does not include the LED label rename from
Paul's initial patch: I don't think it's worth keeping the
enormous diff locally for this case, as we can implement
this much easier in 01_leds if we have to live with the
inconsistency anyway.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[rebase, extend to all devices, drop DT LED changes]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokernel: b53: fix compilation with kernels 5.5+
Rafał Miłecki [Fri, 5 Jun 2020 10:42:21 +0000 (12:42 +0200)]
kernel: b53: fix compilation with kernels 5.5+

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agogeneric: mt7530: support adjusting EEE
DENG Qingfang [Thu, 28 May 2020 07:04:17 +0000 (15:04 +0800)]
generic: mt7530: support adjusting EEE

Add support for adjusting EEE with ethtool

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agogeneric: mt7530: fix roaming from DSA user ports
DENG Qingfang [Sat, 25 Apr 2020 12:08:00 +0000 (20:08 +0800)]
generic: mt7530: fix roaming from DSA user ports

When a client moves from a DSA user port to a software port in a bridge,
it cannot reach any other clients that connected to the DSA user ports.
That is because SA learning on the CPU port is disabled, so the switch
ignores the client's frames from the CPU port and still thinks it is at
the user port.

Fix it by enabling SA learning on the CPU port.

To prevent the switch from learning from flooding frames from the CPU
port, set skb->offload_fwd_mark to 1 for unicast and broadcast frames,
and let the switch flood them instead of trapping to the CPU port.
Multicast frames still need to be trapped to the CPU port for snooping,
so set the SA_DIS bit of the MTK tag to 1 when transmitting those frames
to disable SA learning.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agogeneric: fix DSA VLAN filtering
DENG Qingfang [Mon, 20 Apr 2020 13:37:17 +0000 (21:37 +0800)]
generic: fix DSA VLAN filtering

Currently enabling VLAN filtering blocks all traffic in the bridge
immediately. That is because DSA ignores all VLAN setup when VLAN
filtering is disabled, and when it is enabled, there is no VLAN entry
in the VLAN table, causing all traffic to be blocked.

Add patches to allow VLAN setup even if VLAN filtering is disabled.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agogeneric: mt7530: set CPU port to fallback mode
DENG Qingfang [Thu, 14 May 2020 03:00:58 +0000 (11:00 +0800)]
generic: mt7530: set CPU port to fallback mode

Currently, setting a bridge's self PVID to other value and deleting
the default VID 1 renders untagged ports of that VLAN unable to talk to
the CPU port:

bridge vlan add dev br0 vid 2 pvid untagged self
bridge vlan del dev br0 vid 1 self
bridge vlan add dev sw0p0 vid 2 pvid untagged
bridge vlan del dev sw0p0 vid 1
# br0 cannot send untagged frames out of sw0p0 anymore

That is because the CPU port is set to security mode and its PVID is
still 1, and untagged frames are dropped due to VLAN member violation.

Set the CPU port to fallback mode so untagged frames can pass through.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoramips/mediatek: select kmod-mt7615-firmware where kmod-mt7615e is selected
Felix Fietkau [Wed, 3 Jun 2020 16:55:55 +0000 (18:55 +0200)]
ramips/mediatek: select kmod-mt7615-firmware where kmod-mt7615e is selected

The new mt76 version splits out the firmware, because the driver can also be
used for MT7663/MT7613

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agokernel: fix portability issue with perf on linux 5.4
Felix Fietkau [Tue, 12 May 2020 13:23:01 +0000 (15:23 +0200)]
kernel: fix portability issue with perf on linux 5.4

Remove dependencies on core kernel headers in host tools used to build perf,
which break on any non-linux system

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agohostapd: add support for wifi-station and wifi-vlan sections
John Crispin [Mon, 25 May 2020 09:39:40 +0000 (11:39 +0200)]
hostapd: add support for wifi-station and wifi-vlan sections

This patch adds support for 2 new uci sections.

config wifi-vlan
# iface is optional. if it is not defined the vlan will apply
# to all interfaces
        option iface default_radio0
        option name guest
        option vid 100
        option network guest

config wifi-station
# iface is optional. if it is not defined the station will apply
# to all interfaces
        option iface default_radio0
        # mac is optional. if it is not defined it will be a catch all
# for any sta using this key
option mac '00:11:22:33:44:55'
        # vid is optional. if it is not defined, the sta will be part of
# the primary iface.
option vid 100
        option key testtest

With this patch applied it is possible to use multiple PSKs on a single BSS.

Signed-off-by: John Crispin <john@phrozen.org>
4 years agonetifd: update to latest HEAD
John Crispin [Thu, 4 Jun 2020 11:35:33 +0000 (13:35 +0200)]
netifd: update to latest HEAD

db275e1 interface-ip: fix build on non-linux systems
3392046 system-dummy: fix missing return
a56b457 netifd: wireless: add support for tracking wifi-station sections
4ce33ce netifd: wireless: add support for tracking wifi-vlan sections

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomvebu: rename Linksys Mamba WAN port
DENG Qingfang [Tue, 28 Apr 2020 15:40:53 +0000 (23:40 +0800)]
mvebu: rename Linksys Mamba WAN port

Rename it to wan to match Linksys Armada 385 series

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: remove swconfig package
DENG Qingfang [Sun, 19 Apr 2020 08:16:32 +0000 (16:16 +0800)]
mvebu: remove swconfig package

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agogeneric: backport mv88e6xxx port mirroring support
DENG Qingfang [Sun, 19 Apr 2020 08:04:06 +0000 (16:04 +0800)]
generic: backport mv88e6xxx port mirroring support

Backport port mirroring support for mv88e6xxx

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: drop 06_set_iface_mac preinit script
DENG Qingfang [Sun, 19 Apr 2020 07:55:31 +0000 (15:55 +0800)]
mvebu: drop 06_set_iface_mac preinit script

MAC address is set in board.d script
Interface swapping is not needed anymore as switching to DSA breaks
previous configuration anyway

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: use ucidef to set up MAC address
DENG Qingfang [Sun, 19 Apr 2020 07:53:03 +0000 (15:53 +0800)]
mvebu: use ucidef to set up MAC address

Use ucidef to set up MAC address instead of preinit script

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: use eth0 as DSA CPU port for Linksys WRT
DENG Qingfang [Thu, 30 Apr 2020 11:41:39 +0000 (19:41 +0800)]
mvebu: use eth0 as DSA CPU port for Linksys WRT

eth0 has HW MAC address while eth2 does not.
Use eth0 instead so we don't have to set LAN MAC manually.
Disable unused eth2, until multi CPU port is supported.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: update default config for DSA
DENG Qingfang [Sun, 19 Apr 2020 07:36:04 +0000 (15:36 +0800)]
mvebu: update default config for DSA

Update network/LED configuration for DSA driver.
sysupgrade from images prior to this commit with config preserved
will break the ethernet.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: remove swconfig symbols from kernel config
DENG Qingfang [Sun, 19 Apr 2020 07:34:40 +0000 (15:34 +0800)]
mvebu: remove swconfig symbols from kernel config

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: drop swconfig patches
DENG Qingfang [Sun, 19 Apr 2020 07:33:19 +0000 (15:33 +0800)]
mvebu: drop swconfig patches

Drop swconfig patches for Clearfog and Linksys WRT

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: switch to kernel 5.4
Adrian Schmutzler [Thu, 28 May 2020 16:46:47 +0000 (18:46 +0200)]
mvebu: switch to kernel 5.4

Last reports with kernel 5.4 have all been positive [1], so let's open
this to a wider range of testers.

[1] https://github.com/openwrt/openwrt/pull/2804

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: vg-8050: fix WFI partition size
Álvaro Fernández Rojas [Wed, 3 Jun 2020 17:06:22 +0000 (19:06 +0200)]
bcm63xx: vg-8050: fix WFI partition size

Each image can take up to 0x3d60000, which means 128k more per image.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: vr-3032u: fix WFI partition size
Álvaro Fernández Rojas [Wed, 3 Jun 2020 17:03:42 +0000 (19:03 +0200)]
bcm63xx: vr-3032u: fix WFI partition size

Each image can take up to 0x3d60000, which means 128k more per image.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: bcm_wfi: always add img partitions
Álvaro Fernández Rojas [Wed, 3 Jun 2020 16:44:50 +0000 (18:44 +0200)]
kernel: mtdsplit: bcm_wfi: always add img partitions

This is useful when booting OpenWrt from ramdisks in order to have both
images partitions defined.
Furthermore, instead of always using img2 for the inactive image, let's use
img1 or img2 accordingly.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g
Tobias Schramm [Wed, 3 Jun 2020 13:10:40 +0000 (15:10 +0200)]
ramips: mt7621: use higher SPI clock speed on Mikrotik rbm11g and rbm33g

Previously the dts were using a value determined by empirical testing,
because of a spi driver/clock bug. The bug was fixed quite some time
ago. 33 MHz is the default clock frequency used by RouterBOOT and thus
safe.

Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
4 years agoiwinfo: update to version 2020-06-03
Petr Štetiar [Wed, 3 Jun 2020 12:55:10 +0000 (14:55 +0200)]
iwinfo: update to version 2020-06-03

2faa20e5e9d1 iwinfo: add device id for Mikrotik R11e-5HacD miniPCIe card
d577a9d38a3b iwinfo: add device id for Marvell 88W8997 SDIO wifi card
f6b7d16d2ffa iwinfo: add device id for Atheros AR9287 PCIe wifi card

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agobcm47xx: fix brcm-wl module loading
Sungbo Eo [Sun, 31 May 2020 07:42:23 +0000 (16:42 +0900)]
bcm47xx: fix brcm-wl module loading

_dma_cache_wback_inv needs to be exported to load wl module successfully.

root@OpenWrt:/# insmod wl
[  363.867779] wl: Unknown symbol _dma_cache_wback_inv (err -2)
failed to insert /lib/modules/5.4.40/wl.ko

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Cc: Rafał Miłecki <rafal@milecki.pl>
4 years agokernel: iio: add drivers for st_lsm6dsx IMU MEMS sensors
Tim Harvey [Thu, 28 May 2020 15:04:42 +0000 (08:04 -0700)]
kernel: iio: add drivers for st_lsm6dsx IMU MEMS sensors

Add kmod for the ST LSM6DSX IMU driver.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
[fixed missing regmap module dependencies]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agokernel: iio: fix st_accel_{i2c, spi} driver
Tim Harvey [Thu, 28 May 2020 15:02:01 +0000 (08:02 -0700)]
kernel: iio: fix st_accel_{i2c, spi} driver

Add missing kernel module and rename driver

Fixes: 2d8f4c4fbd46 ("kernel: iio: add st-accel driver modules")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years agoocteontx: fix mcp251x can controller
Tim Harvey [Thu, 28 May 2020 14:58:49 +0000 (07:58 -0700)]
octeontx: fix mcp251x can controller

Update the can-mcp251x-convert-to-half-duplex-SPI patch to fix reception

Some SPI host controllers such as the Cavium Thunder TX do not support
full-duplex SPI. Using half-duplex transfers allows the driver to work
with those host controllers.

This patch fixes the fact that mcp251x_hw_rx_frame was still relying on
a full-duplex transfer where bits were being shifted on MOSI at the same time
as MISO. After splitting the transaction into a spi_write_then_read() care
must be taken to ignore the first byte.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years agoocteontx: fix gpio irq request
Tim Harvey [Thu, 28 May 2020 14:58:34 +0000 (07:58 -0700)]
octeontx: fix gpio irq request

This fixes a regression in 5.4 that causes a crash when a driver requests
an ARM GPIO for an IRQ.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years agoocteontx: refresh kernel 5.4 config
Tim Harvey [Tue, 2 Jun 2020 17:05:01 +0000 (10:05 -0700)]
octeontx: refresh kernel 5.4 config

refresh kernel config by running make kernel_menuconfig and saving changes

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years agoimx6: image: increase max ubifs file-system size
Tim Harvey [Thu, 28 May 2020 13:57:05 +0000 (06:57 -0700)]
imx6: image: increase max ubifs file-system size

The latest 2GiB NAND flash parts used by Gateworks ventana are 2K page-size.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years agoimx6: backport v5.8 imx6qdl-gw dt patches
Tim Harvey [Thu, 28 May 2020 13:56:17 +0000 (06:56 -0700)]
imx6: backport v5.8 imx6qdl-gw dt patches

- add fxos8700 support to GW52xx/GW53xx/GW54xx
- add USB_OTG support to GW552x
- add LSM9DS1 IMU support to GW560x
- add LSM9DS1 IMU support to GW5904
- add CC1352 UART to GW5910
- add BCM4330 support to GW5910
- fix wlan regulator for GW5910

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years agowolfssl: use -fomit-frame-pointer to fix asm error
Eneas U de Queiroz [Tue, 26 May 2020 13:45:22 +0000 (10:45 -0300)]
wolfssl: use -fomit-frame-pointer to fix asm error

32-bit x86 fail to compile fast-math feature when compiled with frame
pointer, which uses a register used in a couple of inline asm functions.

Previous versions of wolfssl had this by default.  Keeping an extra
register available may increase performance, so it's being restored for
all architectures.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agoexfat-utils: move into packages feed
Rosen Penev [Sun, 26 Apr 2020 23:17:30 +0000 (16:17 -0700)]
exfat-utils: move into packages feed

This will be moved to packages:

https://github.com/openwrt/packages/pull/12378

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[commit subject facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoxfsprogs: move into packages feed
Rosen Penev [Fri, 22 May 2020 23:22:57 +0000 (16:22 -0700)]
xfsprogs: move into packages feed

Does not seem to be needed here. This will be imported into packages.

Ref: https://github.com/openwrt/packages/pull/12256
Signed-off-by: Rosen Penev <rosenp@gmail.com>
[subject facelift, PR ref]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agolibconfig: move into packages feed
Rosen Penev [Fri, 22 May 2020 23:16:47 +0000 (16:16 -0700)]
libconfig: move into packages feed

No package in base uses libconfig. Everything is in the packages feed.

Ref: https://github.com/openwrt/packages/pull/12255
Signed-off-by: Rosen Penev <rosenp@gmail.com>
[subject facelift, PR ref]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agokernel: add gpio-it87
Florian Eckert [Wed, 29 Apr 2020 13:54:06 +0000 (15:54 +0200)]
kernel: add gpio-it87

Since commit 910df3f06cc902ca2cb0ca8e963e9354c930df1a we have build in
on all X86/64 platforms the gpio-it87 driver.

Since this change I am getting the following error message on boot.
 > kern.err kernel: [    1.009416] gpio_it87: no device

I do not have this device on my system. To prevent the nonsensical
message and the loading of the module I have added this as a package, so
that it can be installed later or during image building.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Reviewed-by: Philip Prindeville <philipp@redfish-solutions.com>
4 years agoath79: phy-ar7200-usb: do not print error on defered init
Johann Neuhauser [Tue, 28 Apr 2020 21:20:13 +0000 (23:20 +0200)]
ath79: phy-ar7200-usb: do not print error on defered init

This is only a cosmetic correction, as the driver works as expected.
However, the error message confuses users about a missing reset definition.

On a defered init we don't see the following error message now:
[    0.078292] ar7200-usb-phy usb-phy: phy reset is missing

Tested-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
4 years agobase-files: prevent issues w/ overlay on powerloss after sysupgrade
Sergey Ryazanov [Fri, 24 Apr 2020 14:04:14 +0000 (17:04 +0300)]
base-files: prevent issues w/ overlay on powerloss after sysupgrade

Due to filesystem write caching the old configuration data could stay
out of flash for a long time during a first boot after the sysupgrade.
Power loss during this period could damage the overlay data and even
make device inaccessable via the network.

Fix this by syncing data to a flash as soon as the previous
configuration will be unpacked after the sysupgrade. Also sync the FS
state after the sysupgrade.tgz archive removing to prevent duplicative
extraction of a previous configuration.

Tested with AMD Geode based board.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
4 years agodnsmasq: add /etc/dnsmasq.d/ to conffiles
Sven Roederer [Fri, 24 Apr 2020 13:43:49 +0000 (15:43 +0200)]
dnsmasq: add /etc/dnsmasq.d/ to conffiles

This directory can hold configuration-snippets which should also included in the backup.

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
4 years agomvebu: espressobin: fix SATA and USB 3.0 ports detection
Tomasz Maciej Nowak [Mon, 20 Apr 2020 17:47:11 +0000 (19:47 +0200)]
mvebu: espressobin: fix SATA and USB 3.0 ports detection

This commit removes changes from upstream commits:
8e18c8e58da6 arm64: dts: marvell: armada-3720-espressobin: declare SATA
PHY property
bd3d25b07342 arm64: dts: marvell: armada-37xx: link USB hosts with their
PHYs
For most boards which have factory bootloader this caused that devices
connected to USB 3.0 and SATA port were not detected. For them to
function users would need to upgrade the bootloader to version with ARM
Trusted Firmware 2.1 or later. Unfortunately there is no official
bootloader image with updated ATF component, therefore drop these
properties from nodes. This change was also tested briefly with
bootloader with updated ATF and the ports functioned properly.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
4 years agouboot-mxs: bump to v2020.04
Michael Heimpold [Sun, 19 Apr 2020 22:21:59 +0000 (00:21 +0200)]
uboot-mxs: bump to v2020.04

Also update the U-Boot BSP patch for I2SE Duckbill devices.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
4 years agoipq806x: enable disk-activity LED trigger
Thomas Albers [Thu, 16 Apr 2020 05:23:11 +0000 (00:23 -0500)]
ipq806x: enable disk-activity LED trigger

Enable the disk-activity LED trigger for ipq806x, since this SoC has an
onboard SATA controller.

Signed-off-by: Thomas Albers <thomas.gameiro@googlemail.com>
[split into separate commit]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agobase-files: fix LED IDE trigger
Thomas Albers [Wed, 3 Jun 2020 11:42:47 +0000 (13:42 +0200)]
base-files: fix LED IDE trigger

This changes the ide-disk LED trigger to the generic disk-activity as
ide-disk trigger was removed in upstream commit eb25cb9956cc ("leds:
convert IDE trigger to common disk trigger").

Signed-off-by: Thomas Albers <thomas.gameiro@googlemail.com>
[split into separate commit, commit description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agolinux/generic: remove obsolete config option LEDS_TRIGGER_IDE_DISK
Thomas Albers [Wed, 15 Apr 2020 23:53:13 +0000 (18:53 -0500)]
linux/generic: remove obsolete config option LEDS_TRIGGER_IDE_DISK

Kernel config option LEDS_TRIGGER_IDE_DISK was renamed in kernel 4.8 to
CONFIG_LEDS_TRIGGER_DISK in upstream commit eb25cb9956cc ("leds: convert
IDE trigger to common disk trigger").

Removing it as it should be added only on targets which has usage for
this trigger.

Signed-off-by: Thomas Albers <thomas.gameiro@googlemail.com>
[commit description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agobuild, imagebuilder: Do not require libncurses-dev
Paul Spooren [Tue, 14 Apr 2020 21:14:47 +0000 (11:14 -1000)]
build, imagebuilder: Do not require libncurses-dev

The buildroot and SDK both require `libncurses-dev` to be installed on
the system, however the ImageBuilder uses precompiled binaries.

This patch changes the prerequirements checks to skip the
`libncurses-dev` part if running as ImageBuilder.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoramips: add kmod-usb-dwc2 to ZyXEL Keenetic image
Alexey Dobrovolsky [Sat, 9 May 2020 18:10:44 +0000 (21:10 +0300)]
ramips: add kmod-usb-dwc2 to ZyXEL Keenetic image

ZyXEL Keenetic has a USB port. Thus, DWC2 USB controller driver should
be in the default image for this device.

Fixes: a7cbf59e0e04 ("ramips: add new device ZyXEL Keenetic as kn")
Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com>
[fixed whitespace issue]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoramips: remove patches for USB-dwc2
Alexey Dobrovolsky [Fri, 10 Apr 2020 22:37:09 +0000 (01:37 +0300)]
ramips: remove patches for USB-dwc2

In FS#2738 we can see that patch first introduced in
e8ebcff ("ramips: add a explicit reset to dwc2")
breaks USB functionality since 18.06. Thus, this patch should be removed.

Removed:
- 0032-USB-dwc2-add-device_reset.patch

Fixes: FS#2738
Fixes: FS#2964
Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com>
4 years agoprereq-build: test for perl's Data::Dumper
Rosen Penev [Mon, 30 Mar 2020 01:13:56 +0000 (18:13 -0700)]
prereq-build: test for perl's Data::Dumper

Required for installation of autoconf:

make[5]: Entering directory `/openwrt/build_dir/host/autoconf-2.69'
Making all in bin
make[6]: Entering directory `/openwrt/build_dir/host/autoconf-2.69/bin'
autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'
../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh --cache
 '' --melt ./autoconf.as -o autoconf.in

Can't locate Data/Dumper.pm in @INC (@INC contains: ../lib
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
../lib/Autom4te/C4che.pm line 33.
BEGIN failed--compilation aborted at ../lib/Autom4te/C4che.pm line 33.
Compilation failed in require at ../bin/autom4te line 40.
BEGIN failed--compilation aborted at ../bin/autom4te line 40.
make[6]: *** [autoconf.in] Error 2

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoapm821xx: set DEVICE_TYPE to "nas" for sata subtarget
Adrian Schmutzler [Sat, 30 May 2020 09:21:08 +0000 (11:21 +0200)]
apm821xx: set DEVICE_TYPE to "nas" for sata subtarget

Since DEVICE_TYPE cannot be set per device, just set DEVICE_TYPE
to "nas" for the entire subtarget, which only contains this single
device.

Note that while this looks like a cosmetic change in combination
with the previous patches, this particular patch actually changes
the packages for the device.

Suggested-by: Christian Lamparter <chunkeey@gmail.com>
Cc: Christian Lamparter <chunkeey@gmail.com>
Cc: Sungbo Eo <mans0n@gorani.run>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotreewide: provide consistent basic DEVICE_TYPE
Adrian Schmutzler [Fri, 29 May 2020 16:40:03 +0000 (18:40 +0200)]
treewide: provide consistent basic DEVICE_TYPE

While the effective "default" based on frequent use is "router", the
DEVICE_TYPE variable actually provides a "basic" configuration without
selecting any additional packages.

This is currently set up with the identifier "bootloader", which seems
to be not used at all. However, the only targets not using "router" or
"nas" are actually archs38 and arc770, which use their own value
"developerboard" for DEVICE_TYPE which seems to have been invented when
these targets where added. The latter is not implemented in target.mk,
though, and will fall back to the "basic" set of packages then.

So, to clean this up and make it more readable, let's just define a
DEVICE_TYPE "basic" and use it for the aforementioned cases.

Cc: Christian Lamparter <chunkeey@gmail.com>
Cc: Sungbo Eo <mans0n@gorani.run>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotreewide: drop DEVICE_TYPE when used as device variable
Adrian Schmutzler [Fri, 29 May 2020 15:58:20 +0000 (17:58 +0200)]
treewide: drop DEVICE_TYPE when used as device variable

DEVICE_TYPE is a target/subtarget variable, and it does not have
any effect when set in a device definition. It can only be set
in a target's or subtarget's Makefile.

Consequently, having it set anyway is misleading, so this drops
all cases.

This effectively reverts the following commits:
7a1497fd601d ("apm821xx: MBL: set DEVICE_TYPE to NAS")
5b4765c93a1b ("gemini: Classify Raidsonic NAS IB-4220-B as a NAS")
cdc6de460bb4 ("gemini: D-Link DNS-313 is a NAS")

For the following commit, the variable was set when adding device
support:
27b2f0fc0fc5 ("kirkwood: add support for Iomega Storcenter ix2-200")

Cc: Christian Lamparter <chunkeey@gmail.com>
Cc: Sungbo Eo <mans0n@gorani.run>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: lzma-loader: allow bigger ramdisks
Álvaro Fernández Rojas [Wed, 3 Jun 2020 11:39:50 +0000 (13:39 +0200)]
bcm63xx: lzma-loader: allow bigger ramdisks

Some (older) CFEs are loaded at 0x80401000 and ramdisks are loaded at
0x80010000, which means that ramdisk size limit is 0x3F1000 (almost 4M).
Therefore, current ramdisks (~4MB) are overwritting CFE in these devices,
which results in a crash.

This commit changes the address where ramdisks are loaded to 0x80a00000,
which is the same address where kernel is loaded when booting from the flash.
Therefore, lzma-loader will now be loaded at 0x80a00000, but it will still
decompress the kernel at 0x80010000.

Tested with huawei,hg556a-b, which has its CFE loaded at 0x80401000.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agouhttpd: fix script timeout
Daniel Golle [Wed, 3 Jun 2020 09:48:35 +0000 (10:48 +0100)]
uhttpd: fix script timeout

 939c281 proc: do not cancel script killing after writing headers

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agomalta: add missing symbols for kernel 5.4
Daniel Golle [Thu, 14 May 2020 13:16:14 +0000 (14:16 +0100)]
malta: add missing symbols for kernel 5.4

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agobcm63xx: ad1018: remove cfe.bin image support
Álvaro Fernández Rojas [Wed, 3 Jun 2020 09:20:58 +0000 (11:20 +0200)]
bcm63xx: ad1018: remove cfe.bin image support

Apparently, Sercomm allows loading a BCM WFI image via CFE, but this image
destroys "serial" and "protect" nand partitions, which is wrong.
It will also set both bootflags to the same value, which causes booting
issues with cferam (cferom will alternatively boot from cferam1 or cferam2
each time the device is rebooted).
Now that OEM Sercomm images are supported it's time to remove this hacky
cfe.bin image support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: ad1018: add missing partitions
Álvaro Fernández Rojas [Wed, 3 Jun 2020 09:18:11 +0000 (11:18 +0200)]
bcm63xx: ad1018: add missing partitions

This partitions were missing when support for this device was added.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: stop using legacy lzma for all devices
Álvaro Fernández Rojas [Wed, 3 Jun 2020 07:00:09 +0000 (09:00 +0200)]
bcm63xx: stop using legacy lzma for all devices

BCM6368 and newer devices are compatible with any lzma compression parameters.
Add a new legacy device definition and use it on BCM6358 and older devices.

Compressed kernel size is reduced by ~1.35%.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: vg-8050: switch to bcm-wfi-split
Álvaro Fernández Rojas [Tue, 2 Jun 2020 16:04:45 +0000 (18:04 +0200)]
bcm63xx: vg-8050: switch to bcm-wfi-split

Allows to keep a backup firmware in case active firmware is corrupted.
Also fix hsspi address warning.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: vr-3032u: switch to bcm-wfi-split
Álvaro Fernández Rojas [Tue, 2 Jun 2020 16:00:10 +0000 (18:00 +0200)]
bcm63xx: vr-3032u: switch to bcm-wfi-split

Allows to keep a backup firmware in case active firmware is corrupted.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: nand: order devices alphabetically
Álvaro Fernández Rojas [Tue, 2 Jun 2020 15:59:24 +0000 (17:59 +0200)]
bcm63xx: nand: order devices alphabetically

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: nand: add CFE_WFI_VERSION values for each device
Álvaro Fernández Rojas [Tue, 2 Jun 2020 15:56:31 +0000 (17:56 +0200)]
bcm63xx: nand: add CFE_WFI_VERSION values for each device

CFE_WFI_VERSION should be defined per device instead of using a generic value.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: support Broadcom WFI bootflags
Álvaro Fernández Rojas [Tue, 2 Jun 2020 15:52:12 +0000 (17:52 +0200)]
kernel: mtdsplit: support Broadcom WFI bootflags

When firmware is flashed, cferam.000 extension is renamed to the next number.
When booting, CFE scans the NAND and picks the partition with the highest
cferam extension and ignores the other one.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: improve JFFS2 scan
Álvaro Fernández Rojas [Tue, 2 Jun 2020 15:47:57 +0000 (17:47 +0200)]
kernel: mtdsplit: improve JFFS2 scan

Allow retrieving full file name and length by parameters.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: bcm_wfi: refactor code
Álvaro Fernández Rojas [Tue, 2 Jun 2020 15:37:12 +0000 (17:37 +0200)]
kernel: mtdsplit: bcm_wfi: refactor code

Create new parse_bcm_wfi function with common code from current parsers.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoscripts: config: remove accidentally added file
Álvaro Fernández Rojas [Tue, 2 Jun 2020 16:17:31 +0000 (18:17 +0200)]
scripts: config: remove accidentally added file

Also ignore the file.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: bump 5.4 to 5.4.43
Petr Štetiar [Tue, 2 Jun 2020 08:51:02 +0000 (10:51 +0200)]
kernel: bump 5.4 to 5.4.43

Refreshed patches, removed upstreamed patch:

 bcm27xx: 950-0642-component-Silence-bind-error-on-EPROBE_DEFER.patch

Run tested: qemu-x86-64
Build tested: x86/64, imx6, sunxi/a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agobcm63xx: nand: sercomm: switch to sercomm-load script
Álvaro Fernández Rojas [Tue, 2 Jun 2020 11:01:35 +0000 (13:01 +0200)]
bcm63xx: nand: sercomm: switch to sercomm-load script

xxd is not a valid dependency and shouldn't be used.
Fixes buildbot failure.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoscripts: support Sercomm load tags
Álvaro Fernández Rojas [Tue, 2 Jun 2020 10:50:37 +0000 (12:50 +0200)]
scripts: support Sercomm load tags

Header consists in Sercomm PID bytes, followed by a SHA256 hash of the
input binary.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: ad1018: support Sercomm factory images
Álvaro Fernández Rojas [Tue, 2 Jun 2020 07:16:49 +0000 (09:16 +0200)]
bcm63xx: ad1018: support Sercomm factory images

This images can be flashed from the official firmware, as opposed to CFE
images, which can only be flashed from CFE and require opening the case.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: nand: support Sercomm firmwares
Álvaro Fernández Rojas [Tue, 2 Jun 2020 07:12:05 +0000 (09:12 +0200)]
bcm63xx: nand: support Sercomm firmwares

Add support for Sercomm factory firmwares (AES 256 CBC encrypted).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: bcm_wfi: remove brcm,wfi-sercomm compatibility
Álvaro Fernández Rojas [Tue, 2 Jun 2020 07:02:23 +0000 (09:02 +0200)]
kernel: mtdsplit: bcm_wfi: remove brcm,wfi-sercomm compatibility

The only Sercomm WFI user has been migrated to a dedicated firmware parser.
Keep support for no cferam partition based on a boolean DT property.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: ad1018: switch to Sercomm WFI
Álvaro Fernández Rojas [Tue, 2 Jun 2020 06:59:58 +0000 (08:59 +0200)]
bcm63xx: ad1018: switch to Sercomm WFI

Support Sercomm firmware partition split.
WFI partition must be defined after bootflag partitions in order for the
parser to properly find bootflag1 and bootflag2 partitions.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: bcm_wfi: support Sercomm bootflags
Álvaro Fernández Rojas [Tue, 2 Jun 2020 06:57:38 +0000 (08:57 +0200)]
kernel: mtdsplit: bcm_wfi: support Sercomm bootflags

Sercomm uses 2 bootflag partitions and boots the firmware with the highest
bootflag. Support splitting the firmware partition while keeping support for
unsplitted layout.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: mtdsplit: bcm_wfi: code refactoring
Álvaro Fernández Rojas [Tue, 2 Jun 2020 06:50:15 +0000 (08:50 +0200)]
kernel: mtdsplit: bcm_wfi: code refactoring

- Rename master to mtd.
- Pass mtd size as an argument.
- Rename of_match_table.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoscripts: support Sercomm crypto
Álvaro Fernández Rojas [Tue, 2 Jun 2020 06:37:54 +0000 (08:37 +0200)]
scripts: support Sercomm crypto

Sercomm firmwares are encrypted with AES 256 CBC.
The key is generated with a custom algorithm from the firmware tag:
char key[32];
char version[32];
char iv[32];
char random[32];
char size[32];
Key must be generated with Sercomm's algorithm. However, the rest of the
header can be empty. IV and random are set to 0 on purpose.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoscripts: support Sercomm partition tags
Álvaro Fernández Rojas [Tue, 2 Jun 2020 06:30:44 +0000 (08:30 +0200)]
scripts: support Sercomm partition tags

Sercomm uses a custom layout for partition tags:
char part_name[32];
char size[32];
char part_version[32];
char reserved[32];
char rootfs_version[32];

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoppp: update to version 2.4.8.git-2020-05-25
Hans Dedecker [Sun, 31 May 2020 18:28:06 +0000 (20:28 +0200)]
ppp: update to version 2.4.8.git-2020-05-25

ddd57c2 pppd: Add lcp-echo-adaptive option
c319558 pppd: Handle SIGINT and SIGTERM during interrupted syscalls (#148)
0bc11fb Added missing options to manual pages. (#149)
b1fcf16 Merge branch 'monotonic-time' of https://github.com/themiron/ppp
c78e312 pppd: linux: use monotonic time if possible

Remove patch 121-debian_adaptive_lcp_echo as patch is upstream accepted
Remove patch 206-compensate_time_change.patch as timewrap issues are
solved by a patch making use of monotonic time

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agoar71xx: correct button type for TL-MR3020 mode slider
David Bauer [Sat, 30 May 2020 14:24:03 +0000 (16:24 +0200)]
ar71xx: correct button type for TL-MR3020 mode slider

The TP-Link TL-MR3020 has a three-state mode slider which was previously
integrated as a button (EV_KEY). This led to spurious activations of
failsafe mode.

Set the type for the button to switch (EV_SW), to avoid unintended
activations of failsafe mode.

Related: commit 27f3f493de06 ("gpio-button-hotplug: unify polled and
interrupt code")

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: add label MAC address for TP-Link RE450 v2/v3
Adrian Schmutzler [Sun, 31 May 2020 11:41:55 +0000 (13:41 +0200)]
ath79: add label MAC address for TP-Link RE450 v2/v3

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link RE450 v3
Andreas Wiese [Wed, 27 May 2020 13:31:30 +0000 (15:31 +0200)]
ath79: add support for TP-Link RE450 v3

TP-Link RE450 v3 is a dual band router/range-extender based on
Qualcomm/Atheros QCA9563 + QCA9880.

This device is nearly identical to RE450 v2 besides a modified flash
layout (hence I think force-flashing a RE450v2 image will lead to at
least loss of MAC address).

Specification:

- 775 MHz CPU
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 3T3R 5 GHz
- 1x 10/100/1000 Mbps Ethernet (AR8033 PHY)
- 7x LED, 4x button-
- possible UART header on PCB¹

Flash instruction:
Apply factory image in OEM firmware web-gui.

¹ Didn't check to connect as I didn't even manage to connect on
  RE450v2 (AFAIU it requires disconnecting some resistors, which I was
  too much of a coward to do).  But given the similarities to v2 I
  think it's the same or very similar procedure (and most likely also
  the only way to debrick).

Signed-off-by: Andreas Wiese <aw-openwrt@meterriblecrew.net>
[remove dts-v1 and compatible in DTSI]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link TL-WR802N V1 and V2
Lech Perczak [Fri, 29 May 2020 18:50:05 +0000 (20:50 +0200)]
ath79: add support for TP-Link TL-WR802N V1 and V2

Specification:
- SoC: Qualcomm Atheros QCA9533 (560 MHz, MIPS 24Kc)
- RAM: 32 MiB
- Storage: 4 MiB of Flash on board
- Wireless: Built into QCA9533 (Honey Bee), PHY modes b/g/n
- Ethernet: 1x100M (port0)

Installation through OEM Web Interface:
- Connect to TL-WR802N by Ethernet or Wi-Fi
- Go to web interface:
  [V1] http://192.168.0.1
  [V2] http://192.168.0.254
  Default user is "admin" & password is "admin".
  On V2, there is no DHCP server running by default, so remember to set
  IP manually.
- Go to "System Tools -> Firmware Upgrade"
- Browse for firmware:
  [V1] "*.factory.bin"
  [V2] "*.factory-us.bin" or  "*.factory-eu.bin" for eu model
  Web interface may complain if filename is too long. In such case,
  rename .bin to something shorter.
- Click upgrade

Installation through tftp:
Note: T_OUT, T_IN and GND on the board must be connected to USB TTL
      Serial Configuration 115200 8n1

- Boot the TL-WR802N
- When "Autobooting in 1 seconds" appears type "tpl" followed by enter
- Connect to the board Ethernet port
    (IPADDR: 192.168.1.1, ServerIP: 192.168.1.10)
- tftpboot 0x80000000 <Firmware Image Name>
- Record the result of "printenv bootcmd"
- Enter "erase <Result of 'printenv bootcmd'> +0x3c0000"
    (e.g erase 0x9f020000 +0x3c0000)
- Enter "cp.b 0x80000000 <Result of 'printenv bootcmd'> 0x3c0000"
    (e.g cp.b 0x80000000 0x9f020000 0x3c0000)
- Enter "bootm <Result of 'printenv bootcmd'>"
    (e.g bootm 0x9f020000)

Notes:

When porting from ar71xx target to ath79, I found out that on V2,
reset button is on GPIO12 and active low, instead of GPIO11 and
active high. By cross-flashing V1 firmware to V2, I confirmed
the same is true for V1.
Also according to manual of V1, this one also has green
LED instead of blue - both of those issues were fixed accordingly.

The MAC address assignment has been checked with OEM firmware.

Installation manual based on ar71xx support by Thomas Roberts

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[slightly adjust commit message, add MAC address comment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoar71xx: fix reset key for TP-Link TL-WR802N V1/V2
Lech Perczak [Fri, 29 May 2020 19:56:18 +0000 (21:56 +0200)]
ar71xx: fix reset key for TP-Link TL-WR802N V1/V2

During porting support for this router to ath79 target
it was discovered that GPIO mapping was incorrect (GPIO11 active high).
Correct mapping for both V1 and V2 is GPIO12 active low.

Default configuration from GPL source for V2 explicitly states this, and
this was confirmed experimentally on ath79 by looking on
/sys/kernel/debug/gpio. Correctness of this was also validated for V1 by
cross-flashing vendor firmware for V1 on V2 hardware, in which reset
button also worked.

Fix it.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[slightly adjust commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: update WA/XC devices UBNT_VERSION to 8.5.3
Roger Pueyo Centelles [Thu, 28 May 2020 09:44:54 +0000 (11:44 +0200)]
ath79: update WA/XC devices UBNT_VERSION to 8.5.3

Ubiquiti WA devices with newer hw version 2011K require UBNT_VERSION
to be at least 8.5.3, otherwise the image is rejected:

   New ver: WA.ar934x.v8.5.0-42.OpenWrt-r10947-65030d81f3
   Versions: New(525568) 8.5.0, Required(525571) 8.5.3
   Invalid version 'WA.ar934x.v8.5.0-42.OpenWrt-r10947-65030d81f3'

For consistency, also increase version number for XC devices.

Tested-by: Pedro <pedrowrt@cas.cat>
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
4 years agoipq806x: EA8500 fix boot partition detection
Samantha Collard [Sat, 30 May 2020 23:49:51 +0000 (09:49 +1000)]
ipq806x: EA8500 fix boot partition detection

Remove extraneous code that disabled boot partition detection.

Fixes: b3770eaca39f ("mtd: base-files: Unify dual-firmware devices (Linksys)")
Signed-off-by: Samantha Collard <sammyrc34@gmail.com>
4 years agoath79: fix LEDs for GL.inet GL-AR150
Adrian Schmutzler [Sun, 31 May 2020 10:46:26 +0000 (12:46 +0200)]
ath79: fix LEDs for GL.inet GL-AR150

Since the wireless LED was used for boot and set up with a DT
trigger, the WiFi indication hasn't worked on ath79 at all.

In addition, a look into the manual revealed that the OEM
configuration is as follows:

LED 1 (green): power
LED 2 (green): configurable
LED 3 (red): wireless

So, let's just keep the WiFi trigger and convert the rest to its
"intended" use.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomt76: update to the latest version (adds 7663e, 7663u, 7915 drivers)
Felix Fietkau [Tue, 12 May 2020 17:44:41 +0000 (19:44 +0200)]
mt76: update to the latest version (adds 7663e, 7663u, 7915 drivers)

7aabfd0c9282 mt7615: add CONFIG_MT76_LEDS to cflags
10a5b7630a37 mt76: mt7615: fix getting maximum tx power from eeprom
8688ed70c987 mt76: mt7615: use module parameter option for offload firmware preference
04798aab1257 net: mt7603: remove duplicate error message
9636177117d8 mt76: mt7615: fix ssid configuration in mt7615_mcu_hw_scan
d4ba139d8b8b mt76: mt7615: introduce mt7615_check_offload_capability routine
2cc0d54b65a1 mt76: mt7615: do not mark sched_scan disabled in mt7615_scan_work
5b73be962388 mt76: mt7615: add passive mode for hw scan
96e429e18174 mt76: mt7615: free pci_vector if mt7615_pci_probe fails
8fddbf6390ac mt76: mt7615: introduce support for hardware beacon filter
f2c760177bdd mt76: mt7615: introduce mt7615_mcu_set_hif_suspend mcu command
db454605106f mt76: mt7615: add WoW support
20b87321c39f mt76: mt7663u: introduce suspend/resume to mt7663u
20db7e73c586 mt76: mt7615: introduce PM support
523716bba561 mt76: mt7615: add gtk rekey offload support
50d377a825cc mt76: mt7615: introduce beacon_loss mcu event
4ef1957cea35 mt76: mt7663: read tx streams from eeprom
f25a43cc53e7 mt76: mt7615: check return value of mt7615_eeprom_get_power_index
0a9f71652927 mt76: mt7615: fix ibss mode for mt7663
83f2ba3101b4 mt76: mt7663: fix target power parsing
3e6968593b61 mt76: mt7615: fix delta tx power for mt7663
c1d3ad194ae4 mt76: mt7663: introduce WoW with net detect support
891136ab99da mt76: mt7663: add support to sched scan with randomise addr
82e4d3ebe967 mt76: mt7615: scan all channels if not specified
690b84821cd3 mt76: avoid rx reorder buffer overflow
f0117d3107b4 mt76: add support for HE RX rate reporting
cc68782bab1a mt76: add Rx stats support for radiotap
3ec47f2fba61 mt76: adjust wcid size to support new 802.11ax generation
0a9f4173dd07 mt76: add HE phy modes and hardware queue
c6b002bcdfa6 mt76: add mac80211 driver for MT7915 PCIe-based chipsets
b96af5039581 mt76: mt7915: enable Rx HE rate reporting
230054096155 mt76: mt7915: implement HE per-rate tx power support
c8f4b6cf1add mt76: mt7915: register per-phy HE capabilities for each interface
de1e8af96e19 mt76: mt7915: add HE bss_conf support for interfaces
135a5085932b mt76: mt7915: add HE capabilities support for peers
3b5d908dae2f mt76: mt7915: add Rx radiotap header support
158253e2c11e mt76: mt7915: add .sta_add_debugfs support
7f40e8c2b98d mt76: mt7915: add .sta_statistics support
a5368e5cad11 mt76: mt7915: set peer Tx fixed rate through debugfs
4f79c516be5c mt76: mt7915: add tsf related callbacks
509fceb43235 mt76: mt7915: enable firmware module debug support
56405976fc7b mt76: set runtime stream caps by mt76_phy
6bbf1a35c0da linux-firmware: add rebb firmware for mt7663
d7a10094c4e5 mt7663: add client offload firmware
9200732e8534 mt76: mt7663u: copy key pointer in mt7663u_mac_write_txwi
3aa810bde810 mt76: mt7663u: add missing register definitions
e236ea5be344 mt76: mt7615: usb: cancel ps work stopping the vif
1d0903de2131 mt76: mt7915: introduce mt7915_get_he_phy_cap
095c72c81c74 mt76: mt7915: add Tx beamformer support
5f9e7664cd26 mt76: mt7915: add Tx beamformee support
ac505404c385 mt76: mt7915: add TxBF capabilities
6656bebd39cd mt76: mt7915: add debugfs to track TxBF status
9590db025475 mt76: mt7915: allocate proper size for tlv tags
26eb1ed65987 mt76: mt7915: fix possible deadlock in mt7915_stop
f85c1f3fc189 firmware: add mt7915 firmware
9b07251b00b0 mt76: mt7615: fix typo defining ps work
060e375a9244 mt76: fix per-driver wcid range checks after wcid array size bump
7270b56389a9 mt76: mt7615: do not report scan_complete twice to mac80211
8c9e4847d01e mt76: mt7615: reduce hw scan timeout
8bd88a1b1880 mt76: enable p2p support
1ea444d0e8e5 mt76: mt7615: configure bss info adding the interface
fa81da5bb4e9 mt76: mt7615: introduce remain_on_channel support
44f2262c0289 mt76: mt76x02: remove check in mt76x02_mcu_msg_send
7005aa891440 mt76: mt7915: add spatial reuse support
1e3dc5b76649 mt76: mt7915: fix some sparse warnings
01b784174cd5 mt76: mt7915: fix sparse warnings: incorrect type initializer
40b7b5354a16 mt76: mt7615: fix NULL pointer deref in mt7615_register_ext_phy
6d731d188d31 mt76: mt7915: fix decoded radiotap HE flags
b74d5b1c14cf mt76: mt7915: fix some sparse warnings
6679d35be5cc mt76: mt7615: switch to per-vif power_save support
01e870b44769 mt76: mt7915: fix a handful of spelling mistakes
7b2d16655904 mt76: mt7663: fix the usage WoW with net detect support
ed3a244fb647 mt76: mt7915: Fix build error
5396a61cec99 mt76: mt7615: fix hw_scan with ssid_type for specified SSID only
466a5b4d041d mt76: mt7915: fix possible NULL pointer dereference in mt7915_register_ext_phy
984a172609c0 mt76: fix wcid allocation issues
6e02acddcb1a mt76: mt7615: add support for MT7611N
4e6f4e432d0d mt76: only iterate over initialized rx queues
9ad940fee593 mt76: mt7615: Use kmemdup in mt7615_queue_key_update()
85c516081338 mt76: mt7915: remove set but not used variable 'msta'

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agobuild: compress kernel debuginfo using zstd
Matthias Schiffer [Wed, 13 May 2020 18:33:46 +0000 (20:33 +0200)]
build: compress kernel debuginfo using zstd

zstd with its default settings (compression level -3) compresses better
than bzip2 -9 (which is the default setting), and is an order of magnitude
faster.

I made the following measurements for the most common compression tools
(all standard Debian Buster versions, default flags unless noted
otherwise), using the debug information of a large x86-64 kernel with
ALL_KMODS:

* kernel-debug.tar: 376M
* kernel-debug.tar.gz: 101M, compressed in ~12s
* kernel-debug.tar.bz2: 91M, compressed in ~15s
* kernel-debug.tar.xz: 57M, compressed in ~101s
* kernel-debug.tar.zst: 86M, compressed in ~1s

With zstd, there is still some room for improvement by increasing the
compression, but the slight increase in compression ratio
(22.83% -> 19.46%) does not justify the significant increase in
compression time (about 5 times on my machine) in my opinion.

Note that multithreaded compression (-T argument) does not affect
reproducibility with zstd.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
4 years agobuild: add zstd support to pack/unpack functions
Matthias Schiffer [Sun, 17 May 2020 11:18:10 +0000 (13:18 +0200)]
build: add zstd support to pack/unpack functions

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
4 years agotools: add zstd
Matthias Schiffer [Wed, 13 May 2020 18:22:12 +0000 (20:22 +0200)]
tools: add zstd

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
4 years agodropbear: add ed25519 and chacha20-poly1305
Vladislav Grishenko [Sun, 12 Apr 2020 22:24:28 +0000 (03:24 +0500)]
dropbear: add ed25519 and chacha20-poly1305

- add Ed25519 support (backport):
  * DROPBEAR_ED25519 option for ssh-ed25519,
  * disabled by default
- add Chacha20-Poly1305 support (backport):
  * DROPBEAR_CHACHA20POLY1305 for chacha20-poly1305@openssh.com,
  * enabled by default
- update feature costs in binary size

Signed-off-by: Vladislav Grishenko <themiron@mail.ru>
4 years agomac80211: fix wifi teardown
John Crispin [Sat, 30 May 2020 10:01:08 +0000 (12:01 +0200)]
mac80211: fix wifi teardown

reverts part of the recent wifi reconf patch.

Signed-off-by: John Crispin <john@phrozen.org>
4 years agobcm53xx: remove support for kernel 4.14
Adrian Schmutzler [Mon, 25 May 2020 10:19:52 +0000 (12:19 +0200)]
bcm53xx: remove support for kernel 4.14

We currently support three kernel versions on this target, let's
just get rid of the oldest one.

Cc: Rafał Miłecki <rafal@milecki.pl>
Cc: John Crispin <john@phrozen.org>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm47xx: remove support for kernel 4.14
Adrian Schmutzler [Mon, 25 May 2020 10:19:51 +0000 (12:19 +0200)]
bcm47xx: remove support for kernel 4.14

We currently support three kernel versions on this target, let's
just get rid of the oldest one.

Cc: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomac80211: rt2x00: backport patch enabling MFP
Daniel Golle [Sat, 30 May 2020 08:36:17 +0000 (09:36 +0100)]
mac80211: rt2x00: backport patch enabling MFP

From: Rui Salvaterra <rsalvaterra@gmail.com>
Date: Mon, 25 May 2020 14:49:07 +0100
Subject: [PATCH] rt2800: enable MFP support unconditionally

This gives us WPA3 support out of the box without having to manually disable
hardware crypto. The driver will fall back to software crypto if the connection
requires management frame protection.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agougps: nmea: make sure date is valid
Daniel Golle [Fri, 29 May 2020 22:58:20 +0000 (23:58 +0100)]
ugps: nmea: make sure date is valid

GPS time without date was previously used to set system date:
Tue Oct 10 11:48:21 2000 user.info kernel: [  108.786639] ugps: system time differs from GPS time by more than 5 seconds. Using 2000-10-10T10:48:21 UTC as the new time
Tue Oct 10 11:49:27 2000 user.info kernel: [  174.794699] ugps: system time differs from GPS time by more than 5 seconds. Using 2020-05-26T10:49:27 UTC as the new time

Fix this by ignoring incomplete dates and wait for complete time
information before adjusting system date/time.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>