openwrt/openwrt.git
3 years agobcm63xx: pinctrl: fix BCM6348 groups
Daniel González Cabanelas [Tue, 19 May 2020 13:56:29 +0000 (15:56 +0200)]
bcm63xx: pinctrl: fix BCM6348 groups

The current driver has some troubles:
 - Some groupings are wrong.
 - The pinctrl group0 owns pins never used (at least in Openwrt) for any
   pinmux. The driver hijacks all the pins on the group avoiding any other
   use, spite they're free. I.e. for buttons, causing this kernel error:
   [  4.735928] gpio-keys-polled keys: unable to claim gpio 479, err=-22
   [  4.742642] gpio-keys-polled: probe of keys failed with error -22
 - Minor errors about groupings on the documentation
 - Missing "diag" grouping in dtsi
 - Wrong groupings in dtsi

Fix it by setting the correct groups.
And relax the pin capturing, letting the gpios belonging to any group to
be used for other purposes like buttons. This was the behavior with stock
firmwares and old OpenWrt versions which never caused any trouble.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
(Cherry-picked from commit 50cb3a750f)

3 years agobcm63xx: limit name metadata to model name
Álvaro Fernández Rojas [Mon, 22 Feb 2021 17:07:02 +0000 (18:07 +0100)]
bcm63xx: limit name metadata to model name

Since there are only 16 characters available, on most cases the vendor name
will fit in the metadata, but the model name won't fit.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit c27532742d)

3 years agoimage: add ModelNameLimit16
Álvaro Fernández Rojas [Mon, 22 Feb 2021 17:04:16 +0000 (18:04 +0100)]
image: add ModelNameLimit16

This script returns the model name limited to 16 characters.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from 1235ea7c20)

3 years agoramips: fix Phicomm PSG1218A switch port labels
Shiji Yang [Mon, 22 Feb 2021 16:02:30 +0000 (00:02 +0800)]
ramips: fix Phicomm PSG1218A switch port labels

The lan port sequence was reversed compared to the labels.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[improve commit title/message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 567a88e4b99f9e1b647588de0319357e688ce016)

3 years agoramips: correct/add Phicomm K2x WAN/label MAC address
Shiji Yang [Mon, 22 Feb 2021 15:44:18 +0000 (23:44 +0800)]
ramips: correct/add Phicomm K2x WAN/label MAC address

Phicomm K2G:
add missing label_mac

Phicomm PSG1218A & PSG1218B:
The previous wan mac was set as factory@0x28 +1 (originally based
on the default case for the ramips target), but the correct wan mac
is factory@0x28 -1, being equal to factory@0x2e.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 55263ffedbe1d20f005febbc973a7353240d1741)

3 years agobcm63xx: bcm63268: fix GPIO interrupts
Álvaro Fernández Rojas [Mon, 22 Feb 2021 08:04:04 +0000 (09:04 +0100)]
bcm63xx: bcm63268: fix GPIO interrupts

pinctrl should rely on external interrupt controller for GPIO interrupts.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 36e35b8d81)

3 years agoscripts: getver.sh: fix version based on stable branch
Baptiste Jonglez [Sun, 21 Feb 2021 17:42:38 +0000 (18:42 +0100)]
scripts: getver.sh: fix version based on stable branch

When building from a local branch based off the "openwrt-21.02" branch,
version computation is wrong, because the number of local commits is
computed against master.  As a result, it wrongly counts *all* commits
since the beginning of the openwrt-21.02 branch as local commits.

The fix is to compare to the openwrt-21.02 branch instead, which gives the
expected result.

A similar change had been applied to the openwrt-19.07 branch:
891022918d55 ("scripts: getver.sh: fix version based on stable branch")

Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
3 years agotfa-layerscape: build fiptool again
Adrian Schmutzler [Sat, 20 Feb 2021 18:18:12 +0000 (19:18 +0100)]
tfa-layerscape: build fiptool again

The ls-ddr-phy package needs fiptool options that are not
available via the version from arm-trusted-firmware-tools.
This breaks build for layerscape with the recently added LX2160a:

  create: unrecognized option '--ddr-immem-udimm-1d'

Use the tfa-layerscape variant again for now, but rename it to
fiptool-layerscape to indicate that it's a specific variant.

This reverts 84bc7d31e0a8 ("tfa-layerscape: don't build fiptool").

Fixes: f59d7aab2a37 ("layerscape: add ddr-phy package")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 910b5d669f907656c6af14242db2482be6a79323)

3 years agobcm27xx: remove urngd package
Álvaro Fernández Rojas [Sat, 20 Feb 2021 18:55:14 +0000 (19:55 +0100)]
bcm27xx: remove urngd package

Now that khwrngd is working on all subtargets we can remove urgnd.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 9dc84018ee)

3 years agobcm27xx: enable bcm2711 HW RNG
Álvaro Fernández Rojas [Sat, 20 Feb 2021 18:53:50 +0000 (19:53 +0100)]
bcm27xx: enable bcm2711 HW RNG

Also add a patch setting its quality, which should make it usable by khwrngd.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 670526efa3)

3 years agogeneric: add bcm2835-rng quality patch
Álvaro Fernández Rojas [Sat, 20 Feb 2021 17:59:25 +0000 (18:59 +0100)]
generic: add bcm2835-rng quality patch

This patch allows devices without a high resolution timer to boot up faster.
It should speed up boots for bcm2708 and bcm63xx.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 7747b3fa36)

3 years agoopenwrt-keyring: add OpenWrt 21.02 GPG/usign keys
Petr Štetiar [Sat, 20 Feb 2021 14:56:19 +0000 (15:56 +0100)]
openwrt-keyring: add OpenWrt 21.02 GPG/usign keys

49283916005d usign: add 21.02 release build pubkey
bc4d80f064f2 gpg: add OpenWrt 21.02 signing key

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 1bf6d70e60fdb45d81a8f10b90904cef38c73f70)

3 years agohostapd: backport ignoring 4addr mode enabling error
Raphaël Mélotte [Wed, 17 Feb 2021 14:58:16 +0000 (15:58 +0100)]
hostapd: backport ignoring 4addr mode enabling error

This is a backport of the upstream commit 58bbbb598144 ("nl80211: Ignore
4addr mode enabling error if it was already enabled") which fixes same
issue as in the current fix contained in '130-wpa_supplicant-multi_ap_roam.patch',
but in a different way:

 nl80211_set_4addr_mode() could fail when trying to enable 4addr mode on
 an interface that is in a bridge and has 4addr mode already enabled.
 This operation would not have been necessary in the first place and this
 failure results in disconnecting, e.g., when roaming from one backhaul
 BSS to another BSS with Multi AP.

 Avoid this issue by ignoring the nl80211 command failure in the case
 where 4addr mode is being enabled while it has already been enabled.

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
[bump PKG_RELEASE, more verbose commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit fb860b4e418c28a0f388f215e5acce103dcee1bf)

3 years agoramips: overwrite reset gpio properties in EX6150 DTS
Stijn Segers [Fri, 19 Feb 2021 22:11:09 +0000 (23:11 +0100)]
ramips: overwrite reset gpio properties in EX6150 DTS

The Netgear EX6150 can, just like the D-Link DIR-860L rev B1, fail to
initialise both radios in some cases. Add the reset GPIOs explicitly
so the PCI-E devices get re-initialised properly. See also FS #3632.

Error shows up in dmesg as follows:

  [    1.560764] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)

