openwrt/openwrt.git
4 months agolantiq: falcon: mark as source only sub target
Hauke Mehrtens [Wed, 16 Dec 2020 20:03:01 +0000 (21:03 +0100)]
lantiq: falcon: mark as source only sub target

The sub target does not support network and there are not so many users
out there, just mark it as source only, so we do jot have to build it.

The quality is not worse than before, it just does not make much sense
to build this automatically.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agowireless-regdb: Update to version 2020.11.20
Hauke Mehrtens [Wed, 16 Dec 2020 16:23:59 +0000 (17:23 +0100)]
wireless-regdb: Update to version 2020.11.20

9efa1da wireless-regdb: update regulatory rules for Egypt (EG)
ede87f5 wireless-regdb: restore channel 12 & 13 limitation in the US
5bcafa3 wireless-regdb: Update regulatory rules for Croatia (HR)
4e052f1 wireless-regdb: Update regulatory rules for Pakistan (PK) on 5GHz
f9dfc58 wireless-regdb: update 5.8 GHz regulatory rule for GB
c19aad0 wireless-regdb: Update regulatory rules for Kazakhstan (KZ)
07057d3 wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agobuild: Add IRQSOFF and PREEMPT TRACER kernel config option
Hauke Mehrtens [Thu, 3 Dec 2020 17:49:12 +0000 (18:49 +0100)]
build: Add IRQSOFF and PREEMPT TRACER kernel config option

This adds the CONFIG_IRQSOFF_TRACER and the CONFIG_PREEMPT_TRACER kernel
configuration option to the OpenWrt menu. This can be used to debug
latencies in the system.
The CONFIG_PREEMPT_TRACER option needs the CONFIG_PREEMPT option which is
supposed to be used for Low-Latency Desktop and not used by many targets
in OpenWrt.

The help text is copied from the Linux kernel Kconfig.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
4 months agoutil-linux: update to 2.36.1
Rosen Penev [Wed, 9 Dec 2020 01:21:40 +0000 (17:21 -0800)]
util-linux: update to 2.36.1

Removed upstream patch.

Refreshed other ones.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 months agolibunwind: update to 1.5.0
Rosen Penev [Wed, 9 Dec 2020 01:56:59 +0000 (17:56 -0800)]
libunwind: update to 1.5.0

Cleanup Makefile for consistency with other ones.

Remove PKG_SSP. It can be fixed with -lssp_nonshared.

Add PKG_BUILD_PARALLEL for faster compilation.

Add zlib dependency. 1.5.0 requires it now.

Refresh patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 months agomac80211: Update to version 5.8.18-1
Hauke Mehrtens [Mon, 30 Nov 2020 23:10:23 +0000 (00:10 +0100)]
mac80211: Update to version 5.8.18-1

The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoe2fsprogs: Add TARGET_LDFLAGS to e4crypt
Hauke Mehrtens [Tue, 15 Dec 2020 21:23:50 +0000 (22:23 +0100)]
e2fsprogs: Add TARGET_LDFLAGS to e4crypt

The TARGET_LDFLAGS were dropped in the linking of e4crypt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agotoolchain: gcc: Remove support for GCC 5
Hauke Mehrtens [Tue, 15 Dec 2020 12:56:46 +0000 (13:56 +0100)]
toolchain: gcc: Remove support for GCC 5

GCC was used in 17.01 as the default compiler the last time. We do not
test this old GCC version any more and there are some known problems it
fails to compile the U-Boot for the Allwinner A64 SoC.

Just remove it to make it clear that we will not support this old GCC
version any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Paul Spooren <mail@aparcar.org>
4 months agotools/cmake: update to 3.19.1
Hannu Nyman [Mon, 14 Dec 2020 20:00:21 +0000 (22:00 +0200)]
tools/cmake: update to 3.19.1

Update cmake to version 3.19.1

Release notes: https://cmake.org/cmake/help/v3.19/release/3.19.html

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 months agokernel: bump 5.4 to 5.4.83
John Audia [Fri, 11 Dec 2020 15:34:41 +0000 (10:34 -0500)]
kernel: bump 5.4 to 5.4.83

Manually merged:
  layerscape/808-i2c-0011-i2c-imx-support-slave-mode-for-imx-I2C-driver.patch
  layerscape/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch

Remaining modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86/64 [*],
              ramips/mt7621 [*], ath79/tiny [*], ipq40xx [*], octeon [*],
              realtek [*]
Run-tested: ipq806x/R7800, ramips/mt7621 [*], octeon [*], realtek [*]

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
4 months agolibnetfilter-conntrack: update to 1.0.8
Rosen Penev [Mon, 9 Nov 2020 07:09:22 +0000 (23:09 -0800)]
libnetfilter-conntrack: update to 1.0.8

Previous git version was 1.0.7.

Switched to using tarballs for simplicity.

Fixed license information.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 months agoarmvirt: README: rename it from LEDE to OpenWrt
Josef Schlehofer [Sun, 13 Dec 2020 14:02:37 +0000 (15:02 +0100)]
armvirt: README: rename it from LEDE to OpenWrt

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 months agoarmvirt/64: change it to cortex-a53 instead of generic
Josef Schlehofer [Sun, 13 Dec 2020 14:02:36 +0000 (15:02 +0100)]
armvirt/64: change it to cortex-a53 instead of generic

Package architecture aarch64_generic [1] can be used just with three
devices. One is NanoPI R2S and then there are two development boards
from NXP. Let's change armvirt/64 to Cortex A53 (aarch64_cortex-a53)
[2]. It has wider support by multiple devices like NanoPI Neo Plus2/Core2,
ESPRESSObin, Pine64, and Raspberry Pi 2&3.

While looking at ARMvirt/32 it has set CPU_TYPE and CPU_SUBTYPE to be
arm_cortex-a15_neon-vfpv4 [3]. It has support to devices like
Linksys EA8500 v1, Linksys EA7500 v1, Netgear D7800, Netgear R7500 and so on.

Tested with:
qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic \
-kernel openwrt-armvirt-64-Image-initramfs

Successfully compiled and booted.
Here goes the output:
root@OpenWrt:/# uname -a
Linux OpenWrt 5.4.82 #0 SMP Sun Dec 13 12:52:10 2020 aarch64 GNU/Linux
root@OpenWrt:/# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r15207-96fca0f807'
DISTRIB_TARGET='armvirt/64'
DISTRIB_ARCH='aarch64_cortex-a53'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r15207-96fca0f807'
DISTRIB_TAINTS='no-all'

Also, change BOARDNAME to be the same as it is in armvirt/32.

[1] https://openwrt.org/docs/techref/instructionset/aarch64_generic
[2] https://openwrt.org/docs/techref/instructionset/aarch64_cortex-a53
[3] https://openwrt.org/docs/techref/instructionset/arm_cortex-a15_neon-vfpv4

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
4 months agonetifd: update to latest version
Nick Hainke [Sun, 13 Dec 2020 17:36:04 +0000 (18:36 +0100)]
netifd: update to latest version

458b1a7e9473 netifd: add segment routing support

Signed-off-by: Nick Hainke <vincent@systemli.org>
4 months agokernel: enable kernel keyring by default on !SMALL_FLASH
Daniel Golle [Wed, 9 Dec 2020 12:45:55 +0000 (12:45 +0000)]
kernel: enable kernel keyring by default on !SMALL_FLASH

Enable CONFIG_KEYS by default on systems which are not marked as
flash-space constraint by the 'small_flash' feature.
CONFIG_KEYS is required by Docker, enabling it in our kernel allows
users to run Docker on stock OpenWrt.
It is also used of by some network file systems (such as NFSv4) to
store credentials as well as UID/GID mappings.

Adds about 50kB to vmlinux on ath79/generic (~18kB compressed)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agokernel: package kmod-keys-encrypted and kmod-keys-trusted
Daniel Golle [Wed, 9 Dec 2020 12:43:57 +0000 (12:43 +0000)]
kernel: package kmod-keys-encrypted and kmod-keys-trusted

