openwrt/staging/thess.git
2 years agokernel: bump 5.4 to 5.4.169
John Audia [Wed, 29 Dec 2021 15:23:53 +0000 (10:23 -0500)]
kernel: bump 5.4 to 5.4.169

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/mt7621*

*Had to revert 7f1edbd in order to build due to FS#4149

Signed-off-by: John Audia <graysky@archlinux.us>
2 years agoipq806x: ASRock g10: fix bogus read errors
Stefan Lippers-Hollmann [Thu, 30 Dec 2021 03:31:42 +0000 (04:31 +0100)]
ipq806x: ASRock g10: fix bogus read errors

Properly declare that the g10 is booting from NAND and define its
correct (larger than on other devices-) boot_pages_size, to prevent
the kernel from constantly falling over missing OOB error correction
for the bootloader.

This patch prevents a constant slew of (bogus) read errors reported
by the kernel and keeping the CPU busy and fixes:

blk_update_request: I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 24 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev mtdblock0, logical block 0, async page read
blk_update_request: I/O error, dev mtdblock0, sector 32 op 0x0:(READ) flags 0x80700 phys_seg 8 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 40 op 0x0:(READ) flags 0x80700 phys_seg 7 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 48 op 0x0:(READ) flags 0x80700 phys_seg 6 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 56 op 0x0:(READ) flags 0x80700 phys_seg 5 prio class 0
blk_update_request: I/O error, dev mtdblock0, sector 64 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0
Buffer I/O error on dev mtdblock0, logical block 1, async page read
Buffer I/O error on dev mtdblock1, logical block 0, async page read
Buffer I/O error on dev mtdblock1, logical block 1, async page read
Buffer I/O error on dev mtdblock2, logical block 0, async page read
Buffer I/O error on dev mtdblock2, logical block 1, async page read
Buffer I/O error on dev mtdblock3, logical block 0, async page read
Buffer I/O error on dev mtdblock3, logical block 0, async page read
Buffer I/O error on dev mtdblock4, logical block 0, async page read
Buffer I/O error on dev mtdblock4, logical block 1, async page read

Suggested-by: Ansuel Smith <ansuelsmth@gmail.com>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
2 years agobinutils: fix compiling with arch-based distros
Nick Hainke [Thu, 30 Dec 2021 22:49:27 +0000 (23:49 +0100)]
binutils: fix compiling with arch-based distros

Arch Linux users have encountered problems with packages that have a dependency on binutils. This error happens when libtool is doing:
  libtool: relink: ...
So change PKG_FIXUP to "patch-libtool".

