openwrt/staging/pepe2k.git
4 years agoath79: add support for TP-Link CPE610 v2
Andrew Cameron [Thu, 18 Jun 2020 13:25:43 +0000 (08:25 -0500)]
ath79: add support for TP-Link CPE610 v2

TP-Link CPE610 v2 is an outdoor wireless CPE for 5 GHz with
one Ethernet port based on Atheros AR9344

Specifications:
 - 560/450/225 MHz (CPU/DDR/AHB)
 - 1x 10/100 Mbps Ethernet
 - 64 MB of DDR2 RAM
 - 8 MB of SPI-NOR Flash
 - 23dBi high-gain directional 2×2 MIMO antenna and a
   dedicated metal reflector
 - Power, LAN, WLAN5G green LEDs
 - 3x green RSSI LEDs

Flashing instructions:
 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 adress:192.168.0.254

Signed-off-by: Andrew Cameron <apcameron@softhome.net>
4 years agoath79: add support for TP-Link TL-WA801ND v3/v4
Adrian Schmutzler [Tue, 16 Jun 2020 13:14:18 +0000 (15:14 +0200)]
ath79: add support for TP-Link TL-WA801ND v3/v4

This ports support for these devices from ar71xx.

Specification:

- System-On-Chip: Qualcomm Atheros QCA9533
- CPU/Speed: v3: 560 MHz, v4: 650 MHz
- Flash: 4096 KiB
- RAM: 32 MiB
- Ethernet: 1 port @ 100M
- Wireless: SoC-integrated: QCA9533 2.4GHz 802.11bgn

In contrast to the implementation in ar71xx (reset and WiFi button),
the device actually features reset and WPS buttons.

Flashing instructions:

Upload the ...-factory.bin file via OEM web interface.

TFTP Recovery:

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

TFTP recovery has only been tested with v3, and the Wiki states
that the procedure won't work for v4, which cannot be verified
or falsified at the moment.

Tested by Tim Ward (see forum):
https://forum.openwrt.org/t/ath79-support-for-tp-link-tl-wa901nd-v3-v4-v5/61246/13

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: DGND3700v1: fix port order
Daniel González Cabanelas [Sat, 23 May 2020 22:24:02 +0000 (00:24 +0200)]
bcm63xx: DGND3700v1: fix port order

Fix the switch LAN labels for the DGND3700v1/DGND3800B router,
the order is reversed.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
[cut out of bigger patch, adjust commit title/message accordingly]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: HG622: enable LAN LEDs
Daniel González Cabanelas [Wed, 17 Jun 2020 09:39:56 +0000 (11:39 +0200)]
bcm63xx: HG622: enable LAN LEDs

The Huawei Echolife HG622 has hardware controlled LAN LEDs.

Add the ephy led pinctrl to let the router show LAN activity on these
LEDs.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
4 years agoath79: set &eth1 status for TP-Link CPE devices in parent DTSI
Adrian Schmutzler [Thu, 18 Jun 2020 20:31:11 +0000 (22:31 +0200)]
ath79: set &eth1 status for TP-Link CPE devices in parent DTSI

The status is set to "okay" for all devices on ar9344, so just move
this to the parent DTSI.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotoolchain: glibc ldd env path fixup
Chen Minqiang [Wed, 17 Apr 2019 12:00:49 +0000 (20:00 +0800)]
toolchain: glibc ldd env path fixup

This replace the shell script header of ldd
when it install to `/usr/bin/ldd` where
`#! /..../staging_dir/host/bin/bash`
should be
`#!/bin/sh`

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
4 years agobase-files: gpio switch: add named GPIO support
Kuan-Yi Li [Sat, 10 Aug 2019 19:23:28 +0000 (03:23 +0800)]
base-files: gpio switch: add named GPIO support

Previously, gpio_switch only accepts GPIO pin number as input. Once a
GPIO pin is exported and named by device tree, its pin state cannot be
configured and saved across reboots by UCI.

This patch adds support for named GPIO pins. Thus GPIO pin can be
exported by device tree with active high/low correctly configured,
having human-readable name in /sys/class/gpio/ is also now possible.

More importantly, GPIO pins which are referenced by name will be immune
from pin mapping breakage while unintentional pin number changes are
introduced by kernel or driver updates.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
4 years agomac80211: ath9k: enable adding wireless noise to kernel entropy pool
Alan Swanson [Sat, 7 Mar 2020 15:42:54 +0000 (15:42 +0000)]
mac80211: ath9k: enable adding wireless noise to kernel entropy pool

This option allows adding the ath9k ADC register output as a source
of randomness into the Linux entropy pool at sufficient quality
random data (at least 10 bits and up to 22 bits of min-entropy for
a 32-bit value).

Fixes FS#1444
Signed-off-by: Alan Swanson <reiver@improbability.net>
4 years agohostapd: fix compilation of wpa_supplicant
Karel Kočí [Tue, 16 Jun 2020 15:07:46 +0000 (17:07 +0200)]
hostapd: fix compilation of wpa_supplicant

Ubus patch as it seems have been broken by some rebase in the past as
the location of line that adds ubus object file was in condition for
CONFIG_MACSEC. That condition was adding object files that are not
touched by ubus patch. This means ubus.o does not have to be included in
that case. When it has to be and when build fails is when CONFIG_AP is
set. All files included in wpa_supplicant that are touched by this patch
are in this condition. This means that this is for sure the original
place for it.

Signed-off-by: Karel Kočí <karel.koci@nic.cz>
4 years agotoolchain: remove gcc libssp and use libc variant
Ian Cooper [Mon, 15 Jun 2020 21:14:04 +0000 (22:14 +0100)]
toolchain: remove gcc libssp and use libc variant

Removes the standalone implementation of stack smashing protection
in gcc's libssp in favour of the native implementation available
in glibc and uclibc. Musl libc already uses its native ssp, so this
patch does not affect musl-based toolchains.

Stack smashing protection configuration options are now uniform
across all supported libc variants.

This also makes kernel-level stack smashing protection available
for x86_64 and i386 builds using non-musl libc.

Signed-off-by: Ian Cooper <iancooper@hotmail.com>
4 years agocomgt-ncm: do not attempt to connect if the control device is invalid
Rozhuk Ivan [Sat, 24 Aug 2019 16:41:01 +0000 (19:41 +0300)]
comgt-ncm: do not attempt to connect if the control device is invalid

After a hardware reconnect, the control device might be unavailable and
attempting to interact with it will lead to hanging gcom calls, leaving
the protocol setup in an unrecoverable state.

Change the protocol handler to bail out early and notify netifd if the
control device is not defined or if the underlying device node does not
exist.

Also ensure that the "disconnect", "connect" and "setmode" commands are
actually defined before trying to invoke them.

Finally attempt to re-query the device manufacturer if it is unset in
the interface state in order to prevent UNUPPORTED_MODEM errors after
a modem hardware reconnect.

Signed-off-by: Rozhuk Ivan <rozhuk.im@gmail.com>
[reword subject and commit message]
Ref: https://github.com/openwrt/openwrt/pull/2352
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoopenvpn: add generic hotplug mechanism
Florian Eckert [Fri, 30 Nov 2018 13:03:50 +0000 (14:03 +0100)]
openvpn: add generic hotplug mechanism

Pass a default --up and --down executable to each started OpenVPN instance
which triggers /etc/hotplug.d/openvpn/ scripts whenever an instance
goes up or down.

User-configured up and down scripts are invoked by the default shipped
01-user hotplug handler to ensure that existing setups continue to work
as before.