Add kernel module packages for handling encrypted and TPM trusted
keys on the kernel chain.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agokernel: update and clean kernel keyring options
Daniel Golle [Wed, 9 Dec 2020 12:28:31 +0000 (12:28 +0000)]
kernel: update and clean kernel keyring options

Add KERNEL_KEYS_REQUEST_CACHE option.
'tristate' (ie. module builds) are not valid in Config-kernel.in, hence
remove tristate KERNEL_ENCRYPTED_KEYS. It will be readded as a kernel
module in a follow-up commit.

Fixes: 39d817cf38 ("Add config symbols for kernel keyring support")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agolantiq: xrx200: remove unused lan/wan labels from dts
Aleksander Jan Bajkowski [Sat, 12 Dec 2020 15:28:39 +0000 (16:28 +0100)]
lantiq: xrx200: remove unused lan/wan labels from dts

These labels are not used anywhere and can be removed.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 months agoath79: add support for the Belkin F9K1115 v2 (AC1750 DB Wi-Fi)
Martin Blumenstingl [Sat, 28 Nov 2020 11:08:42 +0000 (12:08 +0100)]
ath79: add support for the Belkin F9K1115 v2 (AC1750 DB Wi-Fi)

This device has (almost?) identical hardware to the F9J1108 v2 but uses
a different firmware magic and model number.

Specifications:

SoC: QCA9558
CPU: 720 MHz
Flash: 16 MiB NOR
RAM: 128 MiB
WiFi 2.4 GHz: QCA9558-AT4A 3x3 MIMO 802.11b/g/n
WiFi 5 GHz: QCA9880-2R4E 3x3 MIMO 802.11a/n/ac
Ethernet: 4x LAN and 1x WAN (all 1Gbit/s ports)
USB: 1 x USB 2.0 (lower), 1 x USB 3.0 (upper)

MAC addresses based on OEM firmware:

Interface   Address   Location
---------   -------   --------
lan         *:5A      sometimes in 0x6
wan         *:5B      0x0
2.4Ghz      *:5A      0x1002
5Ghz        As per mini PCIe EEPROM

Flashing instructions:

The factory.bin can be flashed via the Belkin web UI or via the uboot
HTTP upgrade page (which is by default listening on 192.168.2.1). Once
the factory.bin has been written, sysupgrade.bin will work as usual.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
4 months agoath79: create shared DTSI/definition for Belkin F9J1108/F9K1115 v2
Martin Blumenstingl [Sat, 28 Nov 2020 11:04:00 +0000 (12:04 +0100)]
ath79: create shared DTSI/definition for Belkin F9J1108/F9K1115 v2

Belkin F9J1108 v2 and F9K1115 v2 are (seemingly) identical hardware
with different model numbers. Extract all non-device specific code to a
common .dtsi so it can be re-used when adding support for the
F9K1115 v2.

