openwrt/staging/jow.git
4 years agoath79: increase spi frequency on tp-link tl-wr1043nd v2
Aleksander Jan Bajkowski [Sat, 18 Apr 2020 12:40:08 +0000 (14:40 +0200)]
ath79: increase spi frequency on tp-link tl-wr1043nd v2

Increase SPI frequency to 33.333 MHz. It's maximum frequency supported
by SPI Flash memory chip without Fast read opcode.

Before:
$ time dd if=/dev/mtd1 of=/dev/null bs=8M
0+1 records in
0+1 records out
real 0m 3.21s
user 0m 0.00s
sys 0m 3.21s

After:
$ time dd if=/dev/mtd1 of=/dev/null bs=8M
0+1 records in
0+1 records out
real 0m 2.52s
user 0m 0.00s
sys 0m 2.52s

Tested on TP-Link TL-WR1043ND V2.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agobcm63xx: periph_intc: report effective affinity
Daniel Gonzalez Cabanelas [Thu, 14 May 2020 16:10:12 +0000 (18:10 +0200)]
bcm63xx: periph_intc: report effective affinity

The bcm6345-periph-intc driver only targets a single CPU at a time, even
if the notional affinity is wider. Let's inform the core code about this.

This patch gets rid of the kernel message:
"genirq: irq_chip bcm6345-periph-intc did not update eff. affinity mask
of irq 52"

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
4 years agobcm63xx: ext_intc: fix warning
Álvaro Fernández Rojas [Thu, 14 May 2020 14:14:52 +0000 (16:14 +0200)]
bcm63xx: ext_intc: fix warning

In file included from ./arch/mips/include/asm/io.h:34,
                 from ./arch/mips/include/asm/mmiowb.h:5,
                 from ./include/linux/spinlock.h:60,
                 from ./include/linux/irq.h:14,
                 from drivers/irqchip/irq-bcm6345-ext.c:10:
drivers/irqchip/irq-bcm6345-ext.c: In function 'bcm6345_ext_intc_of_init':
./arch/mips/include/asm/mach-bcm63xx/ioremap.h:48:9: warning: 'base' may be used uninitialized in this function [-Wmaybe-uninitialized]
  return is_bcm63xx_internal_registers((unsigned long)addr);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-bcm6345-ext.c:255:16: note: 'base' was declared here
  void __iomem *base;
                ^~~~

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: periph_intc: fix warning
Álvaro Fernández Rojas [Thu, 14 May 2020 14:23:21 +0000 (16:23 +0200)]
bcm63xx: periph_intc: fix warning

drivers/irqchip/irq-bcm6345-periph.c: In function 'bcm6345_periph_irq_handle':
drivers/irqchip/irq-bcm6345-periph.c:55:21: warning: 'block' may be used uninitialized in this function [-Wmaybe-uninitialized]
  struct intc_block *block;
                     ^~~~~

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: redboot: fix warning
Álvaro Fernández Rojas [Thu, 14 May 2020 14:10:40 +0000 (16:10 +0200)]
bcm63xx: redboot: fix warning

drivers/mtd/parsers/redboot.c: In function 'parse_redboot_partitions':
drivers/mtd/parsers/redboot.c:194:59: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
     fis_origin = (buf[i].flash_base & (master->size << 1) - 1);
                                       ~~~~~~~~~~~~~~~~~~~~^~~

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: bcm6362: fix pinctrl bug
Álvaro Fernández Rojas [Thu, 14 May 2020 12:57:58 +0000 (14:57 +0200)]
bcm63xx: bcm6362: fix pinctrl bug

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: image: remove unused definition
Álvaro Fernández Rojas [Thu, 14 May 2020 13:22:48 +0000 (15:22 +0200)]
bcm63xx: image: remove unused definition

KERNEL_ENTRY isn't used by lzma-loader.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: remove linux 4.14 support
Álvaro Fernández Rojas [Thu, 14 May 2020 12:51:58 +0000 (14:51 +0200)]
bcm63xx: remove linux 4.14 support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agokernel: bump 5.4 to 5.4.41
Koen Vandeputte [Thu, 14 May 2020 10:55:32 +0000 (12:55 +0200)]
kernel: bump 5.4 to 5.4.41

Refreshed all patches.

Compile-tested on: imx6
Runtime-tested on: imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.19 to 4.19.123
Koen Vandeputte [Thu, 14 May 2020 10:14:24 +0000 (12:14 +0200)]
kernel: bump 4.19 to 4.19.123

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoglibc: update to latest 2.31 commit
Hans Dedecker [Wed, 13 May 2020 19:52:47 +0000 (21:52 +0200)]
glibc: update to latest 2.31 commit

