openwrt/openwrt.git
4 years agouboot-at91: bump linux4sam_5.8 to linux4sam_6.0
Sandeep Sheriker M [Wed, 14 Aug 2019 00:42:12 +0000 (00:42 +0000)]
uboot-at91: bump linux4sam_5.8 to linux4sam_6.0

Signed-off-by: Sandeep Sheriker M <sandeep.sheriker@microchip.com>
4 years agoramips: fix switch ports settings
Chen Minqiang [Wed, 7 Aug 2019 00:58:48 +0000 (08:58 +0800)]
ramips: fix switch ports settings

This change the switch settings for:
HC5661: 4 lan ports + 1 wan port
Y1S: 2 lan ports(G port) + 2 lan ports(E port) + 1 wan port

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
4 years agoramips: hc5xxx: use switch trigger for leds
Chen Minqiang [Wed, 6 Mar 2019 11:04:26 +0000 (19:04 +0800)]
ramips: hc5xxx: use switch trigger for leds

netdev on eth0.2 can't show link status of wan port because eth0 is
connected to builtin switch and is always link up. Use swconfig
trigger instead.

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
[redo commit message]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoath79: create DTSI for ar9341 TP-Link devices
Adrian Schmutzler [Mon, 12 Aug 2019 13:12:02 +0000 (15:12 +0200)]
ath79: create DTSI for ar9341 TP-Link devices

This patch creates a shared DTSI for the TP-Link devices based
on ar9341 as those share a lot of definitions.

While at it, change from gpio-keys-polled to gpio-keys, remove
unused pll-data and remove some inherited stuff, too.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: migrate TP-Link TL-MR3420v2 to ath79
Lim Guo Wei [Mon, 12 Aug 2019 07:54:11 +0000 (15:54 +0800)]
ath79: migrate TP-Link TL-MR3420v2 to ath79

Specifications:
- SoC: ar9341
- RAM: 32M
- Flash: 4M
- Ethernet: 5x FE ports
- WiFi: ar9341-wmac

Flash instruction:
Upload generated factory firmware on vendor's web interface.

This changes the key assignment compared to ar71xx support of this
device, since of the two keys on the device one is used as combined
Reset/WPS and the second one as WiFi on/off button.
Despite, the reset button required GPIO_ACTIVE_HIGH to work correctly.

Signed-off-by: Lim Guo Wei <limguowei@gmail.com>
[redo commit message]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoath79: add support for PISEN TS-D084
xixiao zheng [Tue, 25 Jun 2019 08:32:58 +0000 (16:32 +0800)]
ath79: add support for PISEN TS-D084

PISEN TS-D084 is an wireless router with a battery and integrated power
supply based on Atheros AR9331.

Specification:

- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 1x 10/100 Mbps Ethernet
- 1T1R 2.4 GHz (AR9331)
- 1x USB 2.0

Flash instruction:
 Upload generated factory image through web interface.

Signed-off-by: xixiao zheng <xixiaozheng64@gmail.com>
[wrap commit message, add flash instruction]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: add support for ipTIME A604M
Sungbo Eo [Sat, 20 Jul 2019 18:34:59 +0000 (03:34 +0900)]
ramips: add support for ipTIME A604M

ipTIME A604M is a 2.4/5GHz band AC1200 router, based on MediaTek
MT7628AN.

Specifications:
- SoC: MT7628AN
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
  - 2.4GHz: SoC internal
  - 5GHz: MT7612EN
- Ethernet: 5x 10/100Mbps
  - Switch: SoC internal
- UART:
  - J1: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1

Installation via web interface:
1.  Flash **initramfs** image through the stock web interface.
2.  Boot into OpenWrt and perform sysupgrade with sysupgrade image.

Revert to stock firmware:
1.  Perform sysupgrade with stock image.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoath79: adtran,bsap1840/bsap1800-v2: move bootcount out of 02_network
Chuanhong Guo [Sat, 10 Aug 2019 12:00:24 +0000 (20:00 +0800)]
ath79: adtran,bsap1840/bsap1800-v2: move bootcount out of 02_network

These device supports were introduced before /etc/init.d/bootcount and they
had a bootcount reset done in /etc/board.d/02_network.
Move it into /etc/init.d/bootcount instead.

Suggested-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agotreewide: sync bootcount scripts across targets
Chuanhong Guo [Sat, 10 Aug 2019 11:35:56 +0000 (19:35 +0800)]
treewide: sync bootcount scripts across targets

This commit made the following changes to sync all bootcount scripts:

1. use boot() instead of start()
    This script only needs to be executed once when boot is complete.
    use boot() to make this explicit.

2. drop sourcing of /lib/functions.sh
    This is aready done in /etc/rc.common.

3. ramips: replace board name checking with a case

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoustream-ssl: update to latest git HEAD
Hauke Mehrtens [Sat, 17 Aug 2019 15:09:42 +0000 (17:09 +0200)]
ustream-ssl: update to latest git HEAD

e8f9c22 Revise supported ciphersuites
7e9e269 wolfssl, openssl: use TLS 1.3, set ciphersuites

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agotools/e2fsprogs: Update to 1.45.3
Daniel Engberg [Sat, 15 Jun 2019 09:47:21 +0000 (09:47 +0000)]
tools/e2fsprogs: Update to 1.45.3

Update e2fsprogs to 1.45.3
Remove OpenBSD patch
Remove Darwin patch, neither macports or brew patches these files
Add patch to avoid crond detection on host OS

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
4 years agotarget/x86/image: use qemu-img from STAGING_DIR_HOST
Florian Eckert [Mon, 12 Aug 2019 10:04:04 +0000 (12:04 +0200)]
target/x86/image: use qemu-img from STAGING_DIR_HOST

The host tool package qemu is build for the target x86. The installed tool
qemu-img is needed to build vdi or vmdk images. In the image Makefile we
use however the host installed qemu-img command and not the tool from the
buildsystem. This commit force to use the already build qemu-img command
from the openwrt toolchain.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
4 years agomusl: ldso/dlsym: fix mips returning undef dlsym
Luiz Angelo Daros de Luca [Fri, 16 Aug 2019 04:33:58 +0000 (01:33 -0300)]
musl: ldso/dlsym: fix mips returning undef dlsym

This happens only the second time a library is loaded by dlopen().
After lib1 is loaded, dlsym(lib1,"undef1") correctly resolves the undef
symbol from lib1 dependencies. After the second library is loaded,
dlsym(lib2,"undef1") was returning the address of "undef1" in lib2
instead of searching lib2 dependencies.

Using upstream fix which now uses the same logic for relocation time
and dlsym.

Fixes openwrt/packages#9297

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
4 years agogemini: Enable flash boot on reference design type
Linus Walleij [Wed, 17 Jul 2019 17:23:32 +0000 (19:23 +0200)]
gemini: Enable flash boot on reference design type

The flash layout on the Storlink reference design for Gemini
is using 2 MB flash for the kernel, and it also insists on
overwriting the partition table with default values on every
boot. The same is true for the SQ201. This poses a problem
on recent OpenWrt firmware as the base zImage is bigger
than 2 MB.