Similar to the .dtsi most of the image building recipe code can be
re-used. Move everything except the device model, edimax header magic
and edimax header model into a shared build recipe.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
[drop duplicate TARGET_DEVICES, add EDIMAX_* to DEVICE_VARS, edit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agotplink-safeloader: add support for TP-Link CPE510 v3.20
Gioacchino Mazzurco [Mon, 14 Dec 2020 09:48:43 +0000 (10:48 +0100)]
tplink-safeloader: add support for TP-Link CPE510 v3.20

This adds new strings for the v3.20 to the support list of the
already supported TP-Link CPE510 v3.

The underlying hardware appears to be the same, similar to the
situation with CPE210 v3.20 in 4a2380a1e778 ("tplink-safeloader:
expand support list for TP-Link CPE210 v3")

Signed-off-by: Gioacchino Mazzurco <gio@altermundi.net>
[extended commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agouclient: update to Git version 2020-12-10
Petr Štetiar [Thu, 10 Dec 2020 14:31:26 +0000 (15:31 +0100)]
uclient: update to Git version 2020-12-10

2c843b2bc04c Add initial GitLab CI support
073f89f567c0 uclient-fetch: wolfSSL: fix certificate validation
086c292160ac uclient-fetch: init_ca_cert: fix memory leak
a3c1a88b031a cmake: enable extra compiler checks
32ff717ed316 uclient-http: fix extra compiler warnings on mips_24kc and cortex-a9+neon
86a2ac6ac46f uclient-fetch: fix potential memory leaks
158dd9dd289c uclient: fix initialized but never read variable
66b4420856a7 uclient-fetch: fix statement may fallt hrough
436f9b3af2ad uclient-http: fix freeing of stack allocated memory
e6b5b8a98ce2 Fix extra compiler warnings
12df67e45bb0 Add basic cram based unit tests
b6e34845124f cmake: fix building out of the tree

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 months agoustream-ssl: update to Git version 2020-12-10
Petr Štetiar [Thu, 10 Dec 2020 14:29:12 +0000 (15:29 +0100)]
ustream-ssl: update to Git version 2020-12-10

68d09243b6fd Add initial GitLab CI support
8280140db9d1 wolfssl: remove now deprecated compatibility code
cee6791b362a ustream-mbedtls: fix certificate verification
55c3fd89d508 ustream-mbedtls: implement set_require_validation
c6b4c48689a3 ustream-openssl: wolfSSL: fix certificate validation
3bc05402bfab cmake: enable extra compiler checks
cd2c3d12db43 ustream-mbedtls: fix comparison of integers of different signs
5896991e46a3 ustream-openssl: fix BIO_method memory leak
2c342ae57c5b ustream-openssl: fix wolfSSL includes
fa8ecd6ed140 cmake: fix linking when mbed TLS not in default paths
63656f81045f cmake: fix linking when wolfSSL not in default paths
c26f71e844df cmake: fix building out of the tree

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 months agobuild/json: add filesystem information
Paul Spooren [Mon, 14 Dec 2020 00:36:17 +0000 (14:36 -1000)]
build/json: add filesystem information

Some images are created using different filesystems, most popular
squashfs and ext4. To allow downstream projects to distinguesh between
those, add the `filesystem` information to created json files.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 months agoipq40xx: revert usage of VLAN S-TAG
David Bauer [Tue, 1 Dec 2020 17:55:27 +0000 (18:55 +0100)]
ipq40xx: revert usage of VLAN S-TAG

This reverts the usage of the S-Tag for separating LAN and WAN port on
the embedded switch. Many users complained about not being able to
manage C-Tag addition / removal on the switch as well as degraded
performance.

Fixes: commit 9da2b567605b ("ipq40xx: fix ethernet vlan double tagging")

Signed-off-by: David Bauer <mail@david-bauer.net>
4 months agozram-swap: remove the compression streams settings
Rui Salvaterra [Mon, 19 Oct 2020 18:21:13 +0000 (19:21 +0100)]
zram-swap: remove the compression streams settings

Zram switched to per-cpu compression streams since Linux 4.7 [1]. Drop the
irrelevant configuration (no-op).

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/block/zram?h=v4.7&id=43209ea2d17aae1540d4e28274e36404f72702f2

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
4 months agobcm53xx: MR32: fix DEVICE_VENODR typo
Christian Lamparter [Sun, 13 Dec 2020 15:14:35 +0000 (16:14 +0100)]
bcm53xx: MR32: fix DEVICE_VENODR typo

DEVICE_VENDOR was misspelled as DEVICE_VENODR.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 months agoipq40xx: fix 5Ghz tx/rx power on the ASUS MAP-AC2200
Yushi Nishida [Fri, 27 Nov 2020 20:54:22 +0000 (21:54 +0100)]
ipq40xx: fix 5Ghz tx/rx power on the ASUS MAP-AC2200

The ASUS MAP-AC2200 suffers from a lower transmit/receive
signal power as compared to the stock firmware.

Upon investigation, it was discovered that stock firmware from
the GPL_MAP-AC2200_3.0.0.4.384.46249-g97d05bb.tar archive.
set the following GPIOs in "release/src/router/rc/init.c".

GPIO 44 and 46 have to be set to output high
GPIO 45 and 47 have to be set to output low

Here are some results, after activating the relevant
gpios through cmdline:

<https://forum.openwrt.org/t/asus-map-ac2200-low-transmit-receive-signal-5ghz/69005/12>

THX @ slh

Fixes: 9ad3967f140 ("ipq40xx: add support for ASUS Lyra")
Signed-off-by: Yushi Nishida <kyro2man@gmx.net>
[slightly rewritten commit, added missing <>)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 months agouboot-zynq: fix dtc compilation on host gcc 10
Luis Araneda [Sun, 2 Aug 2020 23:34:42 +0000 (19:34 -0400)]
uboot-zynq: fix dtc compilation on host gcc 10

gcc 10 defaults to -fno-common, which causes an error
when linking.

Back-port the following Linux kernel commit to fix it:
e33a814e772c (scripts/dtc: Remove redundant YYLOC global declaration)

Tested on an Arch Linux host with gcc 10.1.0

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
4 months agoodhcpd: remove local mkdir_p implementation
Daniel Golle [Sun, 13 Dec 2020 00:12:37 +0000 (00:12 +0000)]
odhcpd: remove local mkdir_p implementation

Replace local mkdir_p implementation in favour of using mkdir_p now
added to libubox.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agoprocd: update to git HEAD
Daniel Golle [Sat, 12 Dec 2020 23:33:14 +0000 (23:33 +0000)]
procd: update to git HEAD

 111416d jail: remove unreachable code
 7f12c89 treewide: replace local mkdir_p implementations

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agofstools: update to git HEAD
Daniel Golle [Sat, 12 Dec 2020 23:29:59 +0000 (23:29 +0000)]
fstools: update to git HEAD

 0c6fb90 jffs2-reset: allow doing a factory reset and passing a sysupgrade.tgz
 4862530 mount: restorecon: guard against execl() errors
 f415323 block: replace local mkdir_p implementation

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agolibubox: utils: introduce mkdir_p
Daniel Golle [Sat, 12 Dec 2020 23:26:16 +0000 (23:26 +0000)]
libubox: utils: introduce mkdir_p

Add new utility function mkdir_p(char *path, mode_t mode) to replace
the partially buggy implementations found accross fstools and procd.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agoselinux-policy: update to version 0.4
Daniel Golle [Sat, 12 Dec 2020 14:45:16 +0000 (14:45 +0000)]
selinux-policy: update to version 0.4

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agoxfrm: support 'multicast' attribute on interfaces
Philip Prindeville [Mon, 7 Dec 2020 20:19:30 +0000 (13:19 -0700)]
xfrm: support 'multicast' attribute on interfaces

You shouldn't need the overhead of GRE just to add multicast
capability on a point-to-point interface (for instance, you might
want to run mDNS over IPsec transport connections, and Avahi
requires IFF_MULTICAST be set on interfaces, even point-to-point
ones).

Borrowed heavily from:

    b3c9321b9e gre: Support multicast configurable gre interfaces

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
4 months agoopenssl: update to 1.1.1i
Eneas U de Queiroz [Fri, 11 Dec 2020 11:39:35 +0000 (08:39 -0300)]
openssl: update to 1.1.1i

Fixes: CVE-2020-1971, defined as high severity, summarized as:
NULL pointer deref in GENERAL_NAME_cmp function can lead to a DOS
attack.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 months agokernel: add Aquantia AQtion USB-to-5GbE adapters
Marty Jones [Tue, 24 Nov 2020 02:49:10 +0000 (21:49 -0500)]
kernel: add Aquantia AQtion USB-to-5GbE adapters

This add support for USB-to-Ethernet Aquantia AQtion
5/2.5GbE adapters based on the AQC111U controllers.

Run-tested: x86
Adapter-tested: Sabrent NT-SS5G
Signed-off-by: Marty Jones <mj8263788@gmail.com>
4 months agomvebu: fix initramfs/kernel image for CZNIC Turris Omnia
Karel Kočí [Thu, 22 Oct 2020 11:29:57 +0000 (13:29 +0200)]
mvebu: fix initramfs/kernel image for CZNIC Turris Omnia

This adds DTB to kernel and that way makes it possible to easily boot
initramfs image and also kernel.

The sequence to boot initramfs on Omnia is then just:
  env set bootargs earlyprintk console=ttyS0,115200
  dhcp 0x1000000 192.168.1.1:openwrt-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin
  bootz 0x1000000

Without this change kernel boot won't proceed and is stuck on "Starting
kernel".

Signed-off-by: Karel Kočí <karel.koci@nic.cz>
[fixed From: to match with SoB:]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 months agodropbear: bump package version
Konstantin Demin [Wed, 25 Nov 2020 03:16:06 +0000 (06:16 +0300)]
dropbear: bump package version

Bump package version after previous changes.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
[added missing commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 months agodropbear: add ssh-askpass support in configuration
Konstantin Demin [Wed, 25 Nov 2020 03:14:30 +0000 (06:14 +0300)]
dropbear: add ssh-askpass support in configuration

binary size cost is much less than 1k.

tested on ath79/generic:
  bin: 215128 -> 215132 (+4b)
  ipk: 111183 -> 111494 (+311b)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
4 months agodropbear: roll up recipes into mapping lists
Konstantin Demin [Wed, 25 Nov 2020 03:12:41 +0000 (06:12 +0300)]
dropbear: roll up recipes into mapping lists

this commit removes manual recipes for options and introduces mapping lists:
- DB_OPT_COMMON holds option mappings which are common for all builds;
- DB_OPT_CONFIG holds option mappings which are depend on config settings.

DB_OPT_COMMON is space-separated list of 'words', each of them is in format:
  'header_option|value'

'header_option' is added with value 'value' to 'localoptions.h'.

if 'header_option' is preceded by two exclamation marks ('!!')
then option is not added to 'localoptions.h' but replaced in 'sysoptions.h'.

in short:
   option|value - add option to localoptions.h
 !!option|value - replace option in sysoptions.h

DB_OPT_CONFIG is space-separated list of 'words', each of them is in format:
  'header_option|config_variable|value_enabled|value_disabled'

'header_option' is handled likewise in DB_OPT_COMMON.

if 'config_variable' is enabled (technically: not disabled)
then 'header_option' is set to 'value_enabled' and 'value_disabled' otherwise.

in short:
   option|config|enabled|disabled = add option to localoptions.h
 !!option|config|enabled|disabled = replace option in sysoptions.h

   option := (config) ? enabled : disabled

If you're not sure that option's value doesn't have '|' within - add your recipe
manually right after '$(Build/Configure/dropbear_headers)' and write some words
about your decision.

PS about two exclamation marks:
early idea was to use one exclamation mark to denote such header options
but then i thought single exclamation mark may be overlooked by mistake.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
4 months agodropbear: rework recipes that configure build
Konstantin Demin [Wed, 25 Nov 2020 04:33:25 +0000 (07:33 +0300)]
dropbear: rework recipes that configure build

- add two helper functions to avoid mistakes with
  choice of correct header file to work with
- update rules accordingly

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
4 months agodropbear: reorder options in Configure recipe
Konstantin Demin [Tue, 24 Nov 2020 23:59:59 +0000 (02:59 +0300)]
dropbear: reorder options in Configure recipe

put static options at first place, then place configurable options.
also put DROPBEAR_ECC right before DROPBEAR_ECC_FULL to ease maintainance.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
4 months agodropbear: enable back DROPBEAR_USE_PASSWORD_ENV
Konstantin Demin [Tue, 24 Nov 2020 22:54:05 +0000 (01:54 +0300)]
dropbear: enable back DROPBEAR_USE_PASSWORD_ENV

this option was disabled in 2011 and these long nine years showed us that change was definitely wrong.

binary size cost is much less than 1k.

tested on ath79/generic:
  bin: 215128 -> 215128 (no change)
  ipk: 111108 -> 111183 (+75b)

Fixes: 3c801b3dc0359 ("tune some more options by default to decrease size")
Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
4 months agorealtek: Add missing case in switch statement
Rafał Mikrut [Tue, 8 Dec 2020 21:01:14 +0000 (22:01 +0100)]
realtek: Add missing case in switch statement

Cppcheck shows here duplicated break.

Code `state->speed = SPEED_1000;` will be never executed because above
it there is break statement.

Almost identical statement is placed in another realtek driver
https://github.com/openwrt/openwrt/blob/18a53d43d646290053eff4736ec852efcf6bf510/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/dsa.c#L286-L294

Signed-off-by: Rafał Mikrut <mikrutrafal@protonmail.com>
4 months agorealtek: Fix self assignment
Rafał Mikrut [Tue, 8 Dec 2020 20:54:40 +0000 (21:54 +0100)]
realtek: Fix self assignment

Cppcheck shows self initialization error, which is an obvious bug.

Basing on logic of similar fragment below I assigned to this variable,
value `RTL838X_LED_GLB_CTRL` which I think is proper.

Signed-off-by: Rafał Mikrut <mikrutrafal@protonmail.com>
4 months agopackage/base-files: caldata: use dd iflag fullblock
John Thomson [Wed, 9 Dec 2020 03:03:04 +0000 (13:03 +1000)]
package/base-files: caldata: use dd iflag fullblock

This dd flag ensures that the requested size
is retrieved from pipes or special filesystems (if available).

Without this flag, on multi-core systems,
Piped or special filesystem data can be truncated
when a size greater than PIPE_BUF is requested.

Fixes: FS#3494
Fixes: 7557e7f ("package/base-files: caldata: work around dd's
limitation")
Cc: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
4 months agowolfssl: fix broken wolfSSL_X509_check_host
Petr Štetiar [Mon, 7 Dec 2020 09:10:49 +0000 (10:10 +0100)]
wolfssl: fix broken wolfSSL_X509_check_host

Backport upstream post 4.5.0 fix for broken wolfSSL_X509_check_host().

References: https://github.com/wolfSSL/wolfssl/issues/3329
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 months agowolfssl: compile with --enable-opensslall
Eneas U de Queiroz [Mon, 7 Dec 2020 02:43:48 +0000 (23:43 -0300)]
wolfssl: compile with --enable-opensslall

This enables all OpenSSL API available.  It is required to avoid some
silent failures, such as when performing client certificate validation.

Package size increases from 356.6K to 374.7K for
arm_cortex-a9_vfpv3-d16.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 months agowolfssl: add lighty support, skip crypttests
Eneas U de Queiroz [Mon, 7 Dec 2020 02:43:47 +0000 (23:43 -0300)]
wolfssl: add lighty support, skip crypttests

Tnis adds the --enable-lighty option to configure, enabling the minimum
API needed to run lighttpd, in the packages feed.  Size increase is
about 120 bytes for arm_cortex-a9_vfpv3-d16.

While at it, speed up build by disabling crypt bench/test.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 months agobcm63xx: DGND3700v1: use the real board name
Daniel González Cabanelas [Thu, 10 Dec 2020 09:26:46 +0000 (10:26 +0100)]
bcm63xx: DGND3700v1: use the real board name

The Netgear DGND3700v1/DGND3800B shows kernel redundant info at the board
message, already provided by the machine info message.

Use the real board name which is silkscreened on the PCB and used in the
stock firmware header.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
4 months agoconfig: add big EXPERIMENTAL option
Daniel Golle [Thu, 10 Dec 2020 19:29:03 +0000 (19:29 +0000)]
config: add big EXPERIMENTAL option

As discussed in the today's (2020-12-10) meeting, add a new option to
menuconfig to group the selection of all experimental features to be
selected by default.
Developers are recommended to make use of this new symbol to guard
new features.
Other developers and community members should feel encouraged to
build with this flag enabled to help testing and provide feedback.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agoscripts/feeds: fix preference of package install
Karel Kočí [Tue, 10 Dec 2019 12:04:19 +0000 (13:04 +0100)]
scripts/feeds: fix preference of package install

The previous behavior prefered same feed for dependent packages as
initial package. This caused inconsitency in installation of packages.
The difference was if two feeds provide same package (different version)
there was different result if you executed install for that specific
version compared to install for package depending on it from different
feed.

This ensures that preferred feed is propagated without change and
selected feed is used only really for package it was selected for.

Signed-off-by: Karel Kočí <karel.koci@nic.cz>
4 months agoopkg: remove legacy dist and extra_data
Paul Spooren [Sun, 6 Dec 2020 19:24:52 +0000 (09:24 -1000)]
opkg: remove legacy dist and extra_data

efb26a3 libopkg: remove "extra_data" option
1d67ab7 libopkg: remove support for "dist" config

Reduces opkg size by about 400 Bytes.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 months agoiftop: remove package
Paul Spooren [Wed, 9 Dec 2020 21:20:49 +0000 (11:20 -1000)]
iftop: remove package

The package has no reason to be in openwrt.git. Move it to packages.git.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Acked-by: Jo-Philipp Wich <jo@mein.io>
4 months agoodhcp6c: update to latest git HEAD
Hans Dedecker [Wed, 9 Dec 2020 21:30:38 +0000 (22:30 +0100)]
odhcp6c: update to latest git HEAD

0ffa3a3 dhcpv6: harden reconfigure logic
3999b6d dhcpv6: rework DHCPv6 message to string implementation

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 months agoscripts/feeds: warn when skipping core package override
Brian Norris [Sat, 4 Jul 2020 02:51:57 +0000 (19:51 -0700)]
scripts/feeds: warn when skipping core package override

Otherwise, a n00b like myself can get quite confused when moving a
package from core to feeds, for example.

(Hint: one *really* needs to clear out the tmp/info/.packageinfo...
entries for the stale package, but '-f' works as well.)

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
4 months agokernel: bump 5.4 to 5.4.82
John Audia [Tue, 8 Dec 2020 14:27:08 +0000 (09:27 -0500)]
kernel: bump 5.4 to 5.4.82

Removed since included upstream and could be reverse-applied by quilt:
  backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch

Remaining modifications made by update_kernel.sh

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Curtis Deptuck <curtdept@me.com> [build/run x86_64]
4 months agolldpd: fix autoreconf failure
Jo-Philipp Wich [Wed, 9 Dec 2020 10:53:04 +0000 (11:53 +0100)]
lldpd: fix autoreconf failure

The lldpd sources ship a modified local AX_LIB_READLINE M4 macro which
conflicts with the official macro shipped by autoconf-archive.

Due to the official macro having the same name and a higher serial
number, autoconf will prefer including that one instead of the local
copy, preventing the substitution of @READLINE_LIBS@ in Makefile.in
templates, ultimately leading to the following build failure when
linking lldpcli:

    ...-gcc: error: READLINE_LIBS@: No such file or directory

Avoid this problem by renaming the locally shipped macro to not clash
with the official implementation anymore.

Ref: https://github.com/lldpd/lldpd/pull/423
Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
Tested-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 months agobcm63xx: add support for Innacomm W3400V6
Sieng Piaw Liew [Fri, 9 Oct 2020 09:04:03 +0000 (17:04 +0800)]
bcm63xx: add support for Innacomm W3400V6

Innacomm W3400V6 is an xDSL B/G wireless router based on Broadcom BCM6328 SoC.

Hardware:
   SoC:          Broadcom BCM6328
   CPU:          BMIPS4350 V8.0, 320 MHz, 1 core
   Flash:        SPI-NOR 8MB, MX25L6406E
   RAM:          64 MB
   Ethernet:     4x 10/100 Mbps
   Switch:       Integrated
   Wireless:     802.11b/g, BCM4312
   LEDs/Buttons: 9x / 2x

Flash instruction, web UI:
1) Set a static IP on your computer compatible
with 192.168.1.1, i.e 192.168.1.100
2) Connect the ethernet cable from your computer to the router.
3) Make sure the router is powered off.
4) Press the reset button, don't release it yet!
5) While pressing reset, power on the router.
6) Wait 10 seconds or more.
Note: The power LED is red at first then turns to solid
green when ready.
8) Release the reset button.
9) Browse to 192.168.1.1
10) Select .bin file.
10) Upgrade the image.
11) Wait for it to reboot.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[Ammend commit description, merge patches, DT improvements]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agokernel: unlock MX25L6406E with 4 bit Block Protect
Sieng Piaw Liew [Fri, 9 Oct 2020 09:01:20 +0000 (17:01 +0800)]
kernel: unlock MX25L6406E with 4 bit Block Protect