Tested-by: Kurt Roeckx <kurt@roeckx.be>
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
[removed period from commit title]
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit af1b6799c6ec9af7a30d63a5ddfed20f443b991c)

3 years agolayerscape: add new devices in README and clean up
Yangbo Lu [Tue, 27 Oct 2020 08:26:11 +0000 (16:26 +0800)]
layerscape: add new devices in README and clean up

Support new devices LS1046AFRWY and LX2160ARDB in README.
Clean up README, and add missing LS1021ATWR deploy guide.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[adjust set of devices added, update commit message/title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit a31842e7fd15c14796a9f764defda395b3c854df)

3 years agolayerscape: add LX2160ARDB (Rev2.0 silicon) board support
Yangbo Lu [Thu, 30 Jul 2020 05:12:43 +0000 (13:12 +0800)]
layerscape: add LX2160ARDB (Rev2.0 silicon) board support

The QorIQ LX2160A reference design board provides a comprehensive platform
that enables design and evaluation of the LX2160A processor.

- Enables network intelligence with the next generation Datapath (DPPA2)
  which provides differentiated offload and a rich set of IO, including
  10GE, 25GE, 40GE, and PCIe Gen4

- Delivers unprecedented efficiency and new virtualized networks

- Supports designs in 5G packet processing, network function
  virtualization, storage controller, white box switching, network
  interface cards, and mobile edge computing

- Supports all three LX2 family members (16-core LX2160A; 12-core LX2120A;
  and 8-core LX2080A)

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[use AUTORELEASE, add dtb to firmware part]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 80dcd14abeed8cd808b92bb307964dbaeb252144)

3 years agolayerscape: add ddr-phy package
Yangbo Lu [Mon, 3 Aug 2020 03:59:55 +0000 (11:59 +0800)]
layerscape: add ddr-phy package

Add ddr-phy package for layerscape. Currently only LX2160ARDB
requires the package.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[use AUTORELEASE]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit f59d7aab2a374d27abfdc50348d855db5560db8f)

3 years agolayerscape: add FRWY-LS1046A board support
Yangbo Lu [Mon, 3 Aug 2020 04:52:22 +0000 (12:52 +0800)]
layerscape: add FRWY-LS1046A board support

The LS1046A Freeway board (FRWY) is a high-performance computing,
evaluation, and development platform that supports the QorIQ
LS1046A architecture processor capable of support more than 32,000
CoreMark performance. The FRWY-LS1046A board supports the QorIQ
LS1046A processor, onboard DDR4 memory, multiple Gigabit Ethernet,
USB3.0 and M2_Type_E interfaces for Wi-Fi.

The FRWY-LS1046A-TP includes the Coral Tensor Flow Processing Unit
that offloads AI/ML inferencing from the CPU to provide significant
boost for AI/ML applications. The FRWY-LS1046A-TP includes one M.2
TPU module and more modules can easily be added including USB
versions of the module to scale the AI/ML performance.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[rebase, use AUTORELEASE, fix sorting, add dtb to firmware part]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 2c2d77bd3bd4691c5f8f1760b9ef16f96f345255)

3 years agolayerscape: move rework-sdcard-images out of fsl-sdboot
Adrian Schmutzler [Fri, 12 Feb 2021 15:37:29 +0000 (16:37 +0100)]
layerscape: move rework-sdcard-images out of fsl-sdboot

Upcoming devices will not need the migration setup, so let's move
it out of the common definition.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit a9075d42d7990af230a08bdbb03c14ae2bf27318)

3 years agoramips: use lzma-loader for Wevo devices
Seo Suchan [Wed, 17 Feb 2021 15:06:55 +0000 (00:06 +0900)]
ramips: use lzma-loader for Wevo devices

As kernel size increased it start to fail to load squishfs image,
using lzma-loader fixed it.
wevo_11acnas is almost same device as w2914ns-v2 except ram size,
so I expect same thing would've happen in that device too.

Signed-off-by: Seo Suchan <abnoeh@mail.com>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
(cherry picked from commit ca6954e2dc3faa32eec54b93bda996c874409675)

3 years agoramips: mt7621: add TP-Link EAP235-Wall support
Sander Vanheule [Thu, 18 Feb 2021 19:52:53 +0000 (20:52 +0100)]
ramips: mt7621: add TP-Link EAP235-Wall support

The TP-Link EAP235-Wall is a wall-mounted, PoE-powered AC1200 access
point with four gigabit ethernet ports.

When connecting to the device's serial port, it is strongly advised to
use an isolated UART adapter. This prevents linking different power
domains created by the PoE power supply, which may damage your devices.

The device's U-Boot supports saving modified environments with
`saveenv`. However, there is no u-boot-env partition, and saving
modifications will cause the partition table to be overwritten. This is
not an issue for running OpenWrt, but will prevent the vendor FW from
functioning properly.

Device specifications:
* SoC: MT7621DAT
* RAM: 128MiB
* Flash: 16MiB SPI-NOR
* Wireless 2.4GHz (MT7603EN): b/g/n, 2x2
* Wireless 5GHz (MT7613BEN): a/n/ac, 2x2
* Ethernet: 4× GbE
  * Back side: ETH0, PoE PD port
  * Bottom side: ETH1, ETH2, ETH3
* Single white device LED
* LED button, reset button (available for failsafe)
* PoE pass-through on port ETH3 (enabled with GPIO)

Datasheet of the flash chip specifies a maximum frequency of 33MHz, but
that didn't work. 20MHz gives no errors with reading (flash dump) or
writing (sysupgrade).

Device mac addresses:
Stock firmware uses the same MAC address for ethernet (on device label)
and 2.4GHz wireless. The 5GHz wireless address is incremented by one.
This address is stored in the 'info' ('default-mac') partition at an
offset of 8 bytes.
From OEM ifconfig:
    eth     a4:2b:b0:...:88
    ra0     a4:2b:b0:...:88
    rai0    a4:2b:b0:...:89

Flashing instructions:
* Enable SSH in the web interface, and SSH into the target device
* run `cliclientd stopcs`, this should return "success"
* upload the factory image via the web interface

Debricking:
U-boot can be interrupted during boot, serial console is 57600 baud, 8n1
This allows installing a sysupgrade image, or fixing the device in
another way.
* Access serial header from the side of the board, close to ETH3,
  pin-out is (1:TX, 2:RX, 3:GND, 4:3.3V), with pin 1 closest to ETH3.
