oweals/openwrt.git
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>
4 years agoath79: tp-link: use ath10k-ct-smallbuffers for 64 MiB devices
Paul Fertser [Tue, 24 Dec 2019 21:02:24 +0000 (00:02 +0300)]
ath79: tp-link: use ath10k-ct-smallbuffers for 64 MiB devices

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

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

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

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

Also removes reverted patches.

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

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

Refreshed all patches.

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

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

Refreshed all patches.

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

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

Refreshed all patches.

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

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

Refreshed all patches.

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

Fixes:
- CVE-2019-19332

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

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

Refreshed all patches.

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

Fixes:
- CVE-2019-19332

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- wireless patches
- defconfig patches

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

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

Make the musl libc support conditional.

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

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Fixes: 856ea2bad3b3 ("libcxx: Add package")

4 years agoramips: add label MAC address for Mikrotik RB750Gr3
Sven Roederer [Mon, 23 Dec 2019 00:42:52 +0000 (01:42 +0100)]
ramips: add label MAC address for Mikrotik RB750Gr3

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

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

That one is taken for the label MAC address.

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

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

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

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

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

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

Fixes: da7740853715 ("i2c-gpio-custom: minor bugfix")
Fixes: 3bc81edc70e8 ("package: fix w1-gpio-custom package (closes #6770)")

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agorpcd: add respawn param
Florian Eckert [Thu, 7 Nov 2019 13:31:29 +0000 (14:31 +0100)]
rpcd: add respawn param

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

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

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

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

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

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

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

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

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

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

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

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

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

libstdcpp: 460786
libcxx: 182881
uClibc++:67720

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

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

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

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

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

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

Avoids redefining bool.

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

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

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

This change existed back on:
25e36d379e73d64d6316fae9dc841c5ef28980f1

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

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

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

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

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

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

The release notes since last time for wave-1:

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

The release notes since last time for wave-2:

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

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>