Hacked in basic support for 4 bit Block Protection register, copied from
linux-master. Needed to unlock Innacomm W3400V's SPI flash MX25L6406E,
compatible with MX25L6405D.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[Amend commit description, refresh patch]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agouboot-envtools: ramips: use full names for Xiaomi Mi Routers
Adrian Schmutzler [Tue, 8 Dec 2020 22:45:10 +0000 (23:45 +0100)]
uboot-envtools: ramips: use full names for Xiaomi Mi Routers

This updates uboot-envtools with the updated names from ramips
target.

Fixes: 6d4382711a65 ("ramips: use full names for Xiaomi Mi Router devices")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agoramips: use full names for Xiaomi Mi Router devices
Adrian Schmutzler [Tue, 8 Dec 2020 14:05:47 +0000 (15:05 +0100)]
ramips: use full names for Xiaomi Mi Router devices

This aligns the device/image names of the older Xiaomi Mi Router
devices with their "friendly" model and DEVICE_MODEL properties.

This also reintroduces consistency with the newer devices already
following that scheme.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agoramips: mt7628: create shared DTSI for Xiaomi Mi Router 4A/4C
Adrian Schmutzler [Tue, 8 Dec 2020 14:33:32 +0000 (15:33 +0100)]
ramips: mt7628: create shared DTSI for Xiaomi Mi Router 4A/4C