* Interrupt bootloader by holding '4' during boot, which drops the
  bootloader into its shell
* Change default 'serverip' and 'ipaddr' variables (optional)
* Download initramfs with `tftpboot`, and boot image with `bootm`
    # tftpboot 84000000 openwrt-initramfs.bin
    # bootm

Revert to stock:
Using the tplink-safeloader utility from the firmware-utils package,
TP-Link's firmware image can be converted to an OpenWrt-compatible
sysupgrade image:
  $ ./staging_dir/host/bin/tplink-safeloader -B EAP235-WALL-V1 \
      -z EAP235-WALLv1_XXX_up_signed.bin -o eap235-sysupgrade.bin

This can then be flashed using the OpenWrt sysupgrade interface. The
image will appear to be incompatible and must be force flashed, without
keeping the current configuration.

Known issues:
- DFS support is incomplete (known issue with MT7613)
- MT7613 radio may stop responding when idling, reboot required.
  This was an issue with the ddc75ff704 version of mt76, but appears to
  have improved/disappeared with bc3963764d.
  Error notice example:
  [ 7099.554067] mt7615e 0000:02:00.0: Message 73 (seq 1) timeout

Hardware was kindly provided for porting by Stijn Segers.

Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 1e75909a35a2b361cdfdfcf18a26ad61271b174e)

3 years agoramips: remove factory image for TP-Link Archer C20 v1
Stijn Segers [Thu, 18 Feb 2021 23:53:26 +0000 (00:53 +0100)]
ramips: remove factory image for TP-Link Archer C20 v1

Similarly to the Archer C2 v1, the Archer C20 v1 will brick when one
tries to flash an OpenWrt factory image through the TP-Link web UI.
The wiki page contains an explicit warning about this [1].

Disable the factory image altogether since it serves no purpose.

[1] https://openwrt.org/toh/tp-link/tp-link_archer_c20_v1#installation

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
(cherry picked from commit 0265cba40ad4f2b8ff4473ada123c35b53ffd97a)

3 years agobcm63xx: update ethernet kernel panics fix
Álvaro Fernández Rojas [Fri, 19 Feb 2021 11:25:38 +0000 (12:25 +0100)]
bcm63xx: update ethernet kernel panics fix

Use new patch from Sieng Piaw Liew.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 31a06f8fcc)

3 years agocypress-firmware: fix PKG_SOURCE_URL
Álvaro Fernández Rojas [Fri, 19 Feb 2021 10:06:23 +0000 (11:06 +0100)]
cypress-firmware: fix PKG_SOURCE_URL

Download link has been moved.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 7febba3e50)

3 years agobcm27xx: add diag LEDs
Álvaro Fernández Rojas [Fri, 19 Feb 2021 06:58:36 +0000 (07:58 +0100)]
bcm27xx: add diag LEDs

We can now use the power LED for diag in more devices thanks to the latest
patches from the RPi foundation.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 5bab472a11)

3 years agobcm27xx: bcm2708: add missing RPi B DTS file
Álvaro Fernández Rojas [Fri, 19 Feb 2021 06:56:58 +0000 (07:56 +0100)]
bcm27xx: bcm2708: add missing RPi B DTS file

RPI 1B DTS has been splitted into 2 files:
 - bcm2708-rpi-b.dts: Newest (rev2) RPI 1B
 - bcm2708-rpi-b-rev1.dts: Old (rev1) RPI 1B

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 0aaa2cce1c)

3 years agobcm27xx: add support for RPI CM4 and RPI 400
Álvaro Fernández Rojas [Thu, 18 Feb 2021 22:07:05 +0000 (23:07 +0100)]
bcm27xx: add support for RPI CM4 and RPI 400

Support added to bcm2709 (32 bits) and bcm2711 (64 bits).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 8ad61118fd)

3 years agobcm27xx-userland: update to latest version
Álvaro Fernández Rojas [Thu, 18 Feb 2021 21:59:46 +0000 (22:59 +0100)]
bcm27xx-userland: update to latest version

Adds some fixes and removes upstreamed patch.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit 1d3a9b1c00)

3 years agobcm27xx-gpu-fw: update to latest version
Álvaro Fernández Rojas [Thu, 18 Feb 2021 21:55:56 +0000 (22:55 +0100)]
bcm27xx-gpu-fw: update to latest version

This is needed to add support for CM4 and RPI 400.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit f41e653da9)

3 years agobcm27xx: import latest patches from the RPi foundation
Álvaro Fernández Rojas [Thu, 18 Feb 2021 17:04:33 +0000 (18:04 +0100)]
bcm27xx: import latest patches from the RPi foundation

bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit f07e572f64)

3 years agokernel: bump 5.4 to 5.4.99
John Audia [Wed, 17 Feb 2021 10:58:14 +0000 (05:58 -0500)]
kernel: bump 5.4 to 5.4.99

Ran update_kernel.sh in a fresh clone without any existing toolchains.
No manual changes needed.

Build system: x86_64
Build-tested: bcm27xx/bcm2711

Signed-off-by: John Audia <graysky@archlinux.us>
(cherry-picked from commit 5d3a6fd970)

3 years agobuild: fix ABI version for PROVIDES symbols
Felix Fietkau [Thu, 18 Feb 2021 18:51:05 +0000 (19:51 +0100)]
build: fix ABI version for PROVIDES symbols

GetABISuffix does not work for intra-package ABI version of provided symbols,
since ABIV_$(provided) is not set.
Fix ABI version by using $(ABIV_$(1)) directly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 0db9d118657d)

3 years agomediatek: add support for Ubiquiti UniFi 6 LR
David Bauer [Thu, 11 Feb 2021 16:09:06 +0000 (17:09 +0100)]
mediatek: add support for Ubiquiti UniFi 6 LR

Hardware
--------

MediaTek MT7622
512MB DDR3 RAM
64M SPI-NOR Flash (Winbond W25Q512JV)
MediaTek MT7622 802.11bgn 4T4R WMAC
MediaTek MT7915 802.11ax 4T4R
Marvell AQR1112 100/1000/2500 NBase-T PHY
Holtek HT32F52241 LED controller
Reset Switch

UART
----

CPU UART0 at the pinout next to the Holtek MCU.

Pinout (first pin next to SoC / MCU)

0 3V3
1 RX
2 TX
3 GND

Settings are 115200 8N1.

Opening the case
----------------

Opening the case is not a nice task, as itis glued together. Insert a
flat knife between the front and back casing below the ethernet port.
Open up a gap this way and insert a flat scredriver, remove the knife.

Work your way around the casing by applying force to seperate the front
and back casing. This losens the glue and opens the plastic clips. Be
gentle, as these clips are very cheap and break quickly.

Installation
------------