At the same time there is a ramdisk partition of 6 MB that we
don't really need. The partition table looks like this:

Creating 7 MTD partitions on "30000000.flash":
0x000000000000-0x000000016000 : "BOOT"
0x000000120000-0x000000320000 : "Kern"
0x000000320000-0x000000920000 : "Ramdisk"
0x000000920000-0x000000f20000 : "Application"
0x000000f20000-0x000000f40000 : "VCTL"
0x000000f40000-0x000000fe0000 : "CurConf"
0x000000fe0000-0x000001000000 : "FIS directory"

On boot the "Kern" partition is copied to RAM @0x01600000
and the "Ramdisk" partition is copied to RAM @0x00800000.
Then the kernel is executed.

The idea with this patch is to extend the "Kern" partition
with the "Ramdisk" partition to get a full 8 MB to use
for the kernel. Then we put the OpenWrt JFFS2 rootfs
inside the "Application" partition.

We create a small assembly loop that we prepend to the
"Kern" image that will copy the "Kern" from 0x0160000
and the "Ramdisk" from 0x00800000 and put them in
consecutive space at 0x00400000 and execute it from
there, using "Application" as rootfs.

We generate 3 main files:
- zImage - contains the assembly bootstrap loop and
  the first part of the generated kernel image
- rd.gz - contains the second part of the generated
  kernel image
- hddapp.tgz - contains the root filesystem

On the SQ201 I flash these manually using the native boot
loader PLATO, "Y" alternative for the zImage, "R" for
the rd.gz image and "A" for hddapp.tgz.

This works fine and I can now boot to prompt on the SQ201
with nothing but flash.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 years agogemini: Add copy-kernel utility package
Linus Walleij [Wed, 17 Jul 2019 17:23:31 +0000 (19:23 +0200)]
gemini: Add copy-kernel utility package

This package just contains a small Gemini-only assembler
bootstrap loop to copy the kernel from the two fragments
(previously zImage at 0x01600000 and initramdisk at 0x00800000)
into one big zImage of up to 8 MB at 0x00400000.

It will be built on demand from the Gemini image Makefile.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 years agogemini: Fix up flash accesses
Linus Walleij [Wed, 17 Jul 2019 17:22:40 +0000 (19:22 +0200)]
gemini: Fix up flash accesses

The SL93512r and the NAS4220B have Redboot partition
tables (rely on these) and need to boot from mtdblock3.
Add two patches from upstream to fix this.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 years agogemini: Fix up some confused pin config on SL93512r
Linus Walleij [Wed, 17 Jul 2019 17:21:48 +0000 (19:21 +0200)]
gemini: Fix up some confused pin config on SL93512r

Upstream patch fixing the errors in the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4 years agozynq: remove kernel 4.14 support
Luis Araneda [Sun, 4 Aug 2019 04:32:06 +0000 (00:32 -0400)]
zynq: remove kernel 4.14 support

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
4 years agozynq: switch to kernel 4.19
Luis Araneda [Sun, 4 Aug 2019 04:32:05 +0000 (00:32 -0400)]
zynq: switch to kernel 4.19

Use kernel 4.19 by default

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
4 years agozynq: k4.19: fix kernel panic on smp bring-up
Luis Araneda [Sun, 4 Aug 2019 04:32:04 +0000 (00:32 -0400)]
zynq: k4.19: fix kernel panic on smp bring-up

This fixes a kernel panic when validating the
arguments of memcpy at runtime, which is enabled
by generic's CONFIG_FORTIFY_SOURCE for k4.19

This wasn't triggered on 4.14, as ARCH_HAS_FORTIFY_SOURCE
was added on k4.17 for the ARM architecture

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
4 years agozynq: kernel: use some configs provided by generic
Luis Araneda [Sun, 4 Aug 2019 04:32:03 +0000 (00:32 -0400)]
zynq: kernel: use some configs provided by generic

- Select CONFIG_PREEMPT_NONE (server) instead
  of CONFIG_PREEMPT (low-latency desktop)
- Remove CONFIG_USELIB
- Remove CONFIG_SYSCTL_SYSCALL

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
4 years agozynq: add k4.19 config
Luis Araneda [Sun, 4 Aug 2019 04:32:02 +0000 (00:32 -0400)]
zynq: add k4.19 config

Copied from kernel 4.14 and refreshed
with make kernel_oldconfig

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
4 years agowolfssl: bump to 4.1.0-stable
Eneas U de Queiroz [Mon, 5 Aug 2019 14:47:58 +0000 (11:47 -0300)]
wolfssl: bump to 4.1.0-stable

Always build AES-GCM support.
Unnecessary patches were removed.

This includes two vulnerability fixes:

CVE-2019-11873: a potential buffer overflow case with the TLSv1.3 PSK
extension parsing.

CVE-2019-13628 (currently assigned-only): potential leak of nonce sizes
when performing ECDSA signing operations. The leak is considered to be
difficult to exploit but it could potentially be used maliciously to
perform a lattice based timing attack.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agobzip2: Update to 1.0.8
Rosen Penev [Thu, 8 Aug 2019 19:01:21 +0000 (12:01 -0700)]
bzip2: Update to 1.0.8

It seems bzip2 was abandoned by the author and adopted by the sourceware
people. The last release of bzip2 was from 2010.

Several security bugs were fixed as well as others.

Fixed up PKG_LICENSE to be compatible with SPDX.

Changed URLs to point to the new home.

Added patch that gets rid of deprecated utime function and switches it to
utimensat.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agobuild: fix indent in image-commands.mk
Adrian Schmutzler [Fri, 9 Aug 2019 11:55:43 +0000 (13:55 +0200)]
build: fix indent in image-commands.mk

Convert leading spaces to tab to match rest of the file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agomac80211: Update to version 5.3-rc4-1
Hauke Mehrtens [Sat, 3 Aug 2019 10:30:38 +0000 (12:30 +0200)]
mac80211: Update to version 5.3-rc4-1

The removed patches were applied upstream.
The type of the RT2X00_LIB_EEPROM config option was changed to bool,
because boolean is an invalid value and the new kconfig system
complained about this.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agomac80211: Update to version 5.2.8-1
Hauke Mehrtens [Thu, 15 Aug 2019 09:30:44 +0000 (11:30 +0200)]
mac80211: Update to version 5.2.8-1

This contains multiple fixes from the upstream kernel.
The removed patch was merged upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agomdadm: Use upstream fix for musl 1.1.23 compile
Hauke Mehrtens [Wed, 7 Aug 2019 20:13:36 +0000 (22:13 +0200)]
mdadm: Use upstream fix for musl 1.1.23 compile

Fixes: ba8aeb02eae2 ("mdadm: Fix compile with musl 1.1.23")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agohostapd: Allow CONFIG_IEEE80211W for all but mini variant
Hauke Mehrtens [Wed, 7 Aug 2019 19:37:25 +0000 (21:37 +0200)]
hostapd: Allow CONFIG_IEEE80211W for all but mini variant