The Xiaomi Mi Router 4A (100M) and 4C are relatively similar in
their specs. Create a shared DTSI for them.

Partitions are split in preparation for Mi Router 4AC.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agobuild: find_md5 list with mod time and sorted
John Beckett [Mon, 21 Sep 2020 12:34:17 +0000 (13:34 +0100)]
build: find_md5 list with mod time and sorted

It was observed that the MD5 would not change after source files had been
modified, looking deeper into the build process it was discovered that
find_md5 build function makes a list of the files being built and then
passes the list to a summing utility on stdin.  The resultant MD5 is of
the file list, not the contents of the files.

The MD5 would change if the ordering of the list changed, or items were
removed or deleted.

The proposed fix is to add the modification time after the filename and
then sort the list to prevent find returning files in a different order
falsely re-triggering a rebuild. The MD5 will now change when a file is
modified or files are added/removed from the list.

Using 'T@' to show time in epoch for timezone independent behaviour.

Signed-off-by: John Beckett <john.beckett@net2edge.com>
4 months agolibcxx[abi]: remove
Rosen Penev [Sat, 5 Dec 2020 09:21:05 +0000 (01:21 -0800)]
libcxx[abi]: remove

This is a neat project, but offers no benefit to OpenWrt. The initial
reason for it was to be a replacement for libstdcpp as it is smaller
and lacks compatibility for C++98. Unfortunately, compiling several
packages with it results in larger ipk sizes.

While not a member of the packages feed, this will be moved to
packages-abandoned to keep it somewhere.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 months agobuild: require rsync
Stijn Tintel [Fri, 4 Dec 2020 17:16:26 +0000 (19:16 +0200)]
build: require rsync

It seems to be required to build toolchain/kernel-headers.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 months agorules.mk: use -fPIC instead of -fpic on arm64
Stijn Tintel [Fri, 4 Dec 2020 16:32:46 +0000 (18:32 +0200)]
rules.mk: use -fPIC instead of -fpic on arm64

Some packages fail to build on arm64 when PKG_ASLR_PIE_ALL=y, due to
machine-specific size restrictions on the global offset table.
While the manual instructs to recompile with -fPIC if it fails with
-fpic, by doing this per package, there is still a risk of random
breakage due to version bumps or other changes, so let's use -fPIC on
arm64 by default.

While comparing the sizes of 141 packages built with -fpic vs -fPIC,
most packages are either equal or smaller in size. Only 9 of the
compared packages turned out slightly larger.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 months agoramips: remove redundant status for USB controllers
Adrian Schmutzler [Tue, 1 Dec 2020 13:48:42 +0000 (14:48 +0100)]
ramips: remove redundant status for USB controllers

mt7621, mt7628an and rt5350 have USB controllers (ehci/ohci or xhci)
enabled by default. Thus, this patch drops redundant status=okay
statements in derived device DTS files.

While at it, also drop an explicit status=okay in mt7621.dtsi, as
this is default.

Note:

For rt5350, about 50 % of the devices enabled ehci/ohci in the DTS
files, and there is actually no device actively disabling it.
It looks like only a few people are aware that the controllers are
enabled by default here.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agoramips: simplify status for ehci/ohci on mt7628 TP-Link devices
Adrian Schmutzler [Tue, 1 Dec 2020 13:48:41 +0000 (14:48 +0100)]
ramips: simplify status for ehci/ohci on mt7628 TP-Link devices

At the moment, ehci/ohci is enabled in mt7628an SoC DTSI, then
disabled in the TP-Link-specific DTSI files, and finally enabled
again in the DTS files of the devices needing it.

This on-off-on scheme is hard to grasp on a quick look. Thus, this
patch drops the status in the TP-Link-specific DTSI files, having
the TP-Link devices treated like the rest of mt7628an DTSes, i.e.
ehci/ohci is enabled by default and needs to be disabled explicitly
where needed.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agoath79: add support for Belkin F9J1108v2 (AC1750 DB Wi-Fi)
Damien Mascord [Mon, 7 Dec 2020 02:01:38 +0000 (13:01 +1100)]
ath79: add support for Belkin F9J1108v2 (AC1750 DB Wi-Fi)

This device is the non-US build of the F9K1115 v2, with a different
firmware magic.

Specifications:

SoC: QCA9558
CPU: 720 MHz
Flash: 16 MiB NOR
RAM: 128 MiB
WiFi 2.4 GHz: QCA9558-AT4A 3x3 MIMO 802.11b/g/n
WiFi 5 GHz: QCA9880-2R4E 3x3 MIMO 802.11a/n/ac
Ethernet: 4x LAN and 1x WAN (all 1gbps)
USB: 1 x USB 2.0 (lower), 1 x USB 3.0 (upper)

MAC addresses based on OEM firmware:

Interface   Address   Location
---------   -------   --------
lan         *:5A      sometimes in 0x6
wan         *:5B      0x0
2.4Ghz      *:5A      0x1002
5Ghz        As per mini PCIe EEPROM

Flashing instructions:

The factory.bin can be flashed via the Belkin web UI or via the uboot
http upgrade page.
Once the factory.bin has been written, sysupgrade.bin will work as usual.

Signed-off-by: Damien Mascord <tusker@tusker.org>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
[wrap commit message/code, adjust label-mac-device, whitespace fixes,
merge block in 02_network]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 months agofirmware-utils: tplink-safeloader: refactor meta-partition padding
Sander Vanheule [Sat, 15 Aug 2020 07:51:18 +0000 (09:51 +0200)]
firmware-utils: tplink-safeloader: refactor meta-partition padding