1. Connect to the booted device at 192.168.1.20 using username/password
   "ubnt".

2. Transfer the OpenWrt sysupgrade image to the device using SCP.

3. Check the mtd partition number for bs / kernel0 / kernel1

   $ cat /proc/mtd

4. Set the bootselect flag to boot from kernel0

   $ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock6

5. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1

   $ dd if=openwrt.bin of=/dev/mtdblock8
   $ dd if=openwrt.bin of=/dev/mtdblock9

6. Reboot the device. It should boot into OpenWrt.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 634c13c186646aff2badb51a43b248825d0fe5a0)

3 years agomediatek: add Ubiquiti LED driver
David Bauer [Sat, 13 Feb 2021 23:23:51 +0000 (00:23 +0100)]
mediatek: add Ubiquiti LED driver

Add a driver for controlling the RGB LED via Ubiquitis own "LEDBAR" LED
controller based on the Holtek HT32F52241 MCU.

This driver is initially used by the Ubiquiti UniFi 6 LR, however
judging from FCC pictures the MCU is also found on the U6-Mesh as well
as the U6-Extender.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit c9137e2ddf97ede1db399dc38acff26feb48ba7e)

3 years agolantiq: fritz7320: enable USB power supply
Mathias Kresin [Wed, 17 Feb 2021 22:37:54 +0000 (23:37 +0100)]
lantiq: fritz7320: enable USB power supply

The USB ports if a FRIZZ!Box 7320 do not supply power to connected
devices.

Add the GPIOs enabling USB power as regulator, to enable USB power
supply as soon as the USB driver is loaded.

Fixes FS#3624

Signed-off-by: Mathias Kresin <dev@kresin.me>
(cherry picked from commit 6e4e97b2256327bb380ee2a83da9a1ddf657e395)

3 years agoopenssl: bump to 1.1.1j
Eneas U de Queiroz [Wed, 17 Feb 2021 02:21:36 +0000 (23:21 -0300)]
openssl: bump to 1.1.1j

This fixes 4 security vulnerabilities/bugs:

- CVE-2021-2839 - SSLv2 vulnerability. Openssl 1.1.1 does not support
  SSLv2, but the affected functions still exist. Considered just a bug.

- CVE-2021-2840 - calls EVP_CipherUpdate, EVP_EncryptUpdate and
  EVP_DecryptUpdate may overflow the output length argument in some
  cases where the input length is close to the maximum permissable
  length for an integer on the platform. In such cases the return value
  from the function call will be 1 (indicating success), but the output
  length value will be negative.

- CVE-2021-2841 - The X509_issuer_and_serial_hash() function attempts to
  create a unique hash value based on the issuer and serial number data
  contained within an X509 certificate. However it was failing to
  correctly handle any errors that may occur while parsing the issuer
  field (which might occur if the issuer field is maliciously
  constructed). This may subsequently result in a NULL pointer deref and
  a crash leading to a potential denial of service attack.

- Fixed SRP_Calc_client_key so that it runs in constant time. This could
  be exploited in a side channel attack to recover the password.

The 3 CVEs above are currently awaiting analysis.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
(cherry picked from commit 482c9ff289c65480c8e7340e1740db24c62f91df)

3 years agokernel: 5.4: fix .patch file extension
Adrian Schmutzler [Tue, 16 Feb 2021 22:20:18 +0000 (23:20 +0100)]
kernel: 5.4: fix .patch file extension

File extension was truncated for
pending-5.4/770-11-net-ethernet-mtk_eth_soc-avoid-rearming-interrupt-if.pa

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 487b7ae5ebbbc76e0b2952658432d28eee07f7a2)

3 years agoipq807x: drop target
Adrian Schmutzler [Tue, 16 Feb 2021 13:00:58 +0000 (14:00 +0100)]
ipq807x: drop target

This target is not ready for stable release yet.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobuild: reorder more BuildPackages lines to deal with ABI_VERSION
Felix Fietkau [Mon, 15 Feb 2021 23:03:28 +0000 (00:03 +0100)]
build: reorder more BuildPackages lines to deal with ABI_VERSION

After the ABI version rework, packages need to be declared in the order of
their dependencies, so that dependent packages will use the right ABI version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 75455b75a7ee)

3 years agoath10k-ct: switch to 5.10
Álvaro Fernández Rojas [Mon, 15 Feb 2021 12:52:23 +0000 (13:52 +0100)]
ath10k-ct: switch to 5.10

Let's switch to 5.10 now that mac80211 has been updated.
Runtime-tested on ipq806x (Netgear R7800).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit a5c4c40476)

3 years agoOpenWrt v21.02: set branch defaults
Alexander Couzens [Tue, 16 Feb 2021 01:16:25 +0000 (02:16 +0100)]
OpenWrt v21.02: set branch defaults

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
3 years agoutil-linux: move libuuid BuildPackage line further up to fix ABI versioning
Felix Fietkau [Mon, 15 Feb 2021 22:59:18 +0000 (23:59 +0100)]
util-linux: move libuuid BuildPackage line further up to fix ABI versioning

After the ABI version rework, packages need to be declared in the order of
their dependencies, so that dependent packages will use the right ABI version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: fix getting ABI version for binary packages from the same source package
Felix Fietkau [Mon, 15 Feb 2021 22:09:53 +0000 (23:09 +0100)]
build: fix getting ABI version for binary packages from the same source package

We can't rely on the .version file being created yet, so use package variables
to get it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: Update to version 5.10.16-1
Hauke Mehrtens [Sun, 14 Feb 2021 18:06:45 +0000 (19:06 +0100)]
mac80211: Update to version 5.10.16-1

The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agomac80211: Refresh patches again
Hauke Mehrtens [Mon, 15 Feb 2021 21:23:17 +0000 (22:23 +0100)]
mac80211: Refresh patches again

A wrong quilt configuration was used last time.

Fixes: ed1e234d87fc ("mac80211: refresh patches")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agobcm4908: fix GPIOs support by limiting them to 64
Rafał Miłecki [Mon, 15 Feb 2021 21:18:01 +0000 (22:18 +0100)]
bcm4908: fix GPIOs support by limiting them to 64

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobcm4908: use DTS patches sent upstream
Rafał Miłecki [Mon, 15 Feb 2021 20:51:37 +0000 (21:51 +0100)]
bcm4908: use DTS patches sent upstream

There are 2 new patches:
1. Netgear R8000P switch ports
2. Netgear R8000P LEDs

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobuild: filter out own packages on package version check
Felix Fietkau [Mon, 15 Feb 2021 20:09:49 +0000 (21:09 +0100)]
build: filter out own packages on package version check

