openwrt/staging/linusw.git
4 years agoprocd: update to version 2020-01-04
Petr Štetiar [Wed, 1 Jan 2020 11:43:45 +0000 (12:43 +0100)]
procd: update to version 2020-01-04

a5af33ce9a16 instance: strdup string attributes
d2e8bf6ef7cf system: watchdog_set: fix misleading indentation
9814807bd71c system: sysupgrade: fix possibly misleading error
c7a2db3c1eb6 system: sysupgrade: rework firmware validation
ea45c4a0f07c system: fix failing image validation due to EINTR
4fde95506243 cmake: fix lookup of external libraries

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agobase-files: sysupgrade: exit if the firmware download failed
Petr Štetiar [Tue, 31 Dec 2019 09:34:29 +0000 (10:34 +0100)]
base-files: sysupgrade: exit if the firmware download failed

Sysupgrade process shouldn't continue if the firmware image couldn't be
downloaded.

Ref: http://lists.infradead.org/pipermail/openwrt-devel/2019-December/020940.html
Reported-by: Petr Novák <petrn@me.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoramips: fix sysupgrade image for TP-Link RE200v1
Andreas Böhler [Sun, 5 Jan 2020 10:13:55 +0000 (11:13 +0100)]
ramips: fix sysupgrade image for TP-Link RE200v1

Images generated for the TP-Link RE200v1 cannot be updated using
sysupgrade, because a necessary call to append-metadata was missing.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
4 years agokernel: bump 4.9 to 4.9.208
Hauke Mehrtens [Sat, 4 Jan 2020 23:47:25 +0000 (00:47 +0100)]
kernel: bump 4.9 to 4.9.208

Refreshed all patches.

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

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: bump 4.19 to 4.19.93
Hauke Mehrtens [Sat, 4 Jan 2020 22:45:20 +0000 (23:45 +0100)]
kernel: bump 4.19 to 4.19.93

Refreshed all patches.

The patch hack-4.19/550-loop-better-discard-for-block-devices.patch was
replaced with an new version of the patch from:
https://lore.kernel.org/patchwork/patch/1153625/
https://lore.kernel.org/patchwork/patch/1153626/

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

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agokernel: bump 4.14 to 4.14.162
Hauke Mehrtens [Sat, 4 Jan 2020 22:52:01 +0000 (23:52 +0100)]
kernel: bump 4.14 to 4.14.162

Refreshed all patches.

Compile-tested on: ramips
Runtime-tested on: ramips

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agoramips: add support for Edimax RA21S
Maksym Medvedev [Fri, 15 Nov 2019 22:21:22 +0000 (23:21 +0100)]
ramips: add support for Edimax RA21S

Edimax RA21S is a dual band 11ac router,
based on MediaTek MT7621A and MT7615N chips.

Specification:
- SoC: MediaTek MT7621A dual-core @ 880MHz
- RAM: 256M (Nanya NT5CC128M16IP)
- FLASH: 16MB (Macronix MX25L12835F)
- WiFi: 2.4/5 GHz 4T4R
  - 2.4GHz MediaTek MT7615N bgn
  - 5GHz MediaTek MT7615N nac
- Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN)
- USB: No
- BTN: Reset, WPS
- LED: 4 red LEDs, indistinguishable when case closed
- UART:  through-hole on PCB.
   J1: 3.3V - RX - GND - TX / 57600-8N1.  3.3V is the square pad