Because some padding values in the TP-Link safeloader image generation
were hardcoded, different values were sometimes used throughout a
factory image. TP-Link's upgrade images use the same value everywhere,
so let's do the same here.

Although a lot of TP-Link's safeloader images have padded partition
payloads, images for the EAP-series of AC devices don't. This padding is
therefore also made optional.

By replacing the type of the padding value byte with a wider datatype,
new values outside of the previously valid range become available. Use
these new values to denote that padding should not be performed.
Because char might be signed, also replace the char literals by a
numeric literal. Otherwise '\xff' might be sign extended to 0xffff.

This results in factory images differing by 1 byte for:
* C2600
* ARCHER-C5-V2
* ARCHERC9
* TLWA850REV2
* TLWA855REV1
* TL-WPA8630P-V2-EU
* TL-WPA8630P-V2-INT
* TL-WPA8630P-V2.1-EU
* TLWR1043NDV4
* TL-WR902AC-V1
* TLWR942NV1
* RE200-V2
* RE200-V3
* RE220-V2
* RE305-V1
* RE350-V1
* RE350K-V1
* RE355
* RE450
* RE450-V2
* RE450-V3
* RE500-V1
* RE650-V1

The following factory images no longer have padding, shrinking the
factory images by a few bytes for:
* EAP225-OUTDOOR-V1
* EAP225-V3
* EAP225-WALL-V2
* EAP245-V1
* EAP245-V3

Signed-off-by: Sander Vanheule <sander@svanheule.net>
4 months agofirmware-utils: tplink-safeloader: refactor meta-partition generation
Sander Vanheule [Wed, 5 Aug 2020 18:49:44 +0000 (20:49 +0200)]
firmware-utils: tplink-safeloader: refactor meta-partition generation

TP-Link safeloader firmware images contain a number of (small)
partitions with information about the device. These consist of:
* The data length as a 32-bit integer
* A 32-bit zero padding
* The partition data, with its length set in the first field

The OpenWrt factory image partitions that follow this structure are
soft-version, support-list, and extra-para. Refactor the code to put all
common logic into one allocation call, and let the rest of the data be
filled in by the original functions.

Due to the extra-para changes, this patch results in factory images that
change by 2 bytes (not counting the checksum) for three devices:
* ARCHER-A7-V5
* ARCHER-C7-V4
* ARCHER-C7-V5

These were the devices where the extra-para blob didn't match the common
format. The hardcoded data also didn't correspond to TP-Link's (recent)
upgrade images, which actually matches the meta-partition format.

A padding byte is also added to the extra-para partition for EAP245-V3.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
4 months agolzo: remove
Rosen Penev [Sat, 5 Dec 2020 03:20:14 +0000 (19:20 -0800)]
lzo: remove

This is not used by any package in base. It will be moved to packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 months agomtd-utils: remove lzo build dependency
Rosen Penev [Sun, 6 Dec 2020 08:36:05 +0000 (00:36 -0800)]
mtd-utils: remove lzo build dependency

The build option `--withouth-lzo` is added in the Makefile which makes
the existence of lzo obsolete. To remove the lzo package from
openwrt.git entirely, remove the legacy dependency.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[improved commit message]
Signed-off-by: Paul Spooren <mail@aparcar.org>
4 months agokernel: kmod-lib-zstd: enable crypto API support
Rui Salvaterra [Tue, 27 Oct 2020 09:42:31 +0000 (09:42 +0000)]
kernel: kmod-lib-zstd: enable crypto API support

Zstd is supported by the crypto API since Linux 4.18. Enable this feature and
reveal the package in the configuration section, so the user can select it.
This allows zstd to be used as a compression algorithm in zram, for example.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
4 months agohostapd: Disable 802.11b data rates by default
Nick Lowe [Fri, 4 Dec 2020 17:47:47 +0000 (17:47 +0000)]
hostapd: Disable 802.11b data rates by default

Set legacy_rates to 0 by default to disable 802.11b data rates by default.

The time has long come where 802.11b DSSS/CCK data rates should be disabled
by default in OpenWRT. Users in need of 802.11b client support can reasonably
enable these where they are needed.

The balance of equities has significantly, and for a long time, tipped
such that dropping backwards compatibility by default with 802.11b
devices is appropriate, proportionate and justified. By doing so,
management and control traffic is moved by default to a 20
MHz wide 6 Mb/s OFDM data rate instead of a 22 MHz wide 1 Mb/s DSSS data
rate. This is significantly more airtime efficient.

Signed-off-by: Nick Lowe <nick.lowe@gmail.com>
4 months agobcm63xx: fix ADB P.DG A4001N A-000-1A1-AX LEDs
Álvaro Fernández Rojas [Sun, 6 Dec 2020 18:20:04 +0000 (19:20 +0100)]
bcm63xx: fix ADB P.DG A4001N A-000-1A1-AX LEDs

There's no eth0.2 since all ethernet ports as configured as LAN.
LAN LED is unneeded since all ethernet ports have their own LED.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agobcm63xx: add support for Technicolor TG582n
Daniele Castro [Thu, 10 Sep 2020 19:14:11 +0000 (21:14 +0200)]
bcm63xx: add support for Technicolor TG582n

Technicolor TG582n has a similar PCB as the OpenWrt's ADB P.DG A4001N1
with LEDs connected to different GPIO PINs in active low configuration.

Hardware:
* Board ID: DANT-1
* SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350
* RAM DDR2: 64 Mbyte - Winbond W9751G6KB-25
* Serial flash: 16 Mbyte - MXIC MX25L6445EMI
* Ethernet: 4x Ethernet 10/100 baseT
* Wifi 2.4GHz: Broadcom Corporation BCM43227 Wireless Network Adapter (rev 30)
* LEDs: 2x Power, 1x Ethernet, 1x Broadband, 2x Wi-Fi, 2x WPS, 4x ethernet
* Buttons: 1x Reset, 1x WPS, 1x WiFi
* UART: 1x TTL 115200n8, VCC GND TX RX, on J3 connector (short R62 and R63)

Installation via CFE:
* Stock CFE has to be overwritten with a generic 6328 one that can upload
  .bin images with no signature check (cfe6328_configured.bin)
* Connect a serial port to the board
* Stop the CFE boot process after power on by pressing enter
* Set static IP 192.168.2.10 and subnet mask 255.255.255.0
* Navigate to http://192.168.2.50/
* Upload the OpenWrt image file

PCB:   |GPIO:   |TG582n:

LED2R  |488(08) |red    Power
LED2G  |484(04) |green  Power

LED10R |486(06) |
LED13G |485(05) |green  Ethernet

LED11R |494(14) |
LED14G |491(11) |green  Broadband

LED5R  |487(07) |red    Internet
LED5G  |481(01) |green  Internet

LED12R |498(18) |
LED12G |499(19) |

LED6R  |482(02) |red    Wi-Fi
LED6G  |483(03) |green  Wi-Fi

LED7R  |490(10) |red    WPS
LED7G  |489(09) |green  WPS

LED4   |508(28) |ethernet port 4
LED3   |507(27) |ethernet port 3

LED9   |506(26) |ethernet port 2
LED8   |505(25) |ethernet port 1

SW3    |503(23) |key Reset

SW5    |504(24) |key WPS

SW4    |495(15) |key Wi-Fi

SW6    |493(13) |

SW1    |492(12) |

Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
[Fix base-files, refresh patch]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agobcm63xx: add support for Technicolor TG582n Telecom Italia branded
Daniele Castro [Tue, 8 Sep 2020 15:16:06 +0000 (17:16 +0200)]
bcm63xx: add support for Technicolor TG582n Telecom Italia branded

Technicolor TG582n Telecom Italia branded a.k.a.
Telecom Italia ADSL2+ Wi-Fi N (AGTWI)
has the same PCB as the unbranded Technicolor TG582n with LEDs
connected to different GPIO PINs in active low configuration and
different LED names. It has a PCB similar to the OpenWrt's ADB P.DG A4001N1 one.