This was accidentally dropped in 27a4a71c2408
("metadata: handle ABI version rebuild tracking for transient dependencies")

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools/fakeroot: fix build regression on macOS
Felix Fietkau [Mon, 15 Feb 2021 18:58:54 +0000 (19:58 +0100)]
tools/fakeroot: fix build regression on macOS

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolibubox: update to the latest version, set ABI_VERSION dynamically
Felix Fietkau [Mon, 15 Feb 2021 18:18:10 +0000 (19:18 +0100)]
libubox: update to the latest version, set ABI_VERSION dynamically

2537be018587 cmake: add a possibility to set library version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: only overwrite ABI version for provided packages when base version changed
Felix Fietkau [Mon, 15 Feb 2021 17:53:42 +0000 (18:53 +0100)]
build: only overwrite ABI version for provided packages when base version changed

Should avoid some spurious rebuilds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoMostly revert "build: add support for fixing up library soname"
Felix Fietkau [Mon, 15 Feb 2021 16:49:46 +0000 (17:49 +0100)]
Mostly revert "build: add support for fixing up library soname"

This reverts commit b12288fa69b171f7c9405518c9bed3581a06f7ce.
The patchelf approach is too fragile, and the only users of this have been
converted to make patching unnecessary
Leave the abi_version_str variable in place in rules.mk

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agowolfssl: use libtool patch for PKG_ABI_VERSION
Felix Fietkau [Mon, 15 Feb 2021 17:46:59 +0000 (18:46 +0100)]
wolfssl: use libtool patch for PKG_ABI_VERSION

Makes it unnecessary to patch .so files after build

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: add support for patching libtool to include ABI version in soname
Felix Fietkau [Mon, 15 Feb 2021 17:46:11 +0000 (18:46 +0100)]
build: add support for patching libtool to include ABI version in soname

Use the version from PKG_ABI_VERSION

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolibubox: use build system variable to specify ABI version
Felix Fietkau [Mon, 15 Feb 2021 17:07:51 +0000 (18:07 +0100)]
libubox: use build system variable to specify ABI version

This removes the need to patch it afterwards

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobcm4908: add USB packages to the DEFAULT_PACKAGES
Rafał Miłecki [Mon, 15 Feb 2021 15:52:29 +0000 (16:52 +0100)]
bcm4908: add USB packages to the DEFAULT_PACKAGES

All known 41 BCM4908 devices have USB ports so it makes sense to include
those packages by default.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobcm4908: fix backport of PMB driver
Rafał Miłecki [Mon, 15 Feb 2021 15:51:38 +0000 (16:51 +0100)]
bcm4908: fix backport of PMB driver

Missing Makefile change was preventing kernel from actually compiling
the driver.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agokernel: drop ofpart patch dropped from upstream mtd tree
Rafał Miłecki [Mon, 15 Feb 2021 14:05:52 +0000 (15:05 +0100)]
kernel: drop ofpart patch dropped from upstream mtd tree

It stopped ofpart_parser_init() from being called

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agokernel: backport "ofpart" mtd parser upstream quirks support
Rafał Miłecki [Mon, 15 Feb 2021 10:47:17 +0000 (11:47 +0100)]
kernel: backport "ofpart" mtd parser upstream quirks support

This adds quirks support to the "ofpart" parser. It's required to
support fixed partitions that require some extra logic.

Right now only BCM4908 binding is supported (BCM4908 requires detecting
currently used "firmware" partition).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agokernel: fix busy wait loop in mediatek PPE code
Ilya Lipnitskiy [Mon, 8 Feb 2021 04:17:12 +0000 (20:17 -0800)]
kernel: fix busy wait loop in mediatek PPE code

The intention is for the loop to timeout if the body does not succeed.
The current logic calls time_is_before_jiffies(timeout) which is false
until after the timeout, so the loop body never executes.

time_is_after_jiffies(timeout) will return true until timeout is less
than jiffies, which is the intended behavior here.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
3 years agowolfssl: use dynamic ABI_VERSION depending on the configuration and package version
Felix Fietkau [Fri, 12 Feb 2021 10:36:47 +0000 (11:36 +0100)]
wolfssl: use dynamic ABI_VERSION depending on the configuration and package version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolibubox: use PKG_ABI_VERSION
Felix Fietkau [Fri, 12 Feb 2021 09:10:41 +0000 (10:10 +0100)]
libubox: use PKG_ABI_VERSION

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agofakeroot: fix to work with glibc 2.33
Ilya Lipnitskiy [Sun, 14 Feb 2021 04:41:03 +0000 (20:41 -0800)]
fakeroot: fix to work with glibc 2.33

The following commit removed _STAT_VER definitions from glibc:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=8ed005daf0ab03e142500324a34087ce179ae78e

That subsequently broke fakeroot:
https://bugs.archlinux.org/task/69572
https://bugzilla.redhat.com/show_bug.cgi?id=1889862#c13
https://forum.openwrt.org/t/unable-to-build-toolchain-fakeroot-fails-perhaps-others-after-it/87966

Make the patch based on Jan Pazdziora's suggestion from here:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SMQ3RYXEYTVZH6PLQMKNB3NM4XLPMNZO/

Add wrappers for newly exported symbols in glibc.

Apply patch from Debian to fix warnings in fts_read and fts_children:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676428
https://sources.debian.org/patches/fakeroot/1.25.3-1.1/eglibc-fts-without-LFS/

Fix __xmknod{,at} dev pointer argument. Switch default to assume * and
not the absence of *. On glibc 2.33+, there is no definition for these
functions in header files, so the compile test doesn't work. But, we
can default to using the pointer (as is the case with newer glibc), and
use the header file on older platforms to fail the test and use no pointer.

Tested on my x86_64 Arch Linux machine, fakeroot unit tests pass.
Also tested by building various .ipks and examining the tar contents, to
ensure that the owner uid/gid was 0/0.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
3 years agotools/patchelf: bump to use latest master
Ilya Lipnitskiy [Mon, 15 Feb 2021 00:46:23 +0000 (16:46 -0800)]
tools/patchelf: bump to use latest master

Recent ABI_VERSION commits make use of patchelf. It was discovered that
with patchelf 0.10(and even 0.12) various big endian targets fail to
link against libubox SO that was processed through patchelf. Using
latest master patchelf fixes those link errors.

Potential commits affecting big-endian processing
https://github.com/NixOS/patchelf/commit/884eccc4f061a3dbdbe63a4c73f1cc9bbf77fa7d
https://github.com/NixOS/patchelf/commit/d148bae6c1291b93d660a156a1756670069cd8cc

Recent builds with failures:
http://buildbot.openwrt.org/master/images/builders/lantiq%2Fxrx200/builds/682
http://buildbot.openwrt.org/master/images/builders/ath79%2Fmikrotik/builds/449

Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoodhcpd: setup dhcpv4 server automagically
Daniel Golle [Sun, 14 Feb 2021 22:39:24 +0000 (22:39 +0000)]
odhcpd: setup dhcpv4 server automagically