As a consequence of this change, the up, down and script_security OpenVPN
options are removed from the option file, since we're always passing them
via the command line, they do not need to get included into the generated
configuration.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
[reword commit message, move hotplug executable to /usr/libexec]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
4 years agoath79: define CONFIG_MFD_RB4XX_CPLD to fix build breakage
Hannu Nyman [Wed, 17 Jun 2020 17:11:06 +0000 (20:11 +0300)]
ath79: define CONFIG_MFD_RB4XX_CPLD to fix build breakage

Define the kernel config symbol CONFIG_MFD_RB4XX_CPLD=n
to fix build breakage on non-mikrotik targets.

The driver was added for all ath79, but the symbol was only
defined for mikrotik subtarget.

Fixes: fa70b3a4bbc6 ("ath79: add Mikrotik rb4xx series drivers")
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
[rearrange commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agouclient: uclient-fetch: add option to read POST data from file
Daniel Golle [Wed, 17 Jun 2020 15:37:19 +0000 (16:37 +0100)]
uclient: uclient-fetch: add option to read POST data from file

 c660986 uclient-fetch: add option to read POST data from file

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agolantiq: drop "CONFIG_HZ_100 is not set"
Adrian Schmutzler [Wed, 17 Jun 2020 12:23:51 +0000 (14:23 +0200)]
lantiq: drop "CONFIG_HZ_100 is not set"

CONFIG_HZ_100 is not set to "y" in generic config anymore since
3a761c90afc0 ("treewide: Don't diverge from upstream default HZ
settings on 4.19"), so we don't need to disable it anymore either.

This was the only remaining case in the entire tree.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agolantiq: switch to 5.4
Aleksander Jan Bajkowski [Sun, 14 Jun 2020 10:26:07 +0000 (12:26 +0200)]
lantiq: switch to 5.4

Runtime tested on BT Home Hub 5A and D-Link DWR-966.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agokernel: bump 5.4 to 5.4.46
Petr Štetiar [Fri, 12 Jun 2020 10:32:11 +0000 (12:32 +0200)]
kernel: bump 5.4 to 5.4.46

Refreshed patches.

Run tested: qemu-x86-64, wrt3200acm
Build tested: x86/64, imx6, mvebu/cortexa9, sunxi/a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agomvebu: fix bootloader kernel commandline mangling
Petr Štetiar [Wed, 10 Jun 2020 14:01:06 +0000 (16:01 +0200)]
mvebu: fix bootloader kernel commandline mangling

Currently I'm unable to boot initramfs image with `console=ttyS0,115200`
kernel commandline as the kernel commandline mangling resets kernel
commandline if there is no `root=` option provided, efectively clearing
whatever I pass to the kernel, making the `root=` option mandatory.

So if the kernel commandline mangling is not appropriate just leave the
kernel commandline as it is.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agomediatek: mt7623: refresh kernel 5.4 config
Sungbo Eo [Fri, 29 May 2020 13:06:10 +0000 (22:06 +0900)]
mediatek: mt7623: refresh kernel 5.4 config

By running make kernel_oldconfig and selecting relevant options.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agobcm63xx: use the generic nand upgrade on Sercomm devices
Daniel González Cabanelas [Mon, 15 Jun 2020 22:09:33 +0000 (00:09 +0200)]
bcm63xx: use the generic nand upgrade on Sercomm devices

The Sercomm devices don't need the jffs2 cleanmarkers for the kernel
partition. With the stock firmware they are only added when the
bootloader partition is upgraded.

Furthermore, on the Sercomm H500-s, the specific cfe_jffs2_upgrade_tar
function causes OOB corruption. As a result of this, combined with the
nature of the mtdsplit driver, the upgrade procedure ends in a bricked
device.

Use the generic nand_do_upgrade provided by the OpenWrt common functions.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
4 years agomediatek: fix IPv4-only corner case and commit in 99-net-ps
Adrian Schmutzler [Tue, 16 Jun 2020 12:46:42 +0000 (14:46 +0200)]
mediatek: fix IPv4-only corner case and commit in 99-net-ps

The uci config section network.globals set up in /bin/config_generate
will only be created if /proc/sys/net/ipv6 exists.

Correspondingly, lacking IPv6 support, the command
uci set network.globals.packet_steering=1
will fail with "uci: Invalid argument" as the network.globals config
has not been set up.

Fix that by adding the setup there as well.

While at it, limit the uci commit to the network config file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for the TP-Link WBS210 v1
Adrian Schmutzler [Wed, 15 Apr 2020 19:51:59 +0000 (21:51 +0200)]
ath79: add support for the TP-Link WBS210 v1

Specifications:
- SoC: Atheros AR9344
- RAM: 64MB
- Storage: 8 MB SPI NOR
- Wireless: 2.4GHz N based built into SoC
- Ethernet: 1x 10/100 Mbps with 24V POE IN, 1x 10/100 Mbps

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 adress:192.168.0.254

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agotreewide: drop shebang from non-executable target files
Adrian Schmutzler [Sat, 6 Jun 2020 21:13:41 +0000 (23:13 +0200)]
treewide: drop shebang from non-executable target files

This drops the shebang from all target files for /lib and
/etc/uci-defaults folders, as these are sourced and the shebang
is useless.

While at it, fix the executable flag on a few of these files.

This does not touch ar71xx, as this target is just used for
backporting now and applying cosmetic changes would just complicate
things.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for MikroTik RouterBOARD 493G (rb4xx series)
Christopher Hill [Tue, 26 May 2020 01:10:00 +0000 (21:10 -0400)]
ath79: add support for MikroTik RouterBOARD 493G (rb4xx series)

This patch adds support for the MikroTik RouterBOARD RB493G, ported
from the ar71xx target.

See https://routerboard.com/RB493G for details

Specification:
- SoC Qualcomm Atheros AR7161
- RAM: 256 MiB
- Storage: 128MiB NAND
- Ethernet: 9x 1000/100/10 Mbps
- USB 1x 2.0 / 1.0 type A
- PCIe: 3x Mini slot
- MicroSD slot

Working:
- Board/system detection
- Ethernet
- SPI
- NAND
- LEDs
- USB
- Sysupgrade

Enabled (but untested due to lack of hardware):
- PCIe - ath79_pci_irq struct has the slot/pin/IRQ mappings if needed

Installation methods:
- tftp boot initramfs image, scp then flash via "sysupgrade -n"
- nand boot existing OpenWrt, scp then flash via "sysupgrade -n"

Notes:
- initramfs image will not work if uncompressed image size over ~8.5Mb
- The "rb4xx" drivers have been enabled

Signed-off-by: Christopher Hill <ch6574@gmail.com>
4 years agoath79: add Mikrotik rb4xx series drivers
Christopher Hill [Tue, 26 May 2020 01:05:00 +0000 (21:05 -0400)]
ath79: add Mikrotik rb4xx series drivers

This adds 3 Mikrotik rb4xx series drivers as follows:

rb4xx-cpld: This is in the mfd subsystem, and is the parent CPLD device
that interfaces between the SoC SPI bus and its two children below.
rb4xx-gpio: This is the GPIO expander.
rb4xx-nand: This is the NAND driver.

The history of this code comes in three phases.

1. The first is a May 2015 attempt to push the equivalient ar71xx rb4xx
drivers upstream. See https://lore.kernel.org/patchwork/patch/940880/.

Module-author: Gabor Juhos <juhosg@openwrt.org>
Module-author: Imre Kaloz <kaloz@openwrt.org>
Module-author: Bert Vermeulen <bert@biot.com>

2. Next several ar71xx patches were applied bringing the code current.

commit 7bbf4117c6fe4b764d9d7c62fb2bcf6dd93bff2c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
commit af79fdbe4af32a287798b579141204bda056b8aa
commit 889272d92db689fd9c910243635e44c9d8323095
commit e21cb649a235180563363b8af5ba8296b9ac0baa
commit 7c09fa4a7492ca436f2c94bd9a465b7c5bbeed6f
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3. Finally a heavy refactor to split the driver into the three new
subsystems, and updated to work with the device tree configuration, plus
updates and review feedback incorporated

Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: Christopher Hill <ch6574@gmail.com>
4 years agoath79: patch upstream Mikrotik rb4xx-spi driver to be device tree aware
Christopher Hill [Tue, 26 May 2020 01:00:00 +0000 (21:00 -0400)]
ath79: patch upstream Mikrotik rb4xx-spi driver to be device tree aware

Backport upstream patches that make drivers/spi/spi-rb4xx.c device tree
aware, plus a null pointer fix.

Signed-off-by: Christopher Hill <ch6574@gmail.com>
4 years agobcm63xx: a226m-fwb: fix linux partition offset
Daniel González Cabanelas [Mon, 15 Jun 2020 17:51:28 +0000 (19:51 +0200)]
bcm63xx: a226m-fwb: fix linux partition offset

The Pirelli A226M-FWB has a wrong linux partition offset, caused
by a copy-paste error. As of result of this, OpenWrt is currently
broken in this unit.

Fix it.

While at it, also use generic node names and fix the addresses
there as well.

Fixes: a27d59bb4274 ("brcm63xx: switch to new partition layout
specification")

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
[also fix/update node names, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: ag71xx: don't warn on RGMII_RXID and RGMII_TXID
David Bauer [Mon, 15 Jun 2020 18:41:06 +0000 (20:41 +0200)]
ath79: ag71xx: don't warn on RGMII_RXID and RGMII_TXID

Currently, ag71xx will trigger a warning when TX xor RX-Delay modes are
enabled.

Handle them identical to the already implemented RGMII modes, as they
are only different for the attached PHY.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoramips: fix IPv4-only corner case in 01_enable_packet_steering
Adrian Schmutzler [Thu, 11 Jun 2020 09:24:03 +0000 (11:24 +0200)]
ramips: fix IPv4-only corner case in 01_enable_packet_steering

The uci config section network.globals set up in /bin/config_generate
will only be created if /proc/sys/net/ipv6 exists.

Correspondingly, lacking IPv6 support, the command
uci set network.globals.packet_steering=1
will fail with "uci: Invalid argument" as the network.globals config
has not been set up.

Fix that by adding the setup there as well.

Fixes: dfd62e575c6c ("ramips: enable packet steering by default on mt7621")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoRevert "kirkwood: disable image for Linksys EA3500 (Audi)"
Pawel Dembicki [Thu, 30 Apr 2020 10:37:11 +0000 (12:37 +0200)]
Revert "kirkwood: disable image for Linksys EA3500 (Audi)"

This reverts commit d9ff49967145600ff4bbc0f4eecef11fd96f6b16.

At this moment kernel can be fitted in EA3500 image.

Tested by onefreeman (OpenWrt forum user)
Tested-by: Jacks <jack338c@gmail.com> (Github user @jack338c)
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
4 years agokirkwood: refresh kernel config
Pawel Dembicki [Sat, 2 May 2020 19:26:22 +0000 (21:26 +0200)]
kirkwood: refresh kernel config

It was made by running "make kernel_oldconfig".

Suggested-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokirkwood: move ext4 support to modules
Pawel Dembicki [Sun, 3 May 2020 19:52:21 +0000 (21:52 +0200)]
kirkwood: move ext4 support to modules

Ext4 support is built in kirkwood kernel.

This patch moves ext4 support to modules and enables it for devices
with SATA interface.

Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[rebase]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokirkwood: move usb support to modules
Pawel Dembicki [Thu, 30 Apr 2020 10:34:41 +0000 (12:34 +0200)]
kirkwood: move usb support to modules

USB support built in kernel isn't required for booting.
This patch move USB support to modules.

CONFIG_USB_STORAGE is removed because it can be found in kmod-usb-storage
and all usb support for this targed is moved to kmods.

Tested-by: Cezary Jackiewicz <cezary@eko.one.pl> [nsa310]
Tested-by: Alberto Bursi <bobafetthotmail@gmail.com> [nsa325, ea4500]
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[keep CONFIG_SCSI]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agokirkwood: move mmc/sd features to modules
Pawel Dembicki [Thu, 30 Apr 2020 10:27:09 +0000 (12:27 +0200)]
kirkwood: move mmc/sd features to modules

All devices are using nand images. Built-in MMC/SD modules are not needed
anymore.

Run tested: pogo v4

Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
4 years agokirkwood: move sata features to modules
Pawel Dembicki [Thu, 30 Apr 2020 10:18:24 +0000 (12:18 +0200)]
kirkwood: move sata features to modules

All devices are using nand images. Built-in SATA modules are not needed
anymore.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[only move CONFIG_SATA_MV]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [pogo v4]
4 years agokirkwood: move led triggers to dts
Pawel Dembicki [Fri, 1 May 2020 19:16:58 +0000 (21:16 +0200)]
kirkwood: move led triggers to dts

This patch moves led trigger settings from 01_leds file to dts.

Now "linux,default-trigger" property is used.

Tested-by: Alberto Bursi <bobafetthotmail@gmail.com> [nsa310,nsa325]
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
4 years agoipq40xx: check kernel-size for NBG6617
David Bauer [Sun, 14 Jun 2020 11:10:00 +0000 (13:10 +0200)]
ipq40xx: check kernel-size for NBG6617

The ZyXEL NBG6617 has a separate kernel partition which is 4MiB large.

Add the kernel size to validate the kernel won't be bigger than this
fixed limit.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoipq40xx: add image size checks for several devices
David Bauer [Sun, 14 Jun 2020 11:09:14 +0000 (13:09 +0200)]
ipq40xx: add image size checks for several devices

This adds image size checks for various devies using an automatic
mtdsplit.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agomusl: use official release tar
Alexander Couzens [Fri, 22 May 2020 10:48:47 +0000 (12:48 +0200)]
musl: use official release tar

To prevent "wrong" musl packages which have a new version number
but the package still contains an old version, because
PKG_SOURCE_VERSION was unchanged.

Ref: musl ml https://www.openwall.com/lists/musl/2020/05/22/4

Reviewed-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
4 years agoiproute2: update to 5.7.0
Hans Dedecker [Sat, 13 Jun 2020 19:18:57 +0000 (21:18 +0200)]
iproute2: update to 5.7.0

Update iproute2 to latest stable 5.7.0; for the changes see https://lwn.net/Articles/822152/

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agohostapd: hostapd_set_psk_file: fix defaut value for mac
Johann Neuhauser [Mon, 8 Jun 2020 20:01:47 +0000 (22:01 +0200)]
hostapd: hostapd_set_psk_file: fix defaut value for mac

The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.
Bringing up of station vlan fails if the optional mac entry isn't set.
The default mac "00:00:00:00:00:00", which should match all stations,
is mistakenly set to the non used variable "isolate". This results in
a wrong formatted .psk file which has to be "vlan_id mac key".

fixes: 5aa2ddd0: hostapd: add support for wifi-station and wifi-vlan sections

Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
4 years agoipq40xx: use zImage for EX6100v2 and EX6150v2
David Bauer [Sat, 13 Jun 2020 14:57:53 +0000 (16:57 +0200)]
ipq40xx: use zImage for EX6100v2 and EX6150v2

The NETGEAR EX61500v2 and EX6150v2 U-Boot does not support booting LZMA
compressed images. Currently, they are using GZIP compressed kernels,
which results in ledd flash being available to the root and overlay
filesystems.

Using a zImage results in a smaller kernel and therefore increases
available space for rootfs and overlayfs.

Size reduced: ~1.1 MiB

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoipq40xx: disable DSA and Switchdev
DENG Qingfang [Sat, 30 May 2020 15:31:30 +0000 (23:31 +0800)]
ipq40xx: disable DSA and Switchdev

ipq40xx is still using swconfig based switch management. This might
change in he future, however disable the DSA and Switchdev support for
now.

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[rephrased commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoipq40xx: add support for EnGenius EMR3500
Yen-Ting-Shen [Fri, 1 Nov 2019 07:47:28 +0000 (15:47 +0800)]
ipq40xx: add support for EnGenius EMR3500

SOC:     IPQ4018 / QCA Dakota
CPU:     Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7
DRAM:    256 MiB
NOR:     32 MiB
ETH:     Qualcomm Atheros QCA8072 (2 ports)
USB:     1 x 2.0 (Host controller in the SoC)
WLAN1:   Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2
WLAN2:   Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2
INPUT:   RESET Button
LEDS:    White, Blue, Red, Orange

Flash instruction:

From EnGenius firmware to OpenWrt firmware:

In Firmware Upgrade page, upgrade your openwrt-ipq40xx-generic-engenius_emr3500-squashfs-factory.bin directly.

From OpenWrt firmware to EnGenius firmware:

1. Setup a TFTP server on your computer and configure static IP to 192.168.99.8
   Put the EnGenius firmware in the TFTP server directory on your computer.
2. Power up EMR3500. Press 4 and then press any key to enter u-boot.
3. Download EnGenius firmware
   (IPQ40xx) # tftpboot 0x84000000 openwrt-ipq40xx-emr3500-nor-fw-s.img
4. Flash the firmware
   (IPQ40xx) # imgaddr=0x84000000 && source 0x84000000:script
5. Reboot
   (IPQ40xx) # reset

Signed-off-by: Yen-Ting-Shen <frank.shen@senao.com>
[squashed update patch, updated to 5.4, dropped BOARD_NAME,
migrated to SOC]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoipq40xx: essedma: Disable TCP segmentation offload for IPv6
Sven Eckelmann [Tue, 9 Jun 2020 13:35:04 +0000 (15:35 +0200)]
ipq40xx: essedma: Disable TCP segmentation offload for IPv6

It was noticed that the the whole MAC can hang when transferring data from
one ar40xx port (WAN ports) to the CPU and from the CPU back to another
ar40xx port (LAN ports). The CPU was doing only NATing in that process.

Usually, the problem first starts with a simple data corruption:

  $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso -O /dev/null
  ...
  Connecting to saimei.ftp.acc.umu.se (saimei.ftp.acc.umu.se)|2001:6b0:19::138|:443... connected.
  ...
  Read  error at byte 48807936/352321536 (Decryption has failed.). Retrying.

But after a short while, the whole MAC will stop to react. No traffic can
be transported anymore from the CPU port from/to the AR40xx PHY/switch and
the MAC has to be resetted.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Acked-by: John Crispin <john@phrozen.org>
4 years agoramips: drop useless label-mac-device for RouterBOARD 750Gr3
Adrian Schmutzler [Sat, 13 Jun 2020 11:53:27 +0000 (13:53 +0200)]
ramips: drop useless label-mac-device for RouterBOARD 750Gr3

With the new driver, MAC addresses are not set up in DTS anymore,
and therefore label-mac-device will be useless there.

Setup is done properly in 02_network, so this just removes the
obsolete alias.

Fixes: 5e50515fa6b3 ("ramips/mt7621: mikrotik: don't use
mtd-mac-address in DTS")

Suggested-by: John Thomson <git@johnthomson.fastmail.com.au>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm47xx: move device definitions to subfiles
Adrian Schmutzler [Sun, 7 Jun 2020 11:12:43 +0000 (13:12 +0200)]
bcm47xx: move device definitions to subfiles

With several subtargets, the image/Makefile becomes crowded after a
while. Many targets have moved their device definitions to $subtarget.mk
files to have them more organized, let's do this here as well.

Cc: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: fix port display for TRENDnet TEW-810DR
J. Scott Heppler [Fri, 12 Jun 2020 16:04:15 +0000 (18:04 +0200)]
ramips: fix port display for TRENDnet TEW-810DR

This updates the display port order for the TEW-810DR to be in line
with the DIR-810L. Both share the same board and pictures on the
vendors' pages indicate the same external numbering scheme as well.

Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
[replace commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: mt7621: add support for NETGEAR WAC104
Pawel Dembicki [Tue, 9 Jun 2020 13:16:35 +0000 (15:16 +0200)]
ramips: mt7621: add support for NETGEAR WAC104

NETGEAR WAC104 is an AP based on castrated R6220, without WAN
port and USB.

SoC: MediaTek MT7621ST
RAM: 128M DDR3
FLASH: 128M NAND
WiFi: MediaTek MT7612EN an+ac
MediaTek MT7603EN bgn
ETH: MediaTek MT7621ST (4x LAN)
BTN: 1x Connect (WPS), 1x WLAN, 1x Reset
LED: 7x (3x GPIO controlled)

Installation:

Login to netgear webinterface and flash factory.img

Back to stock:

Use nmrpflash to revert stock image.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
4 years agoath79: add support for D-Link DAP-2695-A1
Stijn Tintel [Sun, 7 Jun 2020 23:11:34 +0000 (02:11 +0300)]
ath79: add support for D-Link DAP-2695-A1

Hardware:
* SoC: Qualcomm Atheros QCA9558
* RAM: 256MB
* Flash: 16MB SPI NOR
* Ethernet: 2x 10/100/1000 (1x 802.3at PoE-PD)
* WiFi 2.4GHz: Qualcomm Atheros QCA9558
* WiFi 5GHz: Qualcomm Ahteros QCA9880-2R4E
* LEDS: 1x 5GHz, 1x 2.4GHz, 1x LAN1(POE), 1x LAN2, 1x POWER
* Buttons: 1x RESET
* UART: 1x RJ45 RS-232 Console port

Installation via stock firmware:
* Install the factory image via the stock firmware web interface

Installation via bootloader Emergency Web Server:
* Connect your PC to the LAN1(PoE) port
* Configure your PC with IP address 192.168.0.90
* Open a serial console to the Console port (115200,8n1)
* Press "q" within 2s when "press 'q' to stop autoboot" appears
* Open http://192.168.0.50 in a browser
* Upload either the factory or the sysupgrade image
* Once you see "write image into flash...OK,dest addr=0x9f070000" you
  can power-cycle the device. Ignore "checksum bad" messages.

Setting the MAC addresses for the ethernet interfaces via
/etc/board.d/02_network adds the following snippets to
/etc/config/network:

config device 'lan_eth0_1_dev'
        option name 'eth0.1'
        option macaddr 'xx:xx:xx:xx:xx:xx'

config device 'wan_eth1_2_dev'
        option name 'eth1.2'
        option macaddr 'xx:xx:xx:xx:xx:xx'

This would result in the proper MAC addresses being set for the VLAN
subinterfaces, but the parent interfaces would still have a random MAC
address. Using untagged VLANs could solve this, but would still leave
those extra snippets in /etc/config/network, and then the device VLAN
setup would differ from the one used in ar71xx. Therefore, the MAC
addresses of the ethernet interfaces are being set via preinit instead.

The bdcfg partition contains 4 MAC address labels:
 - lanmac
 - wanmac
 - wlanmac
 - wlanmac_a

The first 3 all contain the same MAC address, which is also the one on
the label.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: enable wrgg MTD splitter
Stijn Tintel [Sun, 7 Jun 2020 22:46:26 +0000 (01:46 +0300)]
ath79: enable wrgg MTD splitter

This is required for the D-Link DAP-2695-A1.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agomtd: enable wrgg support for ath79
Stijn Tintel [Sun, 7 Jun 2020 22:44:42 +0000 (01:44 +0300)]
mtd: enable wrgg support for ath79

This is required for the D-Link DAP-2695-A1.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agoodhcpd: remove bogus IPKG_INSTROOT reference
Kevin Darbyshire-Bryant [Wed, 10 Jun 2020 16:27:27 +0000 (17:27 +0100)]
odhcpd: remove bogus IPKG_INSTROOT reference

IPKG_INSTROOT is only set under image builder and we won't be running
this script at build time either, so remove the reference before it gets
cargo-culted into other scripts.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Acked-by: Hans Dedecker <dedeckeh@gmail.com>
4 years agokernel: rtl8367b: fix external interface modes
INAGAKI Hiroshi [Mon, 30 Mar 2020 06:47:44 +0000 (15:47 +0900)]
kernel: rtl8367b: fix external interface modes

The interface mode number of RGMII_33V is 7 on RTL8367, but it's 9 on
RTL8367B.

the external interface modes for RTL8367 are follows:

- 0, Disabled
- 1, RGMII
- 2, MII_MAC
- 3, MII_PHY
- 4, TMII_MAC
- 5, TMII_PHY
- 6, GMII
- 7, RGMII_33V

the external interface modes for RTL8367B are follows:

- 0, Disabled
- 1, RGMII
- 2, MII_MAC
- 3, MII_PHY
- 4, TMII_MAC
- 5, TMII_PHY
- 6, GMII
- 7, RMII_MAC
- 8, RMII_PHY
- 9, RGMII_33V

But the driver in U-Boot of RT-N56U GPL tar blocks using RGMII_33V (9)
mode and it seems to be unsupported on RTL8367B, so drop it from
switch-case in rtl8367b_extif_set_mode.

ref (RTL8367):

- TL-WR2453ND v1

ref (RTL8367B):

- ASUS RT-N56U
- TP-Link Archer C2 v1

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
4 years agoimagebuilder: Remove json_info_files/ before build
Paul Spooren [Tue, 9 Jun 2020 04:15:05 +0000 (18:15 -1000)]
imagebuilder: Remove json_info_files/ before build

The folder `json_info_files` contains multiple JSON files which describe
created firmware images. The folder is not removed between builds as the
ImageBuilder does not use `image.mk`.

Not removing the JSON files result in a merged `profiles.json` file
containing entries for outdated or non-existing images.

This commit adds the `json_info_files/` cleanup step to the ImageBuilder
Makefile.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoimagebuilder: pass IB=1 on checking requirements
Paul Spooren [Wed, 10 Jun 2020 02:24:29 +0000 (22:24 -0400)]
imagebuilder: pass IB=1 on checking requirements

The patch 4a1a58a3  build, imagebuilder: Do not require libncurses-dev
was supposed to remove libncurses as a requirement for the ImageBuilder.
However as the IB=1 is only exported during building, not for checking
requirements, it did never actually work.

This commit export IB=1 to the requirement check.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoramips: fix port display for D-Link DIR-810L
Adrian Schmutzler [Tue, 9 Jun 2020 10:01:43 +0000 (12:01 +0200)]
ramips: fix port display for D-Link DIR-810L

The port order displayed in LuCI is currently inverted for this
devices:

LuCI - Device
LAN1 - LAN4
LAN2 - LAN3
LAN3 - LAN2
LAN4 - LAN1

Fix it.

Strangely, the owner of a TRENDnet TEW-810DR reports that the
initial port order is correct, while both devices share the
same board and look similar from the outside. Since I cannot
investigate this without having any of the devices, this does
only touch the DIR-810L for now.

While at it, also merge in the case for zbtlink,zbt-we2026, as
the display port specified for WAN there won't have any effect
anyway.

Reported-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: switch to upstream NAND patches
Álvaro Fernández Rojas [Thu, 11 Jun 2020 07:07:04 +0000 (09:07 +0200)]
bcm63xx: switch to upstream NAND patches

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoramips: fix WAN LED for D-Link DIR-810L/TRENDnet TEW-810DR
Adrian Schmutzler [Tue, 9 Jun 2020 09:52:26 +0000 (11:52 +0200)]
ramips: fix WAN LED for D-Link DIR-810L/TRENDnet TEW-810DR

The WAN LED on DIR-810L was actually blinking on LAN1 port
activity. This has already been improved for the TEW-810DR, where
the GPIO has been set up explicitly rather than having it controlled
by the switch.

This patch also applies this setup to the DIR-810L.

In addition, the trigger in 01_leds is set up with
ucidef_set_led_switch for both devices now, so state changes should
be displayed correctly as well.

Reported-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> [DIR-810L]
Tested-by: J. Scott Heppler <shep971@centurylink.net> [TEW-810DR]
4 years agosoloscli: fix uci-defaults file
Adrian Schmutzler [Sat, 6 Jun 2020 21:09:59 +0000 (23:09 +0200)]
soloscli: fix uci-defaults file

The folder for the uci-defaults file of this package is wrong, so
the file most probably has not been executed at all for several
years at least.

Fix the folder and remove the useless shebang for the file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoapm821xx: move device definitions to subfiles
Adrian Schmutzler [Sun, 7 Jun 2020 11:13:46 +0000 (13:13 +0200)]
apm821xx: move device definitions to subfiles

With several subtargets, the image/Makefile becomes crowded after a
while. Many targets have moved their device definitions to $subtarget.mk
files to have them more organized, let's do this here as well.

While at it, also move subtarget-specific build recipes.

Cc: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Christian Lamparter <chunkeey@gmail.com>
4 years agotreewide: simplify inclusion of subtarget image files
Adrian Schmutzler [Sun, 7 Jun 2020 11:11:15 +0000 (13:11 +0200)]
treewide: simplify inclusion of subtarget image files

Many target use a repetitive if-include scheme for their subtarget
image files, though their names are consistent with the subtarget
names.

This patch removes these redundant conditions and just uses the
variable for the include where the target setup allows it.

For sunxi, this includes a trivial rename of the subtarget image
Makefiles.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for the Netgear WNDRMAC v1
Renaud Lepage [Sun, 10 May 2020 22:10:20 +0000 (15:10 -0700)]
ath79: add support for the Netgear WNDRMAC v1

The Netgear WNDRMAC v1 is a hardware variant of the Netgear WNDR3700 v2

Specifications
==============
* SoC: Atheros AR7161
* RAM: 64mb
* Flash on board: 16mb
* WiFi: Atheros AR9220 (a/n), Atheros AR9223 (b/g/n)
* Ethernet: RealTek RTL8366SR (1xWAN, 4xLAN, Gigabit)
* Power: 12 VDC, 2.5 A
* Full specs on [openwrt.org](https://openwrt.org/toh/hwdata/netgear/netgear_wndrmac_v1)

Flash Instructions
==================
It is possible to use the OEM Upgrade page to install the `factory`
variant of the firmware.

After the initial upgrade, you will need to telnet into the router
(default IP 192.168.1.1) to install anything. You may install LuCI
this way. At this point, you will have a web interface to configure
OpenWRT on the WNDRMAC v1.

Please use the `sysupgrade` variant for subsequent flashes.

Recovery Instructions
=====================
A TFTP-based recovery flash is possible if the need arises. Please refer
to the WNDR3700 page on openwrt.org for details.

https://openwrt.org/toh/netgear/wndr3700#troubleshooting_and_recovery

Signed-off-by: Renaud Lepage <root@cybikbase.com>
[update DTSI include name]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: add support for the Netgear WNDRMAC v2
Renaud Lepage [Sun, 10 May 2020 23:05:20 +0000 (16:05 -0700)]
ath79: add support for the Netgear WNDRMAC v2

The Netgear WNDRMAC v2 is a hardware variant of the Netgear WNDR3800

Specifications
==============
* SoC: Atheros AR7161
* RAM: 128mb
* Flash on board: 16mb
* WiFi: Atheros AR9220 (a/n), Atheros AR9223 (b/g/n)
* Ethernet: RealTek RTL8366SR (1xWAN, 4xLAN, Gigabit)
* Serial console: Yes, 115200 / 8N1 (JTAG)
* USB: 1x2.0
* Power: 12 VDC, 2.5 A
* Full specs on [openwrt.org](https://openwrt.org/toh/hwdata/netgear/netgear_wndrmac_v2)

Flash Instructions
==================
It is possible to use the OEM Upgrade page to install the `factory`
variant of the firmware.

After the initial upgrade, you will need to telnet into the router
(default IP 192.168.1.1) to install anything. You may install LuCI
this way. At this point, you will have a web interface to configure
OpenWRT on the WNDRMAC v2.

Please use the `sysupgrade` variant for subsequent flashes.

Recovery Instructions
=====================
A TFTP-based recovery flash is possible if the need arises. Please refer
to the WNDR3800 page on openwrt.org for details.

https://openwrt.org/toh/netgear/wndr3800#recovery_flash_in_failsafe_mode

Signed-off-by: Renaud Lepage <root@cybikbase.com>
[do not add device to uboot-envtools, update DTSI name]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: rename DTSI for Netgear WNDR devices based on ar7161
Adrian Schmutzler [Wed, 10 Jun 2020 14:58:46 +0000 (16:58 +0200)]
ath79: rename DTSI for Netgear WNDR devices based on ar7161

This renames the DTSI for Netgear WNDR devices based on ar7161 to
indicate that the file is not limited to WNDR3700 models.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: limit uci commit to the changed config file
Adrian Schmutzler [Wed, 10 Jun 2020 14:43:17 +0000 (16:43 +0200)]
ramips: limit uci commit to the changed config file

Since 01_enable_packet_steering only touches the network config,
limit the uci commit to this as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: use amber LED for boot/failsafe on Netgear EX3700/EX6130
Adrian Schmutzler [Tue, 9 Jun 2020 10:51:32 +0000 (12:51 +0200)]
ramips: use amber LED for boot/failsafe on Netgear EX3700/EX6130

According to the manual, the amber power LED is used to indicate boot,
while the green LED is meant to indicate a running system.

While at it, also adjust the DT node names for all LEDs.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: add support for Netgear EX6120
Adrian Schmutzler [Tue, 9 Jun 2020 10:31:57 +0000 (12:31 +0200)]
ramips: add support for Netgear EX6120

Specifications:
* SoC: MT7620A
* CPU: 580 MHz
* RAM: 64 MB DDR
* Flash: 8MB NOR SPI flash
* WiFi: MT7612E (5GHz) and builtin MT7620A (2.4GHz)
* LAN: 1x100M

The device is identical to the EX6130 except
for the mains socket and the hardware ID.

Installation:
The -factory images can be flashed from the
device's web interface or via nmrpflash.

Notes:
MAC addresses were set up based on the EX6130 setup.

This is based on prior work of Adam Serbinski and Mathias Buchwald.

Tested by Mathias Buchwald.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: add mt7621 ethernet driver improvements
Felix Fietkau [Mon, 8 Jun 2020 17:00:02 +0000 (19:00 +0200)]
ramips: add mt7621 ethernet driver improvements

- Speed up MDIO bus access
- Improve performance on tx completion

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agokernel: backport upstream DSA GRO support
Felix Fietkau [Mon, 8 Jun 2020 14:57:43 +0000 (16:57 +0200)]
kernel: backport upstream DSA GRO support

Should improve performance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoramips: enable packet steering by default on mt7621
Felix Fietkau [Sun, 7 Jun 2020 19:19:49 +0000 (21:19 +0200)]
ramips: enable packet steering by default on mt7621

It provides a significant performance boost, especially with flow offloading
enabled

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agonetifd: disable receive packet steering for DSA slave devices
Felix Fietkau [Mon, 8 Jun 2020 14:30:47 +0000 (16:30 +0200)]
netifd: disable receive packet steering for DSA slave devices

It is already handled on the master device. Doing it twice reduces
performance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agomt76: enable hostapd 802.11ax support if kmod-mt7915e is selected
Felix Fietkau [Sun, 7 Jun 2020 19:18:01 +0000 (21:18 +0200)]
mt76: enable hostapd 802.11ax support if kmod-mt7915e is selected

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agohostapd: add config symbol for allowing drivers to enable 802.11ax support
Felix Fietkau [Sun, 7 Jun 2020 19:15:54 +0000 (21:15 +0200)]
hostapd: add config symbol for allowing drivers to enable 802.11ax support

Also expose a build feature for it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 years agoath79: wndr3700 series: fix wifi range & throughput
Christian Lamparter [Sun, 7 Jun 2020 20:57:46 +0000 (22:57 +0200)]
ath79: wndr3700 series: fix wifi range & throughput

This patch adds ar71xx's GPIO setup for the 2.4GHz and 5GHz antennae
demultiplexer:

| 158         /* 2.4 GHz uses the first fixed antenna group (1, 0, 1, 0) */
| 159         ap9x_pci_setup_wmac_gpio(0, (0xf << 6), (0xa << 6));
| 160
| 161         /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
| 162         ap9x_pci_setup_wmac_gpio(1, (0xf << 6), (0x6 << 6));

This should restore the range and throughput of the 2.4GHz radio
on all the derived wndr3700 variants and versions with the AR7161 SoC.
A special case is the 5GHz radio. The original wndr3700(v1) will
benefit from this change. However the wndr3700v2 and later revisions
were unaffected by the missing bits, as there is no demultiplexer
present in the later designs.

This patch uses gpio-hogs within the device-tree for all
wndr3700/wndr3800/wndrmac variants.

Notes:

Based on the PCB pictures, the WNDR3700(v1) really had eight
independent antennae. Four antennae for each radio and all of
those were printed on the circut board.

The WNDR3700v2 and later have just six antennae. Four of those
are printed on the circuit board and serve the 2.4GHz radio.
Whereas the remaining two are special 5GHz Rayspan Patch Antennae
which are directly connected to the 5GHz radio.

Hannu Nyman dug pretty deep and unearthed a treasure of information
regarding the history of how these values came to be in the OpenWrt
archives: <https://dev.archive.openwrt.org/ticket/6533.html>.

Mark Mentovai came across the fixed antenna group when he was looking
into the driver:

    fixed_antenna_group 1, (0, 1, 0, 1)
    fixed_antenna_group 2, (0, 1, 1, 0)
    fixed_antenna_group 3, (1, 0, 0, 1)
    fixed_antenna_group 4, (1, 0, 1, 0)

Fixes: FS#3088
Reported-by: Luca Bensi
Reported-by: Maciej Mazur
Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Debugged-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agoca-certificates: update to version 20200601
Christian Lamparter [Sun, 7 Jun 2020 15:22:02 +0000 (17:22 +0200)]
ca-certificates: update to version 20200601

This patch updates the ca-certificates and ca-bundle package.
This version changed the files directory again, to work/, so
PKG_BUILD_DIR was brought back.

A list of changes from Debian's change-log entry for 20200601 [0]:

  * mozilla/{certdata.txt,nssckbi.h}:
    Update Mozilla certificate authority bundle to version 2.40.
Closes: #956411, #955038
  * mozilla/blacklist.txt
    Add distrusted Symantec CA list to blacklist for explicit removal.
Closes: #911289
    Blacklist expired root certificate, "AddTrust External Root"
Closes: #961907
    The following certificate authorities were added (+):
    + "Certigna Root CA"
    + "emSign ECC Root CA - C3"
    + "emSign ECC Root CA - G3"
    + "emSign Root CA - C1"
    + "emSign Root CA - G1"
    + "Entrust Root Certification Authority - G4"
    + "GTS Root R1"
    + "GTS Root R2"
    + "GTS Root R3"
    + "GTS Root R4"
    + "Hongkong Post Root CA 3"
    + "UCA Extended Validation Root"
    + "UCA Global G2 Root"
    The following certificate authorities were removed (-):
    - "AddTrust External Root"
    - "Certinomis - Root CA"
    - "Certplus Class 2 Primary CA"
    - "Deutsche Telekom Root CA 2"
    - "GeoTrust Global CA"
    - "GeoTrust Primary Certification Authority"
    - "GeoTrust Primary Certification Authority - G2"
    - "GeoTrust Primary Certification Authority - G3"
    - "GeoTrust Universal CA"
    - "thawte Primary Root CA"
    - "thawte Primary Root CA - G2"
    - "thawte Primary Root CA - G3"
    - "VeriSign Class 3 Public Primary Certification Authority - G4"
    - "VeriSign Class 3 Public Primary Certification Authority - G5"
    - "VeriSign Universal Root Certification Authority"

[0] <https://metadata.ftp-master.debian.org/changelogs//main/c/ca-certificates/ca-certificates_20200601_changelog>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
4 years agooxnas: build with 8021Q VLAN support
Daniel Golle [Tue, 9 Jun 2020 15:44:23 +0000 (16:44 +0100)]
oxnas: build with 8021Q VLAN support

CONFIG_VLAN_8021Q was explicitely disabled in oxnas kernel config.
Don't do that, so VLANs can be used on the target.

Fixes: dcc34574ef ("oxnas: bring in new oxnas target")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agokernel: bump 5.4 to 5.4.45
Petr Štetiar [Tue, 9 Jun 2020 12:18:25 +0000 (14:18 +0200)]
kernel: bump 5.4 to 5.4.45

Fixes CVE-2020-10757 via upstream commit df4988aa1c96 ("mm: Fix mremap
not considering huge pmd devmap").

Resolved merge conflict in the following patches:

 bcm27xx: 950-0128-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch

Refreshed patches, removed upstreamed patch:

 generic: 751-v5.8-net-dsa-mt7530-set-CPU-port-to-fallback-mode.patch
 generic: 754-v5.7-net-dsa-mt7530-fix-roaming-from-DSA-user-ports.patch

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

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agohostapd: update to latest Git hostap_2_9-1331-g5a8b366233f5
Petr Štetiar [Mon, 8 Jun 2020 15:35:32 +0000 (17:35 +0200)]
hostapd: update to latest Git hostap_2_9-1331-g5a8b366233f5

Bump to latest Git and refresh all patches in order to get fix for "UPnP
SUBSCRIBE misbehavior in hostapd WPS AP" (CVE-2020-12695).

 General security vulnerability in the way the callback URLs in the UPnP
 SUBSCRIBE command are used were reported (VU#339275, CVE-2020-12695).
 Some of the described issues may be applicable to the use of UPnP in WPS
 AP mode functionality for supporting external registrars.

Ref: https://w1.fi/security/2020-1/
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoramips: erx and erx-sfp: fix missing WAN interface
Perry Melange [Sun, 26 Apr 2020 08:51:33 +0000 (10:51 +0200)]
ramips: erx and erx-sfp: fix missing WAN interface

This partially reverts commit 5acd1ed0be0d ("ramips: mt7621: fix
Ubiquiti ER-X ports names and MAC addresses"), this change was discussed
in https://github.com/openwrt/openwrt/pull/2901#discussion_r407238452

With commit 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names
and MAC addresses"), all the ports were put into the LAN bridge, with
the argument that the OEM firmware does not have a WAN port enabled.  In
the default OEM setup, all of the ports except eth0 are dead and eth0 is
set to a static IP address without providing DHCP services when
connected.  It is only after the wizard has been run that eth0 becomes
the WAN port and all the rest of the ports belong to LAN with DHCP
enabled.

Having all of the ports set to the LAN bridge does not mirror the default
OEM setup.  To accomplish that, then only eth0 would be in the LAN bridge.
But this is not the expected behaviour of OpenWrt.

Therefore this proposal to set eth0 to WAN and eth1-N to LAN provides
the expected behaviour expected from OpenWrt, maintains the current
documentation as up-to-date, and does not require the user to manually
detach eth0 from the LAN bridge, create the WAN(6) interface(s), and set
eth0 to the WAN(6) interface(s).

Fixes: 5acd1ed0be0d ("ramips: mt7621: fix Ubiquiti ER-X ports names and MAC addresses")
Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
[commit subject and description tweaks]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agomkchkimg: use higher version code
Joseph C. Lehner [Fri, 22 Mar 2019 14:19:54 +0000 (15:19 +0100)]
mkchkimg: use higher version code

This patch changes the version code of the image header
from `1.1.99_0.0.0.0` to `99.99.99_99.99.99.99`. This
is neccessary on some devices where the stock firmware
checks the version field, possibly preventing third-party
firmware from being installed.

Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: Joseph C. Lehner <joseph.c.lehner@gmail.com>
4 years agoumdnsd: update to latest git HEAD
Kevin Darbyshire-Bryant [Mon, 8 Jun 2020 19:13:15 +0000 (20:13 +0100)]
umdnsd: update to latest git HEAD

d13290b Fix advertised IPv6 addresses

Don't just serve link-local addresses via mdns, offer all.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agohostapd: silence rm
Stijn Tintel [Mon, 8 Jun 2020 03:03:05 +0000 (06:03 +0300)]
hostapd: silence rm

When bringing up wifi the first time after boot, these warnings appear:

netifd: radio0 (1370): rm: can't remove '/var/run/hostapd-wlan0.psk': No such file or directory
netifd: radio0 (1370): rm: can't remove '/var/run/hostapd-wlan0.vlan': No such file or directory

Silence them by adding the "-f" option to rm.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: John Crispin <john@phrozen.org>
4 years agomediatek: fix image/mt7622.mk
John Crispin [Sun, 7 Jun 2020 18:59:17 +0000 (20:59 +0200)]
mediatek: fix image/mt7622.mk

Signed-off-by: John Crispin <john@phrozen.org>
4 years agobcm63xx: bcm6328: switch to upstream boot sel patch
Álvaro Fernández Rojas [Sun, 7 Jun 2020 16:59:38 +0000 (18:59 +0200)]
bcm63xx: bcm6328: switch to upstream boot sel patch

BCM6328 boot selection fix has been upstreamed.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: add support for the Sercomm H500-s
Daniel González Cabanelas [Sun, 7 Jun 2020 08:55:56 +0000 (10:55 +0200)]
bcm63xx: add support for the Sercomm H500-s

Sercomm H500-s is an xDSL dual band wireless router based on Broadcom
BCM63167 SoC.

Hardware:
   SoC:          Broadcom BCM63167
   CPU:          BMIPS4350 V8.0, 400 MHz, 2 cores
   Flash:        NAND 128 MiB
   RAM:          DDR3 128 MiB
   Ethernet:     4x 10/100/1000 Mbps
   Switch:       BCM53134S
   Wireless:     802.11b/g/n: BCM435f (integrated)
                 802.11ac:    Quantenna QT3740BC (onboard SoC)
   USB:          1x 2.0
   LEDs/Buttons: 11x / 2x

Flash instruction, web UI:
  1. Reset to defaults using the reset button if the admin password is
     unknown
  2. Login into the web UI as admin.
     Address:  http://192.168.0.1
     User:     admin
     Password: VF-ESVodafone-H-500-s or l033i-h500s
  3. Go to Settings -> Firmware Update, and select the Openwrt factory
     firmware
  4. Update the firmware.
  5. Wait until it finish, the device will reboot with Openwrt installed
     on the alternative image partitions keeping the stock firmware in
     the former.

Notes:
  - The patch also adds support for the lowi version. Only the factory
    firmware is different.
  - The integrated Wifi in the Broadcom Soc isn't still supported.
  - The Quantenna 802.11ac wifi works ok, but needs to be configured with
    the Quantenna client application. It can't be configured with Luci
    nor any iw command since it's a separated subsystem linked via
    ethernet.
  - The BCM53134S external switch is managed via MDIO which isn't
    supported in this target. Therefore it will behave as a dumb switch.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
4 years agobcm63xx: image: support device-specific load address
Álvaro Fernández Rojas [Sun, 7 Jun 2020 08:55:53 +0000 (10:55 +0200)]
bcm63xx: image: support device-specific load address

Some CFEs are located at the address currently used for relocation and lzma
loader load address, so we need to provide a way to override it.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: image: don't add the CFE to the sercomm factory
Daniel González Cabanelas [Sun, 7 Jun 2020 08:55:51 +0000 (10:55 +0200)]
bcm63xx: image: don't add the CFE to the sercomm factory

There is no need to include the CFE bootloader in the Sercomm factory
images.

There might be a case when this could be useful:
  - We are running the stock firmware on the first Sercomm image
  - The second partition storing the botloader was erased (unlikely)
Even in this case flashing an image without a bootlader is harmless.

Don't include the bootloader in the factory image creation and rid of the
risk of flashing factory images with an untested bootloader partition.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
4 years agobcm63xx: kernel: add BCM63167 cpuid variant
Daniel González Cabanelas [Sun, 7 Jun 2020 08:55:46 +0000 (10:55 +0200)]
bcm63xx: kernel: add BCM63167 cpuid variant

The BCM63167 is a BCM63268 SoC with a different physical packaging.

Add the CPU ID to allow supporting routers with this SoC (i.e Sercomm
H500-s)

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
4 years agobcm63xx: vr-3032u: add missing compatible property
Álvaro Fernández Rojas [Sun, 7 Jun 2020 16:49:24 +0000 (18:49 +0200)]
bcm63xx: vr-3032u: add missing compatible property

SoC is a BCM63168.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm63xx: vg-8050: add missing compatible property
Álvaro Fernández Rojas [Sun, 7 Jun 2020 16:48:08 +0000 (18:48 +0200)]
bcm63xx: vg-8050: add missing compatible property

SoC is a BCM63169.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agomediatek: add mt7531 DSA support
John Crispin [Thu, 4 Jun 2020 13:07:28 +0000 (15:07 +0200)]
mediatek: add mt7531 DSA support

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomediatek: add bpi-r64 emmc support
John Crispin [Thu, 4 Jun 2020 12:26:11 +0000 (14:26 +0200)]
mediatek: add bpi-r64 emmc support

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomediatek: make emmc image generation work on mt7622
John Crispin [Thu, 4 Jun 2020 12:23:07 +0000 (14:23 +0200)]
mediatek: make emmc image generation work on mt7622

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomediatek: switch over to extended upstream eip97 driver
John Crispin [Thu, 4 Jun 2020 12:20:34 +0000 (14:20 +0200)]
mediatek: switch over to extended upstream eip97 driver

Signed-off-by: John Crispin <john@phrozen.org>
4 years agomediatek: tidy up image subtarget Makefiles
Sungbo Eo [Fri, 29 May 2020 11:49:44 +0000 (20:49 +0900)]
mediatek: tidy up image subtarget Makefiles

- sort device recipes alphabetically
- adjust board name of ELECOM WRC-2533GENT
- harmonize line wrapping

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rebased]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm27xx-gpu-fw: bump to most recent good version
Stijn Tintel [Sun, 7 Jun 2020 06:56:46 +0000 (09:56 +0300)]
bcm27xx-gpu-fw: bump to most recent good version

This updates to the last firmware version before the switch to building
from the common firmware branch, which introduces various issues.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoRevert "bcm27xx-gpu-fw: update to latest version"
Stijn Tintel [Sun, 7 Jun 2020 06:18:39 +0000 (09:18 +0300)]
Revert "bcm27xx-gpu-fw: update to latest version"

This reverts commit 9e467a764b4e30a04dd0431ea277f6acd26babe0.

The Raspberry Pi firmware recently switched to building from the common
firmware branch. This introduces changes in the core clock handling,
causing various issues.

E.g. enable_uart=1 no longer fixes the core clock frequency to 250MHz.
When the disable-bt DT overlay is not loaded, the core clock frequency
is increased to 400MHz. As a result, the UART baud rate is no longer
correct, and this causes garbled serial console, or communication
problems with HATs that use the UART.

As a workaround, the core clock could be fixed to 250MHz by adding
'core_freq=250' in /boot/config.txt, but as there appear to be other
issues than just the UART being broken, the safer bet is to revert the
firmware for now.

Upstream bug: https://github.com/raspberrypi/firmware/issues/1376

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agobcm27xx: fix unmounting /boot after sysupgrade
Stijn Tintel [Sun, 7 Jun 2020 02:31:09 +0000 (05:31 +0300)]
bcm27xx: fix unmounting /boot after sysupgrade

Due to a typo, /boot is not properly unmounted after copying the backup
file to it. Fix the typo to solve this.

Fixes: 246916ddf4a1 ("brcm2708: use x86's upgrade scripts for all rpi targets")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agonetifd: update to latest git HEAD
Hans Dedecker [Sat, 6 Jun 2020 18:54:09 +0000 (20:54 +0200)]
netifd: update to latest git HEAD

51e9fb8 system-linux: improve handling of device rename

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>