Hardware:
* Board ID: DANT-V
* SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350
* RAM DDR2: 64 Mbyte - EtronTech EM68B16CWQD-25H
* Serial flash: 16 Mbyte - Spansion FL 128SAIF00
* Ethernet: 4x Ethernet 10/100 baseT
* Wifi 2.4GHz: Broadcom Corporation BCM43227 Wireless Network Adapter (rev 30)
* LEDs: 2x Power, 1x ADSL, 2x Internet, 2x Wi-Fi, 2x Service, 4x ethernet
* Buttons: 1x Reset, 1x WPS (named WiFi/LED)
* UART: 1x TTL 115200n8, VCC GND TX RX, on J3 connector (short R62 and R63)

Installation via CFE:
* Stock CFE has to be overwritten with a generic 6328 one that can upload
  .bin images with no signature check (cfe6328_configured.bin)
* Connect a serial port to the board
* Stop the CFE boot process after power on by pressing enter
* Set static IP 192.168.2.10 and subnet mask 255.255.255.0
* Navigate to http://192.168.2.50/
* Upload the OpenWrt image file

PCB:   |GPIO:   |TG582n:          |AGTWI:

LED2R  |488(08) |red    Power     |red   Power
LED2G  |484(04) |green  Power     |green Power

LED10R |486(06) |                 |missing R85 end LED
LED13G |485(05) |green  Ethernet  |green ADSL

LED11R |494(14) |                 |red   Internet
LED14G |491(11) |green  Broadband |green Internet

LED5R  |487(07) |red    Internet  |red   Wi-Fi
LED5G  |481(01) |green  Internet  |green Wi-Fi

LED12R |498(18) |                 |red   Service
LED12G |499(19) |                 |green Service

LED6R  |482(02) |red    Wi-Fi     |missing R108 end LED
LED6G  |483(03) |green  Wi-Fi     |missing R107 end LED

LED7R  |490(10) |red    WPS       |missing R91 end LED
LED7G  |489(09) |green  WPS       |missing R92 end LED

LED4   |508(28) |ethernet port 4  |ethernet port 4
LED3   |507(27) |ethernet port 3  |ethernet port 3

LED9   |506(26) |ethernet port 2  |ethernet port 2
LED8   |505(25) |ethernet port 1  |ethernet port 1

SW3    |503(23) |key Reset        |key Reset

SW5    |504(24) |key WPS          |key Wi-Fi/LED

SW4    |495(15) |key Wi-Fi        |missing R127 end key

SW6    |493(13) |                 |missing R171 end key

SW1    |492(12) |                 |missing R1 end key

Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
[DT fixes, base-files fixes and device variant]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agoopenssl: use --cross-compile-prefix in Configure
Eneas U de Queiroz [Sat, 28 Nov 2020 21:06:33 +0000 (18:06 -0300)]
openssl: use --cross-compile-prefix in Configure

This sets the --cross-compile-prefix option when running Configure, so
that that it will not use the host gcc to figure out, among other
things, compiler defines.  It avoids errors, if the host 'gcc' is
handled by clang:

mips-openwrt-linux-musl-gcc: error: unrecognized command-line option
'-Qunused-arguments'

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Tested-by: Rosen Penev <rosenp@gmail.com>
4 months agobcm63xx: add support for ADB P.DG A4101N A-000-1A1-AE
Daniele Castro [Wed, 9 Sep 2020 01:21:14 +0000 (03:21 +0200)]
bcm63xx: add support for ADB P.DG A4101N A-000-1A1-AE

ADB P.DG A4101N A-000-1A1-AE has a similar PCB as the OpenWrt's ADB P.DG A4001N1
with LEDs connected to different GPIO PINs in active low configuration.

Hardware:
* Board ID: 96328avngv
* SoC: Broadcom BCM6328 (rev b0) @ 320MHz, CPU BMIPS4350
* RAM DDR2: 64 Mbyte - Winbond W9751G6KB-25
* Serial flash: 16 Mbyte - Winbond 25Q128BVFG
* Ethernet: 4x Ethernet 10/100 baseT
* Wifi 2.4GHz: Broadcom Corporation BCM43225 Wireless Network Adapter (rev 23)
* LEDs: 1x Power, 1x DSL, 1x Internet, 4x ETH, 1x USB, 1x WLAN, 1x WPS, 1x TEL
* Buttons: 1x Reset, 1x WPS, 1x unnamed
* UART: 1x TTL 115200n8, VCC RX TX GND, on J502 connector

Installation via CFE:
* Stock CFE has to be overwritten with a generic 6328 one that can upload
  .bin images with no signature check (cfe6328_configured.bin)
* Connect a serial port to the board
* Stop the cfe boot process after power on by pressing enter
* Set static IP 192.168.2.10 and subnet mask 255.255.255.0
* Navigate to http://192.168.2.50/
* Upload the OpenWrt image file

A4101N GPIO LAYOUT:

Power            always on
DSL              GPIO483(03)
Internet         GPIO491(11)
ETH1             GPIO505(25)
ETH2             GPIO506(26)
ETH3             GPIO507(27)
ETH4             GPIO508(28)
USB              GPIO490(10)
WLAN             controlled by BCM43225
WPS              GPIO489(09)
TEL              GPIO511(31)

Key RESET        GPIO503(23)
Key WPS          GPIO504(24)
Key unnamed      GPIO492(12)

Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
[Amend commit description, DTS improvements, refresh patches]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agoprocd: also depend on jshn
Sven Roederer [Sat, 5 Dec 2020 22:15:53 +0000 (23:15 +0100)]
procd: also depend on jshn

fixes "file no found" error on stripped down images, caused by prod.sh:43.

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
4 months agobuild: reduce cleanup binary calls in rootfs.mk
Paul Spooren [Mon, 21 Sep 2020 22:43:43 +0000 (12:43 -1000)]
build: reduce cleanup binary calls in rootfs.mk

Both `find` and `rm` only need to be called once for folders and files.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 months agoopenvpn: remove
Rosen Penev [Tue, 1 Dec 2020 20:37:02 +0000 (12:37 -0800)]
openvpn: remove

This will be moved to packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Acked-by: Paul Spooren <mail@aparcar.org>
4 months agoopenvpn-easy-rsa: remove
Rosen Penev [Tue, 1 Dec 2020 20:37:01 +0000 (12:37 -0800)]
openvpn-easy-rsa: remove