Automatically setup dhcpv4 server just like it's done for dhcpv6.
To select whether odhcpd or dnsmasq are serving DHCPv4 requests there
still is the 'maindhcp' option. To make things less confusing, make
sure things really work out-of-the-box in case dnsmasq is not even
installed at the time the uci-defaults script is being run.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoRevert "wolfssl: use dynamic ABI_VERSION depending on the configuration and package...
Hauke Mehrtens [Sun, 14 Feb 2021 23:28:35 +0000 (00:28 +0100)]
Revert "wolfssl: use dynamic ABI_VERSION depending on the configuration and package version"

This fixes the build on MIPS BE like ath25 and ath79 target.
We get this error message when linking libwolfssl:
mips-openwrt-linux-musl/bin/ld: /home/hauke/openwrt/openwrt/staging_dir/target-mips_mips32_musl/usr/lib/libwolfssl.so: unknown type [0x7000002a] section `.MIPS.abiflags'
mips-openwrt-linux-musl/bin/ld: /home/hauke/openwrt/openwrt/staging_dir/target-mips_mips32_musl/usr/lib/libwolfssl.so: unknown type [0x7000002a] section `.MIPS.abiflags'
mips-openwrt-linux-musl/bin/ld: skipping incompatible /home/hauke/openwrt/openwrt/staging_dir/target-mips_mips32_musl/usr/lib/libwolfssl.so when searching for -lwolfssl
mips-openwrt-linux-musl/bin/ld: cannot find -lwolfssl
collect2: error: ld returned 1 exit status

This reverts commit 2591c83b3406c16d3c1cd2dc7fa59c3c1b901d3c.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoRevert "libubox: use PKG_ABI_VERSION"
Hauke Mehrtens [Sun, 14 Feb 2021 23:13:07 +0000 (00:13 +0100)]
Revert "libubox: use PKG_ABI_VERSION"

This fixes the build on MIPS BE like ath25 and ath79 target.
We get this error message when linking libubox:
mips-openwrt-linux-musl/bin/ld: /home/hauke/openwrt/openwrt/staging_dir/target-mips_mips32_musl/usr/lib/libubox.so: unknown type [0x7000002a] section `.MIPS.abiflags'
mips-openwrt-linux-musl/bin/ld: /home/hauke/openwrt/openwrt/staging_dir/target-mips_mips32_musl/usr/lib/libubox.so: unknown type [0x7000002a] section `.MIPS.abiflags'
mips-openwrt-linux-musl/bin/ld: skipping incompatible /home/hauke/openwrt/openwrt/staging_dir/target-mips_mips32_musl/usr/lib/libubox.so when searching for -lubox

This reverts commit f421fefa8a34319c5ff5dcc1af39d6311ec1ad1e.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoramips: mark toggle input on EX6150 as a switch
Kurt Roeckx [Sun, 14 Feb 2021 13:28:20 +0000 (14:28 +0100)]
ramips: mark toggle input on EX6150 as a switch

The Netgear EX6150 has an Access Point/Extender switch. Set it as
an EV_SW. Otherwise when it's set to Access Point, it will trigger
failsafe mode during boot.

Fixes: FS#3590
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
3 years agoRevert "imx6: bootscript-apalis: make it working on v2021.01 release"
Petr Štetiar [Sun, 14 Feb 2021 22:22:57 +0000 (23:22 +0100)]
Revert "imx6: bootscript-apalis: make it working on v2021.01 release"

This reverts commit 4968fc8fb110612018af3ba2836be1b4744346e2 as the bump
to v2021.01 needs swig on the host for pylibfdt which is needed by dtoc
tool to generate .h/.c files from DTBs in SPL for mx6cuboxi_config.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
3 years agoRevert "uboot-imx6: bump to 2021.01 release"
Petr Štetiar [Sun, 14 Feb 2021 22:22:55 +0000 (23:22 +0100)]
Revert "uboot-imx6: bump to 2021.01 release"

This reverts commit 50a5a8993d15fe090fdbf10fc25aba3f78c47d40 as the bump
to 2021.01 unveiled issue with missing swig host tool needed for
mx6cuboxi's SPL.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
3 years agotarget: fix copying of licenses for SDK/toolchain
Adrian Schmutzler [Sun, 14 Feb 2021 20:51:14 +0000 (21:51 +0100)]
target: fix copying of licenses for SDK/toolchain

The SDK and target/toolchain copy the license file into their
directories. During the rename/move from LICENSE to a LICENSES
folder, this has not been updated.

Update it now, and include the new COPYING file.

While at it, improve formatting/indent.