Installation:
Update the factory image via the OEM web-interface
(by default: http://192.168.2.1/)
User: admin
Password: 1234

The sysupgrade image can be installed via TFTP
from the U-Boot bootloader. Connect via ethernet port 2.

Tested on device by @UAb5eSMn

Signed-off-by: Maksym Medvedev <redrathnure@gmail.com>
[split DTS and take over improvements from RG21S, extend commit
message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agogeneric: fix compiler error in OpenWrt's kexec patch
Daniel Golle [Sat, 4 Jan 2020 09:47:50 +0000 (11:47 +0200)]
generic: fix compiler error in OpenWrt's kexec patch

330-MIPS-kexec-Accept-command-line-parameters-from-users.patch causes
problems when building with -Werror=unused-result.

arch/mips/kernel/machine_kexec.c: In function 'machine_kexec_init_argv':
arch/mips/kernel/machine_kexec.c:76:2: error: ignoring return value of 'copy_from_user', declared with attribute warn_unused_result [-Werror=unused-result]
  copy_from_user(kexec_argv_buf, buf, size);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Fix this by handling the return value in an appropriate way.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoiperf: Allow enabling multicast support
Florian Fainelli [Sat, 4 Jan 2020 04:29:05 +0000 (20:29 -0800)]
iperf: Allow enabling multicast support

iperf2 is useful for testing UDP over multicast, add an option to permit
the enabling/disabling of multicast support.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
4 years agokernel: bump 4.14 to 4.14.161
Hauke Mehrtens [Thu, 2 Jan 2020 19:27:55 +0000 (20:27 +0100)]
kernel: bump 4.14 to 4.14.161

Refreshed all patches.

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

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agosunxi: Turn on CONFIG_PINCTRL_SUN4I_A10 for A20
Florian Fainelli [Fri, 3 Jan 2020 22:58:58 +0000 (14:58 -0800)]
sunxi: Turn on CONFIG_PINCTRL_SUN4I_A10 for A20

CONFIG_PINCTRL_SUN4I_A10 controls both the A10 and the A20 enablong of
the pinctrl driver, this is necessary since upstream commit
5d8d349618a9464714c07414c5888bfd9416638f ("pinctrl: sunxi: add A20
support to A10 driver") which has been included in v4.13 and onwards.

Fixes: ad2b3bf310f7 ("sunxi: Add support for kernel 4.14")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
4 years agomt76: update to the latest version
David Bauer [Fri, 3 Jan 2020 16:22:40 +0000 (17:22 +0100)]
mt76: update to the latest version

38f4c57 mt76: mt76x0: fix default mac address overwrite

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: fix inverted reset button for Ravpower WD03
Moritz Warning [Tue, 3 Dec 2019 22:36:13 +0000 (23:36 +0100)]
ramips: fix inverted reset button for Ravpower WD03

The button events "pressed" and "released" were switched. Tested with v18.06.4.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
4 years agoramips: move set-irq-affinity script to mt7621 subtarget
DENG Qingfang [Fri, 13 Dec 2019 16:24:39 +0000 (00:24 +0800)]
ramips: move set-irq-affinity script to mt7621 subtarget

Move the set-irq-affinity script to mt7621 because it is the only
SMP subtarget.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agolantiq: use shared code for LED migration
Adrian Schmutzler [Tue, 17 Dec 2019 00:30:22 +0000 (01:30 +0100)]
lantiq: use shared code for LED migration

Shared base-files package contains functions for LED migration that
are already used by several targets. Apply those also to lantiq and
drop the (redundant) local code.

While at it, reorder board names in file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: remove includes of non-existent /lib/functions/lantiq.sh
Adrian Schmutzler [Tue, 17 Dec 2019 16:50:58 +0000 (17:50 +0100)]
lantiq: remove includes of non-existent /lib/functions/lantiq.sh

lantiq.sh is still included in files which do not use it anymore.
Remove the includes.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agosamsung: add subtarget condition for device
Adrian Schmutzler [Sat, 28 Dec 2019 15:08:38 +0000 (16:08 +0100)]
samsung: add subtarget condition for device

The only device in samsung target is meant to be built with s5pv210
subtarget. Thus, though this won't make a difference for a
one-subtarget target, already add the condition to the Makefile to
make the assignment obvious.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agosamsung: use soc_vendor_model scheme for DTS file name
Adrian Schmutzler [Sat, 28 Dec 2019 15:04:48 +0000 (16:04 +0100)]
samsung: use soc_vendor_model scheme for DTS file name

This patch changes the samsung target to calculate the DTS file name
from vendor and device name and the SOC (i.e. subtarget) following
the common scheme:

soc_vendor_model.dts

This also updates the device definition name to make compatible,
image name, menuconfig name and DTS name consistent.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoscripts/arm-magic.sh: switch to /bin/sh
Rosen Penev [Wed, 1 Jan 2020 02:07:05 +0000 (18:07 -0800)]
scripts/arm-magic.sh: switch to /bin/sh

This does not use any special bash stuff.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoscripts/env: replace -a and -o with &&/||
Rosen Penev [Wed, 1 Jan 2020 02:01:43 +0000 (18:01 -0800)]
scripts/env: replace -a and -o with &&/||

The former are not well defined.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoscripts/env: use explicit find location
Rosen Penev [Wed, 1 Jan 2020 02:01:42 +0000 (18:01 -0800)]
scripts/env: use explicit find location

Some find binaries do not imply the current directory.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoramips: fix Archer C20i wireless MAC address
David Bauer [Thu, 2 Jan 2020 18:27:54 +0000 (19:27 +0100)]
ramips: fix Archer C20i wireless MAC address

The TP-Link Archer C20i previously had a generic Ralink MAC address set
for both radios, as the caldata does only contain a generic MAC address.

Set the MAC address from the vendor firmware for both radios to assign
unique MAC addresses to every device.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: fix Archer C2 v1 5GHz MAC address
David Bauer [Thu, 2 Jan 2020 18:25:26 +0000 (19:25 +0100)]
ramips: fix Archer C2 v1 5GHz MAC address

The TP-Link Archer C2 v1 previously had a generic Ralink MAC address set
for the 5GHz radio (MT7610), as the caldata does only contain a generic
MAC address.

Set the MAC address from the vendor firmware for the 5GHz radio to
assign unique MAC addresses to every device.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: add system LED indicators for TP-Link C20i
David Bauer [Thu, 2 Jan 2020 18:10:50 +0000 (19:10 +0100)]
ramips: add system LED indicators for TP-Link C20i

Use the WPS LED to indicate system status like it is done for the
TP-Link Archer C2 v1 and many other boards.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: convert TP-Link MT7620 boards to tpt trigger
David Bauer [Thu, 2 Jan 2020 02:11:39 +0000 (03:11 +0100)]
ramips: convert TP-Link MT7620 boards to tpt trigger

This converts all MediaTek MT7620 boards from TP-Link to use the now
supported WiFi throughput LED trigger. This way, the LED state now
covers all VAPs regardless of their name.

Also align all single-WiFi LEDs to represent the state of the 2.4GHz
radio. This was not always the case previously, as later-added support
for the MT7610 altered the phy probing order.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoscripts/gen-dependencies.sh: use /bin/sh
Rosen Penev [Wed, 1 Jan 2020 02:06:28 +0000 (18:06 -0800)]
scripts/gen-dependencies.sh: use /bin/sh

This uses no special bash stuff.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoscripts/gen-dependencies.sh: replace backticks with $()
Rosen Penev [Wed, 1 Jan 2020 02:06:27 +0000 (18:06 -0800)]
scripts/gen-dependencies.sh: replace backticks with $()

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agolibcxx: Add size optimizations
Rosen Penev [Wed, 1 Jan 2020 03:37:35 +0000 (19:37 -0800)]
libcxx: Add size optimizations

Changed standard to 2a. 2a (as well as 17) contain more constexpr
functions, which are evaluated at compile time. This saves space.

Added --gc-sections. With the CXXABI change, this now makes the package
smaller.

With these, size went down to 210845 on mipsel_24kc.

Also fixed two small compiler warnings. No real change in behavior.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agolibcxx: Build with the libsupc++ ABI
Rosen Penev [Wed, 1 Jan 2020 03:37:34 +0000 (19:37 -0800)]
libcxx: Build with the libsupc++ ABI

Allows proper exception handling. This includes removing unimplemented
warnings.

File size increased as a result:

Before:

182874

After:

211006

On mipsel_24kc.

Note that this requires libsupc++ anyway. It's specified in g++-libcxx.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoramips: mt7620: use throughput trigger on HiWiFi HC5x61
DENG Qingfang [Tue, 31 Dec 2019 14:35:41 +0000 (22:35 +0800)]
ramips: mt7620: use throughput trigger on HiWiFi HC5x61

Throughput trigger support for MT7620 has been added, so switch to it

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoramips: remove HiWiFi HC5661 non-existent 5GHz LED
DENG Qingfang [Tue, 31 Dec 2019 14:30:44 +0000 (22:30 +0800)]
ramips: remove HiWiFi HC5661 non-existent 5GHz LED

HC5661 does not have 5GHz WiFi or LED.

Fixes: e6e373d3480e ("ramips: Add DTS files for HiWiFi HC5x61 models")
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoubox: update to version 2019-12-31
Hans Dedecker [Tue, 31 Dec 2019 13:33:01 +0000 (14:33 +0100)]
ubox: update to version 2019-12-31

0e34af1 kmodloader: added -a arg to modprobe

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agoramips: add support for TP-Link RE200 v1
Andreas Böhler [Thu, 19 Dec 2019 09:29:14 +0000 (10:29 +0100)]
ramips: add support for TP-Link RE200 v1

TP-Link RE200 v1 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7620A+MT7610EN.

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

- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled; only 6 supported), 2x button

There are 2.4G and 5G LEDs in red and green which are controlled
separately. The 5G LED is currently not supported, since the GPIOs couldn't
be determined.

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

Web Interface
-------------

It is possible to upgrade to OpenWrt via the web interface. However, the
OEM firmware upgrade file is required and a tool to fix the MD5 sum of
the header. This procedure overwrites U-Boot and there is not failsafe /
recovery mode present! To prepare an image, you need to take the header
and U-Boot (i.e. 0x200 + 0x20000 bytes) from an OEM firmware file and
attach the factory image to it. Then fix the header MD5Sum1.

Serial console
--------------

Opening the case is quite hard, since it is welded together. Rename the
OpenWrt factory image to "test.bin", then plug in the device and quickly
press "2" to enter flash mode (no line feed). Follow the prompts until
OpenWrt is installed.

Unfortunately, this devices does not offer a recovery mode or a tftp
installation method. If the web interface upgrade fails, you have to open
your device and attach serial console. Since the web upgrade overwrites
the boot loader, you might also brick your device.

Additional notes
----------------

MAC address assignment is based on stock-firmware. For me, the device
assigns the MAC on the label to Ethernet and the 2.4G WiFi, while the 5G
WiFi has a separate MAC with +2.

*:88    Ethernet/2.4G    label, uboot 0x1fc00, userconfig 0x0158
*:89    unused           userconfig 0x0160
*:8A    5G               not present in flash

This seems to be the first ramips device with a TP-Link v1 header. The
original firmware has the string "EU" embedded, there might be some region-
checking going on during the firmware upgrade process. The original
firmware also contains U-Boot and thus overwrites the boot loader during
upgrade.
In order to flash back to stock, the first header and U-Boot need to be
stripped from the original firmware.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
4 years agoramips: fix switch setup for Xiaomi MiWiFi Nano
Sungbo Eo [Sun, 22 Dec 2019 16:25:39 +0000 (01:25 +0900)]
ramips: fix switch setup for Xiaomi MiWiFi Nano

MiWiFi Nano has two LAN ports, which are in reverse order. Add port numbers
to them, and disable unused ports.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoscripts/mkits.sh: replace legacy backticks with $()
Rosen Penev [Tue, 31 Dec 2019 02:21:36 +0000 (18:21 -0800)]
scripts/mkits.sh: replace legacy backticks with $()

This replaces deprecated backticks by more versatile $(...) syntax.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[adjust commit title and message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoscripts/symlink-tree.sh: use /bin/sh
Rosen Penev [Tue, 31 Dec 2019 02:19:29 +0000 (18:19 -0800)]
scripts/symlink-tree.sh: use /bin/sh

This uses nothing bash specific.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoscripts/strip-kmod.sh: harmonize leading whitespaces
Adrian Schmutzler [Tue, 31 Dec 2019 10:41:07 +0000 (11:41 +0100)]
scripts/strip-kmod.sh: harmonize leading whitespaces

Convert leading spaces to tabs for consistency in the file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoscripts/strip-kmod.sh: use sh instead of bash
Rosen Penev [Tue, 31 Dec 2019 02:18:04 +0000 (18:18 -0800)]
scripts/strip-kmod.sh: use sh instead of bash

There's nothing bash specific here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoscripts/strip-kmod.sh: replace legacy backticks with $()
Rosen Penev [Tue, 31 Dec 2019 02:18:03 +0000 (18:18 -0800)]
scripts/strip-kmod.sh: replace legacy backticks with $()

This replaces deprecated backticks by more versatile $(...) syntax.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[slightly adjusted commit title, added commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomvebu: split interface configuration for clearfog pro and base
Josua Mayer [Thu, 26 Dec 2019 14:25:04 +0000 (15:25 +0100)]
mvebu: split interface configuration for clearfog pro and base

Handle both variants separately. This removes the need for calling
swconfig to detect the switch, and simplifies future changes.

Signed-off-by: Josua Mayer <josua.mayer@jm0.eu>
4 years agoath79: generate firmware image for aircube-isp
Christian Mauderer [Wed, 11 Dec 2019 13:40:24 +0000 (14:40 +0100)]
ath79: generate firmware image for aircube-isp

This adds a "factory" image for the aircube-isp devices. Note that the
firmware can't be uploaded without prior special preparation. For the
most recent instructions on how to do that, visit the OpenWRT wiki page
of the Ubiquiti airCube ISP for details:

https://openwrt.org/toh/ubiquiti/ubiquiti_aircube_isp

Current procedure:

With the original firmware 2.5.0 it is possible to upload and execute a
script via the configuration. To do that download and unpack the
original configuration, adapt uhttpd config to execute another lua
handler (placed in the config directory) and pack and upload it again.

The lua handler can call a script that mounts an overlayfs and modifies
the "fwupdate.real" binary so that an unsigned image is accepted. The
overlayfs is necessary because a security system (called tomoyo) doesn't
allow binaries in other locations than /sbin/fwupdate.real (and maybe
some more) to access the flash when executed via network.

A big thanks to Torvald Menningen (Snap) from the OpenWRT forum for
finding out how to patch the binary so that it accepts an unsigned
image.

The current step-by-step procedure is:

- Use a version 2.5.0 of the original firmware. This is important
  because a binary file will be modified.
- Download a configuration.
- Unpack it (it's just a tar gz file without an ending).
- Add the following to uhttpd:

``````
config 'uhttpd' 'other'
list listen_http    0.0.0.0:8080
list listen_http    [::]:8080
option 'home'       '/tmp/persistent/config/patch/www'
option lua_prefix   '/lua'
option lua_handler  '/tmp/persistent/config/patch/handler.lua'
``````

- Create a `patch` subfolder.
- Create a `patch/www` subfolder.
- Create a `patch/handler.lua` with the following content:

``````
function handle_request(env)
    uhttpd.send("Status: 200 OK\r\n")
    uhttpd.send("Content-Type: text/plain\r\n\r\n")

    local command = "/bin/sh /tmp/persistent/config/patch/patch.sh 2>&1"

    local proc = assert(io.popen(command))
    for line in proc:lines() do
        uhttpd.send(line.."\r\n")
    end
    proc:close()
end
``````

- Create a `patch/patch.sh` with the following content:

``````
#!/bin/sh -x

set -e
set -u
set -x

UBNTBOX_PATCHED="/tmp/fwupdate.real"
MD5FILE="/tmp/patchmd5"

cat <<EOF > ${MD5FILE}
c33235322da5baca5a7b237c09bc8df1  /sbin/fwupdate.real
EOF

# check md5 of files that will be patched
if ! md5sum -c ${MD5FILE}
then
        echo "******** Error when checking files. Refuse to do anything. ********"
        exit 0
fi

# prepare some overlay functionality
LOWERDIR="/tmp/lower_root"
mkdir -p ${LOWERDIR}
mount -t squashfs -oro /dev/mtdblock3 ${LOWERDIR}
overlay_some_path()
{
        PATH_TO_OVERLAY=$1
        ALIAS=$2
        UPPERDIR="/tmp/over_${ALIAS}"
        WORKDIR="/tmp/over_${ALIAS}_work"

        mkdir -p ${UPPERDIR}
        mkdir -p ${WORKDIR}

        mount -t overlay -o lowerdir=${LOWERDIR}${PATH_TO_OVERLAY},upperdir=${UPPERDIR},workdir=${WORKDIR} overlay ${PATH_TO_OVERLAY}
}

# patch the ubntbox binary.
overlay_some_path "/sbin" "sbin"
echo -en '\x10' | dd of=/sbin/fwupdate.real conv=notrunc bs=1 count=1 seek=24598

echo "******** Done ********"
``````

- Repack the configuration.
- Upload it via the normal web interface.
- Wait about a minute. The webserver should restart.
- Now there is a second web server at port 8080 which can call the lua
  script. Visit the page with a web browser. Link is for example
  http://192.168.1.1:8080/lua
- You should see the output of the script with a "*** Done ***" at the
  end. Note that the patches are not permanent. If you restart the
  router you have to re-visit the link (but not re-upload the config).
- Now you can upload an unsigned binary via the normal web interface.

Signed-off-by: Christian Mauderer <oss@c-mauderer.de>
4 years agotoolchain: wrapper.sh: harmonize leading whitespaces
Adrian Schmutzler [Tue, 31 Dec 2019 00:33:28 +0000 (01:33 +0100)]
toolchain: wrapper.sh: harmonize leading whitespaces

Convert leading spaces to tabs and generally harmonize leading
whitespace indent in the file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotoolchain: wrapper.sh: use /bin/sh instead of bash
Rosen Penev [Mon, 30 Dec 2019 03:41:18 +0000 (19:41 -0800)]
toolchain: wrapper.sh: use /bin/sh instead of bash

No bash features are actually used here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[slightly adjust commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoapm821xx: mbl_gen_hdd_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:45:02 +0000 (14:45 -0800)]
apm821xx: mbl_gen_hdd_img.sh: switch to /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoarc770: gen_axs10x_sdcard_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:45:01 +0000 (14:45 -0800)]
arc770: gen_axs10x_sdcard_img.sh: switch to /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoarchs38: gen_axs10x_sdcard_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:45:00 +0000 (14:45 -0800)]
archs38: gen_axs10x_sdcard_img.sh: switch to /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoat91: gen_at91_sdcard_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:59 +0000 (14:44 -0800)]
at91: gen_at91_sdcard_img.sh: switch to /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobrcm2708: gen_rpi_sdcard_img.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:58 +0000 (14:44 -0800)]
brcm2708: gen_rpi_sdcard_img.sh: use /bin/sh

Nothing here needs bash.

While at it, remove trailing whitespace.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title, add whitespace comment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agogemini: dns313_gen_hdd_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:57 +0000 (14:44 -0800)]
gemini: dns313_gen_hdd_img.sh: switch to /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolayerscape: gen_sdcard_head_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:56 +0000 (14:44 -0800)]
layerscape: gen_sdcard_head_img.sh: switch to /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomediatek: gen_mt7623_emmc_img.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:55 +0000 (14:44 -0800)]
mediatek: gen_mt7623_emmc_img.sh: use /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomxs: gen_sdcard_ext4_ext4.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:54 +0000 (14:44 -0800)]
mxs: gen_sdcard_ext4_ext4.sh: use /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[adjust prefix of commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomxs: gen_sdcard_vfat_ext4.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:53 +0000 (14:44 -0800)]
mxs: gen_sdcard_vfat_ext4.sh: use /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[change prefix of commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoomap: gen_omap_sdcard_img.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:52 +0000 (14:44 -0800)]
omap: gen_omap_sdcard_img.sh: use /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agorb532: gen_image.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:51 +0000 (14:44 -0800)]
rb532: gen_image.sh: use /bin/sh