1094741224 aarch64: Accept PLT calls to __getauxval within libc.so
a98b8b221c NEWS: Mention fixes for BZ 25810/25896/25902/25966
4c833bbebe x86-64: Use RDX_LP on __x86_shared_non_temporal_threshold [BZ #25966]
3b9ceb3320 NEWS: Mention bug 25639 fixed in 2.31 branch
bb44fe7711 oc_FR locale: Fix spelling of April (bug 25639)
f2ac792047 oc_FR locale: Fix spelling of Thursday (bug 25639)
18fdba553d Add a C wrapper for prctl [BZ #25896]
7c9e054afd powerpc: Rename argN to _argN in LOADARGS_N [BZ #25902]
9c5ae39a64 Add C wrappers for process_vm_readv/process_vm_writev [BZ #25810]
63c3696a4a Mark unsigned long arguments with U in more syscalls [BZ #25810]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agoprocd: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:53 +0000 (16:47 +0200)]
procd: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agowwan: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:52 +0000 (16:47 +0200)]
wwan: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agocomgt: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:50 +0000 (16:47 +0200)]
comgt: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agonetifd: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:49 +0000 (16:47 +0200)]
netifd: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomac80211: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:48 +0000 (16:47 +0200)]
mac80211: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoltq-vdsl-fw: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:47 +0000 (16:47 +0200)]
ltq-vdsl-fw: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoltq-vdsl-app: replace backticks by $(...)
Adrian Schmutzler [Sun, 10 May 2020 14:47:45 +0000 (16:47 +0200)]
ltq-vdsl-app: replace backticks by $(...)

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

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolibjson-c: backport security fixes
Robert Marko [Tue, 12 May 2020 20:18:33 +0000 (22:18 +0200)]
libjson-c: backport security fixes

This backports upstream fixes for the out of bounds write vulnerability in json-c.
It was reported and patches in this upstream PR: https://github.com/json-c/json-c/pull/592

Addresses CVE-2020-12762

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Signed-off-by: Luka Perkov <luka.perkov@sartura.hr>
[bump PKG_RELEASE]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoipq40xx: replace "ok" with "okay" for status in DTS files
Adrian Schmutzler [Mon, 11 May 2020 09:52:34 +0000 (11:52 +0200)]
ipq40xx: replace "ok" with "okay" for status in DTS files

While "ok" is recognized in DT parsing, only "okay" is actually
mentioned as valid value. Replace it accordingly.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: replace "ok" with "okay" for status in DTS files
Adrian Schmutzler [Mon, 11 May 2020 09:49:43 +0000 (11:49 +0200)]
bcm63xx: replace "ok" with "okay" for status in DTS files

While "ok" is recognized in DT parsing, only "okay" is actually
mentioned as valid value. Replace it accordingly.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: use generic diag.sh
Adrian Schmutzler [Mon, 11 May 2020 22:36:15 +0000 (00:36 +0200)]
bcm63xx: use generic diag.sh

This commit removes the target-specific diag.sh script. This way, the
generic one is used for the target, which uses DT-aliases to specify the
LEDs used.

Though generic diag.sh allows to use different LEDs to indicate different
states, this patch just moves the old assignment and does not try to
"improve" the assignment by using additional colors.
However, individual proposals to do so are welcome.

For the few cases where status_led2 was used in old diag.sh, only the
primary LED was migrated.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoar71xx: mikrotik: mach-rbspi.c remove wlan id
Thibaut VARÈNE [Fri, 8 May 2020 11:46:42 +0000 (13:46 +0200)]
ar71xx: mikrotik: mach-rbspi.c remove wlan id

Following on the previous commit, this patch removes useless id argument
from rbspi_wlan_init().

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoar71xx: mikrotik: bypass id check in __rb_get_wlan_data()
Thibaut VARÈNE [Fri, 8 May 2020 11:39:10 +0000 (13:39 +0200)]
ar71xx: mikrotik: bypass id check in __rb_get_wlan_data()

The id parameter in __rb_get_wlan_data() was incorrectly used on the
assumption that id "0" would always be tied to ath9k with RLE encoding
and positive id (in fact, only id "1" was valid) would always be tied to
("external") ath10k with LZO encoding.

Newer hardware revisions of supported devices prove this assumption to
be invalid, with ath9k caldata being now wrapped in MAGIC_ERD and LZO
compressed, so disable this check to allow newer hardware to correctly
decode caldata for ath9k. Since ath10k caldata is no longer pulled from
this implementation, this commit also disables the publication in sysfs
to avoid wasting memory.

Note: this patch assumes that ath9k caldata is never stored with the new
"LZOR" encoding scheme found on some ath10k devices.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agokernel: bump 5.4 to 5.4.40
Koen Vandeputte [Mon, 11 May 2020 11:17:22 +0000 (13:17 +0200)]
kernel: bump 5.4 to 5.4.40

Refreshed all patches.

Compile-tested on: imx6
Runtime-tested on: imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.19 to 4.19.122
Koen Vandeputte [Mon, 11 May 2020 10:07:06 +0000 (12:07 +0200)]
kernel: bump 4.19 to 4.19.122

Refreshed all patches.

Remove upstreamed:
- 551-loop-Better-discard-support-for-block-devices.patch

Fixed:
- CVE-2020-11884
- CVE-2020-12114
- CVE-2019-3016
- CVE-2020-11669

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.14 to 4.14.180
Koen Vandeputte [Mon, 11 May 2020 09:27:02 +0000 (11:27 +0200)]
kernel: bump 4.14 to 4.14.180

Refreshed all patches.

Fixes:
- CVE-2020-12114
- CVE-2020-11669

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agobcm63xx: loader-lzma: use default lzma
Álvaro Fernández Rojas [Sun, 3 May 2020 15:19:03 +0000 (17:19 +0200)]
bcm63xx: loader-lzma: use default lzma

Specific CFE LZMA parameters aren't needed for LZMA Loader.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: image: rename LOADADDR to KERNEL_LOADADDR
Álvaro Fernández Rojas [Mon, 6 Apr 2020 14:56:19 +0000 (16:56 +0200)]
bcm63xx: image: rename LOADADDR to KERNEL_LOADADDR