Fixes: 882e3014610b ("LICENSES: include all used licenses in
LICENSES directory")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath9k: fix transmitting to stations in dynamic SMPS mode
Felix Fietkau [Sun, 14 Feb 2021 18:55:09 +0000 (19:55 +0100)]
ath9k: fix transmitting to stations in dynamic SMPS mode

When transmitting to a receiver in dynamic SMPS mode, all transmissions that
use multiple spatial streams need to be sent using CTS-to-self or RTS/CTS to
give the receiver's extra chains some time to wake up.
This fixes the tx rate getting stuck at <= MCS7 for some clients, especially
Intel ones, which make aggressive use of SMPS.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomt76: update to the latest version
Felix Fietkau [Fri, 18 Dec 2020 18:03:55 +0000 (19:03 +0100)]
mt76: update to the latest version

261d184cebdc mt76: introduce mt76_vif data structure
50349a8664ef mt76: mt76_connac: create mcu library
c88859180c51 mt76: mt76_connac: move hw_scan and sched_scan routine in mt76_connac_mcu module
9856236ab4f9 mt76: mt76_connac: move WoW and suspend code in mt76_connac_mcu module
2da59aacdd50 mt76: mt76_connac: move pm data struct in mt76_connac.h
16be142e40fe mt76: mt76_connac: move pm utility routines in mt76_connac_lib module
c4ccfc66347d mt76: mt7921: add MAC support
8ecf3a50e7ad mt76: mt7921: add MCU support
92c1717f9a55 mt76: mt7921: add DMA support
1cecf9c3da8b mt76: mt7921: add EEPROM support
a9e68410b9ba mt76: mt7921: add ieee80211_ops
39d6f4851b06 mt76: mt7921: introduce mt7921e support
9f37baecf5d6 mt76: mt7921: add debugfs support
b16cf6e26998 mt76: mt7921: introduce schedule scan support
5aa798ee56c7 mt76: mt7921: introduce 802.11 PS support in sta mode
e67d5216f16d mt76: mt7921: introduce support for hardware beacon filter
cb99bf4655f9 mt76: mt7921: introduce beacon_loss mcu event
71f9f09ee987 mt76: mt7921: introduce PM support
2beb9c9530d4 mt76: mt7921: rely on mt76_connac_mcu common library
59e682497d12 mt76: mt7921: rely on mt76_connac_mcu module for sched_scan and hw_scan
1ccf6a9c60cd mt76: mt7921: rely on mt76_connac_mcu module for suspend and WoW support
f8d1ec5e6e11 mt76: mt7921: introduce Runtime PM support
633a1cbd8f4e mt76: mt7921: introduce regdomain notifier support
0d95c6ad1745 mt76: mt7921: enable MSI interrupts
5f4f6792fb37 mt76: mt7921: add coredump support
47eb00e13450 mt76: mt7663: introduce coredump support
26658849a465 mt76: mt7615: fix key set/delete issues
b0ba039bc2ef mt76: mt7615: fix tx skb dma unmap
892f74d37e88 mt76: mt7915: fix tx skb dma unmap
2659f6c6ea23 mt76: mt7615: support loading EEPROM for MT7613BE
b09cc8644529 mt76: dma: do not report truncated frames to mac80211
ae6473f1d2af mt76: mt7921: enable random mac addr during scanning
b59e3677476d mt76: mt7921: remove unnecessary variable
781911f167aa mt76: mt7921: removed unused definitions in mcu.h
994893d38d51 mt76: always use WTBL_MAX_SIZE for tlv allocation
e6c0948ada07 mt76: mt76x0: disable GTK offloading
a75302bcbfe1 mt76: connac: always check return value from mt76_connac_mcu_alloc_wtbl_req
8da10d6f9251 mt76: mt7915: always check return value from mt7915_mcu_alloc_wtbl_req
80a87412e9e9 mt76: mt7915: fix uninitialized variable in mt7915_tm_set_tx_cont()
c7d98fc35865 mt76: use PCI_VENDOR_ID_MEDIATEK to avoid open coded
b5228e75e422 mt76: mt7921: switch to new api for hardware beacon filter
73fce2cbfa41 mt76: connac: fix up the setting for ht40 mode in mt76_connac_mcu_uni_add_bss
2e2cb71901e8 mt76: mt7921: fixup rx bitrate statistics
2d7b1d72b43b mt76: mt7921: add flush operation
96b4c9874e16 mt76: mt7921: fix uninitialized pointer access in mt7921_get_wtbl_info
4492d801cbb5 mt76: connac: update sched_scan cmd usage
200c1b1c234b mac80211: rename csa counters to countdown counters
0d7564d0d899 mt76: add support for 802.3 rx frames
4c0811c647b9 mt76: mt7915: enable hw rx-amsdu de-aggregation
4b7a68634ff6 mt76: mt7915: add rx checksum offload support
289cd7804587 mt76: mt7915: add support for rx decapsulation offload

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agowolfssl: use dynamic ABI_VERSION depending on the configuration and package version
Felix Fietkau [Fri, 12 Feb 2021 10:36:47 +0000 (11:36 +0100)]
wolfssl: use dynamic ABI_VERSION depending on the configuration and package version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: drop ABI version from metadata
Felix Fietkau [Fri, 12 Feb 2021 10:16:35 +0000 (11:16 +0100)]
build: drop ABI version from metadata

Preparation for supporting dynamic ABI versions that depend on the runtime
configuration. Read the suffix from the staging dir pkginfo version files.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolibubox: use PKG_ABI_VERSION
Felix Fietkau [Fri, 12 Feb 2021 09:10:41 +0000 (10:10 +0100)]
libubox: use PKG_ABI_VERSION

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: add support for fixing up library soname
Felix Fietkau [Fri, 12 Feb 2021 08:56:56 +0000 (09:56 +0100)]
build: add support for fixing up library soname

This makes it possible to declare a package ABI_VERSION independent from the
upstream soname by setting PKG_ABI_VERSION in the package makefile.
The library filename is fixed up for files installed to packages and to the
staging dir. References to the original from executables within the same
package are also fixed up

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: fix ABI version rebuild dependency
Felix Fietkau [Fri, 12 Feb 2021 08:47:14 +0000 (09:47 +0100)]
build: fix ABI version rebuild dependency

A stray comma was being appended to the last package version dependency,
causing it to be missed for ABI version checks

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: fix a regression in processing rx stats
Felix Fietkau [Sun, 14 Feb 2021 18:39:02 +0000 (19:39 +0100)]
mac80211: fix a regression in processing rx stats

A logic error caused rx rate update to be missed for any driver not using
fast-rx

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: refresh patches
Felix Fietkau [Sun, 14 Feb 2021 18:24:05 +0000 (19:24 +0100)]
mac80211: refresh patches

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: add minstrel performance improvements
Felix Fietkau [Sat, 6 Feb 2021 15:46:56 +0000 (16:46 +0100)]
mac80211: add minstrel performance improvements

Reduce fluctuations in rate selection / statistics

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: add decapsulation offload support
Felix Fietkau [Thu, 17 Dec 2020 21:22:22 +0000 (22:22 +0100)]
mac80211: add decapsulation offload support

On hardware that supports this, this will improve performance by passing
802.3 frames from the hardware to the stack

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: fix a corner case in encapsulation offload support
Felix Fietkau [Thu, 17 Dec 2020 21:21:43 +0000 (22:21 +0100)]
mac80211: fix a corner case in encapsulation offload support

Fix encryption key selection with WEP

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: add fq performace improvements
Felix Fietkau [Wed, 25 Nov 2020 18:51:31 +0000 (19:51 +0100)]
mac80211: add fq performace improvements

Improves performance under load

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolibnftnl: update to 1.1.8
Rosen Penev [Mon, 4 Jan 2021 00:28:34 +0000 (16:28 -0800)]
libnftnl: update to 1.1.8

Fix license information.

Fix wrong ABI version. The library is versioned as libnftnl.so.11.4.0

Add PKG_BUILD_PARALLEL for faster compilation.

Remove autoreconf as nothing is being patched.

Minor cleanups for consistency between packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agolibevent2: update to 2.1.12
Rosen Penev [Mon, 4 Jan 2021 00:28:18 +0000 (16:28 -0800)]
libevent2: update to 2.1.12

Remove upstream backports.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoreadline: update to 8.1
Rosen Penev [Mon, 4 Jan 2021 00:27:57 +0000 (16:27 -0800)]
readline: update to 8.1

Fix license.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agogmp: update to 6.2.1
Rosen Penev [Mon, 4 Jan 2021 00:27:48 +0000 (16:27 -0800)]
gmp: update to 6.2.1

Fix license information.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agof2fs-tools: update to 1.14.0
Rosen Penev [Mon, 4 Jan 2021 00:27:37 +0000 (16:27 -0800)]
f2fs-tools: update to 1.14.0

Fix license information.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoCOPYING: add COPYING file to specify project licenses
Adrian Schmutzler [Fri, 12 Feb 2021 12:52:03 +0000 (13:52 +0100)]
COPYING: add COPYING file to specify project licenses

Since multiple licenses are provided now in the LICENSES folder,
add a COPYING file to specify the project license.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Paul Spooren <mail@aparcar.org>
3 years agoscripts: fix checkpatch.pl for changed license dir
Paul Spooren [Tue, 22 Sep 2020 19:08:58 +0000 (09:08 -1000)]
scripts: fix checkpatch.pl for changed license dir

As multiple LICENSES are shipped and no longer just LICENSE, modify the
OpenWrt tree detection in checkpatch.pl.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoLICENSES: include all used licenses in LICENSES directory
Adrian Schmutzler [Fri, 12 Feb 2021 12:37:58 +0000 (13:37 +0100)]
LICENSES: include all used licenses in LICENSES directory

OpenWrt ships code not only licensed via GPL-2.0-{only,or-later}.
Reflect that by adding the missing licenses, just like the kernel
does.

This patch takes the license text as it is found in the Linux
kernel, which might probably be the best common denominator here.

In contrast to the kernel versions, only some changes to the
valid and recommended identifiers were made (GPL-x.x+ vs.
GPL-x.x-or-later and similar).

Suggested-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokernel: bump 5.4 to 5.4.98
John Audia [Sat, 13 Feb 2021 15:30:20 +0000 (10:30 -0500)]
kernel: bump 5.4 to 5.4.98

Ran update_kernel.sh in a fresh clone without any existing toolchains.
No manual changes needed.

Build system:       x86_64
Build-tested:       bcm27xx/bcm2711, ipq806x/R7800
Run-tested:         ipq806x/R7800
Compile-tested [*]: ath79/{generic,tiny}, ipq40xx, octeon, realtek,
                    ramips/{mt7620,mt7621}, x86/64
Run-tested [*]:     ath79/{generic,tiny}: WNDR3700v2 / TL-WR841N v7
                    octeon: EdgeRouter Lite
                    ramips/{mt7620,mt7621}: Archer C2 v1 / DIR-878 A1,
                                      EAP235-Wall, R6800, RT-AC57U v1

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
3 years agoath79: fix factory image generation for Netgear and Zyxel boards
Paul Fertser [Sun, 14 Feb 2021 09:16:33 +0000 (12:16 +0300)]
ath79: fix factory image generation for Netgear and Zyxel boards

The factory images need to embed specific IDs to pass verification with
the OEM firmware (including TFTP recovery), so they need to be
per-device variables.

Fixes: ab1584a797ad ("ath79: netgear: trim down uImage customisations")
Fixes: 459c8c9ef816 ("ath79: add support for ZyXEL NBG6616")
Reported-by: Marcin Juszkiewicz <marcin-openwrt@juszkiewicz.com.pl>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
[minor commit message adjustments, sort DEVICE_VARS]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobusybox: remove useless busybox patches
Rosen Penev [Mon, 1 Feb 2021 00:15:54 +0000 (16:15 -0800)]
busybox: remove useless busybox patches

The first two are useless as /bin/sh can execute those scripts just
fine. Shellcheck reports no problems.

Telnetd patch is useless as telnet is no longer used in OpenWrt.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobusybox: update to 1.33
Rosen Penev [Mon, 1 Feb 2021 00:15:53 +0000 (16:15 -0800)]
busybox: update to 1.33

Remove stime backport.

Remove static libgcc patch as upstream fixed it with
BUSYBOX_DEFAULT_STATIC_LIBGCC which defauls to off.

Remove date -k patch as it no longer applies. It's also pointless as
busybox' hwclock utility can do the same thing.

Remove ntpd patch as that seems to have been applied upstream.

Add smalll patch fixing compilation with SELinux. Upstream commit
2496616b0a8d1c80cd1416b73a4847b59b9f969a renamed the variable without
renaming it in the SELinux path.

Refresh config and patches.

Config refresh:

Refresh commands, run after busybox is first built once:

  cd package/utils/busybox/config/
  ../convert_menuconfig.pl ../../../../build_dir/target-mips_24kc_musl/busybox-default/busybox-1.33.0
  cd ..
  ./convert_defaults.pl < ../../../build_dir/target-mips_24kc_musl/busybox-default/busybox-1.33.0/.config > Config-defaults.in

Manual edits needed afterward:

* Config-defaults.in:  OpenWrt config symbol IPV6 logic applied to
  BUSYBOX_DEFAULT_FEATURE_IPV6
* Config-defaults.in:  OpenWrt configTARGET_bcm53xx logic applied to
  BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec)