Nothing here needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[slightly adjust commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agosunxi: gen_sunxi_sdcard_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:50 +0000 (14:44 -0800)]
sunxi: gen_sunxi_sdcard_img.sh: switch to /bin/sh

This has nothing that needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agozynq: gen_zynq_sdcard_img.sh: switch to /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:49 +0000 (14:44 -0800)]
zynq: gen_zynq_sdcard_img.sh: switch to /bin/sh

This has nothing that needs bash.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomvebu: gen_mvebu_sdcard_img.sh: use /bin/sh
Rosen Penev [Mon, 25 Nov 2019 22:44:48 +0000 (14:44 -0800)]
mvebu: gen_mvebu_sdcard_img.sh: use /bin/sh

There is nothing that needs bash anymore.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoscripts/gen_image_generic.sh: replace deprecated backticks with $()
Rosen Penev [Mon, 30 Dec 2019 05:07:55 +0000 (21:07 -0800)]
scripts/gen_image_generic.sh: replace deprecated backticks with $()

This replaces deprecated backticks by more versatile $(...) syntax.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[adjust commit title and message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoscripts/gen_image_generic.sh: remove $ in arithmetic
Rosen Penev [Mon, 30 Dec 2019 05:07:54 +0000 (21:07 -0800)]
scripts/gen_image_generic.sh: remove $ in arithmetic

Fixes shellcheck warning:

SC2004: $/${} is unnecessary on arithmetic variables.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agotoolchain/wrapper: replace legacy backticks with $()
Rosen Penev [Mon, 30 Dec 2019 03:41:16 +0000 (19:41 -0800)]
toolchain/wrapper: replace legacy backticks with $()

This replaces deprecated backticks by more versatile $(...) syntax.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[alter commit title, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomvebu: gen_mvebu_sdcard_img.sh: don't use format directly in printf
Rosen Penev [Mon, 25 Nov 2019 22:44:47 +0000 (14:44 -0800)]
mvebu: gen_mvebu_sdcard_img.sh: don't use format directly in printf

Enables proper checking. Matches printf behavior in C.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomvebu: gen_mvebu_sdcard_img.sh: replace let with $(())
Rosen Penev [Mon, 25 Nov 2019 22:44:46 +0000 (14:44 -0800)]
mvebu: gen_mvebu_sdcard_img.sh: replace let with $(())

let is a bashism.

Found with shellcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoRevert "iptables: update to 1.8.4"
Jo-Philipp Wich [Mon, 30 Dec 2019 22:06:21 +0000 (23:06 +0100)]
Revert "iptables: update to 1.8.4"

This reverts commit 10cbc896c0a26aecff37261450c21f29fb5b99db.

The updated iptables package does not build due to the following error
encountered on the buildbots:

    cp: cannot stat '.../iptables-1.8.4/ipkg-install/usr/lib/libiptc.so.*': No such file or directory

The changelog mentions "build: remove -Wl,--no-as-needed and libiptc.so" so
it appears as if further packaging changes are needed beyond a simple
version bump.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoiptables: update to 1.8.4
DENG Qingfang [Mon, 30 Dec 2019 05:49:51 +0000 (13:49 +0800)]
iptables: update to 1.8.4

Update iptables to 1.8.4

ChangeLog:
  https://netfilter.org/projects/iptables/files/changes-iptables-1.8.4.txt

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoprocd: fix running jailed non-root process
Daniel Golle [Mon, 30 Dec 2019 18:26:24 +0000 (20:26 +0200)]
procd: fix running jailed non-root process

Setting user and group for a jailed process caused the jail not to
come up. Fix this by passing user and group to ujail and change
user only once the jail has been setup.
This allows jailing services which refuse to run as root user.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoramips: add LED trigger for TL-WR902AC v3 WAN LED
David Bauer [Mon, 30 Dec 2019 14:06:42 +0000 (15:06 +0100)]
ramips: add LED trigger for TL-WR902AC v3 WAN LED

This adds an LED trigger for the WAN LED on top of the TP-Link
TL-WR902AC v3. Currently, only the LED on the port itself shows the link
state, while the LED on top of the device stays dark.

The WAN port of the device is a hybrid LAN/WAN one, hence why the LED at
the port was labled LAN.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoiwinfo: update to 2019-12-27
David Bauer [Fri, 27 Dec 2019 12:49:13 +0000 (13:49 +0100)]
iwinfo: update to 2019-12-27

a6f6c05 nl80211: properly handle netdev names starting with "radio"
31dcef3 iwinfo: add several QC/A device ids

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agort2x00: add throughput LED trigger
David Bauer [Mon, 30 Dec 2019 00:52:59 +0000 (01:52 +0100)]
rt2x00: add throughput LED trigger

This adds a (currently missing) throughput LED trigger for the rt2x00
driver. Previously, LED triggers had to be assigned to the netdev, which
was limited to a single VAP.

Signed-off-by: David Bauer <mail@david-bauer.net>
Tested-by: Christoph Krapp <achterin@googlemail.com>
4 years agolibubox: update to version 2019-12-28
Petr Štetiar [Sat, 28 Dec 2019 20:22:04 +0000 (21:22 +0100)]
libubox: update to version 2019-12-28

Fixes startup issues of some services in procd and bumps ABI_VERSION to 20191228.

Ref: http://lists.infradead.org/pipermail/openwrt-devel/2019-December/020840.html
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoubox: update to latest git HEAD
Hans Dedecker [Sat, 28 Dec 2019 20:23:53 +0000 (21:23 +0100)]
ubox: update to latest git HEAD

b30e0df kmodloader: print an error when no kernel module dir can be found
17689b6 logread: add option to filter for facilities
c9ffeac kmodloader: added -v arg to modeprobe

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agobrcm2708-userland: add new package with RPi utils
Álvaro Fernández Rojas [Sat, 28 Dec 2019 14:18:27 +0000 (15:18 +0100)]
brcm2708-userland: add new package with RPi utils

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobrcm2708: image: stop using mkknlimg script
Álvaro Fernández Rojas [Fri, 27 Dec 2019 16:24:14 +0000 (17:24 +0100)]
brcm2708: image: stop using mkknlimg script

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobrcm2708: switch to upstream cpufreq driver
Álvaro Fernández Rojas [Fri, 27 Dec 2019 16:23:41 +0000 (17:23 +0100)]
brcm2708: switch to upstream cpufreq driver

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoubus: update to version 2019-12-27
Petr Štetiar [Sat, 28 Dec 2019 07:00:47 +0000 (08:00 +0100)]
ubus: update to version 2019-12-27

Fixes socket descriptor passing and bumps ABI_VERSION to 20191227.

Ref: http://lists.infradead.org/pipermail/openwrt-devel/2019-December/020840.html
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoRevert "kernel: fix kmemleak warnings introduced in 305-mips_module_reloc.patch"
Felix Fietkau [Fri, 27 Dec 2019 18:46:02 +0000 (19:46 +0100)]
Revert "kernel: fix kmemleak warnings introduced in 305-mips_module_reloc.patch"

This reverts commit a03afef7f2e8ae363a97357ec75ffbfef372a9ea.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoipq806x: build DEVICE_DTS based on SOC and device name
Adrian Schmutzler [Sat, 21 Dec 2019 00:16:49 +0000 (01:16 +0100)]
ipq806x: build DEVICE_DTS based on SOC and device name

This patch uses the SOC variable to calculate DTS names automatically
based on the SOC and the device definition node name.

This reduces redundancy and (by having to choose DTS name
appropriately) will unify the naming of a device in different places
(image/Makefile, DTS name, compatible, image name). This is supposed
to make life easier for developers and reviewers.

Since the kernel uses a "soc-device.dts" scheme for this target, we
use this for the derivation of DEVICE_DTS, too, leaving the DTS names
unchanged for this target.

Note that for some devices the kernel itself uses inconsistent names
(DTS naming scheme vs. compatible), leaving us with a manual overwrite
of DEVICE_DTS for those cases.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoipq40xx: build DEVICE_DTS based on SOC and device name
Adrian Schmutzler [Sat, 21 Dec 2019 00:07:06 +0000 (01:07 +0100)]
ipq40xx: build DEVICE_DTS based on SOC and device name

This patch uses the SOC variable to calculate DTS names automatically
based on the SOC and the device definition node name.

This reduces redundancy and (by having to choose DTS name
appropriately) will unify the naming of a device in different places
(image/Makefile, DTS name, compatible, image name). This is supposed
to make life easier for developers and reviewers.

Since the kernel uses a "soc-device.dts" scheme for this target, we
use this for the derivation of DEVICE_DTS, too, and rename the files
not having followed it so far.

Note that for some devices the kernel itself is inconsistent, leaving
us with a manual overwrite for ap.dk01.1-c1 and ap.dk04.1-c1.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: remove bogus ralink,mtd-eeprom with offset 0x4
Adrian Schmutzler [Sun, 22 Dec 2019 15:51:19 +0000 (16:51 +0100)]
ramips: remove bogus ralink,mtd-eeprom with offset 0x4

Several devices in mt76x8 subtarget use the following line to set
up wmac in their DTS(I) files:

ralink,mtd-eeprom = <&factory 0x4>

This is strange for several reasons:
- They should use mediatek,mtd-eeprom on this SOC
- The caldata is supposed to start at 0x0
- The parent DTSI mt7628an.dtsi specifies mediatek,mtd-eeprom anyway,
  starting from 0x0
- The offset coincides with the default location of the MAC address
  in caldata

Based on the comment in b28e94d4bfa1 ("ramips: MiWiFi Nano fixes"),
it looks like the author for this device wanted to actually use
mtd-mac-address instead of ralink,mtd-eeprom. A check on the same
device revealed that actually the MAC address start at offset 4 there,
so the correct caldata offset is 0x0.

Based on these findings, and the fact that the expected location on
this SOC is 0x0, we remove the "ralink,mtd-eeprom = <&factory 0x4>"
statement from all devices in ramips (being only mt7628an anyway).

Thanks to Sungbo Eo for finding and researching this.

Reported-by: Sungbo Eo <mans0n@gorani.run>
Fixes: b28e94d4bfa1 ("ramips: MiWiFi Nano fixes")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agowireguard: bump to 20191226
Jason A. Donenfeld [Fri, 27 Dec 2019 14:41:12 +0000 (15:41 +0100)]
wireguard: bump to 20191226

As announced on the mailing list, WireGuard will be in Linux 5.6. As a
result, the wg(8) tool, used by OpenWRT in the same manner as ip(8), is
moving to its own wireguard-tools repo. Meanwhile, the out-of-tree
kernel module for kernels 3.10 - 5.5 moved to its own wireguard-linux-
compat repo. Yesterday, releases were cut out of these repos, so this
commit bumps packages to match. Since wg(8) and the compat kernel module
are versioned and released separately, we create a wireguard-tools
Makefile to contain the source for the new tools repo. Later, when
OpenWRT moves permanently to Linux 5.6, we'll drop the original module
package, leaving only the tools. So this commit shuffles the build
definition around a bit but is basically the same idea as before.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
4 years agomt76: update to the latest version
Felix Fietkau [Fri, 27 Dec 2019 14:34:14 +0000 (15:34 +0100)]
mt76: update to the latest version

2a0a19168dce mt7603: remove vif sta from poll list on interface remove
dc14ac64e7f3 mt7615: remove vif sta from poll list on interface remove
d868638fdd96 mt76: remove obsolete .add_buf() from struct mt76_queue_ops
50b1e9bd25cd mt76: refactor cc_lock locking scheme
1987b741dac2 mt76: mt76x0: remove 350ms delay in mt76x0_phy_calibrate
c93a2d1c1304 mt76: mt76x02u: update ewma pkt len in mt76x02u_tx_prepare_skb
58e1e969f03e mt76: mt7615: remove unneeded semicolon
c14d6563c492 mt76: mt76x2e: disable pcie_aspm by default
f2be00b1011a mt76: dma: fix buffer unmap with non-linear skbs
20f05897873a mt76: mt76u: rely on usb_interface instead of usb_dev
3cbaf81a185e mt76: mt76u: rely on a dedicated stats workqueue
ea19cd7ac6c6 mt76: Remove set but not used variable 'idx'
a85c06cec844 mt76: use mt76_dev in mt76_is_{mmio,usb}
e0731a82a14f mt76: move SUPPORTS_REORDERING_BUFFER hw property in mt76_register_device
cfdb75124e7c mt76: mt7615: add ibss support
e2f90adcc3b1 mt76: move interface_modes definition in mt76_core module
5dfb0ec9c6d1 mt76: mt7615: disable radar pattern detector during scanning
7121e163c068 mt76: fix possible out-of-bound access in mt7615_fill_txs/mt7603_fill_txs
db78ee08d95e mt76: move mt76_get_antenna in mt76_core module
faf5e6fedd7e mt76: mt7615: read {tx,rx} mask from eeprom
44825e88a42d mt76: use rcu_read_lock_bh in mt76_dma_rx_poll
af83ee8de928 mt76: move initialization of some struct members to mt76_alloc_device
6493e234b40d mt76: introduce struct mt76_phy
ea46624355ec mt76: add support for an extra wiphy in the rx path
c5f1e83e30d4 mt76: add support for an extra wiphy in the main tx path
1d8011871458 mt76: add support for an extra wiphy in the tx status path
e5e755a7a6b0 mt76: add support for an extra wiphy in mt76_sta_state()
ee36c8e2170f mt76: move channel state to struct mt76_phy
d246beb23350 mt76: keep a set of software tx queues per phy
a3e88bcf17e8 mt76: move state from struct mt76_dev to mt76_phy
9cda51d195db mt76: move chainmask back to driver specific structs
df74d6993383 mt76: move txpower_conf back to driver specific structs
9e95fa6208a2 mt76: move txpower and antenna mask to struct mt76_phy
502d09a6e806 mt76: add multiple wiphy support to mt76_get_min_avg_rssi
842cae558b82 mt76: add priv pointer to struct mt76_phy
8ca04846857b mt76: add function for allocating an external wiphy
04cd17a64520 mt76: add ext_phy field to struct mt76_wcid
1c8d69e7d666 mt76: move ampdu_ref from mt76_dev to driver struct
e6659d12d01e mt76: mt7615: add dual-phy support for mac80211 ops
e5ea72ac7158 mt76: mt7615: add multiple wiphy support for smart carrier sense
bdcd45dd04e0 mt76: mt7615: add missing register init for dual-wiphy support
0954c37d015f mt76: mt7615: remove useless MT_HW_RDD0/1 enum
705a0fcdc3a5 mt76: mt7615: add multiple wiphy support to the dfs support code
849fefacc48a mt76: mt7615: rework chainmask handling
caa47af1d6f2 mt76: mt7615: add multiple wiphy support to the rx path
c5585a735864 mt76: mt7615: initialize dbdc settings on interface add
6265fd1954d7 mt76: mt7615: move radio/mac initialization to .start/stop callbacks
5725d1f919ff mt76: mt7615: select the correct tx queue for frames sent to the second phy
993683d62fb7 mt76: mt7615: add support for registering a second wiphy via debugfs
1456a53ddeb3 mt76: mt7615: update beacon contents on BSS_CHANGED_BEACON
ea41ad8bdb36 mt76: mt7615: defer mcu initialization via workqueue
59de6c9447a7 mt7615: replace sta_state callback with sta_add/sta_remove
88db676f8517 mt76: fix rx dma ring descriptor state on reset
fff2c07193bb Revert "mt76: use rcu_read_lock_bh in mt76_dma_rx_poll"
b3bf83d6da1c mt76: disable bh in mt76_dma_rx_poll
efcbee1d8bfc mt76: mt76x0u: do not reset radio on resume
5dc6f6fcc027 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
84554a1fbb9a kernel: fix typos and some coding style in comments
a116b0a6afe9 mt76: fix possible undetected invalid MAC address
becdec318fce mt76: Off by one in mt76_calc_rx_airtime()
683eb244fa55 mt76: mt7603: reset STA_CCA counter setting the channel
812692db171c mt76: eeprom: add support for big endian eeprom partition
8b362382b10c mt76: mt7615: Fix build with older compilers
fc24815a2cb4 mt76: mt7615: report firmware version using ethtool
5cec93d57e6d mt76: mt76x02: fix coverage_class type
9354f0f41d1c mt76: mt7603: set 0 as min coverage_class value
a589d095eeb6 mt76: mt7615: add set_coverage class support
257c19f5b56f mt76: clear skb pointers from rx aggregation reorder buffer during cleanup
05c87a33831f mt76: do not overwrite max_tx_fragments if it has been set
05fa07c667f3 mt76: use AC specific reorder timeout
3ef5f3444a94 mt76: mt7615: measure channel noise and report it via survey
726fd501651a mt76: mt7615: increase MCU command timeout
99d8cd03edfa mt76: mt7603: fix input validation issues for powersave-filtered frames
32129af2604d net/wireless: Delete unnecessary checks before the macro call “dev_kfree_skb”
85a8abf80385 mt76: mt76x02: omit beacon slot clearing
8b5d3615e1c8 mt76: mt76x02: split beaconing
dc364547d91a mt76: mt76x02: add check for invalid vif idx
462a16e185e4 mt76: mt76x02: remove a copy call for usb speedup
fa24aba4c280 mt76: speed up usb bulk copy
6a84ad21306e mt76: mt76x02: add channel switch support for usb interfaces
09fcbc214b10 mt76: usb: use max packet length for m76u_copy
584c0784e019 mt76: mt76x02u: do not set NULL beacons
ca17e5657e8a mt76: mt76x02: minor mt76x02_mac_set_beacon optimization
d5fdd2e7ced8 mt76: mt7615: fix MT7615_CFEND_RATE_DEFAULT value
ae25a4bf99a9 mt76: mt7615: introduce LED support
cd759b00cc06 mt76: mt76x02: simplify led reg definitions
cf00467c5de4 mt76: mt7603: simplify led reg definitions
1c8e76f4de3e mt76: fix compilation warning in mt76_eeprom_override()
960f5cc2390b mt76: mt76u: fix endpoint definition order
15e1c29ed8e3 mt76: mt7615: add missing settings for simultaneous dual-band support
e09b9f61eeb3 mt76: mt7615: rework set_channel function
4cb1195a1530 mt76: mt7615: add set_antenna callback

Signed-off-by: Felix Fietkau <nbd@nbd.name>
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>