Fixes error in the form of:
  libtool: install: error: relink `libctf.la' with the above command
           before installing it

Upstream Bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=28545

OpenWrt Bug:
https://bugs.openwrt.org/index.php?do=details&task_id=4149

Acked-by: John Audia <graysky@archlinux.us>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoopenssl: bump to 1.1.1m
Eneas U de Queiroz [Fri, 31 Dec 2021 14:06:25 +0000 (11:06 -0300)]
openssl: bump to 1.1.1m

This is a bugfix release.  Changelog:

  *) Avoid loading of a dynamic engine twice.
  *) Fixed building on Debian with kfreebsd kernels
  *) Prioritise DANE TLSA issuer certs over peer certs
  *) Fixed random API for MacOS prior to 10.12

Patches were refreshed.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2 years agoramips: add ASUS RT-AC1200GU as alt name
Shiji Yang [Fri, 24 Dec 2021 06:25:01 +0000 (14:25 +0800)]
ramips: add ASUS RT-AC1200GU as alt name

RT-AC57U and RT-AC1200GU are the same models sold in different countries.
The purpose of this commit is to allow users to easily find the
corresponding firmware through the model number on the device label.

More specifications: 14e0e4f138e3 ("ramips: add support for ASUS RT-AC57U")

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[reword commit title/message]
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agoramips: add support for ipTIME T5004
Sungbo Eo [Sun, 1 Aug 2021 15:43:34 +0000 (00:43 +0900)]
ramips: add support for ipTIME T5004

ipTIME T5004 is a 5-port Gigabit Ethernet router, based on MediaTek MT7621A.

Specifications:
* SoC: MT7621AT
* RAM: 128 MiB
* Flash: NAND 128 MiB
* Ethernet: 5x 1GbE
  * Switch: SoC built-in
* UART: J4 (57600 baud)
  * Pinout: [3V3] (TXD) (RXD) (GND)

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

Revert to stock firmware via recovery mode:
1.  Press reset button, power up the device, wait >15s for CPU LED
    to stop blinking.
2.  Upload stock image to TFTP server at 192.168.0.1.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agotools/cmake: update to version 3.22.1
Josef Schlehofer [Wed, 29 Dec 2021 19:52:22 +0000 (20:52 +0100)]
tools/cmake: update to version 3.22.1

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agohostapd: refresh patchset
Nick Hainke [Sat, 25 Dec 2021 07:17:38 +0000 (08:17 +0100)]
hostapd: refresh patchset

Recently the hostapd has undergone many changes. The patches were not refreshed.
Refreshed with
    make package/hostapd/{clean,refresh}

Refreshed:
    - 380-disable_ctrl_iface_mib.patch
    - 600-ubus_support.patch
    - 700-wifi-reload.patch
    - 720-iface_max_num_sta.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agonftables: allow quoted string in flowtable_expr_member
Stijn Tintel [Sat, 27 Nov 2021 01:34:33 +0000 (03:34 +0200)]
nftables: allow quoted string in flowtable_expr_member

This is required to be able to use flow offloading on devices with
ifnames that start with a digit, like 6in4-wan6.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agox86: add/improve support for Sophos SG/XG products
Raylynn Knight [Mon, 27 Dec 2021 05:12:03 +0000 (00:12 -0500)]
x86: add/improve support for Sophos SG/XG products

* Add support for Sophos SG/XG-115 r1, r2 with/without wireless
* Add support for Sophos SG/XG-125 r1, r2 with/without wireless
* Add wireless support for SG/XG-105

Signed-off-by: Raylynn Knight <rayknight@me.com>
2 years agoath79: add usb-phy-analog to reset list in qca953x.dtsi
Jinfan Lei [Mon, 27 Dec 2021 02:27:55 +0000 (10:27 +0800)]
ath79: add usb-phy-analog to reset list in qca953x.dtsi

On startup the USB of QCA9531 board can't be initialized successfully.

lsusb result as below:
root@OpenWrt:~# lsusb unable to initialize libusb: -99

This is because usb-phy-analog is not added to reset list.

Signed-off-by: Jinfan Lei <153869379@qq.com>
(added linebreaks and small little changes to the commit message)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: 5.10: add patches to fix macronix flash
Nick Hainke [Mon, 27 Dec 2021 01:17:43 +0000 (02:17 +0100)]
kernel: 5.10: add patches to fix macronix flash

mtd: spi-nor: locking support for MX25L6405D

Macronix MX25L6405D supports locking with four block-protection bits.
Currently, the driver only sets three bits.  If the bootloader does not
sustain the flash chip in an unlocked state, the flash might be
non-writeable. Add the corresponding flag to enable locking support with
four bits in the status register.

mtd: spi-nor: disable 16-bit-sr for macronix

Macronix flash chips seem to consist of only one status register.
These chips will not work with the "16-bit Write Status (01h) Command".
Disable SNOR_F_HAS_16BIT_SR for all Macronix chips.

Refreshed:
- 0052-mtd-spi-nor-use-4-bit-locking-for-MX25L12805D.patch

Fixes: 15aa53d7ee65 ("ath79: switch to Kernel 5.10")
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoutils/px5g-wolfssl: make selfsigned certicates compatible with chromium
Sergey V. Lobanov [Fri, 24 Dec 2021 23:05:35 +0000 (02:05 +0300)]
utils/px5g-wolfssl: make selfsigned certicates compatible with chromium

Chromium based web-browsers (version >58) checks x509v3 extended attributes.
If this check fails then chromium does not allow to click "Proceed to ...
(unsafe)" link. This patch add three x509v3 extended attributes to self-signed
certificate:
1. SAN (Subject Alternative Name) (DNS Name) = CN (common name)
2. Key Usage = Digital Signature, Non Repudiation, Key Encipherment
3. Extended Key Usage = TLS Web Server Authentication

SAN will be added only if CONFIG_WOLFSSL_ALT_NAMES=y

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2 years agolibs/wolfssl: add SAN (Subject Alternative Name) support
Sergey V. Lobanov [Fri, 24 Dec 2021 23:04:50 +0000 (02:04 +0300)]
libs/wolfssl: add SAN (Subject Alternative Name) support

x509v3 SAN extension is required to generate a certificate compatible with
chromium-based web browsers (version >58)

It can be disabled via unsetting CONFIG_WOLFSSL_ALT_NAMES

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2 years agoramips: add support for ipTIME A3004T
WonJung Kim [Wed, 22 Dec 2021 06:59:00 +0000 (15:59 +0900)]
ramips: add support for ipTIME A3004T

ipTIME A3004T is a 2.4/5GHz band router, based on Mediatek MT7621.

Specifications:
 - SoC: MT7621 (880MHz)
 - RAM: DDR3 256M
 - Flash: NAND 128MB  (Macronix NAND 128MiB 3,3V 8-bit)
 - WiFi:
   - 2.4GHz: MT7615E
   - 5GHz : MT7615E
 - Ethernet:
   - 4x LAN
   - 1x WAN
 - USB: 1 * USB3.0 port
 - UART:
   - 3.3V, TX, RX, GND / 57600 8N1

Installation via web interface:
 1. Flash initramfs image using OEM's Recovery mode
 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.

Revert to stock firmware:
 - Flash stock firmware via OEM's Recovery mode

How to use OEM's Recovery mode:
 1. Power up with holding down the reset key until CPU LED stop blinking.
 2. Set fixed ip with `192.168.0.2` with subnet mask `255.255.255.0`
 3. Flash image via tftp to `192.168.0.1`

Additional Notes:
 This router shares one MT7915E chip for both 2.4Ghz/5Ghz.
 radio0 will not working on 5Ghz as it's not connected to the antenna.

Signed-off-by: WonJung Kim <git@won-jung.kim>
(added led dt-bindings)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: add support for WeVO AIR DUO
Sungbo Eo [Sat, 18 Dec 2021 13:19:06 +0000 (22:19 +0900)]
ramips: add support for WeVO AIR DUO

WeVO AIR DUO is a 1-bay NAS & 802.11ac (Wi-Fi 5) router, based on
MediaTek MT7620A.

Specifications:
* SoC: MT7620A
* RAM: 64 MiB
* Flash: SPI NOR 16 MiB
* USB & SATA bridge controller: JMicron JMS567
  * SATA 6Gb/s: 2.5" drive slot
  * USB 3.0: Micro-B
  * USB 2.0: connected to SoC
* Wi-Fi:
  * 2.4 GHz: SoC built-in
  * 5 GHz: MT7612EN
* Ethernet: 5x 1GbE
  * Switch: MT7530WU
* UART: 4-pin 1.27 mm pitch through-hole (57600 baud)
  * Pinout: (3V3)|(RXD) (TXD) (GND)

Notes:
* The drive is accessible through the external USB port only when the
  router is turned off.

Installation via web interface:
1.  Flash **initramfs** image through the stock web interface.
    The image filename should have ".upload" extension.
2.  Boot into OpenWrt and perform sysupgrade with sysupgrade image.

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

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agobcm27xx: add AMP2 to HifiBerry DAC+ / DAC+ Pro package
Torsten Duwe [Wed, 22 Sep 2021 08:52:51 +0000 (10:52 +0200)]
bcm27xx: add AMP2 to HifiBerry DAC+ / DAC+ Pro package

According to the vendor [1] these HATs share the same DT overlay:
hifiberry-dacplus. The PCM512x-compatible control unit is attached to
I2C, so the additional snd-soc-pcm512x-i2c kernel module is required.
Also explicitly note the Amp2 support to reduce confusion for those
users.

[1] <https://www.hifiberry.com/docs/software/configuring-linux-3-18-x/>
Signed-off-by: Torsten Duwe <duwe@lst.de>
(added bcm27xx tag, changed commit message)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokirkwood: add support for two clones from Endian
Pawel Dembicki [Wed, 21 Jul 2021 12:24:52 +0000 (14:24 +0200)]
kirkwood: add support for two clones from Endian

They are Endian 4i Edge 200 and his clone Endian UTM Mini.

Hardware:
  - SoC: Marvell 88F6281-A1 ARMv5TE Processor 1.2GHz
  - Ram: 512MB (4x Nanya NT5TU128M8GE-AC)
  - NAND Flash: 512MB (Micron 29F4G08AAC)
  - Lan 1-4: 4x GBE (Marvell 88E6171R-TFJ2)
  - Lan 5: 1x GBE (Marvell 88E1116R-NNC1)
  - Storage: MicroSD Slot
  - WLAN: MiniPCIe Slot present, and fitted with SparkLan WPEA-110N/E
          (Atheros AR9280 chipset) (ONLY Endian UTM Mini WLAN)
  - USB: 1x USB 2.0 port
  - Console: RJ-45 port
  - LEDs: 3x GPIO controlled

Notes:
  - WLAN led (Endian UTM Mini) is drived by MPCIE card

Installation by TFTP + serial:
  - Setup TFTP server and copy initramfs image
  - Connect serial console
  - Stop booting in u-boot
  - Do:
setenv bootargs 'console=ttyS0,115200n8 earlyprintk'
saveenv
setenv serverip 192.168.1.1
setenv ipaddr 192.168.1.2
tftpboot 0x1200000 openwrt-kirkwood-endian_4i-edge-200-initramfs-uImage
bootm 0x1200000
  - copy sysupgrade image via ssh.
  - run sysupgrade

Installation by USB + serial:
  - Copy initramfs image to fat32 usb drive
  - Connect pendrive to USB 2.0 front socket
  - Connect serial console
  - Stop booting in u-boot
  - Do:
setenv bootargs 'console=ttyS0,115200n8 earlyprintk'
        saveenv
usb reset
fatload usb 0:1 0x1200000 openwrt-kirkwood-endian_4i-edge-200-initramfs-uImage
bootm 0x1200000
  - copy sysupgrade image via ssh.
  - run sysupgrade

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2 years agokirkwood: add support for NETGEAR ReadyNAS Duo v2
Pawel Dembicki [Sun, 30 Aug 2020 20:26:14 +0000 (22:26 +0200)]
kirkwood: add support for NETGEAR ReadyNAS Duo v2

NETGEAR ReadyNAS Duo v2 is a NAS based on Marvell kirkwood SoC.

Specification:
 - Processor Marvell 88F6282 (1.6 GHz)
 - 256MB RAM
 - 128MB NAND
 - 1x GBE LAN port (PHY: Marvell 88E1318)
 - 1x USB 2.0
 - 2x USB 3.0
 - 2x SATA
 - 3x button
 - 5x leds
 - serial on J5 connector accessible from rear panel
   (115200 8N1) (VCC,TX,RX,GND) (3V3 LOGIC!)

Installation by USB + serial:
  - Copy initramfs image to fat32 usb drive
  - Connect pendrive to USB 2.0 front socket
  - Connect serial console
  - Stop booting in u-boot
  - Do:
usb reset
        setenv bootargs 'console=ttyS0,115200n8 earlyprintk'
        setenv bootcmd 'nand read.e 0x1200000 0x200000 0x600000;bootm 0x1200000'
        saveenv
fatload usb 0:1 0x1200000 openwrt-kirkwood-netgear_readynas-duo-v2-initramfs-uImage
bootm 0x1200000
  - copy sysupgrade image via ssh.
  - run sysupgrade

Installation by TFTP + serial:
  - Setup TFTP server and copy initramfs image
  - Connect serial console
  - Stop booting in u-boot
  - Do:
setenv bootargs 'console=ttyS0,115200n8 earlyprintk'
setenv bootcmd 'nand read.e 0x1200000 0x200000 0x600000;bootm 0x1200000'
saveenv
setenv serverip 192.168.1.1
setenv ipaddr 192.168.1.2
tftpboot 0x1200000 openwrt-kirkwood-netgear_readynas-duo-v2-initramfs-uImage
bootm 0x1200000
  - copy sysupgrade image via ssh.
  - run sysupgrade

Known issues:
  - Power button and PHY INTn pin are connected to the same GPIO. It
    causes that every network restart button is pressed in system.
    As workaround, button is used as regular BTN_1.

For more info please look at file:
RND_5.3.13_WW.src/u-boot/board/mv_feroceon/mv_hal/usibootup/usibootup.c
from Netgear GPL sources.

Tested-by: Raylynn Knight <rayknight@me.com>
Tested-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2 years agokernel: generic: backport linkstation-poweroff driver
Pawel Dembicki [Fri, 18 Jun 2021 13:34:49 +0000 (15:34 +0200)]
kernel: generic: backport linkstation-poweroff driver

Linkstation poweroff driver was added to mvebu target, but is required
for kirkwood target too.
This commit make two changes:
- move linkstation-poweroff support patch from mvebu to generic and
replace upstream accepted version
- backport small linkstation-poweroff fix from 5.12

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2 years agopackages: kernel: add i2c hwmon g762 kmod package
Pawel Dembicki [Sun, 30 Aug 2020 20:29:15 +0000 (22:29 +0200)]
packages: kernel: add i2c hwmon g762 kmod package

This patch adds kernel module for Global Mixed-mode Technology Inc
G762 and G763 fan speed PWM controller chips.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2 years agoscripts: dump-target-info print kernel versions
Paul Spooren [Wed, 3 Nov 2021 02:17:57 +0000 (16:17 -1000)]
scripts: dump-target-info print kernel versions

This commits adds the ability to print Kernel versions of all
targets/subtargets. If a testing Kernel is set print that version as
well.

Example output:

    apm821xx/nand 5.10
    apm821xx/sata 5.10
    arc770/generic 5.4
    archs38/generic 5.4
    armvirt/32 5.10
    armvirt/64 5.10
    at91/sam9x 5.10
    at91/sama5 5.10
    ath25/generic 5.4
    ath79/generic 5.4 5.10
    ath79/mikrotik 5.4 5.10
    --- %< ---

This should help to get a quick update on the state of Kernels.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agoath79: remove pre-5.10 specific kernel code
David Bauer [Tue, 21 Dec 2021 21:00:06 +0000 (22:00 +0100)]
ath79: remove pre-5.10 specific kernel code

With Kernel 5.4 support removed, we can get rid of this legacy code.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: aw9523: add can_sleep flag for GPIO chip
David Bauer [Wed, 29 Dec 2021 02:39:44 +0000 (03:39 +0100)]
ramips: aw9523: add can_sleep flag for GPIO chip

The GPIO expander is connected via I2C, thus the can_sleep flag has to
be set to true. This should fix spurious "scheduling while atomic" bugs
in the kernel ringbuffer.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agotfa-layerscape: fix build on systems without openssl headers
Hauke Mehrtens [Tue, 28 Dec 2021 15:10:37 +0000 (16:10 +0100)]
tfa-layerscape: fix build on systems without openssl headers

The build fails when the openssl/sha.h header file is not installed on
the host system. Fix this by setting the HOSTCCFLAGS variable to the
OpenWrt HOST_CFLAGS variable, without setting this the include paths and
other modifications in the host flags done by OpenWrt will be ignored by
the build.

This fixes the following build problem:
gcc -c -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -Wall -Werror -pedantic -std=c99 -O2 -I../../include/tools_share fiptool.c -o fiptool.o
In file included from fiptool.h:16,
                 from fiptool.c:19:
fiptool_platform.h:19:11: fatal error: openssl/sha.h: No such file or directory
   19 | # include <openssl/sha.h>
      |           ^~~~~~~~~~~~~~~

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agolayerscape: restool: Remove build of manpages
Hauke Mehrtens [Tue, 28 Dec 2021 15:06:03 +0000 (16:06 +0100)]
layerscape: restool: Remove build of manpages

The build of the manpages needs the pandoc tool, this is not in the
minimal requirements of OpenWrt, just remove the build of the restool
manpage. This fixes the build on systems without pandoc like the OpenWrt build bots.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agomediatek: yet again, replace patch with updated pending patch
Daniel Golle [Mon, 27 Dec 2021 20:08:04 +0000 (20:08 +0000)]
mediatek: yet again, replace patch with updated pending patch

Upon comment of Russell King ('Oh no, not this "-1 disease" again.')
clean up mdio read and write return type and value in mtk_eth_soc
driver and also use appropriate return values for bus-busy-timeout-
errors in newly added Clause 45 access code.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agohostapd: add fallback for WPS on stations
Raphaël Mélotte [Fri, 29 Oct 2021 08:45:06 +0000 (10:45 +0200)]
hostapd: add fallback for WPS on stations

Up to now the WPS script triggered WPS on the stations only if it
could not trigger it successfully on any hostapd instance.

In a Multi-AP context, there can be a need (to establish a new
wireless backhaul link) to trigger WPS on the stations, regardless of
whether there is already a hostapd instance configured or not. The
current script makes it impossible, as if hostapd is running and
configured, WPS would always be triggered on hostapd only.

To allow both possibilities, the following changes are made:

- Change the "pressed" action to "release", so that we can make use of
the "$SEEN" variables (to know for how long the button was pressed).

- If the button is pressed for less than 3 seconds, keep the original
behavior.

- If the button is pressed for 3 seconds or more, trigger WPS on the
stations, regardless of the status of any running hostapd instance.

- Add comments explaining both behaviors.

- While at it, replace the usage of '-a' with a '[] && []'
construct (see [1]).

This gives users a "fallback" mechanism to onboard a device to a
Multi-AP network, even if the device already has a configured hostapd
instance running.

[1]: https://github.com/koalaman/shellcheck/wiki/SC2166

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
2 years agomediatek: replace patch with version sent upstream
Daniel Golle [Mon, 27 Dec 2021 15:26:18 +0000 (15:26 +0000)]
mediatek: replace patch with version sent upstream

Replace recently added patch
 701-net-ethernet-mtk_eth_soc-add-support-for-clause-45-mdio.patch
with version sent upstream
 701-net-ethernet-mtk_eth_soc-implement-Clause-45-MDIO-access.patch

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoath25: add kernel 5.10 support
Sergey Ryazanov [Sun, 19 Dec 2021 14:31:53 +0000 (17:31 +0300)]
ath25: add kernel 5.10 support

Copy and refresh patches and config from 5.4 to 5.10. Most patches
require no more then automatic refresh. The only exception is the
Ethernet driver patch, which requires some more work:
* drop eth_change_mtu() usage since it was removed from the kernel,
  it anyway useless for drivers that utilizes alloc_etherdev();
* add the txqueue number argument to the .ndo_tx_timeout callback
  function;
* replace ioremap_nocache() which was finally removed from the kernel by
  the ioremap() with the same behaviour.

Switch target to the new kernel version.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[use KERNEL_TESTING_PATCHVER for now]
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2 years agoath25: refresh kernel 5.4 config
Sergey Ryazanov [Sun, 19 Dec 2021 14:31:52 +0000 (17:31 +0300)]
ath25: refresh kernel 5.4 config

The target config require some refresh due to the just introduced
filtering of the "run-time" options, MIPS eBPF JIT backporting, and so
on.

The configuration is easily updated using make kernel_oldconfig. So
let's update it now in preparation for v5.10 support to reduce the new
kernel configuration diff.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2 years agoMove mvswitch 88E6060 driver to the ath25
Sergey Ryazanov [Sun, 19 Dec 2021 14:31:51 +0000 (17:31 +0300)]
Move mvswitch 88E6060 driver to the ath25

ath25 requires a 88E6060 driver to support boards such as Fonera 2.0g
(FON2202). The swconfig based mvswitch driver has not yet been ported to
the 5.10 kernel as the only user is the ath25 target while all other
targets have been switched to the upstream DSA implementation.

Switching ath25 to the DSA implementation is a complex task, since we
need either per-board platform data or DTS support. ath25 lacks both of
them and builds only a single generic image. So we need to keep the
swconfig driver implementation to easly and quickly port ath25 to the
5.10 kernel.

Since porting the mvswitch driver to 5.10 as a generic driver is not an
option, and since the ath25 is its only user, make mvswitch a target
specific driver to be able to port it to the 5.10 kernel as part of the
kernel version update of the target. This will allow us quickly migrate
to the next kernel version and not delay the next firmware release.

Suggested-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2 years agokernel: bump 5.10 to 5.10.88
Rui Salvaterra [Wed, 22 Dec 2021 10:13:25 +0000 (10:13 +0000)]
kernel: bump 5.10 to 5.10.88

Deleted (upstreamed):
mpc85xx/patches-5.10/002-powerpc-85xx-fix-oops-when-CONFIG_FSL_PMC-n.patch [1]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.88&id=151ffac3ac277ad7c2a5f201b566b56d97ed3a99

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agoapm821xx: remove broken PCIe MSI support
Christian Lamparter [Fri, 24 Dec 2021 13:42:35 +0000 (14:42 +0100)]
apm821xx: remove broken PCIe MSI support

These never worked and upstream is in the process of removing
them as well. Legacy PCI interrupt signaling is still working
as before.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoapm821xx: remove overlapping partitions
Christian Lamparter [Thu, 23 Dec 2021 20:45:19 +0000 (21:45 +0100)]
apm821xx: remove overlapping partitions

Apart from the dtb partition, these were all "read-only;"
they serve no purpose other than being a copy of what
netgear had defined in their original firmware.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoapm821xx: fix WD MyBook Live DUO USB-Port
Christian Lamparter [Fri, 24 Dec 2021 13:44:08 +0000 (14:44 +0100)]
apm821xx: fix WD MyBook Live DUO USB-Port

where to begin? the USB regulator settings were just
a part of the issue. With them changed, according to
the forum it still failed when a USB device was
connected to the port with:

dwc2 4bff80000.usbotg: dwc2_restore_global_registers: no global registers to restore
dwc2 4bff80000.usbotg: dwc2_exit_partial_power_down: failed to restore registers
dwc2 4bff80000.usbotg: exit partial_power_down failed
dwc2 4bff80000.usbotg: HC died; cleaning up

One clue was found upstream in
commit cc10ce0c51b1 ("usb: dwc2: disable power_down on Amlogic devices")

|Disable power_down by setting the parameter to
|DWC2_POWER_DOWN_PARAM_NONE. This fixes a problem on various Amlogic
|Meson SoCs where USB devices are only recognized when plugged in before
|booting Linux. A hot-plugged USB device was not detected even though the
|device got power (my USB thumb drive for example has an LED which lit
|up).
|[...]

the same method proposed there worked with APM821xx's USB IP-Core.

Link: https://forum.openwrt.org/t/wd-my-book-duo-usb/111926/2
Reported-by: thwe and takimata (openwrt forum)
Fixes: b70d3557e05 ("apm821xx: clean up gpio-hogs")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agolinux-firmware: amd: consolidate amd's linux-firmware entries
Christian Lamparter [Sun, 19 Dec 2021 12:51:41 +0000 (13:51 +0100)]
linux-firmware: amd: consolidate amd's linux-firmware entries

this patch consolidates the amd64-microcode
(moved to linux-firmware.git, previously this was an extra
debian source package download), amdgpu and radeon firmwares
into a shared "amd" makefile.

With the upcoming 20211216 linux-firmware bump,
this will include a microcode update for ZEN 3 CPUs.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agotools/mkimage: update to 2021.10
Huangbin Zhan [Fri, 26 Nov 2021 00:38:31 +0000 (08:38 +0800)]
tools/mkimage: update to 2021.10

Changelog:

 - upstream now needs OpenSSL in order to be able to sign FITs. See:
commit cb9faa6f98ae ("tools: Use a single target-independent config to enable OpenSSL")

 - removes upstream patches.

Link: https://github.com/u-boot/u-boot/commit/cb9faa6f98ae56d70d59505dad290dd3d381cb7b
Tested-by: Sergey V. Lobanov <sergey@lobanov.in>
Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoumbim: add missing json_close_object call
Martin Schiller [Fri, 15 Jan 2021 14:24:23 +0000 (15:24 +0100)]
umbim: add missing json_close_object call

Otherwise, connection setup may fail due to JSON parse error in netifd.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[Updated commit description]
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoumbim: explicitly check for PIN1 state
Martin Schiller [Fri, 7 Feb 2020 11:41:59 +0000 (12:41 +0100)]
umbim: explicitly check for PIN1 state

PIN2 is used only to restrict changing of fixed dialling feature,
does not affect network registration. Therefore explicitly check for
PIN1 state during connection setup, which is required for network
registration.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[Updated commit description]
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoumbim: call umbim disconnect in error case
Martin Schiller [Fri, 7 Feb 2020 11:38:36 +0000 (12:38 +0100)]
umbim: call umbim disconnect in error case

This is needed to properly close the control channel.

Otherwise, on the next try the caps call may fail.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2 years agoapm821xx: drop 5.4 config and patches
Christian Lamparter [Mon, 20 Dec 2021 19:43:07 +0000 (20:43 +0100)]
apm821xx: drop 5.4 config and patches

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agorealtek: netgear-gs110tpp: Add system LEDs
Sander Vanheule [Thu, 25 Nov 2021 05:50:10 +0000 (06:50 +0100)]
realtek: netgear-gs110tpp: Add system LEDs

The GS110TPP has an RGB LED used for system status indication. Expose
all three components as separate GPIO LEDs connected via the device's
RTL8231.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: netgear-gigabit: Enable RTL8231
Sander Vanheule [Thu, 25 Nov 2021 05:50:09 +0000 (06:50 +0100)]
realtek: netgear-gigabit: Enable RTL8231

Since the move to 5.10, there are now two GPIO drivers. The gpio0 node
refers to the internal GPIOs, so the indirect-access-bus-id is no longer
relevant for that node.

Set indirect-access-bus-id to the correct value (31) on the correct node
(gpio1) and enable the device.

Cc: Raylynn Knight <rayknight@me.com>
Cc: Michael Mohr <akihana@gmail.com>
Cc: Stijn Segers <foss@volatilesystems.org>
Cc: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Tested-by: Bjørn Mork <bjorn@mork.no>
2 years agokernel: mtd: parsers: add nvmem support to cmdlinepart
Ansuel Smith [Sat, 30 Oct 2021 23:32:31 +0000 (01:32 +0200)]
kernel: mtd: parsers: add nvmem support to cmdlinepart

Assuming cmdlinepart is only one level deep partition scheme and that
static partition are also defined in DTS, we can assign an of_node for
partition declared from bootargs.

The cmdlinepart parser is the first parser checked and if it does find
some partition declared in the bootargs, every other parser is ignored.
This means that the fixed-partition parser is ignored and an of_node for
the mtd is never assigned.
Fix this by searching a defined of_node using a similar fixed_partition
parsing logig, check if a partition is present with the same label, check
that it has the same offset and size and finally assign an of_node to the
mtd. The NVMEM can now find the of_node for the mtd and correctly works.

Fixes: abc17bf306ac ("ath79: convert mtd-mac-address to nvmem implementation")
Tested-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agobase-files: upgrade: fix efi partitions size calculation
Javier Marcet [Sat, 4 Apr 2020 15:52:29 +0000 (17:52 +0200)]
base-files: upgrade: fix efi partitions size calculation

We were missing (not using) the last sector of each partition,
compared with the output of gparted.

Signed-off-by: Javier Marcet <javier@marcet.info>
[moved the dot]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agotoolchain: musl: disable crypt size hack by default
Petr Štetiar [Tue, 14 Dec 2021 11:12:18 +0000 (12:12 +0100)]
toolchain: musl: disable crypt size hack by default

Enable this option and thus re-include crypt() support for the SHA256,
SHA512 and Blowfish ciphers on all devices. According to commit
9365745f8e7b ("musl: add a hack to remove unused crypt() algorithms,
saves ~14k after lzma") it should add about ~14k to the resulting image,
which seems to be a reasonable size increase for consistent crypt()
support.

Decided to not remove this hack completely as it might be still useful
for people trying to fit custom images onto smaller devices and the
patch is rather simple so we can afford to keep it for now.

References: https://github.com/openwrt/openwrt/pull/1331
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agorockchip: remove Kernel 5.4
David Bauer [Tue, 21 Dec 2021 20:54:32 +0000 (21:54 +0100)]
rockchip: remove Kernel 5.4

As v5.10 is the default kernel version now, the files for v5.4 can be
dropped.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agompc85xx: remove kernel 5.4
David Bauer [Tue, 21 Dec 2021 20:56:04 +0000 (21:56 +0100)]
mpc85xx: remove kernel 5.4

As v5.10 is the default kernel version now, the files for v5.4 can be
dropped.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoath79: remove kernel 5.4
David Bauer [Tue, 21 Dec 2021 21:00:34 +0000 (22:00 +0100)]
ath79: remove kernel 5.4

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: add missing function declaration
David Bauer [Mon, 20 Dec 2021 16:29:49 +0000 (17:29 +0100)]
hostapd: add missing function declaration

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoath79: add missing UBNT_REVISION
Nick Hainke [Sun, 26 Dec 2021 10:59:44 +0000 (11:59 +0100)]
ath79: add missing UBNT_REVISION

The UBNT_REVISION was already added for the ubnt-xw target because:

  U-boot bootloader on M-XW devices expects factory image revision
  version in specific format. On airOS v6.1.7 with `U-Boot 1.1.4-s1039
  (May 24 2017 - 15:58:18)` bootloader checks if the revision major(?)
  number is actually a number, but in currently generated images there's
  OpenWrt text and so the check fails

  ...

  By placing arbitrary correct number first in major version, we make the
  bootloader happy and we can flash factory images over TFTP again.

  commit d42a7c469909 ("ath79: ubnt-m-xw: Fix factory image flashing using TFTP recovery method")

Fixes errors in the form of (tftp flashing):
  sent DATA <block=8577, 412 bytes>
  received ERROR <code=2, msg=Firmware check failed>
  Error code 2: Firmware check failed

The missing UBNT_REVISION was not noticed before, since the
UBNT_REVISION field for the ubnt-xm target was also set to:
  "42.OpenWrt-..."
Probably, UBNT_REVISION for the ubnt-xm target was set by the ubnt-xw
and was never overridden somewhere else. However, it is missing and
should be part of the ubnt-xm device.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agosunxi: Use rtl8723bu-firmware instead of rtl8723bs-firmware
Hauke Mehrtens [Sun, 26 Dec 2021 23:57:19 +0000 (00:57 +0100)]
sunxi: Use rtl8723bu-firmware instead of rtl8723bs-firmware

The firmware for the rtl8723bs chip is now included in the
rtl8723bu-firmware package.

Fixes: 397dfe4a97e6 ("linux-firmware: Update to version 20121216")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotcpdump: libpcap: Remove http://www.us.tcpdump.org mirror
Hauke Mehrtens [Sun, 26 Dec 2021 22:38:52 +0000 (23:38 +0100)]
tcpdump: libpcap: Remove www.us.tcpdump.org mirror

The http://www.us.tcpdump.org mirror will go offline soon, only use the
normal download URL.

Reported-by: Denis Ovsienko <denis@ovsienko.info>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agolinux-firmware: Update to version 20121216
Hauke Mehrtens [Sat, 18 Dec 2021 11:01:27 +0000 (12:01 +0100)]
linux-firmware: Update to version 20121216

The rtl8723bs firmware was removed and a symlink to the rtl8723bu
firmware was created like it is done in upstream linux-firmware.

The following OpenWrt packages are changing:
* amdgpu-firmware: Multiple updates and new files
* ar3k-firmware: Multiple updates and new files
* ath10k-firmware-qca6174: Updated ath10k/QCA6174/hw3.0/board-2.bin
* bnx2x-firmware: Added bnx2x-e1-7.13.21.0.fw, bnx2x-e1h-7.13.21.0.fw and bnx2x-e2-7.13.21.0.fw
* iwlwifi-firmware-iwl8260c: Updated iwlwifi-8000C-36.ucode
* iwlwifi-firmware-iwl8265: Updated iwlwifi-8265-36.ucode
* iwlwifi-firmware-iwl9000: Updated iwlwifi-9000-pu-b0-jf-b0-46.ucode
* iwlwifi-firmware-iwl9260: Updated iwlwifi-9260-th-b0-jf-b0-46.ucode
* r8169-firmware: Updated rtl8153c-1.fw
* rtl8723bs-firmware: removed
* rtl8723bu-firmware: Added rtlwifi/rtl8723bs_nic.bin symlink
* rtl8822ce-firmware: Updated rtw8822c_fw.bin

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agomediatek: mt7622: unifi6lr: properly register Ethernet PHY
Daniel Golle [Tue, 2 Nov 2021 04:03:15 +0000 (04:03 +0000)]
mediatek: mt7622: unifi6lr: properly register Ethernet PHY

This change enables proper Ethernet link status and speed reporting on
the Ubiquiti UniFi 6 LR access point:

 mtk_soc_eth 1b100000.ethernet eth0: PHY [mdio-bus:08] driver [Aquantia AQR112C] (irq=POLL)
 mtk_soc_eth 1b100000.ethernet eth0: configuring for phy/2500base-x link mode
 mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: mt7622: enable driver for Aquantia PHYs
Daniel Golle [Tue, 2 Nov 2021 00:57:36 +0000 (00:57 +0000)]
mediatek: mt7622: enable driver for Aquantia PHYs

Enable Aquantia Ethernet PHY driver as there is an AQR112C 2500Base-T
PHY in the Ubiquiti UniFi 6 LR access point.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: add support for Clause 45 MDIO access
Daniel Golle [Tue, 2 Nov 2021 04:02:49 +0000 (04:02 +0000)]
mediatek: add support for Clause 45 MDIO access

Add support for Clause 45 MDIO PHY register read and write operations
to mtk_eth_soc driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: generic: refresh patch
Daniel Golle [Sun, 26 Dec 2021 18:45:57 +0000 (18:45 +0000)]
kernel: generic: refresh patch

722-net-phy-aquantia-Add-AQR113-driver-support.patch needs refresh.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: mac80211: refresh patchset
Nick Hainke [Mon, 20 Dec 2021 20:55:21 +0000 (21:55 +0100)]
kernel: mac80211: refresh patchset

Refreshed:
- 311-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agokernel: ath10k: provide a build variant for small RAM devices
Nick Hainke [Mon, 20 Dec 2021 20:48:38 +0000 (21:48 +0100)]
kernel: ath10k: provide a build variant for small RAM devices

Based on: 1ac627024de9 ("kernel: ath10k-ct: provide a build variant for
small RAM devices")

Like described in the ath10k-ct-smallbuffers version, oom-killer gets
triggered frequently by devices with small RAM.

That change is necessary for many community mesh networks which use
ath10k based devices with too little RAM. The -ct driver has been
proven unstable if used with 11s meshing and only wave2 chipsets are
supporting 11s. Freifunk Berlin is nowadays assembling its
firmware-based completely of vanilla OpenWRT with some package additions
which are made through the imagebuilder. Therefore we cannot take the
approach other freifunk communities have taken to maintain that patch
downstream [1]. Other communities consider these devices as broken and
that change would pretty much give those devices a second life [2].
[1] - https://git.freifunk-franken.de/mirror/openwrt/commit/450b306e540bc0f2c8a8841bbe4d9612f2b8cdea
[2] - https://github.com/freifunk-gluon/gluon/issues/1988#issuecomment-619532909

Signed-off-by: Simon Polack <spolack+git@mailbox.org>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agobcm4908: include ATF in bootfs images
Rafał Miłecki [Fri, 24 Dec 2021 22:07:39 +0000 (23:07 +0100)]
bcm4908: include ATF in bootfs images

It's required for proper booting.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agoarm-trusted-firmware-bcm63xx: add ATF for Broadcom devices
Rafał Miłecki [Fri, 17 Dec 2021 10:40:54 +0000 (11:40 +0100)]
arm-trusted-firmware-bcm63xx: add ATF for Broadcom devices

Right now it includes bcm4908 variant only that is required by BCM4908
family devices with U-Boot.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agomvebu: puzzle: wan LED and fix default network
Daniel Golle [Thu, 23 Dec 2021 19:01:48 +0000 (19:01 +0000)]
mvebu: puzzle: wan LED and fix default network

Fix default network configuration of the Puzzle-M902 so all LAN ports
are included in the LAN bridge.
Setup network LED to indicate WAN port link status, like vendor
firmware does as well.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomvebu: enable Aquantia phy driver for Puzzle devices
Daniel Golle [Thu, 23 Dec 2021 18:10:05 +0000 (18:10 +0000)]
mvebu: enable Aquantia phy driver for Puzzle devices

Fixes Ethernet link status on all ports and makes 2.5G ports usable
in 2.5G and 1G full-duplex mode.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: add id for AQR112 Ethernet phy variants
Daniel Golle [Thu, 23 Dec 2021 17:36:48 +0000 (17:36 +0000)]
kernel: add id for AQR112 Ethernet phy variants

Add ids for AQR112R and AQR112C 2.5G Ethernet PHYs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: import patch enabling AQR113 PHY
Daniel Golle [Thu, 23 Dec 2021 17:36:01 +0000 (17:36 +0000)]
kernel: import patch enabling AQR113 PHY

Add PHY ID for the Aquantia AQR113 PHY.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: import patch enabling AQR112 and AQR412 PHY
Daniel Golle [Tue, 2 Nov 2021 00:55:40 +0000 (00:55 +0000)]
kernel: import patch enabling AQR112 and AQR412 PHY

Copy and refresh patch enabling AQR112 and AQR412 Ethernet PHY from
layerscape (5.4) target to generic (5.10) as AQR112 can also be found
on other targets as well.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agohostapd: only attempt to set qos map if supported by the driver
Felix Fietkau [Thu, 23 Dec 2021 18:18:33 +0000 (19:18 +0100)]
hostapd: only attempt to set qos map if supported by the driver

Fixes issues with brcmfmac

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomvebu: remove accidentally added file
Daniel Golle [Tue, 21 Dec 2021 23:39:28 +0000 (23:39 +0000)]
mvebu: remove accidentally added file

Remove accidentally added file (which was a left-over of a by-now
replaced driver)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agohostapd: keep HE capability after channel switch in AP+STA/Mesh
Arnout Vandecappelle (Essensium/Mind) [Tue, 21 Dec 2021 17:41:33 +0000 (18:41 +0100)]
hostapd: keep HE capability after channel switch in AP+STA/Mesh

The auto-ht option already kept HT and VHT support, but wasn't updated
to support HE (11ax).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2 years agomvebu: puzzle-m901: add LEDs, fan and reset button
Daniel Golle [Tue, 21 Dec 2021 21:50:32 +0000 (21:50 +0000)]
mvebu: puzzle-m901: add LEDs, fan and reset button

Wire up MCU driver for LEDs, fan and temperature sensor, and add
GPIO reset button just like on the M902 also on the Puzzle M901.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomvebu: puzzle-m902: add GPIO reset button
Daniel Golle [Tue, 21 Dec 2021 21:49:25 +0000 (21:49 +0000)]
mvebu: puzzle-m902: add GPIO reset button

Add reset button to device tree so it has the function expected from
usual OpenWrt devices.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomvebu: puzzle-mcu: improve led driver
Daniel Golle [Tue, 21 Dec 2021 21:44:37 +0000 (21:44 +0000)]
mvebu: puzzle-mcu: improve led driver

Set blinking mode using scheduled work instead of blocking which may
result in deadlocks.
Add dynamic kprintf debugging hexdumps of all MCU rx and tx.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoath79: switch to Kernel 5.10
Paul Spooren [Thu, 30 Sep 2021 05:15:42 +0000 (19:15 -1000)]
ath79: switch to Kernel 5.10

Kernel 5.10 is used by many people since quite a while. With other
targets already moved to 5.10, let ath79 follow suit.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ath79/tl-wdr3600; ath79/tl-wdr4300]
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> [ath79/tl-wdr4300]
Signed-off-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoqoriq: add support for WatchGuard Firebox M300
Stijn Tintel [Fri, 6 Aug 2021 23:41:11 +0000 (02:41 +0300)]
qoriq: add support for WatchGuard Firebox M300

This device is based on NXP's QorIQ T2081QDS board, with a quad-core
dual-threaded 1.5 GHz ppc64 CPU and 4GB ECC RAM. The board has 5
ethernet interfaces, of which 3 are connected to the ethernet ports on
the front panel. The other 2 are internally connected to a Marvell
88E6171 switch; the other 5 ports of this switch are also connected to
the ethernet ports on the front panel.

Installation: write the sdcard image to an SD card. Stock U-Boot will
not boot, wait for it to fail then run these commands:

setenv OpenWrt_fdt image-watchguard-firebox-m300.dtb
setenv OpenWrt_kernel watchguard_firebox-m300-kernel.bin
setenv wgBootSysA 'setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=2 console=$consoledev,$baudrate fsl_dpaa_fman.fsl_fm_max_frm=1530; ext2load mmc 0:1 $fdtaddr $OpenWrt_fdt; ext2load mmc 0:1 $loadaddr $OpenWrt_kernel; bootm $loadaddr - $fdtaddr'
saveenv
reset

The default U-Boot boot entry will now boot OpenWrt from the SD card.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agoqoriq: new target
Stijn Tintel [Fri, 6 Aug 2021 21:35:53 +0000 (00:35 +0300)]
qoriq: new target

Add a new target named "qoriq", that will support boards using PowerPC
processors from NXP's QorIQ brand.

This doesn't actually add support for any board yet, so that
installation instructions can go in the commit message of the commit
that adds actual support for a board.

Using CONFIG_E6500_CPU here due to the kernel using -mcpu=powerpc64
rather than -mcpu=e5500 when selecting CONFIG_E5500_CPU. The only
difference between e5500 and e6500 is AltiVec support, and the kernel
checks for it at runtime. Musl will only check at runtime if AltiVec
support is disabled at compile-time, so we need to use e5500 in CPU_TYPE
to avoid SIGILL.

Math emulation (CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED) is required, as
neither e5500 nor e6500 implement fsqrt nor fsqrts, and musl hardcodes
sqrt and sqrtf to use these ASM instructions on PowerPC64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agolibunwind: add ppc64 support
Stijn Tintel [Sun, 3 Oct 2021 14:19:20 +0000 (17:19 +0300)]
libunwind: add ppc64 support

Backport an upstream patch to make libunwind build on ppc64, and add
powerpc64 to the dependencies.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agonettle: disable assembler on ppc64
Stijn Tintel [Sun, 15 Aug 2021 16:00:02 +0000 (19:00 +0300)]
nettle: disable assembler on ppc64

As of version 3.7, Nettle added PowerPC64 assembly for several
algorithms. Unfortunately, they cause build to fail due to ABI mismatch:

gcm-hash.o: ABI version 1 is not compatible with ABI version 2 output

Disable assembler when ppc64 and musl are used for now.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agoopenssl: add ppc64 support
Stijn Tintel [Fri, 30 Jul 2021 17:21:50 +0000 (20:21 +0300)]
openssl: add ppc64 support

Backport an upstream patch that adds support for ELFv2 ABI on big endian
ppc64. As musl only supports ELFv2 ABI on ppc64 regardless of
endianness, this is required to be able to build OpenSSL for ppc64be.

Modify our targets patch to add linux-powerpc64-openwrt, which will use
the linux64v2 perlasm scheme. This will probably break the combination
ppc64 with glibc, but as we really only want to support musl, this
shouldn't be a problem.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agotoolchain/gcc: use ELFv2 ABI on ppc64 with musl
Stijn Tintel [Tue, 22 Sep 2020 11:02:58 +0000 (14:02 +0300)]
toolchain/gcc: use ELFv2 ABI on ppc64 with musl

At configuration time, gcc assumes that ppc64be targets use the ELFv1
ABI, and ppc64le targets use the ELFv2 ABI. However, musl libc does not
support the ELFv1 ABI on ppc64 at all, regardless of the endianness.

Therefore, when building for a ppc64 arch and with musl libc, instruct
gcc to use the ELFv2 ABI.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93157 for more info.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agobuild: add e5500 CPU_TYPE
Stijn Tintel [Tue, 22 Sep 2020 10:37:56 +0000 (13:37 +0300)]
build: add e5500 CPU_TYPE

This CPU type is compatible with NXP's PPC based QorIQ processors, and
will be used by the upcoming new qoriq target.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: puzzle-m902: add driver for MCU driving LEDs, fan and buzzer
Daniel Golle [Tue, 21 Dec 2021 16:27:16 +0000 (16:27 +0000)]
mvebu: puzzle-m902: add driver for MCU driving LEDs, fan and buzzer

Backport MFD driver for communicating with the on-board MCU found on
IEI World Puzzle appliances.
Improve the driver to support multiple LEDs, apply a default state and
let MCU take care of blinking if timing is within supported range.
Wire up LEDs and fan for Puzzle M902 in device tree.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agobpf: add -mcpu=v3 to support 32-bit alu ops
Felix Fietkau [Mon, 20 Dec 2021 23:28:54 +0000 (00:28 +0100)]
bpf: add -mcpu=v3 to support 32-bit alu ops

Fixes JIT on 32-bit ARM and improves performance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomt76: fix Makefile dependencies for mt7921
Lorenzo Bianconi [Mon, 20 Dec 2021 10:53:29 +0000 (11:53 +0100)]
mt76: fix Makefile dependencies for mt7921

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
2 years agokernel: drop obsolete kmod-video-core dependencies
Stijn Tintel [Wed, 17 Mar 2021 00:14:09 +0000 (02:14 +0200)]
kernel: drop obsolete kmod-video-core dependencies

These dependencies do not exist in any of the supported kernel versions.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agokernel: drop obsolete symbols from kmod-video-core
Stijn Tintel [Wed, 17 Mar 2021 00:06:43 +0000 (02:06 +0200)]
kernel: drop obsolete symbols from kmod-video-core

These symbols don't exist in any of the supported kernel versions.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoprocd: update to git HEAD
Daniel Golle [Mon, 20 Dec 2021 02:21:23 +0000 (02:21 +0000)]
procd: update to git HEAD

 eb522fc uxc: consider uvol and etc location for configurations
 16a6ee9 uxc: integrate console into uxc
 129d050 remove ujail-console

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agohostapd: make OpenWrt statistics per-BSS
David Bauer [Sat, 18 Dec 2021 16:24:09 +0000 (17:24 +0100)]
hostapd: make OpenWrt statistics per-BSS

WNM and RRM statistics were incorrectly per-PHY, leading to shared
statistic counters per BSS.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: provide BSS-transition-queries to ubus subscribers
David Bauer [Sat, 30 Oct 2021 22:11:51 +0000 (00:11 +0200)]
hostapd: provide BSS-transition-queries to ubus subscribers

Provide incoming BSS transition queries to ubus subscribers.

This allows external steering daemons to provide clients with
an optimal list of transition candidates.

This commit has no functional state in case no ubus subscriber is
present or it does not handle this ubus message.

To prevent hostapd from sending out a generic response by itself, a
subscribing daemon has to return a non-zero response code to hostapd.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: WNM: allow specifying dialog-token
David Bauer [Mon, 27 Sep 2021 13:53:25 +0000 (15:53 +0200)]
hostapd: WNM: allow specifying dialog-token

Backport a patch to allow extending the ubus BSS-transition method
for specifying individual dialog tokens for BSS transition
management requests.

This is required for handling BSS transition queries in the future.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: work around duplicate MAC address on U6 Lite
David Bauer [Fri, 17 Dec 2021 23:33:57 +0000 (00:33 +0100)]
ramips: work around duplicate MAC address on U6 Lite

The UniFi 6 Lite has two MAC addresses for the 2.4 and 5GHz radio in
it's EEPROM partition.

On my unit these are

F4 92 BF A0 BB 6F
F6 92 BF A0 BB 6F

The problem with these is that mac80211 increases the first octet by
2, which leads to conflicting MAC addresses between radios.

Work around this problem for now by increasing the last octet by 1 on
the 5 GHz radio.

Ubiquiti increases the last octet by 2 for each subsequent VAP created
per radio. Ideally we should do the same, however this functionality is
currently lacking from mac80211.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agomediatek: mt7623: bpi-r2: add ethernet alias to device tree
Daniel Golle [Sat, 18 Dec 2021 01:45:44 +0000 (01:45 +0000)]
mediatek: mt7623: bpi-r2: add ethernet alias to device tree

Add ethernet0 alias in device tree to make U-Boot inherit the Ethernet
mac address (set via environment variable 'ethaddr') down to Linux.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoodhcp6c: update to latest git HEAD
Hans Dedecker [Fri, 17 Dec 2021 20:04:54 +0000 (21:04 +0100)]
odhcp6c: update to latest git HEAD

39b584b Revert "dhcpv6: add a minimum valid lifetime for IA_PD updates"
c9578e1 dhcpv6: add support for null IA_PD valid lifetime
ca43ea3 dhcpv6: add a minimum valid lifetime for IA_PD updates

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agonetifd: update to latest git HEAD
Hans Dedecker [Fri, 17 Dec 2021 19:54:44 +0000 (20:54 +0100)]
netifd: update to latest git HEAD

5ca5e0b netifd: allow disabling rule/rule6 config sections
8875960 interface-ip: add support for IPv6 prefix invalidation
e589c05 interface-ip: use metric when looking for a route
b54ffde main: fix hotplug script usage message

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agokernel: 5.10: consolidate mac80211 crypto options
Sergey Ryazanov [Thu, 16 Dec 2021 22:23:08 +0000 (01:23 +0300)]
kernel: 5.10: consolidate mac80211 crypto options

Each of
- CRYPTO_AEAD2
- CRYPTO_AEAD
- CRYPTO_GF128MUL
- CRYPTO_GHASH
- CRYPTO_HASH2
- CRYPTO_HASH
- CRYPTO_MANAGER2
- CRYPTO_MANAGER
- CRYPTO_NULL2

either directly required for mac80211 crypto support, or directly
selected by such options. Support for the mac80211 crypto was enabled in
the generic config since c7182123b9 ("kernel: make cryptoapi support
needed by mac80211 built-in"). So move the above options from the target
configs to the generic config to make it clear why do we need them.

CC: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2 years agokernel: filter out both Clang and LLD versions
Sergey Ryazanov [Thu, 16 Dec 2021 22:23:07 +0000 (01:23 +0300)]
kernel: filter out both Clang and LLD versions

Both CLANG_VERSION and LLD_VERISON are autogenerated runtime
configuration options, so add them to the kernel configuration filter
and remove from generic and per-target configs to keep configs clean.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
2 years agotoolchain/gcc: refresh gcc-11.2.0 patch
Ilya Lipnitskiy [Wed, 8 Dec 2021 01:28:23 +0000 (17:28 -0800)]
toolchain/gcc: refresh gcc-11.2.0 patch

Run make toolchain/gcc/minimal/refresh (with glibc, with musl
toolchain/gcc/{initial,final}/refresh don't work)

Fixes: ab241e0937c9 ("toolchain/gcc: fix build on MacOS arm64")
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2 years agotoolchain/gcc: replace revert with upstream fix
Ilya Lipnitskiy [Wed, 8 Dec 2021 01:28:22 +0000 (17:28 -0800)]
toolchain/gcc: replace revert with upstream fix

This will make upgrade to v11.3.0 easier and follows upstream more
closely.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2 years agotoolchain/gcc: remove upstreamed patch, add backport
Ilya Lipnitskiy [Wed, 8 Dec 2021 01:28:21 +0000 (17:28 -0800)]
toolchain/gcc: remove upstreamed patch, add backport

This patch has been upstream since GCC 10.
Dragan Mladjenovic (2):
      Emit .note.GNU-stack for soft-float linux targets.
      Emit .note.GNU-stack for hard-float linux targets.

Link: https://gcc.gnu.org/g:a3c1e1f2ff88
Link: https://gcc.gnu.org/g:54b3d52c3cca
Add backport patch to define TARGET_LIBC_GNUSTACK on musl to add
.note.GNU-stack on hard-float MIPS targets.

Link: https://gcc.gnu.org/g:25abbb924968
The net effect should be the exact same functionality while following
upstream code instead of a custom outdated patch.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>