* editors/Config.in: Add USE_GLIBC dependency to
  BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090)
* shell/Config.in : change at "Options common to all shells"  the symbol
  SHELL_ASH  -->  BUSYBOX_CONFIG_SHELL_ASH
   (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html
     Apparently our script does not see the hidden option while
     prepending config options with "BUSYBOX_CONFIG_" which leads to a
     missed dependency when the options are later evaluated.)
* Edit Config.in files by adding quotes to sourced items in
  config/Config.in, networking/Config.in and util-linux/Config.in (commit 1da014f)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
[Added comments from Hannu Nyman to commit message]
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobase-files: use hwclock --systz
Rosen Penev [Mon, 1 Feb 2021 00:15:52 +0000 (16:15 -0800)]
base-files: use hwclock --systz

The date -k patch is non standard and will be removed in the next
commit.

Tested behavior to be identical with a simple C program:

 #define _GNU_SOURCE
 #include <unistd.h>
 #include <stdio.h>
 #include <sys/time.h>
 #include <sys/syscall.h>

int main()
{
        struct timezone tt;
struct timezone tz;

        int a = syscall(SYS_gettimeofday, NULL, &tt);
        int b = gettimeofday(NULL, &tz);
        printf("%d - %d, %d\n", a, tt.tz_minuteswest, tt.tz_dsttime);
        printf("%d - %d, %d\n", b, tz.tz_minuteswest, tz.tz_dsttime);
}

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoiw: Update to version 5.9
Hauke Mehrtens [Sun, 29 Nov 2020 12:12:29 +0000 (13:12 +0100)]
iw: Update to version 5.9

The nl80211.h file is mostly matching kernel 5.10, so remove most of our
changes from the patch.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agomac80211: Update to version 5.10-rc6-1
Hauke Mehrtens [Fri, 13 Nov 2020 19:14:09 +0000 (20:14 +0100)]
mac80211: Update to version 5.10-rc6-1

The removed patches were applied upstream.

This adapts ath10k-ct and mt76 to changed APIs.
nl80211.h in iw is updated to match the version from backports.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agomac80211: Update to version 5.9.12-1
Hauke Mehrtens [Sat, 7 Nov 2020 16:50:20 +0000 (17:50 +0100)]
mac80211: Update to version 5.9.12-1

The removed patches were applied upstream.

Remove the 300-mac80211-optimize-skb-resizing.patch.
This patch was not applied upstream, but it conflicts with upstream
changes and needs bigger changes. It was applied with Felix to remove
this patch for now. It should be reworked and then send upstream later.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>