This commit will activate CONFIG_IEEE80211W for all, but the mini
variant when at least one driver supports it. This will add ieee80211w
support for the mesh variant for example.

Fixes: FS#2397
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agohostapd: Remove ROBO switch support
Hauke Mehrtens [Sat, 4 May 2019 12:16:52 +0000 (14:16 +0200)]
hostapd: Remove ROBO switch support

The driver was removed from OpenWrt a long time ago.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 years agolua5.3: include hpp header
Colby Whitney [Mon, 22 Jul 2019 16:16:14 +0000 (10:16 -0600)]
lua5.3: include hpp header

The install was missing the hpp header.  Adding that in.

Signed-off-by: Colby Whitney <colby.whitney@luxul.com>
4 years agomvebu: sysupgrade: sdcard: fix platform_do_upgrade_sdcard
Klaus Kudielka [Sun, 28 Jul 2019 13:54:21 +0000 (15:54 +0200)]
mvebu: sysupgrade: sdcard: fix platform_do_upgrade_sdcard

Unconditionally execute the final case statement, even if the disk layout
changed. This is necessary, to keep the original Turris Omnia flash
instructions working: The disk layout WILL change, when switching from
TurrisOS to OpenWRT. Without updating the uboot environment at the same
time, the user would end up with an unbootable system.

Fixes commit 2e5a0b81ec ("mvebu: sysupgrade: sdcard: keep user added ...")

Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
4 years agobrcm63xx: do not build images for 16 MiB RAM devices by default
Jonas Gorski [Fri, 16 Aug 2019 10:24:13 +0000 (12:24 +0200)]
brcm63xx: do not build images for 16 MiB RAM devices by default

OpenWrt will run out of RAM while booting with the default package set,
so let's not provide images that will likely fail. They can still be
built manually through source or IB if needed.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
4 years agofirewall: improve ipset support
Kevin Darbyshire-Bryant [Fri, 16 Aug 2019 09:05:12 +0000 (10:05 +0100)]
firewall: improve ipset support

Bump to latest git HEAD

509e673 firewall3: Improve ipset support

The enabled option did not work properly for ipsets, as it was not
checked on create/destroy of a set. After this commit, sets are only
created/destroyed if enabled is set to true.

Add support for reloading, or recreating, ipsets on firewall reload.  By
setting "reload_set" to true, the set will be destroyed and then
re-created when the firewall is reloaded.

Add support for the counters and comment extensions. By setting
"counters" or "comment" to true, then counters or comments are added to
the set.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agolantiq: unify Fritz!Box LED mappings
David Bauer [Sun, 11 Aug 2019 21:37:24 +0000 (23:37 +0200)]
lantiq: unify Fritz!Box LED mappings

This commit unifies the LED mapping of the AVM Fritz!Box routers, which
have a combined Power/DSL LED.

With the stock firmware, the Power LED has the following
characteristics:

 - Blink when DSL sync is being established
 - Solid when DSL sync is present

We can't completely resemble this behavior in OpenWrt. Currently, the
Power LED is completely off, when DSL sync is missing. This is not
really helpful, as a user might have the impression, that he bricked his
device.

Instead, map the Info-LED to the state of the DSL connection.
There is no consistent behavior for the Info-LED in the stock
firmware, as the user can set it's function by himself. The DSL
connection state is one possible option for the Info LED there.

Also use the red Power LED to indicate a running upgrade, in case the
board has a two-color Power LED.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: remove SUPPORTED_DEVICES for TP-Link Archer D50 v1
Adrian Schmutzler [Wed, 14 Aug 2019 22:46:07 +0000 (00:46 +0200)]
ath79: remove SUPPORTED_DEVICES for TP-Link Archer D50 v1

This device has not been supported in ar71xx, so there is no need
for an explicit SUPPORTED_DEVICES entry.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: use Power LED as System LED for TL-WR842Nv3
David Bauer [Wed, 14 Aug 2019 22:29:45 +0000 (00:29 +0200)]
ath79: use Power LED as System LED for TL-WR842Nv3

The TP-Link TL-WR842N v3 has a software-controllable Power LED. The WPS
LED is normally only used as a System LED, when the Power LED can't be
controlled by software.

Additionally, the Power LED is also the System LED for this board in
ar71xx.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoipq40xx: fix AVM NAND caldata extraction
David Bauer [Mon, 12 Aug 2019 23:44:03 +0000 (01:44 +0200)]
ipq40xx: fix AVM NAND caldata extraction

The AVM Fritz!Box 7530 (and probably other AVM IPQ4019 NAND devices)
has it's caldata not stored consistently, but instead at currently
3 known possible offsets.

As we get a non-zero exit code from fritz_cal_extract, simply try all
three possible offsets on both bootloader partitions, until a matching
caldata for each radio is found.

Reported-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agokernel: bump 4.19 to 4.19.66
Koen Vandeputte [Mon, 12 Aug 2019 09:52:25 +0000 (11:52 +0200)]
kernel: bump 4.19 to 4.19.66

Refreshed all patches.

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.138
Koen Vandeputte [Mon, 12 Aug 2019 09:30:09 +0000 (11:30 +0200)]
kernel: bump 4.14 to 4.14.138

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.9 to 4.9.189
Koen Vandeputte [Mon, 12 Aug 2019 08:10:44 +0000 (10:10 +0200)]
kernel: bump 4.9 to 4.9.189

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agotreewide: convert WiFi caldata size and offset to hexadecimal
Adrian Schmutzler [Fri, 9 Aug 2019 15:45:13 +0000 (17:45 +0200)]
treewide: convert WiFi caldata size and offset to hexadecimal

This changes size and offset set for WiFi caldata extraction and
MAC address adjustment to hexadecimal notation.

This will be much clearer for the reader when numbers are big, and
will also match the style used for mtd-cal-data in DTS files.

Since dd cannot deal with hexadecimal notation, one has to convert
back to decimal by simple $(($hexnum)).

Acked-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotreewide: convert MAC address location offsets to hexadecimal
Adrian Schmutzler [Fri, 9 Aug 2019 15:45:12 +0000 (17:45 +0200)]
treewide: convert MAC address location offsets to hexadecimal

This changes the offsets for the MAC address location in
mtd_get_mac_binary* and mtd_get_mac_text to hexadecimal notation.

This will be much clearer for the reader when numbers are big, and
will also match the style used for mtd-mac-address in DTS files.

(e.g. 0x1006 and 0x5006 are much more useful than 4102 and 20486)

Acked-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoimagebuilder: fix `make info` for empty SUPPORTED_DEVICES
Paul Spooren [Tue, 13 Aug 2019 21:38:17 +0000 (11:38 -1000)]
imagebuilder: fix `make info` for empty SUPPORTED_DEVICES

For x86/64 (maybe more) target the SUPPORTED_DEVICES variable is empty
which causes the `&&` junction to fail, producing a non zero exit code.

