openwrt/staging/blogic.git
5 years agobrcm2708-gpu-fw: update to latest firmware
Álvaro Fernández Rojas [Thu, 19 Sep 2019 15:37:43 +0000 (17:37 +0200)]
brcm2708-gpu-fw: update to latest firmware

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agokernel: 4.19: fix crash when setting up spi-gpio
DENG Qingfang [Thu, 19 Sep 2019 09:44:48 +0000 (11:44 +0200)]
kernel: 4.19: fix crash when setting up spi-gpio

If an spi-gpio was specified with num-chipselects = <0> in dts, kernel
will crash:

 Unable to handle kernel paging request at virtual address 32697073
 pgd = (ptrval)
 [32697073] *pgd=00000000
 Internal error: Oops: 5 [# 1] SMP ARM
 Modules linked in:
 CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.19.72 #0
 Hardware name: Generic DT based system
 PC is at validate_desc+0x28/0x80
 LR is at gpiod_direction_output+0x14/0x128
 ...
 [<c0544db4>] (validate_desc) from [<c0545228>] (gpiod_direction_output+0x14/0x128)
 [<c0545228>] (gpiod_direction_output) from [<c05fa714>] (spi_gpio_setup+0x58/0x64)
 [<c05fa714>] (spi_gpio_setup) from [<c05f7258>] (spi_setup+0x12c/0x148)
 [<c05f7258>] (spi_setup) from [<c05f7330>] (spi_add_device+0xbc/0x12c)
 [<c05f7330>] (spi_add_device) from [<c05f7f74>] (spi_register_controller+0x838/0x924)
 [<c05f7f74>] (spi_register_controller) from [<c05fa494>] (spi_bitbang_start+0x108/0x120)
 [<c05fa494>] (spi_bitbang_start) from [<c05faa34>] (spi_gpio_probe+0x314/0x338)
 [<c05faa34>] (spi_gpio_probe) from [<c05a844c>] (platform_drv_probe+0x34/0x70)

The cause is spi_gpio_setup() did not check if the spi-gpio has
chipselect pins before setting their direction and results in derefing
an invalid pointer.

The bug is spotted in kernel 4.19.72 and does not occur in 4.14.

There is a similar fix upstream in kernel 5.2 in commit 249e2632dcd0
("spi: gpio: Don't request CS GPIO in DT use-case").

Ref: https://patchwork.kernel.org/patch/11150619/
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[use upstream patch, moved from hack to pending dir, commit facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoprocd: fix invalid JSON filter expression in procd_running()
Jo-Philipp Wich [Thu, 19 Sep 2019 05:16:49 +0000 (07:16 +0200)]
procd: fix invalid JSON filter expression in procd_running()

Since service and instance names may contain characters which are not allowed
in JSON path labels, such as dashes or spaces, change the filter expression
to array square bracket notation to properly match these cases as well.

Fixes: 2c3dd70741 ("procd: add procd_running() helper for checking running state")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agofirewall: update to latest Git HEAD
Jo-Philipp Wich [Wed, 18 Sep 2019 08:51:24 +0000 (10:51 +0200)]
firewall: update to latest Git HEAD

383eb58 ubus: do not overwrite ipset name attribute

Ref: https://forum.openwrt.org/t/fw3-ipset-procd-objects/44044
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoprocd: update to the latest git HEAD
Rafał Miłecki [Wed, 18 Sep 2019 05:33:01 +0000 (07:33 +0200)]
procd: update to the latest git HEAD

62dc8c0 system: sysupgrade: send reply on error
2710c65 system: refuse sysupgrade with backup if it's unsupported

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoglibc: update to latest 2.27 commit (BZ#23637)
Hans Dedecker [Tue, 17 Sep 2019 20:11:26 +0000 (22:11 +0200)]
glibc: update to latest 2.27 commit (BZ#23637)

5b4f7382af Add undef to fix test failure.
9456483fb2 Improve performance of memmem
373f8b06a3 Improve performance of strstr
4ec1b9e913 Fix strstr bug with huge needles (bug 23637)
ecd6271ed8 Speedup first memmem match
bba6b9288f Simplify and speedup strstr/strcasestr first match
7a4da6ef7a Improve strstr performance

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: add support for TP-Link Archer C59v2
Keith Maika [Mon, 16 Sep 2019 16:45:02 +0000 (12:45 -0400)]
ath79: add support for TP-Link Archer C59v2

Add ath79 support for Archer C59v2, previously supported by ar71xx.

TP-Link Archer C59v2 is a dual-band AC1350 router based on
Qualcomm/Atheros QCA9561+QCA9886 chips.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- USB 2.0 port
- UART header on PCB

Flash instruction:
  - via web UI:
    1. Download openwrt-ath79-generic-tplink_archer-c59-v2-squashfs-factory.bin
    2. Login to router and open the Advanced tab
    3. Navigate to System Tools -> Firmware Upgrade
    4. Upload firmware using the Manual Upgrade form
  - via TFTP:
    1. Set PC to fixed ip address 192.168.0.66
    2. Download openwrt-ath79-generic-tplink_archer-c59-v2-squashfs-factory.bin
       and rename it to tp_recovery.bin
    3. Start a tftp server with the file tp_recovery.bin in its root directory
    4. Turn off the router
    5. Press and hold Reset button
    6. Turn on router with the reset button pressed and wait ~15 seconds
    7. Release the reset button and after a short time
       the firmware should be transferred from the tftp server
    8. Wait ~30 second to complete recovery.

Signed-off-by: Keith Maika <keithm@aoeex.com>
5 years agoath79: move common definitions from Archer C58/C59 to common DTSI
Adrian Schmutzler [Sun, 1 Sep 2019 08:59:31 +0000 (10:59 +0200)]
ath79: move common definitions from Archer C58/C59 to common DTSI

The Archer C58/C59 have redundant LED and MAC address definitions
in their DTS files. This moves them to the parent DTSI file.

The patch already accounts for the upcoming Archer C59 v2.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agobrcm47xx: sysupgrade: support Luxul firmware format
Dan Haab [Mon, 16 Sep 2019 15:18:37 +0000 (09:18 -0600)]
brcm47xx: sysupgrade: support Luxul firmware format

Allow flashing Luxul devices using vendor firmware format.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
5 years agobcm53xx: sysupgrade: support Luxul firmware format
Dan Haab [Thu, 12 Sep 2019 17:14:19 +0000 (11:14 -0600)]
bcm53xx: sysupgrade: support Luxul firmware format

Allow flashing Luxul devices using vendor firmware format. The next step
will be building proper images once they are conirmed to work.

Signed-off-by: Dan Haab <dan.haab@legrand.com>
5 years agodownload.dl: fix @KERNEL mirror urls
Yousong Zhou [Mon, 16 Sep 2019 08:02:16 +0000 (08:02 +0000)]
download.dl: fix @KERNEL mirror urls

 - Prepend "/pub" for mirror.rackspace.com
 - Use https for download.xs4all.nl and mirrors.mit.edu

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agomac80211: brcmfmac: backport the last 5.4 changes
Rafał Miłecki [Mon, 16 Sep 2019 06:04:27 +0000 (08:04 +0200)]
mac80211: brcmfmac: backport the last 5.4 changes

This makes brcmfmac use the same wiphy after PCIe reset to help user
space handle corner cases (e.g. firmware crash).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoar71xx: fix typo in platform_do_upgrade_compex()
Rafał Miłecki [Mon, 16 Sep 2019 04:59:09 +0000 (06:59 +0200)]
ar71xx: fix typo in platform_do_upgrade_compex()

Fixes: 641f6b6c26cb ("treewide: use new procd sysupgrade $UPGRADE_BACKUP variable")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agomediatek: enable mtk_efuse by default
Lorenzo Bianconi [Fri, 6 Sep 2019 11:14:39 +0000 (13:14 +0200)]
mediatek: enable mtk_efuse by default

Enable by default mtk_efuse driver since it needed by mtk_thermal driver
to read sensor calibration data

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
5 years agoath79: eg200: enable status led usage
Karl Palsson [Thu, 5 Sep 2019 09:36:53 +0000 (09:36 +0000)]
ath79: eg200: enable status led usage

This enables using the "eTactica" LED during boot, to indicate failsafe,
and during upgrade, while still leaving the LED alone for normal
operation.  This brings the device more in line with how other devices
work, and makes the failsafe functionality easier to use and understand.

Signed-off-by: Karl Palsson <karlp@etactica.com>
5 years agofirewall: update to latest git HEAD
Petr Štetiar [Sun, 15 Sep 2019 19:19:00 +0000 (21:19 +0200)]
firewall: update to latest git HEAD

c26f8907d1d2 firewall3: fix typo that affects ICMPv6 rules with numeric icmp_type

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath10k-ct: update to version 2019-09-09
Robert Marko [Fri, 13 Sep 2019 10:15:39 +0000 (12:15 +0200)]
ath10k-ct: update to version 2019-09-09

Update the ath10k-ct driver version to 5e8cd86f90dac966d12df6ece84ac41458d0e95f
to enable dynamic VLANs to work. Patches refreshed during the bump.

Signed-off-by: Robert Marko <robimarko@gmail.com>
[commit description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath10k-firmware: update Candela Tech firmware images
Robert Marko [Fri, 13 Sep 2019 10:15:37 +0000 (12:15 +0200)]
ath10k-firmware: update Candela Tech firmware images

This enables a feature flag in the wave-2 firmware wmi-services indicating it can send
software-encrypted raw frames.  This should in turn allow the AP-VLAN feature to work.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoscons: move to packages feed
Petr Štetiar [Sat, 27 Jul 2019 22:33:32 +0000 (00:33 +0200)]
scons: move to packages feed

This patch removes scons host build tool, as commit 7087efd72a8d
("scons: move host build tool to a proper place") in the packages feed
has moved scons into the new home.

There are currently no packages in the master tree which would need
scons, yet scons is build always as part of host tools, just in order to
satisfy host build dependency of few packages in the packages feeds.

Ref: https://github.com/openwrt/packages/pull/9584
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agonetifd,lldpd,rpcd,log: use generic service_running
Petr Štetiar [Tue, 23 Jul 2019 10:16:03 +0000 (12:16 +0200)]
netifd,lldpd,rpcd,log: use generic service_running

commit eb204d14f75c ("base-files: implement generic service_running")
introduced generic service_running so it's not needed to copy&paste same
3 lines over and over again.

I've removed service_running from netifd/network init script as well,
because it was not working properly, looked quite strange and I didn't
understand the intention:

 $ /etc/init.d/network stop
 $ service network running && echo "yes" || echo "nope"
     ( have to wait for 30s )
 Command failed: Request timed out
 yes

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agobase-files,procd: add generic service status
Luiz Angelo Daros de Luca [Wed, 12 Sep 2018 01:35:09 +0000 (22:35 -0300)]
base-files,procd: add generic service status

Adds a default status action for init.d scripts.

procd "service status" will return:

 0) for loaded services (even if disabled by conf or dead)
 3) for inactive services
 4) when filtering a non-existing instance

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
[rebased, cleaned up]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agobase-files: implement generic service_running
Petr Štetiar [Tue, 23 Jul 2019 10:06:29 +0000 (12:06 +0200)]
base-files: implement generic service_running

DRY is good, otherwise we're going to suffer with a copy&paste disease
in the init scripts.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Sun, 15 Sep 2019 18:40:16 +0000 (20:40 +0200)]
odhcpd: update to latest git HEAD

1d24009 netlink: rename netlink callback handlers
91a28e4 ndp: answer global-addressed NS manually
fd93e36 dhcpv6: retry failed PD assignments on addrlist change

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoramips: add SD-Card support for Linkit Smart 7688
Ivan Hörler [Sat, 14 Sep 2019 15:25:04 +0000 (17:25 +0200)]
ramips: add SD-Card support for Linkit Smart 7688

The Linkit Smart 7688 has a SD-Card reader that does not work with the official build of openwrt. Adding kmod-sdhci-mt7620 makes it working.

Signed-off-by: Ivan Hörler <i.hoerler@me.com>
5 years agoramips: only add spidev node in for WrtNode2R (and not for 2P)
Daniel Golle [Sun, 15 Sep 2019 18:14:26 +0000 (20:14 +0200)]
ramips: only add spidev node in for WrtNode2R (and not for 2P)

Only the 2R version got the STM32 uC connected as 2nd SPI device.
Hence move the spidev node from mt7628an_wrtnode_wrtnode2.dtsi to
mt7628an_wrtnode_wrtnode2r.dts.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoscripts/feeds: fix accepting "-" in feed type string
Felix Fietkau [Sun, 15 Sep 2019 17:53:17 +0000 (19:53 +0200)]
scripts/feeds: fix accepting "-" in feed type string

Fixes a syntax error in processing the type src-git-full

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoapm821xx: image: remove unused kernel.dtb from IMAGES
Yousong Zhou [Tue, 10 Sep 2019 13:10:08 +0000 (13:10 +0000)]
apm821xx: image: remove unused kernel.dtb from IMAGES

It's a leftover from 2271967f ("apm821xx: utilize build ARTIFACTs")

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Acked-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoimx6: install-dtb as separate IMAGE
Yousong Zhou [Thu, 12 Sep 2019 07:37:05 +0000 (07:37 +0000)]
imx6: install-dtb as separate IMAGE

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agobuild: install-dtb: fix race condition when copying dtb
Yousong Zhou [Tue, 10 Sep 2019 13:40:43 +0000 (13:40 +0000)]
build: install-dtb: fix race condition when copying dtb

Currently for at91 target, Build/install-dtb can be triggered concurrently for
multiple different TARGET_FILESYSTEMS, cp command can fail when the
target file is already open exclusively by other cp process

[ -f /builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/at91sam9263ek-uImage -a -f /builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/root.ubifs+fs=-m_2048_-e_126KiB_-c_2048+pkg=68b329da ]
[ -f /builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/at91sam9263ek-uImage -a -f /builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/root.ext4+pkg=68b329da ]
cp -fpR /builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/linux-4.14.141/arch/arm/boot/dts/at91sam9263ek.dtb /builder/shared-workdir/build/bin/targets/at91/sam9x/openwrt-at91-sam9x-at91sam9263ek.dtb;
cp -fpR /builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/linux-4.14.141/arch/arm/boot/dts/at91sam9263ek.dtb /builder/shared-workdir/build/bin/targets/at91/sam9x/openwrt-at91-sam9x-at91sam9263ek.dtb;
cp: cannot create regular file '/builder/shared-workdir/build/bin/targets/at91/sam9x/openwrt-at91-sam9x-at91sam9263ek.dtb': File exists
Makefile:87: recipe for target '/builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/tmp/openwrt-at91-sam9x-at91sam9263ek-ubifs-dtb' failed
make[4]: *** [/builder/shared-workdir/build/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_sam9x/tmp/openwrt-at91-sam9x-at91sam9263ek-ubifs-dtb] Error 1

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agoar71xx: make IRQ fixes target specific
Koen Vandeputte [Sat, 14 Sep 2019 14:21:57 +0000 (16:21 +0200)]
ar71xx: make IRQ fixes target specific

Move the IRQ fix from generic to ar71xx specific.
Other targets like ath79 have specific pathes to delete this code.
This resulted in a build failure on ath79

While at it, wipe the 4.19 version, as ar71xx will never reach this.

Fixes: 530f76708cef ("ar71xx: Fix potentially missed IRQ handling during
dispatch")

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agobrcm63xx: remove redundant variable definition in Makefile
Adrian Schmutzler [Wed, 11 Sep 2019 18:56:48 +0000 (20:56 +0200)]
brcm63xx: remove redundant variable definition in Makefile

For devices inheriting from bcm63xx_netgear, the IMAGES variable
is overwritten with the same values as defined in the parent
definition. So, remove the unnecessary overwrite.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoimages: fix boot failures on NAND with small sub pages
Jonas Gorski [Tue, 3 Sep 2019 12:16:12 +0000 (14:16 +0200)]
images: fix boot failures on NAND with small sub pages

SquashFS has a minimum block size of at least 1k, so we need to make
sure the last data block is also at least that big.

This is not an issue on NOR or SD CARD devices, since their rootfs
partitions go all the way to the end of the usable space.

But on NAND with ubiblock, the rootfs partition will be the exact space,
rounded up to LEB size. Unfortunately, some NAND chips with small sub
pages have a LEB size of x.5 kiB. This can cause the the last data block
to be less than 1k, which will cause the last block to be inaccessible,
causing boot failures as seen on MR24:

[    1.532960] block ubiblock0_3: created from ubi0:3(rootfs)
[    1.538457] ubiblock: device ubiblock0_3 (rootfs) set to be root filesystem
[    1.552847] SQUASHFS error: squashfs_read_data failed to read block 0x621472
[    1.559896] squashfs: SQUASHFS error: unable to read id index table
[    1.566474] VFS: Cannot open root device "(null)" or unknown-block(254,0): error -5

Since on most NOR devices, the start of the squashfs partition is not
aligned. Since the start of the rootfs_data partition there is dependend
on the SquashFS size, we cannot just always pad it, as the padding could
creep into the rootfs_data partition, breaking jffs2.

So fix this by ensuring a squashfs rootfs is always a multiple of 1k
only for UBI and NAND sysupgrade images.

Fixes #2460 without affecting NOR devices.

Tested-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agoar71xx: fix potential IRQ misses during dispatch for qca953x
Koen Vandeputte [Wed, 11 Sep 2019 10:47:27 +0000 (12:47 +0200)]
ar71xx: fix potential IRQ misses during dispatch for qca953x

If both interrupts are set in the current implementation
only the 1st will be handled and the 2nd will be skipped
due to the "if else" condition.

Fix this by using the same approach as done for QCA955x
just below it.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoar71xx: Fix potentially missed IRQ handling during dispatch
Koen Vandeputte [Wed, 11 Sep 2019 10:22:42 +0000 (12:22 +0200)]
ar71xx: Fix potentially missed IRQ handling during dispatch

If both interrupts are set in the current implementation
only the 1st will be handled and the 2nd will be skipped
due to the "if else" condition.

Fix this by using the same approach as done for QCA955x
just below it.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.19 to 4.19.72
Koen Vandeputte [Wed, 11 Sep 2019 09:35:24 +0000 (11:35 +0200)]
kernel: bump 4.19 to 4.19.72

Refreshed all patches.

Remove upstreamed:
- 390-v5.3-net-sched-fix-action-ipt-crash.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.143
Koen Vandeputte [Wed, 11 Sep 2019 09:34:00 +0000 (11:34 +0200)]
kernel: bump 4.14 to 4.14.143

Refreshed all patches.

Remove upstreamed:
- 390-v5.3-net-sched-fix-action-ipt-crash.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.192
Koen Vandeputte [Wed, 11 Sep 2019 09:19:39 +0000 (11:19 +0200)]
kernel: bump 4.9 to 4.9.192

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoodhcpd: fix update to git HEAD
Hans Dedecker [Thu, 12 Sep 2019 20:31:01 +0000 (22:31 +0200)]
odhcpd: fix update to git HEAD

Fixes commit 7ff5b12e90

e73bf11 config: ra_management compatibility support
d818380 odhcpd: router: Fix out of scope memory access
94a1c94 dhcpv6-ia: free assignment when validity timer expires
752fc2c router: speed up initial router advertisements
09aa022 router: close socket upon NETEV_IFINDEX_CHANGE fixed
79eb160 router: fix previous commit
6034b5c router: close socket upon NETEV_IFINDEX_CHANGE
000182f router: fix lingering uloop socket descriptor
f6c2242 router: support ra_lifetime being 0

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoumbim: update to latest git HEAD
Ingo Feinerer [Wed, 11 Sep 2019 11:14:05 +0000 (13:14 +0200)]
umbim: update to latest git HEAD

184b707 umbim: add home provider query support

Signed-off-by: Ingo Feinerer <feinerer@logic.at>
5 years agoodhcpd: update to latest git HEAD (FS#2019)
Hans Dedecker [Sat, 29 Jun 2019 19:07:12 +0000 (21:07 +0200)]
odhcpd: update to latest git HEAD (FS#2019)

e73bf11 config: ra_management compatibility support
d818380 odhcpd: router: Fix out of scope memory access
94a1c94 dhcpv6-ia: free assignment when validity timer expires
752fc2c router: speed up initial router advertisements
09aa022 router: close socket upon NETEV_IFINDEX_CHANGE fixed
79eb160 router: fix previous commit
6034b5c router: close socket upon NETEV_IFINDEX_CHANGE
000182f router: fix lingering uloop socket descriptor
f6c2242 router: support ra_lifetime being 0
d111809 router: make RA flags configurable (FS#2019)

Update odhcpd defaults according to the new RA flags implementation

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomt76: probe load mt7615 driver asynchronously
Felix Fietkau [Thu, 12 Sep 2019 15:15:40 +0000 (17:15 +0200)]
mt76: probe load mt7615 driver asynchronously

It can take a long time to load the firmware

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoath79: fix UniFi AC LED mapping
David Bauer [Fri, 6 Sep 2019 22:43:19 +0000 (00:43 +0200)]
ath79: fix UniFi AC LED mapping

The UniFi AC LED mapping is currently off. The blue/white LED are used
as WiFi indicators, while the vendor firmware does not feature WiFI
LEDs.

Instead, the LEDs are used to indicate the devices status. Align the LED
mapping to match the vendor firmware as good as possible.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoiwinfo: update to latest Git HEAD
David Bauer [Sun, 8 Sep 2019 13:48:43 +0000 (15:48 +0200)]
iwinfo: update to latest Git HEAD

a88fb42 iwinfo: add device id for Qualcomm Atheros QCA9886
1b69d86 iwinfo: add device id for Qualcomm Atheros QCA9887

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoconfig: kernel: only enable container features if !SMALL_FLASH
Daniel Golle [Thu, 12 Sep 2019 11:17:24 +0000 (13:17 +0200)]
config: kernel: only enable container features if !SMALL_FLASH

KERNEL_DEVPTS_MULTIPLE_INSTANCES and KERNEL_POSIX_MQUEUE were
previously enabled by default only if KERNEL_LXC_MISC was selected.
KERNEL_LXC_MISC was enabled only if the SMALL_FLASH (anti-)feature
was not selected.
Now that KERNEL_LXC_MISC no longer exists, make sure that those
options are also only enabled by default for !SMALL_FLASH targets.

Fixes: 4f94a331 ("config: kernel: remove KERNEL_LXC_MISC")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoconfig: kernel: remove KERNEL_LXC_MISC
Yousong Zhou [Tue, 27 Aug 2019 06:35:10 +0000 (06:35 +0000)]
config: kernel: remove KERNEL_LXC_MISC

Kernel features are neutral.  The two cascaded features can also be
useful for other container related tools

It's also less error-prone if only kconfig symbols from the kernel are
prefixed KERNEL_

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agoconfig: kernel: add KERNEL_X86_VSYSCALL_EMULATION
Yousong Zhou [Tue, 27 Aug 2019 03:52:56 +0000 (03:52 +0000)]
config: kernel: add KERNEL_X86_VSYSCALL_EMULATION

Binaries in container images may need this.  E.g. nginx:1.7.9 used in
k8s default deployment manifest file for demostration [1]

 [1] https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#creating-a-deployment

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agoRevert "ar71xx: use platform code for qca955x usb0 init"
Koen Vandeputte [Wed, 11 Sep 2019 21:40:42 +0000 (23:40 +0200)]
Revert "ar71xx: use platform code for qca955x usb0 init"

This reverts commit 5b98061bb1ac7e3affadda7b55c6f4ed4eb8268e.

As Piotr Dymacz pointed out:

In QCA MIPS based WiSOCs, for first USB interface,
device/host mode can be selected _only_ in hardware
see description of 57c641ba6e

QCA955x and QCA9563, second USB can be switched to device
mode in software (tested and confirmed on real hardware).

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoimx6: split up DEVICE_TITLE
Moritz Warning [Mon, 9 Sep 2019 22:03:07 +0000 (00:03 +0200)]
imx6: split up DEVICE_TITLE

DEVICE_TITLE is split up into DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT

Signed-off-by: Moritz Warning <moritzwarning@web.de>
5 years agosamsung: split up DEVICE_TITLE
Moritz Warning [Mon, 9 Sep 2019 22:15:49 +0000 (00:15 +0200)]
samsung: split up DEVICE_TITLE

DEVICE_TITLE is split up into DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT

Signed-off-by: Moritz Warning <moritzwarning@web.de>
5 years agoar71xx: qca955x pci init/reset fixes
Tomislav Požega [Tue, 3 Sep 2019 22:48:37 +0000 (00:48 +0200)]
ar71xx: qca955x pci init/reset fixes

Current ar724x code does the reset only on single pci bus, and
in case of qca9558 writes the wrong register (0x10 vs 0x0c).
This change allows the reset of second pci bus, commonly used in
Archer C7 devices, in case host controller is stuck in reset.
If the resetting controller on boot can solve any other issue it
can be enabled unconditionally by removing reset check before
ar724x_pci_hw_init is called.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
[refreshed to apply cleanly]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoar71xx: enable ddr wb flush on qca955x
Tomislav Požega [Tue, 3 Sep 2019 15:10:31 +0000 (17:10 +0200)]
ar71xx: enable ddr wb flush on qca955x

Enable flushing of write buffers on qca955x. GPL code has 0x88 reg
defined for PCI flush which is likely an error since the device
freezes on boot. So use DS default value 0xA8 for PCI flush.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
5 years agoar71xx: use platform code for qca955x usb0 init
Tomislav Požega [Tue, 3 Sep 2019 15:04:17 +0000 (17:04 +0200)]
ar71xx: use platform code for qca955x usb0 init

Switch from ci_usb_setup to generic platform initialization of
usb0 port.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
5 years agokernel: bump 4.19 to 4.19.71
Koen Vandeputte [Mon, 9 Sep 2019 11:24:41 +0000 (13:24 +0200)]
kernel: bump 4.19 to 4.19.71

Refreshed all patches.

Remove upstreamed:
- 950-0774-watchdog-bcm2835_wdt-Fix-module-autoload.patch
- 0017-usb-host-fotg2-restart-hcd-after-port-reset.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.142
Koen Vandeputte [Mon, 9 Sep 2019 11:24:19 +0000 (13:24 +0200)]
kernel: bump 4.14 to 4.14.142

Refreshed all patches.

Remove upstreamed:
- 0032-usb-host-fotg2-restart-hcd-after-port-reset.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.191
Koen Vandeputte [Mon, 9 Sep 2019 11:21:20 +0000 (13:21 +0200)]
kernel: bump 4.9 to 4.9.191

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agotreewide: sysupgrade: use $UPGRADE_BACKUP to check for backup
Rafał Miłecki [Fri, 6 Sep 2019 05:10:54 +0000 (07:10 +0200)]
treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup

Now that $UPGRADE_BACKUP is set conditionally there is no need to check
the $UPGRADE_OPT_SAVE_CONFIG anymore. All conditions can be simplified.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoprocd: update to the latest git HEAD
Rafał Miłecki [Wed, 11 Sep 2019 07:03:36 +0000 (09:03 +0200)]
procd: update to the latest git HEAD

b8238df sysupgrade: support "backup" attribute

This update requires "sysupgrade" method callers to pass "backup"
attribute if $UPGRADE_BACKUP is used in the project.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobase-files: sysupgrade: pass "backup" ubus attribute
Rafał Miłecki [Fri, 6 Sep 2019 05:10:52 +0000 (07:10 +0200)]
base-files: sysupgrade: pass "backup" ubus attribute

This explicitly tells procd what backup file should be used during
sysupgrade (if any). It's much more generic this way compared to the
magic /tmp/sysupgrade.tgz file that had to be created before a call.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agogemini: image: fix race condition when building copy-kernel.bin
Yousong Zhou [Tue, 10 Sep 2019 02:19:05 +0000 (02:19 +0000)]
gemini: image: fix race condition when building copy-kernel.bin

Make treat copy-kernel.o as intermediate and delete it when it's no
longer needed.  This can fail when the same submake was triggered
multiple times for different devices.

arm-openwrt-linux-muslgnueabi-as  -k -o copy-kernel.o copy-kernel.S
export MAKEFLAGS= ;make -w -C copy-kernel CROSS_COMPILE=arm-openwrt-linux-muslgnueabi-
arm-openwrt-linux-muslgnueabi-objcopy -O binary -S copy-kernel.o copy-kernel.bin
make[5]: Entering directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel'
arm-openwrt-linux-muslgnueabi-objcopy -O binary -S copy-kernel.o copy-kernel.bin
rm copy-kernel.o
make[5]: Leaving directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel'
# "App" partition is the rootfs
arm-openwrt-linux-muslgnueabi-objcopy: 'copy-kernel.o': No such file
Makefile:27: recipe for target 'copy-kernel.bin' failed
make[5]: Leaving directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel'
make[5]: *** [copy-kernel.bin] Error 1
Makefile:244: recipe for target '/builder/shared-workdir/build/build_dir/target-arm_fa526_musl_eabi/linux-gemini/tmp/openwrt-gemini-storlink_sl93512r-ext4-factory.bin' failed
make[4]: *** [/builder/shared-workdir/build/build_dir/target-arm_fa526_musl_eabi/linux-gemini/tmp/openwrt-gemini-storlink_sl93512r-ext4-factory.bin] Error 2

With this change, output files are directed to $(KDIR)

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
5 years agohostapd: SAE/EAP-pwd side-channel attack update
Hauke Mehrtens [Sun, 8 Sep 2019 21:53:18 +0000 (23:53 +0200)]
hostapd: SAE/EAP-pwd side-channel attack update

Fixes this security problem:
* SAE/EAP-pwd side-channel attack update
https://w1.fi/security/2019-6/sae-eap-pwd-side-channel-attack-update.txt

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agohostapd: Fix security problem
Hauke Mehrtens [Sun, 8 Sep 2019 21:27:04 +0000 (23:27 +0200)]
hostapd: Fix security problem

This fixes:
CVE-2019-11555 "EAP-pwd message reassembly issue with unexpected fragment"
https://w1.fi/security/2019-5/eap-pwd-message-reassembly-issue-with-unexpected-fragment.txt

This shouöld not affect OpenWrt in the default settings as we do not use
EAP-pwd.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoramips: enable external amplifier for D-Link DIR-810L
Roger Pueyo Centelles [Wed, 4 Sep 2019 09:29:12 +0000 (11:29 +0200)]
ramips: enable external amplifier for D-Link DIR-810L

The 2.4 GHz radio had very poor signal reception (-89 dBm for an AP
sitting 5 m away). By enabling the external amplifier, received signal
has improved to -50 dBm for the same AP.

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
5 years agorpcd: update to latest Git HEAD
Jo-Philipp Wich [Tue, 10 Sep 2019 13:25:12 +0000 (15:25 +0200)]
rpcd: update to latest Git HEAD

e2a7bc4 iwinfo: add WPA3 support

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agomac80211: brcmfmac: backport more kernel 5.4 changes
Rafał Miłecki [Mon, 9 Sep 2019 07:37:53 +0000 (09:37 +0200)]
mac80211: brcmfmac: backport more kernel 5.4 changes

Patch getting RAM info got upstreamed. A debugging fs entry for testing
reset feature was added.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoglibc: update to latest 2.27 commit (BZ #24228, BZ #24744, BZ #24699)
Hans Dedecker [Sun, 8 Sep 2019 19:13:59 +0000 (21:13 +0200)]
glibc: update to latest 2.27 commit (BZ #24228, BZ #24744, BZ #24699)

5f0d2e0491 [AArch64] Add ifunc support for Ares
e6b7252040 aarch64,falkor: Use vector registers for memcpy
c74b884f70 aarch64,falkor: Ignore prefetcher tagging for smaller copies
0fc5934ebd aarch64/strncmp: Use lsr instead of mov+lsr
e0a0bd3acc aarch64/strncmp: Unbreak builds with old binutils
638caf3000 aarch64: Improve strncmp for mutually misaligned inputs
d5f45a29ff aarch64/strcmp: fix misaligned loop jump target
7f690fafad aarch64: Improve strcmp unaligned performance
40df047b3b aarch64: Fix branch target to loop16
062139f233 aarch64: Optimized memcmp for medium to large sizes
f3e2add213 aarch64: Use the L() macro for labels in memcmp
22bd3ab40e posix: Fix large mmap64 offset for mips64n32 (BZ#24699)
bdd16894aa aarch64: handle STO_AARCH64_VARIANT_PCS
0b48caab9a aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
949da7f2fd io: Remove copy_file_range emulation [BZ #24744]
f056ac8363 libio: do not attempt to free wide buffers of legacy streams [BZ #24228]
5f90e009b1 NEWS: add entries for bugs 22964, 24180, and 24531

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agorpcd: update to latest Git HEAD
Jo-Philipp Wich [Sun, 8 Sep 2019 16:48:15 +0000 (18:48 +0200)]
rpcd: update to latest Git HEAD

69eeb1b file: refactor message parsing and permission checking
f65527a iwinfo: expose all rate info fields in assoclist reply
7fec636 sys: fix symbol redeclaration
27c24c7 rpcd: sys: actually move timespec declaration
345363b file: add remove operation
604db20 rpcd: Switch to nanosleep

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agofirewall: update to latest git HEAD
Hauke Mehrtens [Sun, 8 Sep 2019 16:37:59 +0000 (18:37 +0200)]
firewall: update to latest git HEAD

487bd0d utils: Fix string format message

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agobase-files: validate firmware for compatibility with backup
Rafał Miłecki [Thu, 5 Sep 2019 11:08:13 +0000 (13:08 +0200)]
base-files: validate firmware for compatibility with backup

This allows platform code to check if firmware image can be used with
preserving a backup. It may be used e.g. when installing vendor
firmwares that won't restore appended backup archive.

Suggested-by: Luis Araneda <luaraneda@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agofirewal: update to latest git HEAD
Hans Dedecker [Sat, 7 Sep 2019 11:17:55 +0000 (13:17 +0200)]
firewal: update to latest git HEAD

4d0c703 firewall3: Fix some format string problems
8c404ef iptables.c: lock the xtables.lock
c1d3a4d utils: implement fw3_lock_path() & fw3_unlock_path()

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoramips: fix MAC address setup for Newifi Y1 and Y1S
Adrian Schmutzler [Fri, 16 Aug 2019 13:39:43 +0000 (15:39 +0200)]
ramips: fix MAC address setup for Newifi Y1 and Y1S

So far, MAC address setup for those devices has been using local
addresses although additional MAC addresses are available on flash.

On device, we found the following situation:
position   Y1     Y1S
0x4        *:d4   *:e4
0x8004     *:d6   *:e8
0x28       *:d4   *:e4
0x2e       *:d7   *:eb

Since 0x4 and 0x28 yield the same address, the former was set for
&ethernet in DTS. However, the typical location on this
architecture is 0x28, so this patch changes that.

For further setup in 02_network, the local bit for lan_mac is
removed, so the address from &ethernet is used at all. For wan_mac,
instead of calculating an address with local bit set, this patch
exploits the previously unused address in 0x2e.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: initialize MAC addresses from flash where possible
Adrian Schmutzler [Fri, 16 Aug 2019 10:59:09 +0000 (12:59 +0200)]
ramips: initialize MAC addresses from flash where possible

This patch changes wan MAC address setup from retrieving it by
calculation to reading it from flash.

Changes are limited to cases where on-device check was possible.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[fix mac for newifi-d1; drop adslr,g7 because it's unlikely for
vendor to specifically use 2.4g mac as wan_mac]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoramips: fix duplicate network setup for dlink,dir-615-h1
Adrian Schmutzler [Mon, 12 Aug 2019 11:35:39 +0000 (13:35 +0200)]
ramips: fix duplicate network setup for dlink,dir-615-h1

In 555ca422d1cb ("ramips: fix D-Link DIR-615 H1 switch port
mapping"), port setup for dir-615-h1 was changed without removing
the old one. This was working as the new one was triggered earlier
than the old one.

(In the meantine, changed sorting during ramips rename patches
actually inversed that order.)

Anyway, just remove the wrong case now.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: remove duplicate case for MAC setup of freestation5
Adrian Schmutzler [Mon, 12 Aug 2019 11:31:23 +0000 (13:31 +0200)]
ramips: remove duplicate case for MAC setup of freestation5

ARC FreeStation5 is present twice in MAC address setup.

From older commits/changes, it is not possible to reconstruct
the correct choice only by reading the annotations.

Thus, remove the second case and keep the first one, so behavior
stays the same (as nobody seems to have complained about it).

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: clean and improve MAC address setup in 02_network
Adrian Schmutzler [Mon, 12 Aug 2019 11:21:05 +0000 (13:21 +0200)]
ramips: clean and improve MAC address setup in 02_network

This patch removes unnecessary MAC address setup statements in
ramips' 02_network by doing several optimizations:

1. For the following devices, lan_mac was set up with
   mtd_get_mac_binary although the same address was set in DTS.
   The lan_mac statement is removed in 02_network, but
   wan_mac is kept:
   - mercury,mac1200r-v2
   - phicomm,k2g
   - skylab,skw92a
   - wiznet,wizfi630a

2. For the following devices, wan_mac was set up with
   mtd_get_mac_binary although the same address was set in DTS.
   The wan_mac statement is removed in 02_network, no
   lan_mac is present:
   - buffalo,whr-g300n
   - glinet,gl-mt300n-v2
   - zyxel,keenetic-start

3. For the following device, lan_mac and wan_mac were set up
   with mtd_get_mac_binary to the same address as set in DTS.
   Both statements are removed in 02_network:
   - buffalo,whr-600d

4. For some devices, it was possible to move setup from 02_network
   to DTS by introducing previously missing mtd_mac_address:
   - buffalo,whr-1166d
   - buffalo,whr-300hp2
   - buffalo,wsr-600dhp
   - ohyeah,oy-0001
   - planex,vr500

5. For one device, mtd_mac_address was just wrong and overwritten
   by 02_network. Put the correct value in DTS and remove redundant
   statement in 02_network:
   - asus,rt-ac57u

6. For one device, MAC address defined in DTS is exchanged together
   with lan_mac/wan_mac setup in 02_network, so that cases in
   02_network can be merged:
   - phicomm,k2p

For some devices, an empty case has to be used to prevent them
from falling into the default case and have
WAN address = eth0 address + 1 set to them.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoRevert "build: remove harmful -nopad option from mksquashfs"
Jonas Gorski [Fri, 6 Sep 2019 12:55:36 +0000 (14:55 +0200)]
Revert "build: remove harmful -nopad option from mksquashfs"

This reverts commit 1c0290c5cc6258c48b8ba46b4f9c85a21de4f875.

Dropping the nopad can make the padding overflow into the next erase
block on devices using a non-aligned rootfs start. This breaks the jffs2
overlay partition with the following messages:

[   30.343877] jffs2_scan_eraseblock(): End of filesystem marker found at 0x10000
[   30.376512] jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
[   30.385253] jffs2: empty_blocks 196, bad_blocks 0, c->nr_blocks 197

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agoodhcp6c: update to latest git HEAD
Hans Dedecker [Sat, 7 Sep 2019 11:08:27 +0000 (13:08 +0200)]
odhcp6c: update to latest git HEAD

e199804 dhcpv6: sanitize oro options

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agobcm53xx: extend firmware validation
Rafał Miłecki [Fri, 6 Sep 2019 10:44:49 +0000 (12:44 +0200)]
bcm53xx: extend firmware validation

This provides TRX validation result to the validation JSON. It also
prevents users from installing broken firmware files.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agouboot-fritz4040: build with ipq40xx "generic" subtarget
Yousong Zhou [Fri, 6 Sep 2019 08:29:50 +0000 (08:29 +0000)]
uboot-fritz4040: build with ipq40xx "generic" subtarget

Fixes: 853e4dd3 ("ipqx0xx: add Generic subtarget")
Ref: https://forum.openwrt.org/t/ipq40xx-snapshot-not-updated-since-22nd-august/44126
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agotreewide: use new procd sysupgrade $UPGRADE_BACKUP variable
Rafał Miłecki [Thu, 5 Sep 2019 21:33:19 +0000 (23:33 +0200)]
treewide: use new procd sysupgrade $UPGRADE_BACKUP variable

It's a variable set by procd that should replace hardcoded
/tmp/sysupgrade.tgz.

This change requires the most recent procd with the commit 0f3c136
("sysupgrade: set UPGRADE_BACKUP env variable").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoprocd: update to the latest git HEAD
Rafał Miłecki [Thu, 5 Sep 2019 21:16:17 +0000 (23:16 +0200)]
procd: update to the latest git HEAD

0f3c136 sysupgrade: set UPGRADE_BACKUP env variable
0bcbbbf system: fix uninitialized variables in firmware validation code

This update includes a fix for uninitialized variable usage.

Fixes: 7290963d0992 ("procd: update to the latest git HEAD")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobase-files: use get_mac_binary() in mtd_get_mac_binary_ubi()
Adrian Schmutzler [Thu, 5 Sep 2019 11:29:37 +0000 (13:29 +0200)]
base-files: use get_mac_binary() in mtd_get_mac_binary_ubi()

The actual retrieval of the MAC address in mtd_get_mac_binary_ubi()
is the same as in get_mac_binary(). Thus, use the latter function
in the former to reduce duplicate code.

This will also allow to benefit from the enhanced path check there
and bring mtd_get_mac_binary_ubi() more in line with the similar
mtd_get_mac_binary().

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agobase-files: fix mtd_get_mac_text not accepting hex offsets
David Bauer [Wed, 4 Sep 2019 18:46:10 +0000 (20:46 +0200)]
base-files: fix mtd_get_mac_text not accepting hex offsets

The mtd_get_mac_text helper method did not support hexadecimal offset
values, resulting them to break after 75bfc393ba6c ("treewide:
convert MAC address location offsets to hexadecimal")

This commit fixes this by evaluating the hexadecimal input,
converting them to decimal.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agotreewide: when copying a backup file always specify dest name
Rafał Miłecki [Wed, 4 Sep 2019 14:57:40 +0000 (16:57 +0200)]
treewide: when copying a backup file always specify dest name

$CONF_TAR shouldn't be assumed to always point to the sysupgrade.tgz.
This change makes code more generic and allows refactoring $CONF_TAR.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotreewide: don't hardcode "sysupgrade.tgz" file name
Rafał Miłecki [Wed, 4 Sep 2019 14:57:39 +0000 (16:57 +0200)]
treewide: don't hardcode "sysupgrade.tgz" file name

1) Add BACKUP_FILE and use it when copying an archive to be restored
   after sysupgrade (on the next preinit).
2) Use CONF_TAR for copying backup prepared by the /sbin/sysupgrade

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotreewide: fix invalid UPGRADE_OPT_SAVE_CONFIG spellings
Rafał Miłecki [Thu, 5 Sep 2019 06:53:44 +0000 (08:53 +0200)]
treewide: fix invalid UPGRADE_OPT_SAVE_CONFIG spellings

That was a result of accidentally running "sed" twice on some files.

Fixes: 5797fe84a3b5 ("treewide: replace remaining (not working now) $SAVE_CONFIG uses")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agotreewide: replace remaining (not working now) $SAVE_CONFIG uses
Rafał Miłecki [Thu, 5 Sep 2019 06:40:29 +0000 (08:40 +0200)]
treewide: replace remaining (not working now) $SAVE_CONFIG uses

This var has been replaced by the $UPGRADE_OPT_UPGRADE_OPT_SAVE_CONFIG

Fixes: b534ba961100 ("base-files: pass "save_config" option to the "sysupgrade" method")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agouboot-envtools: Update to U-Boot version 2019.07
Hauke Mehrtens [Sat, 11 May 2019 15:09:07 +0000 (17:09 +0200)]
uboot-envtools: Update to U-Boot version 2019.07

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agotools/mkimage: Update U-Boot to version 2019.07
Hauke Mehrtens [Sat, 11 May 2019 14:57:15 +0000 (16:57 +0200)]
tools/mkimage: Update U-Boot to version 2019.07

This updates the U-Boot which provides the host tools like mkimage to
version 2019.07.
The patches were cleaned up and it was checked if this still compiles
on Linux and FreeBSD.

CONFIG_FIT_SIGNATURE_MAX_SIZE is set to the default value.

The patch for libressl was merged upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agobrcm2708: update to latest patches from RPi foundation
Álvaro Fernández Rojas [Wed, 4 Sep 2019 17:01:23 +0000 (19:01 +0200)]
brcm2708: update to latest patches from RPi foundation

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agobrcm2708: bcm2711: remove custom config file
Álvaro Fernández Rojas [Wed, 4 Sep 2019 16:11:25 +0000 (18:11 +0200)]
brcm2708: bcm2711: remove custom config file

Forcing arm_64bit is no longer required with latest firmware.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agobrcm2708-gpu-fw: update to latest firmware
Álvaro Fernández Rojas [Wed, 4 Sep 2019 16:09:34 +0000 (18:09 +0200)]
brcm2708-gpu-fw: update to latest firmware

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agoramips: improve support for Xiaomi Miwifi Nano
Chuanhong Guo [Tue, 3 Sep 2019 15:58:07 +0000 (23:58 +0800)]
ramips: improve support for Xiaomi Miwifi Nano

This patch does the following things:
1. mark u-boot-env writable
2. add bootcount support
   Currently, u-boot has a flag_boot_success env variable to reset.
   Also reset it in our firmware to follow the behavior in vendor's
   firmware.
3. disable usb support
   This router doesn't have usb port at all.
4. increase spi clock to 40MHz
5. fix pinmux groups

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoprocd: update to the latest git HEAD
Rafał Miłecki [Wed, 4 Sep 2019 09:12:44 +0000 (11:12 +0200)]
procd: update to the latest git HEAD

34ac88c system: reject sysupgrade of invalid firmware images by default
f55c235 system: reject sysupgrade of broken firmware images
e990e21 system: add "validate_firmware_image" ubus method

This update changes "sysupgrade" ubus method API. It's now required to
pass "force" attribute whenever invalid firmware is meant to be
installed.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobase-files: pass "force" parameter to the "sysupgrade" call
Rafał Miłecki [Tue, 3 Sep 2019 12:44:40 +0000 (14:44 +0200)]
base-files: pass "force" parameter to the "sysupgrade" call

This makes sysupgrade work with the most recent procd that validates
firmware before proceeding.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobrcm47xx: extend firmware validation
Rafał Miłecki [Wed, 4 Sep 2019 04:35:31 +0000 (06:35 +0200)]
brcm47xx: extend firmware validation

This provides TRX validation result, so final JSON may look like:
{
"tests": {
"fwtool_signature": true,
"fwtool_device_match": true,
"trx_valid": true
},
"valid": true,
"forceable": true
}

It also prevents users from installing broken firmware files, e.g.:

root@OpenWrt:/# sysupgrade -F -n /tmp/TZ
Image metadata not found
Invalid image type. Please use firmware specific for this device.
Image check failed but --force given - will update anyway!
Commencing upgrade. Closing all shell sessions.
Firmware image is broken and cannot be installed

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobrcm2708: restore UART on RPi 0W, 3B, 3B+ and 4B
Álvaro Fernández Rojas [Tue, 3 Sep 2019 11:01:50 +0000 (13:01 +0200)]
brcm2708: restore UART on RPi 0W, 3B, 3B+ and 4B

Disable Bluetooth and restore UART to GPIOs 14 & 15.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agoath79: add support for TP-Link WDR3500 v1
Adrian Schmutzler [Sun, 28 Jul 2019 10:20:26 +0000 (12:20 +0200)]
ath79: add support for TP-Link WDR3500 v1

Hardware:
SoC:      AR9344
CPU:      560 MHz
Flash:    8 MiB
RAM:      128 MiB
WiFi:     Atheros AR9340 2.4GHz 802.11bgn
          Atheros AR9300 5GHz 802.11an
Ethernet: AR934X built-in switch, WAN on separate physical interface
USB:      1x 2.0

Flash instruction (WebUI):
Download *-factory.bin image and upload it via the firmwary upgrade
function of the stock firmware WebUI.

Flash instruction (TFTP):
1. Set PC to fixed ip address 192.168.0.66
2. Download *-factory.bin image and rename it to
   wdr3500v1_tp_recovery.bin
3. Start a tftp server with the image file in its root directory
4. Turn off the router
5. Press and hold Reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time
the firmware should be transferred from the tftp server
8. Wait ~30 second to complete recovery.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[removed stray newline]
Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoupslug2: Update to git repository
Rosen Penev [Thu, 8 Aug 2019 22:57:56 +0000 (15:57 -0700)]
upslug2: Update to git repository

This has two improvements over the current version. An autotools fix and
application of the wrt350v2 patch.

Cleaned up Makefile as a result of makefiles being fixed.

Note that this package is not really used as it depends on orion, which is
classified as broken.

This is the last package that uses svn in the tree.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
5 years agosdk: use bundle-libraries.sh to ship kernel objtool tools
Jo-Philipp Wich [Fri, 30 Aug 2019 13:45:06 +0000 (15:45 +0200)]
sdk: use bundle-libraries.sh to ship kernel objtool tools

Ensure that the kernel objtool utilities are processed by the library
bundler in order to ensure that they're usable on foreign systems with
different libc versions.

Fixes: a9f6fceb42 ("sdk: fix building external modules when CONFIG_STACK_VALIDATION=y")
Acked-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoinclude: kernel-build: pass pkg-config overrides to kernel build
Jo-Philipp Wich [Fri, 30 Aug 2019 13:24:45 +0000 (15:24 +0200)]
include: kernel-build: pass pkg-config overrides to kernel build

Pass suitable pkg-config overrides to the kernel build process in
order to let our pkg-config wrapper discover libraries provided
by tools/.

This mainly affects the use of libelf which is required for the
CONFIG_STACK_VALIDATION features. So far, the build system either
silently used host system libraries or kbuild simply disabled the
feature due to the lack of a suitable libelf.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>