Also remove KERNEL_ENTRY, since it's the same as KERNEL_LOADADDR

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agofstools: blockd: fix segfault triggered by non-autofs mounts
Daniel Golle [Tue, 12 May 2020 09:48:50 +0000 (10:48 +0100)]
fstools: blockd: fix segfault triggered by non-autofs mounts

Program received signal SIGSEGV, Segmentation fault.
main_autofs (argv=<optimized out>, argc=<optimized out>)
    at fstools-2020-05-06-eec16e2f/block.c:1193
1193:    if (!m->autofs && (mp = find_mount_point(pr->dev))) {

Fixes: c3a43753b9 ("fstools: update to the latest version")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agogeneric: add MikroTik hw bit description
Koen Vandeputte [Mon, 11 May 2020 14:48:51 +0000 (16:48 +0200)]
generic: add MikroTik hw bit description

An e-mail response from MikroTik contained a minimal overview
on hardware option bits which mentioned a currently unknown bit.

While not being too detailed what it does, add it for documentation purposes.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoipq40xx: add support for Aruba AP-365
David Bauer [Thu, 7 May 2020 15:50:57 +0000 (17:50 +0200)]
ipq40xx: add support for Aruba AP-365

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

The USB port on the device is (in contrast to other Aruba boards) real
USB. The AP uses a CP2101 USB TTY converter on the board.

Console baudrate is 9600 8n1.

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

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

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

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

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

4. Load OpenWrt into RAM:
   $ run ramboot_openwrt

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

6. Flash OpenWrt:
   Make sure you use the mtd partition with the label "ubi" here!

   $ ubidetach -p /dev/mtd1
   $ ubiformat /dev/mtd1
   $ sysupgrade -n /tmp/openwrt-sysupgrade.bin

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

  $ setenv bootcmd "boot"
  $ saveenv

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoumdns: re-enable address-of-packed-member warning
Kevin Darbyshire-Bryant [Mon, 4 May 2020 16:16:10 +0000 (17:16 +0100)]
umdns: re-enable address-of-packed-member warning

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agodnsmasq: hotplug script tidyup
Kevin Darbyshire-Bryant [Sun, 10 May 2020 12:47:05 +0000 (13:47 +0100)]
dnsmasq: hotplug script tidyup

Hotplug scripts are sourced so the #!/bin/sh is superfluous/deceptive.
Re-arrange script to only source 'procd' if we get to the stage of
needing to signal the process, reduce hotplug processing load a little.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agobcm27xx: label to boot partition
Andrey Kunitsyn [Sat, 9 May 2020 11:39:51 +0000 (14:39 +0300)]
bcm27xx: label to boot partition

Get fat partition name allow easy partition identification
for user.

Signed-off-by: Andrey Kunitsyn <blackicebox@gmail.com>
4 years agoramips: add support for LB-Link BL-W1200
Pawel Dembicki [Fri, 17 Apr 2020 20:31:11 +0000 (22:31 +0200)]
ramips: add support for LB-Link BL-W1200

The BL-W1200 Wireless Router is based on the MT7620A SoC.

Specification:

- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 1x 802.11bgn radio
- 1x 802.11ac radio (MT7612E)
- 5x 10/100/1000 Mbps Ethernet (MT7530)
- 2x external, non-detachable antennas (Wifi 2.4G/5G)
- 1x USB 2.0
- UART (R2) on PCB (57600 8n1)
- 9x LED (1 GPIO controlled), 1x button
- u-Boot bootloader

Known issues:
- No status LED. Used WPS LED during boot/failsafe/sysupgrade.

Installation:
1. Apply initramfs image via factory web-gui.
2. Install sysupgrade image.

How to revert to OEM firmware:
- sysupgrade -n -F stock_firmware.bin

Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
4 years agomac80211: distance config: allow "auto" as a value
Ali MJ Al-Nasrawy [Wed, 18 Sep 2019 17:14:42 +0000 (20:14 +0300)]
mac80211: distance config: allow "auto" as a value

The user can now enable the ACK timeout estimation algorithm (dynack)
for drivers that support it.
It is also expected that the distance config accepts the same values as:
$ iw phyX set distance XXX

Signed-off-by: Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com>
4 years agoramips: dts: fix incorrect flash reg property
Sungbo Eo [Thu, 7 May 2020 14:34:22 +0000 (23:34 +0900)]
ramips: dts: fix incorrect flash reg property

Most work was done in commit 021c8936584d ("ramips: fix size-cells on spi
nodes"), but a few more DTS files using the old reg style have been added
since then. This commit fixes them.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoramips: dts: use generic node name for flash
Sungbo Eo [Thu, 7 May 2020 14:15:27 +0000 (23:15 +0900)]
ramips: dts: use generic node name for flash

In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.

While at it, remove unused m25p80 label.

Tested on rt5350 (for spi-nor) and rt3662 (for cfi-flash).

1. https://openwrt.org/submitting-patches#dts_checklist
2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agomvebu: uDPU: switch default kernel and U-Boot PHY mode
Jakov Petrina [Fri, 24 Apr 2020 12:38:58 +0000 (14:38 +0200)]
mvebu: uDPU: switch default kernel and U-Boot PHY mode

Certain SFP modules (most notably Nokia GPON ones) first check
connectivity on 1000base-x, and switch to 2500base-x afterwards. This
is considered a quirk so the phylink switches the interface to
2500base-x as well.

However, after power-cycling the uDPU device, network interface/SFP module
will not work correctly until the module is re-seated. This patch
resolves this issue by forcing the interface to be brought up in
2500base-x mode by default.

Signed-off-by: Jakov Petrina <jakov.petrina@sartura.hr>
Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
4 years agobase-files: upgrade: fix indent
Javier Marcet [Sat, 4 Apr 2020 15:50:41 +0000 (17:50 +0200)]
base-files: upgrade: fix indent

Use same indent as for the rest of the file.

Signed-off-by: Javier Marcet <javier@marcet.info>
[add commit description]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: dts: add missing 'serial0' alias for TP-Link TL-MR3040v2
Lech Perczak [Thu, 7 May 2020 22:41:36 +0000 (00:41 +0200)]
ath79: dts: add missing 'serial0' alias for TP-Link TL-MR3040v2

Out of all devices currently supported based on AR9331 chipset,
this one had the 'serial0' alias missing. Add it to fix setting of
/dev/console and login shell on the onboard UART.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
4 years agoramips: tidy up image subtarget Makefiles
Sungbo Eo [Fri, 8 May 2020 16:21:06 +0000 (01:21 +0900)]
ramips: tidy up image subtarget Makefiles

- use tab indent in image build recipes for consistency
- harmonize line wrapping

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[use different line wrapping for one recipe]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: tidy up image Makefile
Sungbo Eo [Fri, 8 May 2020 16:20:53 +0000 (01:20 +0900)]
ramips: tidy up image Makefile

- sort recipes alphabetically
- simplify subtarget include directives

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoramips: simplify palmbus/{i2c,spi} in device DTS files
Sungbo Eo [Fri, 8 May 2020 12:00:48 +0000 (21:00 +0900)]
ramips: simplify palmbus/{i2c,spi} in device DTS files

As the node is already defined and labeled in SoC DTSI file, we can refer to it
outside of root node and reduce redundancy.

While at it, remove unused pcf8563 label.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoramips: use hex notation for *-mtd-eeprom property
Sungbo Eo [Thu, 7 May 2020 13:13:27 +0000 (22:13 +0900)]
ramips: use hex notation for *-mtd-eeprom property

Change "0" to "0x0" for consistency. This is an extension of commit 34abfb6e91d1
("ramips: convert mediatek,mtd-eeprom from decimal to hex notation").

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agogeneric: fix patching error on kernel 5.4
Koen Vandeputte [Fri, 8 May 2020 14:48:19 +0000 (16:48 +0200)]
generic: fix patching error on kernel 5.4

Fixes a build error seen when applying the kernel patches.

Applying patch generic/435-mtd-add-routerbootpart-parser-config.patch
patching file drivers/mtd/parsers/Kconfig
Hunk #1 FAILED at 160.
1 out of 1 hunk FAILED -- rejects in file drivers/mtd/parsers/Kconfig
patching file drivers/mtd/parsers/Makefile
Hunk #1 FAILED at 10.
1 out of 1 hunk FAILED -- rejects in file drivers/mtd/parsers/Makefile

This was missed as 5.4 is currently set as testing kernel
while the main kernel being used is 4.19

Fixes: 2976e423dc6e ("generic: routerboot partition build bits")
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoramips/mt7621: mikrotik: don't use mtd-mac-address in DTS
Thibaut VARÈNE [Mon, 20 Apr 2020 12:35:57 +0000 (14:35 +0200)]
ramips/mt7621: mikrotik: don't use mtd-mac-address in DTS

As evidenced here[1] the device MAC address can be stored at a random
offset in the hard_config partition. Rely on sysfs to update the MAC
address correctly.

Adjust config so that WAN is base MAC and LAN is base MAC +1 to better
match label and vendor OS.

[1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610809021

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoath79/mikrotik: load caldata via sysfs loader
Thibaut VARÈNE [Sun, 19 Apr 2020 15:17:03 +0000 (17:17 +0200)]
ath79/mikrotik: load caldata via sysfs loader

This commit takes advantages of base-files 220 which introduces routines
to perform caldata loading directly via the kernel sysfs loader helper.
This has the benefits of not wasting flash space to store caldata.

Memory footprint is reduced to the bare minimum: for devices that don't
need MAC patching, the caldata is loaded directly, for devices that do
need MAC patching, the caldata is extracted to /tmp, patched and then
loaded.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agopackage/base-files: add caldata_sysfsload_from_file()
Thibaut VARÈNE [Mon, 20 Apr 2020 11:48:02 +0000 (13:48 +0200)]
package/base-files: add caldata_sysfsload_from_file()

This routine enables loading caldata binary via the kernel sysfs loader

See https://www.kernel.org/doc/html/v4.19/driver-api/firmware/fallback-mechanisms.html

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agopackage/base-files: caldata: allow setting target file
Thibaut VARÈNE [Mon, 20 Apr 2020 11:48:02 +0000 (13:48 +0200)]
package/base-files: caldata: allow setting target file

This will enable platforms to extract caldata to an arbitrary file,
or patch mac in an abitrary file.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoar71xx/mikrotik: ath10k: use new sysfs driver
Thibaut VARÈNE [Sun, 19 Apr 2020 14:04:42 +0000 (16:04 +0200)]
ar71xx/mikrotik: ath10k: use new sysfs driver

Fetch ath10k calibration data from new mikrotik sysfs driver

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agopackage/utils: remove rbextract
Thibaut VARÈNE [Sun, 19 Apr 2020 09:46:57 +0000 (11:46 +0200)]
package/utils: remove rbextract

Rationale:
1/ This tool is no longer necessary following the implementation of a
   sysfs driver
2/ The upstream author, Robert Marko, stated[1] that this tool had been
   taken from his tree in an unfinished state not suitable for merging

[1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610277863

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoath79/mikrotik: use standard caldata functions
Thibaut VARÈNE [Sun, 19 Apr 2020 09:42:45 +0000 (11:42 +0200)]
ath79/mikrotik: use standard caldata functions

With the implementation of a sysfs interface to access WLAN data, this
target no longer needs a special wrapper to extract caldata.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoath79/mikrotik: don't use mtd-mac-address in DTS
Thibaut VARÈNE [Sun, 19 Apr 2020 10:09:20 +0000 (12:09 +0200)]
ath79/mikrotik: don't use mtd-mac-address in DTS

As evidenced here[1] the device MAC address can be stored at a random
offset in the hard_config partition. Rely on sysfs to update the MAC
address correctly.

To match sticker and vendor OS behavior, WAN MAC is set to the device
base MAC and LAN MAC is incremented from that.

Note: this will trigger a harmless kernel message during boot:
ag71xx 19000000.eth: invalid MAC address, using random address

There is no clean workaround to prevent this message from being emitted.

[1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610809021

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agogeneric: platform/mikrotik: support LZOR encoding
Thibaut VARÈNE [Fri, 27 Mar 2020 13:33:48 +0000 (14:33 +0100)]
generic: platform/mikrotik: support LZOR encoding

Some newer MikroTik RouterBOARD devices use a new encoding scheme
for their WLAN calibration data. This patch provides support for
decoding this new scheme.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoramips/mt7621: enable mikrotik platform driver
Thibaut VARÈNE [Tue, 28 Apr 2020 13:57:41 +0000 (15:57 +0200)]
ramips/mt7621: enable mikrotik platform driver

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoar71xx/mikrotik: enable mikrotik platform driver
Thibaut VARÈNE [Wed, 25 Mar 2020 10:45:51 +0000 (11:45 +0100)]
ar71xx/mikrotik: enable mikrotik platform driver

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoath79/mikrotik: enable mikrotik platform driver
Thibaut VARÈNE [Tue, 24 Mar 2020 21:31:17 +0000 (22:31 +0100)]
ath79/mikrotik: enable mikrotik platform driver

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agogeneric: mikrotik platform build bits
Thibaut VARÈNE [Tue, 24 Mar 2020 21:28:26 +0000 (22:28 +0100)]
generic: mikrotik platform build bits

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agogeneric: routerboot sysfs platform driver
Thibaut VARÈNE [Sun, 22 Mar 2020 20:46:42 +0000 (21:46 +0100)]
generic: routerboot sysfs platform driver

This driver exposes the data encoded in the "hard_config" flash segment
of MikroTik RouterBOARDs devices. It presents the data in a sysfs folder
named "hard_config". The WLAN calibration data is available on demand via
the 'wlan_data' sysfs file in that folder.

This driver permanently allocates a chunk of RAM as large as the
"hard_config" MTD partition (typically 4KB), although it is technically
possible to operate entirely from the MTD device without using a local
buffer (except when requesting WLAN calibration data), at the cost of a
performance penalty.

This driver does not reuse any of the existing code previously found in
routerboot.c.

This driver has been successfully tested on BE (ath79) and LE (ipq40xx
and ramips) hardware.

Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Tested-by: Baptiste Jonglez <git@bitsofnetworks.org>
Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Tested-by: Christopher Hill <ch6574@gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoramips: mikrotik: use routerbootpart partitions
Thibaut VARÈNE [Sat, 21 Mar 2020 21:54:53 +0000 (22:54 +0100)]
ramips: mikrotik: use routerbootpart partitions

Enable routerbootpart partitions on MikroTik devices.

Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoramips/mt7621: enable CONFIG_MTD_ROUTERBOOT_PARTS
Thibaut VARÈNE [Tue, 24 Mar 2020 10:22:00 +0000 (11:22 +0100)]
ramips/mt7621: enable CONFIG_MTD_ROUTERBOOT_PARTS

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoath79/mikrotik: use routerbootpart partitions
Thibaut VARÈNE [Sat, 21 Mar 2020 12:07:23 +0000 (13:07 +0100)]
ath79/mikrotik: use routerbootpart partitions

Enable routerbootpart partitions on MikroTik devices.

Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agoath79/mikrotik: enable CONFIG_MTD_ROUTERBOOT_PARTS
Thibaut VARÈNE [Sat, 21 Mar 2020 11:17:49 +0000 (12:17 +0100)]
ath79/mikrotik: enable CONFIG_MTD_ROUTERBOOT_PARTS

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agogeneric: routerboot partition build bits
Thibaut VARÈNE [Tue, 24 Mar 2020 10:19:41 +0000 (11:19 +0100)]
generic: routerboot partition build bits

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agogeneric: routerbootpart MTD parser for RouterBoot
Thibaut VARÈNE [Fri, 20 Mar 2020 21:38:51 +0000 (22:38 +0100)]
generic: routerbootpart MTD parser for RouterBoot

This driver provides an OF MTD parser to properly assign the RouterBoot
partitions on the flash. This parser builds from the "fixed-partitions"
one (see ofpart.c), but it can handle dynamic partitions as found on
routerboot devices.

The parent node must contain the following:
compatible = "mikrotik,routerboot-partitions";
#address-cells = <1>;
#size-cells = <1>;

Children routerbootpart DTS nodes are defined as follows:
For fixed partitions
node-name@unit-address {
reg = <prop-encoded-array>;
label = <string>;
read-only;
lock;
};

All properties but reg are optional.

For dynamic partitions:
node-name {
size = <prop-encoded-array>;
label = <string>;
read-only;
lock;
};

size property is mandatory unless the next partition is a fixed one or
a "well-known" one (matched from the strings defined below) in which case
it can be omitted or set to 0; other properties are optional.

By default dynamic partitions are appended after the preceding one, except
for "well-known" ones which are automatically located on flash.

Well-known partitions (matched via label or node-name):
 - "hard_config"
 - "soft_config"
 - "dtb_config"

This parser requires the DTS to list partitions in ascending order as
expected on the MTD device.

This parser has been successfully tested on BE (ath79) and LE (ipq40xx
and ramips) hardware.

Tested-by: Baptiste Jonglez <git@bitsofnetworks.org>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Tested-by: Christopher Hill <ch6574@gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
4 years agokernel: add missing symbol to 5.4 config
Stijn Tintel [Fri, 8 May 2020 02:11:27 +0000 (05:11 +0300)]
kernel: add missing symbol to 5.4 config

This symbol is exposed if KERNEL_PROVE_LOCKING is enabled.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agolldpd: add management IP setting
Daniel A. Maierhofer [Wed, 26 Feb 2020 20:44:45 +0000 (21:44 +0100)]
lldpd: add management IP setting

add option to set management IP pattern

also add missing 'unconfigure system hostname'

for example pattern '!192.168.1.1' makes it possible that
WAN IP is selected instead of LAN IP

Signed-off-by: Daniel A. Maierhofer <git@damadmai.at>
[grammar and spelling fixes in commit message]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agosamba36: Remove
Rosen Penev [Sun, 1 Sep 2019 01:50:48 +0000 (18:50 -0700)]
samba36: Remove

Samba 3.6 is completely unsupported, in addition to having tons of patches

It also causes kernel panics on some platforms when sendfile is enabled.
Example:

https://github.com/gnubee-git/GnuBee_Docs/issues/45

I have reproduced on ramips as well as mvebu in the past.

Samba 4 is an alternative available in the packages repo.

cifsd is a lightweight alternative available in the packages repo. It is
also a faster alternative to both Samba versions (lower CPU usage). It
was renamed to ksmbd.

To summarize, here are the alternatives:
- ksmbd + luci-app-cifsd
- samba4 + luci-app-samba4

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[drop samba36-server from GEMINI_NAS_PACKAGES, ksmbd rename + summary]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agoopkg: update to latest Git HEAD
Jo-Philipp Wich [Thu, 7 May 2020 20:47:47 +0000 (22:47 +0200)]
opkg: update to latest Git HEAD

f2166a8 libopkg: implement lightweight package listing logic
cf4554d libopkg: support passing callbacks to feed parsing functions
2a0210f opkg-cl: don't read feeds on opkg update
b6f1967 libopkg: use xsystem() to spawn opkg-key
60b9af2 file_util.c: refactor and fix checksum_hex2bin()
206ebae file_util.c: fix possible bad memory access in file_read_line_alloc()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agolayerscape: update restool to LSDK-20.04
Yangbo Lu [Wed, 11 Mar 2020 10:51:46 +0000 (18:51 +0800)]
layerscape: update restool to LSDK-20.04

Update restool to latest LSDK-20.04.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update ls-dpl to LSDK-20.04
Yangbo Lu [Sat, 14 Mar 2020 06:37:18 +0000 (14:37 +0800)]
layerscape: update ls-dpl to LSDK-20.04

Update ls-dpl to latest LSDK-20.04.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: define only one package for ls-dpl
Yangbo Lu [Sat, 14 Mar 2020 06:32:39 +0000 (14:32 +0800)]
layerscape: define only one package for ls-dpl

We do not have to define package for each board, and
consider variant's installing.
It is easier to maintain ls-dpl with only one package
installing all 4 files as intermediate files.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update ls-mc to LSDK-20.04
Yangbo Lu [Sat, 14 Mar 2020 06:28:05 +0000 (14:28 +0800)]
layerscape: update ls-mc to LSDK-20.04

Update ls-mc to latest LSDK-20.04.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: define only one package for ls-mc
Yangbo Lu [Sat, 14 Mar 2020 06:25:33 +0000 (14:25 +0800)]
layerscape: define only one package for ls-mc

We do not have to define package for each board, and
consider variant's installing.
It is easier to maintain ls-mc with only one package
installing all two images as intermediate files.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update ppfe-firmware to LSDK-20.04
Yangbo Lu [Wed, 11 Mar 2020 10:01:29 +0000 (18:01 +0800)]
layerscape: update ppfe-firmware to LSDK-20.04

Update ppfe-firmware to latest LSDK-20.04.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update fman-ucode to LSDK-20.04
Yangbo Lu [Fri, 3 Apr 2020 03:23:33 +0000 (11:23 +0800)]
layerscape: update fman-ucode to LSDK-20.04

Just update PKG_VERSION/PKG_MIRROR_HASH since fman-ucode
of LSDK-20.04 had no changes.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: define only one package for fman-ucode
Yangbo Lu [Sat, 14 Mar 2020 06:11:12 +0000 (14:11 +0800)]
layerscape: define only one package for fman-ucode

We do not have to define package for each board, and
consider variant's installing.
It is easier to maintain fman-ucode with only one package
installing all two binaries as intermediate files.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update tfa to LSDK-20.04
Yangbo Lu [Wed, 11 Mar 2020 08:28:35 +0000 (16:28 +0800)]
layerscape: update tfa to LSDK-20.04

Update tfa package to latest LSDK-20.04 dropping one patch
which had already been integrated.

Add fixes,
- Fix DEPENDS/PKG_BUILD_DEPENDS.
- Remove HIDDEN:=1.
- Move intermediate files installing into Build/InstallDev.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update u-boot to LSDK-20.04
Yangbo Lu [Wed, 11 Mar 2020 06:55:36 +0000 (14:55 +0800)]
layerscape: update u-boot to LSDK-20.04

Update u-boot package to latest LSDK-20.04 dropping patches
which are no longer needed.
Adapt u-boot bootargs to kernel 5.4 for booting.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: update ls-rcw to latest LSDK-20.04
Yangbo Lu [Sat, 14 Mar 2020 05:07:50 +0000 (13:07 +0800)]
layerscape: update ls-rcw to latest LSDK-20.04

Update ls-rcw to latest LSDK-20.04.
Update patch 0001 with a new one.
Drop patch 0002 since it had been integrated.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: define only one package for ls-rcw
Yangbo Lu [Wed, 1 Apr 2020 08:47:41 +0000 (16:47 +0800)]
layerscape: define only one package for ls-rcw

We do not have to define package for each board, and
consider variant's building/installing.
It is easier to maintain ls-rcw with only one package
installing all boards RCW binaries as intermediate
files, each of which is just about hundreds of bytes.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: switch to kernel 5.4
Yangbo Lu [Fri, 10 Apr 2020 04:08:16 +0000 (12:08 +0800)]
layerscape: switch to kernel 5.4

Switch to kernel 5.4 in Makefile.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: disable UEFI runtime support in config-5.4
Yangbo Lu [Fri, 10 Apr 2020 06:34:44 +0000 (14:34 +0800)]
layerscape: disable UEFI runtime support in config-5.4

Disable CONFIG_EFI (UEFI runtime support) in config-5.4,
while is not required.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: re-enable IFC NAND/NOR controllers in config-5.4
Yangbo Lu [Fri, 10 Apr 2020 06:52:49 +0000 (14:52 +0800)]
layerscape: re-enable IFC NAND/NOR controllers in config-5.4

The Freescale IFC NAND/NOR controllers options were disabled
in default in previous running make kernel_oldconfig.
So re-enable them.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: refresh kernel 5.4 config
Yangbo Lu [Fri, 10 Apr 2020 03:58:57 +0000 (11:58 +0800)]
layerscape: refresh kernel 5.4 config

By running make kernel_oldconfig and selecting relevant options.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: copy kernel config from 4.14 to 5.4
Yangbo Lu [Fri, 10 Apr 2020 03:01:08 +0000 (11:01 +0800)]
layerscape: copy kernel config from 4.14 to 5.4

Just copy kernel config from 4.14 to 5.4.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agolayerscape: add patches-5.4
Yangbo Lu [Fri, 10 Apr 2020 02:47:05 +0000 (10:47 +0800)]
layerscape: add patches-5.4

Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release
which was tagged LSDK-20.04-V5.4.
https://source.codeaurora.org/external/qoriq/qoriq-components/linux/

For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in
LSDK, port the dts patches from 4.14.

The patches are sorted into the following categories:
  301-arch-xxxx
  302-dts-xxxx
  303-core-xxxx
  701-net-xxxx
  801-audio-xxxx
  802-can-xxxx
  803-clock-xxxx
  804-crypto-xxxx
  805-display-xxxx
  806-dma-xxxx
  807-gpio-xxxx
  808-i2c-xxxx
  809-jailhouse-xxxx
  810-keys-xxxx
  811-kvm-xxxx
  812-pcie-xxxx
  813-pm-xxxx
  814-qe-xxxx
  815-sata-xxxx
  816-sdhc-xxxx
  817-spi-xxxx
  818-thermal-xxxx
  819-uart-xxxx
  820-usb-xxxx
  821-vfio-xxxx

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agokernel: bump 5.4 to 5.4.39
Petr Štetiar [Thu, 7 May 2020 07:29:27 +0000 (09:29 +0200)]
kernel: bump 5.4 to 5.4.39

Refreshed patches.

Run tested: qemu-x86-64
Build tested: x86/64, imx6, sunxi/a53, layerscape/armv7+armv8_64b

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agowireguard: bump to 1.0.20200506
Jason A. Donenfeld [Wed, 6 May 2020 22:22:46 +0000 (16:22 -0600)]
wireguard: bump to 1.0.20200506

* compat: timeconst.h is a generated artifact

Before we were trying to check for timeconst.h by looking in the kernel
source directory. This isn't quite correct on configurations in which
the object directory is separate from the kernel source directory, for
example when using O="elsewhere" as a make option when building the
kernel. The correct fix is to use $(CURDIR), which should point to
where we want.

* compat: use bash instead of bc for HZ-->USEC calculation

This should make packaging somewhat easier, as bash is generally already
available (at least for dkms), whereas bc isn't provided by distros by
default in their build meta packages.

* socket: remove errant restriction on looping to self

It's already possible to create two different interfaces and loop
packets between them. This has always been possible with tunnels in the
kernel, and isn't specific to wireguard. Therefore, the networking stack
already needs to deal with that. At the very least, the packet winds up
exceeding the MTU and is discarded at that point. So, since this is
already something that happens, there's no need to forbid the not very
exceptional case of routing a packet back to the same interface; this
loop is no different than others, and we shouldn't special case it, but
rather rely on generic handling of loops in general. This also makes it
easier to do interesting things with wireguard such as onion routing.
At the same time, we add a selftest for this, ensuring that both onion
routing works and infinite routing loops do not crash the kernel. We
also add a test case for wireguard interfaces nesting packets and
sending traffic between each other, as well as the loop in this case
too. We make sure to send some throughput-heavy traffic for this use
case, to stress out any possible recursion issues with the locks around
workqueues.

* send: cond_resched() when processing tx ringbuffers

Users with pathological hardware reported CPU stalls on CONFIG_
PREEMPT_VOLUNTARY=y, because the ringbuffers would stay full, meaning
these workers would never terminate. That turned out not to be okay on
systems without forced preemption. This commit adds a cond_resched() to
the bottom of each loop iteration, so that these workers don't hog the
core. We don't do this on encryption/decryption because the compat
module here uses simd_relax, which already includes a call to schedule
in preempt_enable.

* selftests: initalize ipv6 members to NULL to squelch clang warning

This fixes a worthless warning from clang.

* send/receive: use explicit unlikely branch instead of implicit coalescing

Some code readibility cleanups.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
4 years agoppp: Fix mirror hash
Hauke Mehrtens [Wed, 6 May 2020 19:29:08 +0000 (21:29 +0200)]
ppp: Fix mirror hash

Fixes: ae06a650d680 ("ppp: update to version 2.4.8.git-2020-03-21")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agofstools: update to the latest version
Rafał Miłecki [Wed, 6 May 2020 15:49:59 +0000 (17:49 +0200)]
fstools: update to the latest version

eec16e2 blockd: add optional "device" parameter to "info" ubus method
9ab936d block(d): always call hotplug.d "mount" scripts from blockd
4963db4 blockd: use uloop_process for calling /sbin/hotplug-call mount
cddd902 Truncate FAT filesystem label until 1st occurance of a blank (0x20)

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agogeneric: ar8216: fix unknown packet flooding for ar8229/ar8236
Chuanhong Guo [Tue, 5 May 2020 09:37:02 +0000 (17:37 +0800)]
generic: ar8216: fix unknown packet flooding for ar8229/ar8236

ar8229 and ar8236 don't allow unknown unicast/multicast frames and
broadcast frames to be flooded to cpu port. This isn't desired behavior
for swconfig as we treat it as a standalone switch.
Current code doesn't enable unicast frame flooding for ar8229 and uses
wrong setup for ar8236. This commit fixes both of them by enabling port
0 flooding for all unknown frames.

Fixes: FS#2848
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agobuildsystem: add CPE information to ipkg packages and manifest files
Florian Eckert [Sun, 16 Dec 2018 20:30:20 +0000 (21:30 +0100)]
buildsystem: add CPE information to ipkg packages and manifest files

Common Platform Enumeration (CPE) is a structured naming scheme for
information technology systems, software, and packages.

This information already exists in some makefiles. In order for the
information to be processed further, it should also be added to the
manifest file and the control file of ipkg packages.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
4 years agosunxi: remove unneeded shebang for preinit files
Adrian Schmutzler [Tue, 5 May 2020 11:09:19 +0000 (13:09 +0200)]
sunxi: remove unneeded shebang for preinit files

preinit files are sourced and they have no execute bit set, so remove
their shebang.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agosunxi: tidy up cases in base-files
Adrian Schmutzler [Tue, 5 May 2020 11:06:26 +0000 (13:06 +0200)]
sunxi: tidy up cases in base-files

This removes unnecessary quotes in cases and applies alphabetic
order to members.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agofstools: update to the latest version
Rafał Miłecki [Tue, 5 May 2020 07:14:40 +0000 (09:14 +0200)]
fstools: update to the latest version

8b9e601 block: always use st_dev (device ID) of / when looking for root
37c9148 block: simplify check_extroot() a bit
d70774d block: add some basic extroot documentation
32db27d Revert "block: support hierarchical mount/umount"
0b93429 Revert "block: mount_action: handle mount/umount deps"

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 years agoodhcpd: update to latest git HEAD (FS#3056)
Hans Dedecker [Mon, 4 May 2020 19:25:47 +0000 (21:25 +0200)]
odhcpd: update to latest git HEAD (FS#3056)

5ce0770 router: fix Lan host reachibility due to identical RIO and PIO prefixes (FS#3056)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agokernel: bump 5.4 to 5.4.38
Petr Štetiar [Sun, 3 May 2020 12:44:49 +0000 (14:44 +0200)]
kernel: bump 5.4 to 5.4.38

Refreshed patches.

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

Signed-off-by: Petr Štetiar <ynezz@true.cz>