Tested-by: Paul Spooren <mail@aparcar.org>
Fixed-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agobuild: allow overriding default selection state for devices
Jonas Gorski [Tue, 13 Aug 2019 10:33:47 +0000 (12:33 +0200)]
build: allow overriding default selection state for devices

Allow overriding the default selection state for Devices, similar to
setting a default for packages.

E.g. by setting DEFAULT to n, they won't be selected by default anymore
when enabling all device in the multi device profile.

This allows preventing images being built by the default config for
known broken devices, devices without enough RAM/flash, or devices not
working with a certain kernel versions.

This does not prevent the devices from being manually selected or images
being built by the ImageBuilder. These devices often still have worth
with a reduced package-set, or as a device for regression testing, when
no better device is available.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
4 years agoimage.mk: remove device_ from manifest filename
Paul Spooren [Mon, 12 Aug 2019 09:08:33 +0000 (23:08 -1000)]
image.mk: remove device_ from manifest filename

The manifest file is based on IMG_PREFIX and PROFILE_SANITIZED, whereas
the latter takes a string like DEVICE_8dev_carambola2 and sanitizes it.
This behaviour results in a useless "device_" profile-prefix in the
device manifest filename. Now uses *subst* to remove that.

Therefore this patch results more consistent device file names:

openwrt-ath79-generic-8dev_carambola2-initramfs-kernel.bin
openwrt-ath79-generic-8dev-carambola2.manifest
openwrt-ath79-generic-8dev_carambola2-squashfs-sysupgrade.bin

instead of a single file being called

openwrt-ath79-generic-device_8dev-carambola2.manifest

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agobuild: add buildinfo files for reproducibility
Paul Spooren [Thu, 13 Jun 2019 00:24:04 +0000 (02:24 +0200)]
build: add buildinfo files for reproducibility

generate feeds.buildinfo and version.buildinfo in build dir after
containing the feed revisions (via ./scripts/feeds list -sf) as well as
the current revision of buildroot (via ./scripts/getver.sh).

With this information it should be possible to reproduce any build,
especially the release builds.

Usage would be to move feeds.buildinfo to feeds.conf and git checkout the
revision hash of version.buildinfo.

Content of feeds.buildinfo would look similar to this:

    src-git routing https://git.openwrt.org/feed/routing.git^bf475d6
    src-git telephony https://git.openwrt.org/feed/telephony.git^470eb8e
    ...

Content of version.buildinfo would look similar to this:

    r10203+1-c12bd3a21b

Without the exact feed revision it is not possible to determine
installed package versions.

Also rename config.seed to config.buildinfo to follow the recommended
style of https://reproducible-builds.org/docs/recording/

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agotools/patch: apply upstream patch for cve-2019-13638
Russell Senior [Sun, 11 Aug 2019 20:57:08 +0000 (13:57 -0700)]
tools/patch: apply upstream patch for cve-2019-13638

GNU patch through 2.7.6 is vulnerable to OS shell command injection that
can be exploited by opening a crafted patch file that contains an ed style

diff payload with shell metacharacters. The ed editor does not need to be
present on the vulnerable system. This is different from CVE-2018-1000156.

https://nvd.nist.gov/vuln/detail/CVE-2019-13638

Signed-off-by: Russell Senior <russell@personaltelco.net>
4 years agotools/scons: update scons to 3.1.1
Russell Senior [Tue, 13 Aug 2019 07:12:43 +0000 (00:12 -0700)]
tools/scons: update scons to 3.1.1

This version bump includes a bunch of fixes and improvements, which
should fix gpsd build breakage in the package feeds.