This will be moved to packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 months agoglibc: update to latest 2.32 commit (BZ# 26224)
Hans Dedecker [Sat, 5 Dec 2020 19:52:27 +0000 (20:52 +0100)]
glibc: update to latest 2.32 commit (BZ# 26224)

050022910b iconv: Accept redundant shift sequences in IBM1364 [BZ #26224]
ac0a6929c5 sh: Add sh4 fpu Implies folder
3ea24955bf struct _Unwind_Exception alignment should not depend on compiler flags

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 months agoodhcp6c: update to git HEAD
Hans Dedecker [Sat, 5 Dec 2020 19:45:29 +0000 (20:45 +0100)]
odhcp6c: update to git HEAD

faed29a dhcpv6: only refresh timers when reconfigure is valid
9c50975 dhcpv6: fix printing identity association id
a7b2221 dhcpv6: avoid sending continuous renew/rebind messages
d7afa2b dhcpv6: add extra syslog info traces
f5728e4 odhcp6c_find_entry: exclude priority from the list of fields that must match

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 months agobuild: make testing kernel decompression more portable
Felix Fietkau [Thu, 26 Nov 2020 15:12:12 +0000 (16:12 +0100)]
build: make testing kernel decompression more portable

On non-GNU systems, zcat often does not handle gzip decompression.
Use gzip -dc like the regular unpack command

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 months agokernel: remove an unused callback from the ip17xx switch driver
Felix Fietkau [Thu, 26 Nov 2020 16:29:11 +0000 (17:29 +0100)]
kernel: remove an unused callback from the ip17xx switch driver

Also remove the leftover kernel hack that adds support for it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 months agobcm63xx: Add support for D-Link DSL-2750u rev C1
Ahmed Naseef [Tue, 18 Aug 2020 12:22:20 +0000 (17:52 +0530)]
bcm63xx: Add support for D-Link DSL-2750u rev C1

This adds support for the D-Link DSL-2750u rev C1.
(https://deviwiki.com/wiki/D-Link_DSL-2750U_rev_C1)

It uses the same hardware as ADB P.DG A4001N.
CPU:   Broadcom BCM63281 (320 MHz)
RAM:   32M (Winbond W9725G6JB)
Flash:   8M (MXIC MX25L6445E)
Ethernet:   4x 100 Mbps
Wireless:   802.11b/g/n: BCM43225
USB:   1x 2.0

Flash instructions:

1.  Assign static IP 192.168.1.100 to PC
2.  Unplug the power source
3.  Press the RESET button at the router, don't release it yet!
4.  Plug the power source.Wait some seconds
5.  Release the RESET button
6.  Browse to http://192.168.1.1
7.  Send the openwrt-bcm63xx-generic-DSL2750U-C1-squashfs-cfe.bin and
    wait some minutes until the firmware upgrade finish.

Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
[DTS improvements, proper board patch, refresh patches]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 months agobcm63xx: A4001N A-000-1A1-AX: remove PSI (nvram) partition
Daniele Castro [Sat, 5 Sep 2020 15:33:23 +0000 (17:33 +0200)]
bcm63xx: A4001N A-000-1A1-AX: remove PSI (nvram) partition

ADB P.DG A4001N A-000-1A1-AX a.k.a. Telecom Italia ADSL2+ Wi-Fi N (AGPWI)
is a Telecom Italia braded router and it seems that there are no public
available unbranded versions of this router.

The stock Telecom Italia braded firmware has many partitions and the
partition layout changes with every firmware relase.

The PSI nvram partition is present in the stock firmware under the
"UNKNOWN" name but it's empty, full of FFs. Since removing partitions
does not cause problems with the stock firmware reflashing procedure,
I removed from the dts the PSI nvram partition from OpenWrt, expanded
the rootfs one and added the NVRAM partition contained in the
cfe bootloader.

Furthermore this router's flash needs to be entirely reprogrammed
and a new generic bcm6328 cfe must be flashed to boot OpenWrt. The
same process takes place when reflashing the stock firmware.

Here follows the original flash layout for AGPWI_1.1.0_013, the last
stock Telecom Italia braded firmware for which we have root
credentials (admin/riattizzati).

Flash layout:

Section 00 Type BOOT       Range 0x00000000-0x00020000 MaxSize 0x00020000
        No more information.

Section 01 Type IMAGE      Range 0x00020000-0x007C0000 MaxSize 0x0079FF6C
        Uninitialized.

Section 02 Type IMAGE      Range 0x00800000-0x00FA0000 MaxSize 0x0079FF6C
        Uninitialized.

Section 03 Type CONF       Range 0x00FA0000-0x00FC0000 MaxSize 0x0001FF6C
        Size 0x0000841E Name 'rg_conf'
        Checksum 0x0041E03B Counter 0x0000051F Start Offset 0x00000000

Section 04 Type CONF       Range 0x00FC0000-0x00FE0000 MaxSize 0x0001FF6C
        Size 0x0000838E Name 'rg_conf'
        Checksum 0x00419A5A Counter 0x00000522 Start Offset 0x00000000

Section 05 Type FACTORY    Range 0x00FE0000-0x00FF0000 MaxSize 0x0000FF6C
        Size 0x00000554 Name 'rg_factory'
        Checksum 0x0001255E Counter 0x000004D3 Start Offset 0x00000000

Section 06 Type UNKNOWN    Range 0x00FF0000-0x01000000 MaxSize 0x00010000
        No more information.

Total 7 sections found.

The last AGPWI firmware relase should be AGPWI_4.0.6 and it has much more
partitions than AGPWI_1.1.0_013.

The cfe partition in the stock firmware is 0x00020000 bytes long unlike the
OpenWrt dts in wich it's 0x00010000 bytes long because from 0x00010000 to
0x00020000 in the stock cfe there are only 00s and also because the cfe must
anyway be reflashed with a generic bcm6328 cfe 0x00010000 bytes long to
run OpenWrt.

Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
[Amend commit, remove unneeded cfe_nvram partition]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 months agobcm63xx: support xmit_more in BQL
Sieng Piaw Liew [Thu, 12 Nov 2020 18:21:07 +0000 (02:21 +0800)]
bcm63xx: support xmit_more in BQL

Support bulking hardware TX queue by using xmit_more.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[Amend commit description, fix kernel xmit_more exceptions]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 months agobcm63xx: add BQL support
Sieng Piaw Liew [Thu, 12 Nov 2020 18:20:30 +0000 (02:20 +0800)]
bcm63xx: add BQL support

Add Byte Queue Limits support to reduce/remove bufferbloat in bcm63xx target.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[Amend commit description]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 months agoath79: add support for TP-Link TL-WDR7500 v3
Adrian Schmutzler [Fri, 14 Aug 2020 11:09:12 +0000 (13:09 +0200)]
ath79: add support for TP-Link TL-WDR7500 v3

This ports support for the TP-Link TL-WDR7500 v3 from ar71xx to ath79.

The basic features appear to be identical to the Archer C7 v1, however
it has the (supported) QCA9880-BR4A chip of the C7 v2.

Specifications:

  SoC:       QCA9558
  CPU:       720 MHz
  Flash:     8 MiB
  RAM:       128 MiB
  WLAN:      2.4 GHz b/g/n, 5 GHz a/n/ac
             Qualcomm Atheros QCA9880-BR4A
  Ethernet:  5x Gbit ports
  USB:       2x 2.0 ports

Flashing instructions:

Upload the factory image via the OEM firmware GUI.

TFTP recovery appears to be available as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 months agokernel: bump 5.4 to 5.4.81
John Audia [Wed, 2 Dec 2020 11:45:04 +0000 (06:45 -0500)]
kernel: bump 5.4 to 5.4.81

All modifications made by update_kernel.sh/no human intervention needed

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[another refresh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 months agoramips: drop redundant status for gpio/gpio0
Adrian Schmutzler [Tue, 1 Dec 2020 13:14:59 +0000 (14:14 +0100)]
ramips: drop redundant status for gpio/gpio0

The first gpio controller (gpio or gpio0) is always enabled by
default in the SoC DTSI files. No need to set status=okay in the
device DTS files a second time.

Remove the redundant statements.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 months agoath79: drop num-cs for SPI controller
Adrian Schmutzler [Sun, 29 Nov 2020 17:03:48 +0000 (18:03 +0100)]
ath79: drop num-cs for SPI controller

None of the spi drivers on ath79 uses the num-cs property.

Cc: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Chuanhong Guo <gch981213@gmail.com>
5 months agoath79: remove num-chipselects from SPI controller
Adrian Schmutzler [Sun, 29 Nov 2020 16:07:17 +0000 (17:07 +0100)]
ath79: remove num-chipselects from SPI controller

The num-chipselects property is only valid for bit-banged spi-gpio [1].

For the generic SPI controller bindings, num-cs would be the correct
property [2].

Since num-cs is not required on ath79 either, just drop the lines.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-gpio.yaml
[2] https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-controller.yaml

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 months agoprocd: output warning if user 'ubus' doesn't exist
Daniel Golle [Fri, 4 Dec 2020 14:39:40 +0000 (14:39 +0000)]
procd: output warning if user 'ubus' doesn't exist

 6acc48c early: fall-back to run ubus as root if user can't be found

Signed-off-by: Daniel Golle <daniel@makrotopia.org>