Ref: https://github.com/SCons/scons/blob/master/src/CHANGES.txt
Signed-off-by: Russell Senior <russell@personaltelco.net>
[added missing commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoath79: update DTS for TP-Link WDR3600/WDR4300 v1
Adrian Schmutzler [Sun, 28 Jul 2019 10:16:51 +0000 (12:16 +0200)]
ath79: update DTS for TP-Link WDR3600/WDR4300 v1

This replaces gpio-export by gpio-hogs and switches buttons
to interrupt-driven gpio-keys.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoRevert faulty tree push
Felix Fietkau [Mon, 12 Aug 2019 10:24:06 +0000 (12:24 +0200)]
Revert faulty tree push

Revert "mac80211: add new minstrel_ht patches to improve probing on mt76x2" (9861050b85e5381c93d73ffdbc24c130400e0fb8)
Revert "kernel: use bulk free in kfree_skb_list to improve performance" (98b654de2e7502507b31f0fb82befbb48f9c8542)
Revert "ramips: add preliminary support for WIO ONE" (085141dc5ba5e763e1bf4c1a2fd6957160810ccc)
Revert "ramips: add preliminary support for SGE AP-MTKH7-0006 developer board" (b1db6d0539511f60bf65fbde28b16afa31180e34)
Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles" (363ce4329d4f6c00b4a7cb83dd1821fafc0d40ad)
Revert "toolchain: add autoconf-lean" (fdb30eed03ae56cd87078b64d9b2fac00799e783)
Revert "build: allow overriding the filename on the remote server when downloading" (6fa0e07758524eddf20c9b66dfcb55c490e1961e)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomac80211: add new minstrel_ht patches to improve probing on mt76x2
Felix Fietkau [Fri, 14 Jun 2019 19:32:15 +0000 (21:32 +0200)]
mac80211: add new minstrel_ht patches to improve probing on mt76x2

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agokernel: use bulk free in kfree_skb_list to improve performance
Felix Fietkau [Sun, 24 Mar 2019 17:04:49 +0000 (18:04 +0100)]
kernel: use bulk free in kfree_skb_list to improve performance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoramips: add preliminary support for WIO ONE
Felix Fietkau [Mon, 15 Oct 2018 10:52:34 +0000 (12:52 +0200)]
ramips: add preliminary support for WIO ONE

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoramips: add preliminary support for SGE AP-MTKH7-0006 developer board
Felix Fietkau [Mon, 15 Oct 2018 10:52:34 +0000 (12:52 +0200)]
ramips: add preliminary support for SGE AP-MTKH7-0006 developer board

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agobuild: use config.site generated by autoconf-lean, drop hardcoded sitefiles
Felix Fietkau [Fri, 2 Mar 2018 13:17:10 +0000 (14:17 +0100)]
build: use config.site generated by autoconf-lean, drop hardcoded sitefiles

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agotoolchain: add autoconf-lean
Felix Fietkau [Fri, 2 Mar 2018 13:12:18 +0000 (14:12 +0100)]
toolchain: add autoconf-lean

Use it to generate a more comprehensive configure sitefile

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agobuild: allow overriding the filename on the remote server when downloading
Felix Fietkau [Thu, 22 Feb 2018 16:26:41 +0000 (17:26 +0100)]
build: allow overriding the filename on the remote server when downloading

Github releases usually don't contain the project name in the release
filename, which makes them very inconvenient to use from the build
system. Add support for naming the local file differently.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agosdk: fix GCC and Python dangling symlinks
Petr Štetiar [Thu, 8 Aug 2019 19:16:02 +0000 (21:16 +0200)]
sdk: fix GCC and Python dangling symlinks

Force prereq again in SDK in order to fix GCC and Python dangling
symlinks:

 staging_dir/host/bin/g++ -> /builder/ath79_generic/ccache_cxx.sh
 staging_dir/host/bin/gcc -> /builder/ath79_generic/ccache_cc.sh
 staging_dir/host/bin/python -> /usr/bin/python3.5
 staging_dir/host/bin/python3 -> /usr/bin/python3.5

Ref: FS#2424
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoramips: fix lan and wan mac addresses for Cudy WR1000
Davide Fioravanti [Sat, 10 Aug 2019 22:38:53 +0000 (00:38 +0200)]
ramips: fix lan and wan mac addresses for Cudy WR1000

Lan and Wan addresses are swapped compared to the original firmware.
This patch fixes this problem

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
4 years agolantiq: add led-upgrade alias for Fritz!Box 7412
David Bauer [Sat, 10 Aug 2019 14:16:19 +0000 (16:16 +0200)]
lantiq: add led-upgrade alias for Fritz!Box 7412

This adds the led-upgrade alias for the AVM Fritz!Box 7412 to indicate a
running firmware upgrade.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agolantiq: enable second VPE on Fritz!Box 7412
David Bauer [Fri, 9 Aug 2019 21:45:56 +0000 (23:45 +0200)]
lantiq: enable second VPE on Fritz!Box 7412

The AVM Fritz!Box 7412 does not use the VMMC part of the Lantiq chip but
rather a proprietary solution based on the DECT chip for the FXS ports.

Therefore, the second VPE can be enabled for use with OpenWrt.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agolantiq: correct Fritz!Box 7412 button logic level
David Bauer [Fri, 9 Aug 2019 22:45:49 +0000 (00:45 +0200)]
lantiq: correct Fritz!Box 7412 button logic level

The AVM FRITZ!Box 7412 buttons are both active low, which is currently
incorrectly defined in the device-tree.

This leads to the device booting directly into failsafe.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: fix LED labels not updated during device name changes
Adrian Schmutzler [Tue, 6 Aug 2019 12:30:42 +0000 (14:30 +0200)]
ramips: fix LED labels not updated during device name changes

In commit d93969a13a5b ("ramips: Improve compatible for TP-Link
Archer devices") and subsequent ones, names of several devices
in ramips have been changed.
Since LED names are frequently invoked by $boardname, this has
broken LED setup in 01_leds, as $boardname and prefix in DTS
do not match anymore.

This patch updates device name prefixes for LEDs in DTS files,
and provides a migration script.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: add kmod-mt7615e to Xiaomi Mi Router 3 Pro images
Ozgur Can Leonard [Fri, 2 Aug 2019 18:55:41 +0000 (21:55 +0300)]
ramips: add kmod-mt7615e to Xiaomi Mi Router 3 Pro images

Now that the mt76/mt7615e driver is in Openwrt, might as well use it.

Signed-off-by: Ozgur Can Leonard <ozgurcan@gmail.com>
4 years agodnsmasq: use nettle ecc_curve access functions
Hans Dedecker [Fri, 9 Aug 2019 19:25:37 +0000 (21:25 +0200)]
dnsmasq: use nettle ecc_curve access functions

Fixes compile issues with nettle 3.5.1

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agonettle: Update to 3.5.1
Daniel Engberg [Sat, 3 Aug 2019 20:27:36 +0000 (22:27 +0200)]
nettle: Update to 3.5.1

Update (lib)nettle to 3.5.1
Bump ABI_VERSION

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
4 years agoath79: add missing IMAGE_SIZE for Comfast WR650AC v1/v2
Adrian Schmutzler [Fri, 9 Aug 2019 15:40:42 +0000 (17:40 +0200)]
ath79: add missing IMAGE_SIZE for Comfast WR650AC v1/v2

When adding support in 9ed272fe9500 ("ath79: add support for
Comfast WR650AC v1/v2"), IMAGE_SIZE has not been added to device
definition.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoar71xx: ag71xx: init rings with GFP_KERNEL
Koen Vandeputte [Fri, 9 Aug 2019 16:51:07 +0000 (18:51 +0200)]
ar71xx: ag71xx: init rings with GFP_KERNEL

ar71xx got lost during final rebase ..

Fixes: b417a0c48d63 ("ar71xx/ath79: ag71xx: init rings with GFP_KERNEL")
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoar71xx/ath79: ag71xx: init rings with GFP_KERNEL
Koen Vandeputte [Fri, 9 Aug 2019 07:51:29 +0000 (09:51 +0200)]
ar71xx/ath79: ag71xx: init rings with GFP_KERNEL

Upstream commit 246902bdf562d45ea3475fac64c93048a7a39f01

Which contains following explanation:

--
There is no need to use GFP_ATOMIC here, GFP_KERNEL should be enough.
The 'kcalloc()' just a few lines above, already uses GFP_KERNEL.
--

Looking at the code, all other descriptors also use plain GFP_KERNEL

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoar71xx/ath79: ag71xx: fix sleep in atomic
Koen Vandeputte [Mon, 5 Aug 2019 13:20:22 +0000 (15:20 +0200)]
ar71xx/ath79: ag71xx: fix sleep in atomic

When enabling atomic-sleep-debugging options in the kernel,
following splat is seen when disabling the interface (which happens on boot):

[   10.892878] eth0: link down
[   10.896788] BUG: sleeping function called from invalid context at net/core/dev.c:5563
[   10.904730] in_atomic(): 1, irqs_disabled(): 1, pid: 425, name: ip
[   10.911004] 2 locks held by ip/425:
[   10.914539]  #0:  (rtnl_mutex){....}, at: [<80377474>] rtnetlink_rcv_msg+0x2d8/0x380
[   10.922441]  #1:  (&(&ag->lock)->rlock){....}, at: [<80330158>] ag71xx_hw_disable+0x24/0x94
[   10.930976] CPU: 0 PID: 425 Comm: ip Not tainted 4.14.136 #0
[   10.936716] Stack : 805e0000 80589228 80557404 876998ec 80610000 80610000 87cdcafc 805b5327
[   10.945233]         80551534 000001a9 8061386c 87699ccc 87cfb180 00000001 876998a0 84f70903
[   10.953751]         00000000 00000000 80b00000 8769979c 6a7407fa 00000000 00000007 00000000
[   10.962270]         000000b7 16d0954a 000000b6 00000000 80000000 87cb658c 87cb65b0 00000001
[   10.970787]         8046f97c 87699ccc 87cfb180 87ff2810 00000003 802ce724 0806e098 80610000
[   10.979306]         ...
[   10.981797] Call Trace:
[   10.984287] [<8006cb0c>] show_stack+0x58/0x100
[   10.988814] [<800aab34>] ___might_sleep+0x100/0x120
[   10.993774] [<8035c434>] napi_disable+0x30/0xd8
[   10.998377] [<80330198>] ag71xx_hw_disable+0x64/0x94
[   11.003418] [<8033069c>] ag71xx_stop+0x24/0x38
[   11.007959] [<80359e30>] __dev_close_many+0xcc/0x104
[   11.013009] [<80362eac>] __dev_change_flags+0xc8/0x1ac
[   11.018227] [<80362fb8>] dev_change_flags+0x28/0x70
[   11.023182] [<80376890>] do_setlink+0x31c/0x91c
[   11.027786] [<80379360>] rtnl_newlink+0x3ec/0x7f8
[   11.032563] [<80377498>] rtnetlink_rcv_msg+0x2fc/0x380
[   11.037799] [<8039a734>] netlink_rcv_skb+0xd4/0x178
[   11.042754] [<80399d10>] netlink_unicast+0x168/0x250
[   11.047796] [<8039a2d4>] netlink_sendmsg+0x3d8/0x434
[   11.052841] [<8033f0e4>] ___sys_sendmsg+0x1dc/0x290
[   11.057794] [<80340140>] __sys_sendmsg+0x54/0x84
[   11.062495] [<8007212c>] syscall_common+0x34/0x58

This is caused by calling napi_disable() while holding the spinlock.

Fix it by omitting the spinlock, which is not required here
Extensively tested on GL-MiFi, RB-912 and RB-922 hardware

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.19 to 4.19.65
Koen Vandeputte [Wed, 7 Aug 2019 12:21:39 +0000 (14:21 +0200)]
kernel: bump 4.19 to 4.19.65

Refreshed all patches.

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.137
Koen Vandeputte [Wed, 7 Aug 2019 11:53:45 +0000 (13:53 +0200)]
kernel: bump 4.14 to 4.14.137

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.9 to 4.9.188
Koen Vandeputte [Wed, 7 Aug 2019 10:51:24 +0000 (12:51 +0200)]
kernel: bump 4.9 to 4.9.188

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoath79: fix identation errors in 01_leds
David Bauer [Fri, 9 Aug 2019 15:13:20 +0000 (17:13 +0200)]
ath79: fix identation errors in 01_leds

Fix the identation of 01_leds to keep the style of the file consistent.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: add missing IMAGE_SIZE for Comfast E314N-v2
Adrian Schmutzler [Fri, 9 Aug 2019 11:53:49 +0000 (13:53 +0200)]
ath79: add missing IMAGE_SIZE for Comfast E314N-v2

When adding support in abbbecaa73dc ("ath79: add support for
Comfast E314N-v2"), IMAGE_SIZE has not been added to device
definition.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: fix whitespace errors from adding D-Link DIR-842 C3
Adrian Schmutzler [Fri, 9 Aug 2019 12:19:51 +0000 (14:19 +0200)]
ath79: fix whitespace errors from adding D-Link DIR-842 C3

We completely overlooked whitespace errors when reviewing
796ad2f7ef6f ("ath79: add support for D-Link DIR-842 C3").

Fix them and and also fix Makefile indent for C1/C2.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for Comfast WR650AC v1/v2
Joan Moreau [Sun, 31 Mar 2019 04:26:22 +0000 (04:26 +0000)]
ath79: add support for Comfast WR650AC v1/v2

This is a dual band 11a/11n router with 1x wan and 4x gig lan ports.

There are two versions of this router which can be identified through
the factory web interface, v1 has 128mb ram and a uboot size of 128k,
v2 has 256mb ram and a uboot size of 256k, the remaining hardware and
PCB markings are the same.

Short specification:

    SoC: Qualcomm Atheros QCA9558 - 720 MHz
    Switch: Atheros AR8327
    Second radio : Qualcomm Atheros QCA9880 802.11ac
    4 LAN/1 WAN 1000Mps Ethernet
    256 MB of RAM (DDR2)
    16 MB of FLASH
    3x2.4 GHz, 3x5GHz antennas

Steps to install :

Option A : Use vendor UI

Option B (if A is not working) :
(a) Download 'backup' from vendor UI and rename it backup.tar.gz
(b) Open the archive, and update the root password in /etc/shadow by
    '$1$9wX3HGfB$X5Sb3kqzzBLdKRUR2kfFd0'
(c) 'Restore' from the archive using the vendor UI. Root password is now
    'aaa'
(d) Scp the firwmware to the device:
    $ scp <openwrt-sysupgrade>.bin root@192.168.1.1:/
(d) ssh to the device and flash the firmware:
    $ cd /
    $ mtd -e firmware -r write <openwrt-sysupgrade>.bin firmware

Signed-off-by: Gareth Parker <gareth41@orcon.net.nz>
Signed-off-by: Ding Tengfei <dtf@comfast.cn>
Signed-off-by: Joan Moreau <jom@grosjo.net>
[reformatted commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agobrcm2708: bcm2711: remove unneeded boot file
Álvaro Fernández Rojas [Fri, 9 Aug 2019 05:37:51 +0000 (07:37 +0200)]
brcm2708: bcm2711: remove unneeded boot file

bootcode.bin isn't needed for RPi 4B since it's stored on a SPI-attached EEPROM.
More info: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoath79: add support for Comfast E314N-v2
Joan Moreau [Sat, 30 Mar 2019 13:27:17 +0000 (13:27 +0000)]
ath79: add support for Comfast E314N-v2

Taken code from https://patchwork.ozlabs.org/patch/884850/ that was never
pushed by the author, and adapted to ath79.

The Comfast E314N-V2 is a 2.4 GHz 2x2 radio with a built-in directional
antenna and a second Ethernet port - very similar to the Ubiquiti
NanoStation M2. The Ethernet port features a pass-through PoE capability,
enabled or disabled with a slide switch.

Specifications :
- System-On-Chip: Qualcomm/Atheros QCA9531
- CPU/Speed: 650 MHz
- Flash size: 8 MiB
- RAM: 64 MiB
- 2 Ethernet 1Gbp
- 1 reset button
- 1 switch to choose PoE from LAN or Wan. 48Vdc
- Wifi 2.4 Ghz (b/g/n)
- UART inside the box (3.3V, pins marked on the PCB)

Firmware can be flashed on these units by the following method:
1.) Apply power to the unit
2.) Immediately AFTER applying power, hold down the reset button
3.) The WAN, LAN, and wireless lights will flash - wait three seconds
    (three flashes) and then release the button.
4.) After a second, the lights will flutter quickly and the unit will be
    visible at 192.168.1.1. A web page will be available to enable quick
    and simple uploading and flashing of firmware.

During the boot process, these units also look for a tftp server at
192.168.1.10. If one is present, the firmware can be uploaded as a file
called firmware-auto.bin

Signed-off-by: Joan Moreau <jom@grosjo.net>
[wrapped commit message - fix commit title capitalization]
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agocomgt-ncm: add driver dependencies again
Vincent Wiemann [Sun, 4 Aug 2019 23:42:45 +0000 (01:42 +0200)]
comgt-ncm: add driver dependencies again

In the commit 623716dd4318 ("comgt-ncm: Fix NCM protocol")
the dependencies to vendor NCM drivers were removed, because:

> comgt-ncm should not depend on the USB-serial-related kernel modules,
> as the cdc-wdm control device works without them. There is also no need
> to depend on kmod-huawei-cdc-ncm, since other manufacturers (like
> Ericsson and Samsung) which use other kernel modules should also be
> supported.

From a user-perspective this does not make sense, as installing comgt-ncm
(or luci-proto-ncm) should install all needed dependencies for using such
a device.

Furthermore depending on kmod-huawei-cdc-ncm does not mean that Ericsson
and Samsung devices can't be supported. By the way it seems that Ericsson
and Samsung devices never used NCM, but act as serial modems.

Thus this commit adds the dependencies again.

Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com>
[fixed title capitalization, formatted commit message,
renamed Sony-Ericsson to Ericsson]
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: add support for HiWiFi HC5761A
DENG Qingfang [Tue, 23 Jul 2019 12:12:48 +0000 (20:12 +0800)]
ramips: add support for HiWiFi HC5761A

HiWiFi HC5761A is an "MT7628AN variant" of HC5761

Specifications:
- MediaTek MT7628AN 580MHz
- 128 MB DDR2 RAM
- 16 MB SPI Flash
- 2.4G MT7628AN 802.11bgn 2T2R 300Mbps
- 5G MT7610EN 802.11ac 433Mbps
- 3x 10/100 Mbps Ethernet

Flash instruction:
1. Get SSH access to the router
2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one
3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP
4. Run `mtd write /tmp/<filename> firmware`
5. reboot

Known bug:
- SD slot does not work (See PR 1500)

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoramips: improve support for HiWiFi HC5661A and HC5861B
DENG Qingfang [Tue, 23 Jul 2019 12:12:37 +0000 (20:12 +0800)]
ramips: improve support for HiWiFi HC5661A and HC5861B

HC5661A:
- Fix pinctrl
- Fix image size (15808k)
- Use switch trigger for WAN LED

Both:
- Use tpt LED trigger for wireless
- Explicitly disable USB nodes

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoramips: add HC5X61A.dtsi for HiWiFi MT7628AN boards
DENG Qingfang [Tue, 23 Jul 2019 12:12:29 +0000 (20:12 +0800)]
ramips: add HC5X61A.dtsi for HiWiFi MT7628AN boards

HiWiFi has several MT7628AN routers which have similar specs
Add HC5X61A.dtsi to include them, like HC5X61.dtsi (for MT7620A)

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoath79: add support for PISEN WMB001N
Chuanhong Guo [Sun, 4 Aug 2019 14:13:45 +0000 (22:13 +0800)]
ath79: add support for PISEN WMB001N

Specifications:
- SoC: AR9341
- RAM: 64M
- Flash: 16M
- Ethernet: 1 * FE port
- WiFi: ar934x-wmac
- Sound: WM8918 DAC
         1 * 3.5mm headphone jack
         2 * RCA connectors for speakers
         1 * SPDIF out
- USB: 1 * USB2.0 port

Flash instruction:
 Upload generated factory image via vendor's web interface.

Notes:
A. Audio stuff:
 1. Since AR934x, all pins for peripheral blocks can be mapped to
    any available GPIOs. We currently don't have a PCM/I2S driver
    for AR934x so pinmux for i2s and SPDIF are bound to i2c gpio
    node. This should be moved into I2S node when a PCM/I2S driver
    is available.
 2. The i2c-gpio node is for WM8918. DT binding for it can't be added
    currently due to a missing clock from I2S PLL.

B. Factory image:
 Image contains a image header and a tar.gz archive.
 1. Header: A 288 byte header that has nothing to do with appended
    tarball. Format:
     0x0-0x7 and 0x18-0x1F: magic values
     0x20: Model number string
     0xFC: Action string. It's either "update" or "backup"
     0x11C: A 1 byte checksum. It's XOR result of 0x8-0x11B
    Firmware doesn't care about the rest of the header as long as
    checksum result is correct.
    The same header is used for backup and update routines so the
    magic values and model number can be obtained by generating a
    backup bin and grab values from it.
 2. Tarball: It contains two files named uImage and rootfs, which
    will be flashed into corresponding mtd partition.
 Writing a special utility that can only output a fixed binary
 blob is overkill so factory image header is placed under
 image/bin instead.

C. LED
 The wifi led has "Wi-Fi" marked on the case but vendor's firmware
 used it as system status indicator. I did the same in this device
 support patch.

D. Firmware
 Factory u-boot is built without 'savenv' support so it's impossible
 to change kernel offset. A 2MB kernel partition won't be enough in
 the future. OKLI loader is used here to migrate this problem:
  1. add OKLI image magic support into uImage parser.
  2. build an OKLI loader, compress it with lzma and add a normal
     uImage header.
  3. flash the loader to where the original kernel supposed to be.
  4. create a uImage firmware using OKLI loader.
  5. flash the created firmware to where rootfs supposed to be.
 By doing so, u-boot will start OKLI loader, which will then load
 the actual kernel at 0x20000.

 The kernel partition is 2MB, which is too much for our loader.
 To save this space, "mtd-concat" is used here:
  1. create a 64K (1 erase block) partition for OKLI loader and
     create another partition with the left space.
  2. concatenate rootfs and this partition into a virtual flash.
  3. use the virtual flash for firmware partition.

 Currently OKLI loader is flashed with factory image only.
 sysupgrade won't replace it. Since it only has one function
 and it works for several years, its unlikely to have some bugs
 that requires a replacement.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agokernel: mtdsplit_uimage: add support for okli image
Chuanhong Guo [Sun, 4 Aug 2019 12:41:56 +0000 (20:41 +0800)]
kernel: mtdsplit_uimage: add support for okli image

This adds support for uImage used by OpenWrt kernel loader.
The parser searches for uImage header at flash eraseblock boundary
and it might attempt to split any firmware with loader, therefore
this entry doesn't have MTD_PARSER_TYPE_FIRMWARE so that this parser
is only used when explicitly defined in dts.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agogpio-button-hotplug: add volume button handling
Chuanhong Guo [Sun, 4 Aug 2019 08:29:39 +0000 (16:29 +0800)]
gpio-button-hotplug: add volume button handling

This is used by PISEN WMB001N.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoath79: add support for D-Link DIR-842 C3
Perry Melange [Wed, 7 Aug 2019 17:25:13 +0000 (19:25 +0200)]
ath79: add support for D-Link DIR-842 C3

Hardware spec of DIR-842 C3:
SoC: QCA9563
DRAM: 128MB DDR2
Flash: 16MB SPI-NOR
Switch: QCA8337N
WiFi 5.8GHz: QCA9888
WiFi 2.4Ghz: QCA9563
USB: circuit onboard, but components are not soldered

Flash instructions:

1. Upgrade the factory.bin through the factory web interface or
   the u-boot failsafe interface.
   The firmware will boot up correctly for the first time.
   Do not power off the device after OpenWrt has booted.
   Otherwise the u-boot will enter failsafe mode as the checksum
   of the firmware has been changed.
2. Upgrade the sysupgrade.bin in OpenWrt.
   After upgrading completes the u-boot won't complain about the
   firmware checksum and it's OK to use now.
3. If you powered off the device before upgrading the sysupgrade.bin,
   just upgrade the factory.bin through the u-boot failsafe interface
   and then goto step 2.

Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
4 years agoath79: fix vendor capitalization of TP-Link
Adrian Schmutzler [Sat, 20 Jul 2019 20:51:11 +0000 (22:51 +0200)]
ath79: fix vendor capitalization of TP-Link

According to detective grep, with this patch all devices should
be labelled "TP-Link" consistently.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link CPE220 v2
Adrian Schmutzler [Sat, 20 Jul 2019 11:03:43 +0000 (13:03 +0200)]
ath79: add support for TP-Link CPE220 v2

This seems to be identical to CPE210 v1 despite having removable
antennas.

Specifications:

    * SoC: Qualcomm Atheros AR9344 (560 MHz)
    * RAM: 64MB
    * Storage: 8 MB
    * Wireless: 2.4GHz N based built into SoC 2x2
    * Ethernet: 2x 100/10 Mbps, integrated into SoC, 24V POE IN

Installation:

Flash factory image through stock firmware WEB UI
or through TFTP:
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link CPE510 v1
Adrian Schmutzler [Sat, 20 Jul 2019 10:49:20 +0000 (12:49 +0200)]
ath79: add support for TP-Link CPE510 v1

TP-Link CPE510-v1 is an outdoor wireless CPE for 5 GHz with
two Ethernet ports based on Atheros AR9334

Specifications:
 - 560/450/225 MHz (CPU/DDR/AHB)
 - 2x 10/100 Mbps Ethernet, 1x PoE-in, 1x PoE-out
 - 64 MB of DDR2 RAM
 - 8 MB of SPI-NOR Flash
 - 2T2R 5 GHz
 - 13 dBi built-in antenna
 - Power, LAN0, LAN1 green LEDs
 - 4x green RSSI LEDs

Flash factory image through stock firmware WEB UI
or through TFTP:
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Based on the work of Paul Wassi <p.wassi@gmx.at>

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for TP-Link CPE210 v1
Adrian Schmutzler [Sat, 20 Jul 2019 10:01:14 +0000 (12:01 +0200)]
ath79: add support for TP-Link CPE210 v1

Specifications:

    * SoC: Qualcomm Atheros AR9344 (560 MHz)
    * RAM: 64MB
    * Storage: 8 MB
    * Wireless: 2.4GHz N based built into SoC 2x2
    * Ethernet: 2x 100/10 Mbps, integrated into SoC, 24V POE IN

Installation:

Flash factory image through stock firmware WEB UI
or through TFTP:
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: create common definition tplink-loader-okli
Adrian Schmutzler [Sat, 20 Jul 2019 09:59:07 +0000 (11:59 +0200)]
ath79: create common definition tplink-loader-okli

The loader-okli is shared by several TP-Link CPExxx devices, so
give it its own definition to prevent too much code duplication.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: provide common DTSI for CPE510 v2/v3 and CPE610
Adrian Schmutzler [Fri, 19 Jul 2019 12:58:51 +0000 (14:58 +0200)]
ath79: provide common DTSI for CPE510 v2/v3 and CPE610

This puts some common code into a new shared DTSI. Common nodes
are chosen so that the new DTSI can be used for CPE210 v1, too.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotplink-safeloader: increase kernel partition for CPE/WBSx10v1
Adrian Schmutzler [Fri, 19 Jul 2019 12:58:44 +0000 (14:58 +0200)]
tplink-safeloader: increase kernel partition for CPE/WBSx10v1

This is a preparation for ath79 support of the CPE210/CPE510 v1.
Kernel size is chosen equal to the latest update for CPE610 v1.

This also updates the partition size in ar71xx target, so code
remains consistent if someone looks up the device. Since CPE210,
CPE510, WBS210 and WBS510 (all v1) share the same partition
layout definition, and are on deprecated target anyway, this
changes them all at once.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoprocd: update to latest git HEAD (FS#2425)
Hans Dedecker [Wed, 7 Aug 2019 11:52:00 +0000 (13:52 +0200)]
procd: update to latest git HEAD (FS#2425)

8323690 state: fix shutdown when running in a container (FS#2425)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agonetifd: update to latest git HEAD
Hans Dedecker [Wed, 7 Aug 2019 11:37:00 +0000 (13:37 +0200)]
netifd: update to latest git HEAD

5e02f94 system-linux: fix resource leak

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agopackages: apply usign padding workarounds to package indexes if needed
Jo-Philipp Wich [Wed, 7 Aug 2019 05:15:07 +0000 (07:15 +0200)]
packages: apply usign padding workarounds to package indexes if needed

Since usign miscalculates SHA-512 digests for input sizes of exactly
64 + N * 128 + 110 or 64 + N * 128 + 111 bytes, we need to apply some
white space padding to avoid triggering the hashing edge case.

While usign itself has been fixed already, there is still many firmwares
in the wild which use broken usign versions to verify current package
indexes so we'll need to carry this workaround in the forseeable future.

Ref: https://forum.openwrt.org/t/signature-check-failed/41945
Ref: https://git.openwrt.org/5a52b379902471cef495687547c7b568142f66d2
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoconfig: introduce separate CONFIG_SIGNATURE_CHECK option
Jo-Philipp Wich [Tue, 6 Aug 2019 19:22:27 +0000 (21:22 +0200)]
config: introduce separate CONFIG_SIGNATURE_CHECK option

Introduce a new option CONFIG_SIGNATURE_CHECK which defaults to the value
of CONFIG_SIGNED_PACKAGES and thus is enabled by default.

This option is needed to support building target opkg with enabled
signature verification while having the signed package lists disabled.

Our buildbots currently disable package signing globally in the
buildroot and SDK to avoid the need to ship private signing keys to
the build workers and to prevent the triggering of random key generation
on the worker nodes since package signing happens off-line on the master
nodes.

As unintended side-effect, updated opkg packages will get built with
disabled signature verification, hence the need for a new override option.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agousign: update to latest Git HEAD
Jo-Philipp Wich [Tue, 6 Aug 2019 18:55:39 +0000 (20:55 +0200)]
usign: update to latest Git HEAD

This update fixes usign signature verification on files with certain
file sizes triggering a bug in the shipped SHA-512 implementation.

5a52b37 sha512: fix bad hardcoded constant in sha512_final()
3e6648b README: replace unicode character
716c3f2 README: add reference to OpenBSD signify
86d3668 README: provide reference for ed25519 algorithm
939ec35 usign: main.c: describe necessary arguments for -G

Ref: https://forum.openwrt.org/t/signature-check-failed/41945
Signed-off-by: Jo-Philipp Wich <jo@mein.io>