20 months agoath79: add QCA956x SERDES init workaround
Julien Dusser [Wed, 1 Jul 2020 21:56:01 +0000 (23:56 +0200)]
ath79: add QCA956x SERDES init workaround

This commit add a workaround for non working SGMII link observed on some
QCA956x SoCs. The workaround originates part from the U-Boot source code
from QCA, part from the implementation from TP-Link found in the GPL
tarball for the EAP245v1.

Extends commit 0d416a8d3b990e3b78628f0e7546527709c877f7 for QCA956x.
Note that reset is the same on QCA955x and QCA956x, same register offset
and values.

Auto calibration is done on u-boot, but always fall back to default value
0x7. Add a DTS entry serdes-cal in case a device require another value.

Signed-off-by: Julien Dusser <>
[Sander Vanheule:
    Minor code style fixes,
    Remove hunk adding qca956x-serdes-fixup to a missing DTS,
    Remove variable err that was only assigned,
    Rename function to sgmii_serdes_init,
    Lower priority of serdes call message to pr_debug]
Signed-off-by: Sander Vanheule <>
20 months agoath79: ensure QCA956x gmac0 mux selects sgmii
Sander Vanheule [Sun, 19 Jul 2020 18:01:48 +0000 (20:01 +0200)]
ath79: ensure QCA956x gmac0 mux selects sgmii

Some bootloaders do not set up gmac0 properly, leaving it disconnected
from the sgmii interface. If the user specificies phy-mode sgmii, then
use the gmac-config/device node to ensure the mux is configured

Signed-off-by: Sander Vanheule <>
20 months agomvebu: add initial support for Globalscale ESPRESSObin-Ultra
Vladimir Vid [Mon, 1 Jun 2020 15:51:37 +0000 (17:51 +0200)]
mvebu: add initial support for Globalscale ESPRESSObin-Ultra

This patch adds support for Globalscale ESPRESSObin-Ultra. Device uses
the same Armada-3720 SoC with extended hardware support.

- SoC: Armada-3720
- RAM: 1 GB DDR4
- Flash: 4MB SPI NOR (mx25u3235f) + 8 GB eMMC
- Ethernet: Topaz 6341 88e6341 (4x GB LAN + 1x WAN with 30W PoE)
- WiFI: 2x2 802.11ac Wi-Fi marvell (88w8997 PCIe+USB)
- 1x USB 2.0 port
- 1x USB 3.0 port
- 1x microSD slot
- 1x mini-PCIe slot (USB [with nano-sim slot])
- 1x mini-USB debug UART
- 1x RTC Clock and battery
- 1x reset button
- 1x power button
- 4x LED (RGBY)
- Optional 1x M.2 2280 slot

** Installation **

Copy dtb from build_dir to bin/ and run tftpserver there:
$ cp ./build_dir/target-aarch64_cortex-a53_musl/linux-mvebu_cortexa53/
$ in.tftpd -L -s bin/targets/mvebu/cortexa53/

Connect to the device UART via microUSB port on the back side and power on the device.

Power on the device and hit any key to stop the autoboot.

Set serverip (host IP) and ipaddr (any free IP address on the same subnet), e.g:
$ setenv serverip # Host
$ setenv ipaddr # Device

Ping server to confirm network is working:
$ ping $serverip
Using neta@30000 device
host is alive

Tftpboot the firmware:
$ tftpboot $kernel_addr_r openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-initramfs-kernel.bin
$ tftpboot $fdt_addr_r armada-3720-espressobin-ultra.dtb

Set the console and boot the image:
$ setenv bootargs $console
$ booti $kernel_addr_r - $fdt_addr_r

Once the initramfs is booted, transfer openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-squashfs-sdcard.img.gz
to /tmp dir on the device.

Gunzip and dd the image:
$ gunzip /tmp/openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-squashfs-sdcard.img.gz
$ dd if=/tmp/openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-squashfs-sdcard.img of=/dev/mmcblk0 && sync

Reboot the device.

Signed-off-by: Vladimir Vid <>
20 months agohostapd: fix patch offset
Leon M. George [Thu, 8 Oct 2020 08:47:16 +0000 (10:47 +0200)]
hostapd: fix patch offset

Fixes the offset of the patch added in 93bbd998aa696a
  ("hostapd: enter DFS state if no available channel is found").

Signed-off-by: Leon M. George <>
20 months agolayerscape: enable spi-uart in LS1012A-FRDM
Pawel Dembicki [Wed, 4 Nov 2020 09:16:31 +0000 (10:16 +0100)]
layerscape: enable spi-uart in LS1012A-FRDM

This patch add missing support of SC16IS740 serial controller, installed
on LS1012A-FRDM board.

It was required to change RCW bits, because SPI was disabled by default.

Signed-off-by: Pawel Dembicki <>
20 months agolayerscape: add i2c peripherials on LS1012A-RDB
Pawel Dembicki [Tue, 27 Oct 2020 08:52:31 +0000 (09:52 +0100)]
layerscape: add i2c peripherials on LS1012A-RDB

LS1012A-RDB equipped in some i2c devices:
  - 3x GPIO Expander: PCAL9555A (NXP)
  - Gyro: FXAS21002 (NXP)
  - Accelerometer: FXOS8700 (NXP)
  - Current & Power Monitor: INA220 (TI)

This patch enables i2c peripherials installed on LS1012A-RDB.

Signed-off-by: Pawel Dembicki <>
20 months agokernel: iio: add fxas21002c driver support
Pawel Dembicki [Tue, 27 Oct 2020 08:48:04 +0000 (09:48 +0100)]
kernel: iio: add fxas21002c driver support

This patch adds kernel modules for Freescale FXAS21002C 3-axis gyro driver.

Signed-off-by: Pawel Dembicki <>
20 months agolayerscape: make initramfs kernel fit packed
Pawel Dembicki [Mon, 26 Oct 2020 09:41:36 +0000 (10:41 +0100)]
layerscape: make initramfs kernel fit packed

This will make developing process easier, because dtb will be included
into image.
Not need to enable initramfs image by default.

Signed-off-by: Pawel Dembicki <>
20 months agoramips: phy: at803x: Select SFP interface mode that both sides supports.
René van Dorst [Fri, 13 Nov 2020 15:45:54 +0000 (16:45 +0100)]
ramips: phy: at803x: Select SFP interface mode that both sides supports.

Currently sfp_select_interface() return the fastest interface that
the sfp modules supports even if the phy don't support that mode.

For example an GPON module that support both 2500basex and 1000basex.
Currently sfp_select_interface() picks 2500basex instead of 1000basex.

So limit the interfaces which both sides supports before calling
sfp_select_interface() or return an error if we don't have match.

Reviewed-by: John Thomson <>
Tested-by: Braihan Cantera <> [MikroTik RB760iGS + Nokia G-010S-A 3FE46541AA SFP]
Tested-by: John Thomson <> [Mikrotik rb760igs + SFP SM/LC, SFP base1000T, SFP+ passive DAC]
Signed-off-by: René van Dorst <>
20 months agolinux-firmware: update to 20201118
John Audia [Sat, 21 Nov 2020 13:53:06 +0000 (08:53 -0500)]
linux-firmware: update to 20201118

git log --pretty=oneline --abbrev-commit 20201022..20201118
2ea8667 (tag: 20201118) rtlwifi: v88.2 firmware files for RTL8192CU
e850cf3 Merge into main
65370db rtw88: RTL8822C: Update firmware to v9.9.4
e371b7c Revert "rtw88: RTL8822C: Update firmware to v9.9.4"
51d2c81 vpdma: Move firmware to ti directory
d7a24c9 Merge branch 'master' of into main
9ee1543 Merge branch 'master' of into main
3bcc4c1 amdgpu: update picasso VCN firmware
b6b4542 amdgpu: update raven2 VCN firmware
79aa335 amdgpu: update raven VCN firmware
c93834e rtw88: RTL8822C: Update firmware to v9.9.4
3ef6c93 rtl_bt: Update RTL8822C BT(USB I/F) FW to 0x099A_281A
b503c96 Merge branch 'ath10k-20201023' of git:// into main
463fdea QCA: Update Bluetooth firmware for QCA6390
8a46c32 qcom : updated venus firmware files for v5.4
d7793e5 QCA : Fixed BT SSR due to command timeout / IO fatal error
d842d8c ath11k: QCA6390 hw2.0: add to WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
8fb1a6e ath11k: QCA6390 hw2.0: add board-2.bin
34cb5fc ath11k: IPQ8074 hw2.0: add to WLAN.HK.
c0a8efd ath11k: IPQ8074 hw2.0: add board-2.bin
ac7f5e9 ath11k: IPQ6018 hw1.0: add to WLAN.HK.
2594e51 ath11k: IPQ6018 hw1.0: add board-2.bin
d8f10d4 ath10k: QCA6174 hw3.0: add firmware-sdio-6.bin version WLAN.RMH.4.4.1-00077
6652297 ath10k: QCA9984 hw1.0: update firmware-5.bin to 10.4-
36059aa ath10k: QCA9888 hw2.0: update firmware-5.bin to 10.4-
1e5629d ath10k: QCA6174 hw3.0: update board-2.bin
e315d1a ath10k: QCA6174 hw3.0: update firmware-6.bin to WLAN.RM.4.4.1-00157-QCARMSWPZ-1

Signed-off-by: John Audia <>
20 months agokernel: mtd: parser: cmdline: Fix parsing of part-names with colons
Sven Eckelmann [Sun, 22 Nov 2020 00:17:35 +0000 (01:17 +0100)]
kernel: mtd: parser: cmdline: Fix parsing of part-names with colons

Some devices (especially QCA ones) are already using hardcoded partition
names with colons in it. The OpenMesh A62 for example provides following
mtd relevant information via cmdline:

  root=31:11 mtdparts=spi0.0:256k(0:SBL1),128k(0:MIBIB),384k(0:QSEE),64k(0:CDT),64k(0:DDRPARAMS),64k(0:APPSBLENV),512k(0:APPSBL),64k(0:ART),64k(custom),64k(0:KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive) rootfsname=rootfs rootwait

The change to split only on the last colon between mtd-id and partitions
will cause newpart to see following string for the first partition:


Such a partition list cannot be parsed and thus the device fails to boot.

Avoid this behavior by making sure that the start of the first part-name
("(") will also be the last byte the mtd-id split algorithm is using for
its colon search.

Fixes: d6a9a92e3217 ("kernel: bump 5.4 to 5.4.69")
Signed-off-by: Sven Eckelmann <>
20 months agoipq40xx: DTS style updates for OpenMesh devices
Sven Eckelmann [Sun, 22 Nov 2020 19:09:27 +0000 (20:09 +0100)]
ipq40xx: DTS style updates for OpenMesh devices

The OpenMesh related files were not updated since a while and the new
coding style requirements weren't integrated. This can cause problems
for new devices when an author uses these files as starting point.

* use SPDX-License-Identifiers instead of full license texts
* drop linux,default-trigger with value default-off for LEDs
* led nodes with label "abc:xyz" should have name "xyz_abc"
* led DT labels for "xyz_abc" should be "led_xyz_abc"
* "m25p80@0" flash node should be renamed to "flash@0"
* drop unnecessary empty lines

Signed-off-by: Sven Eckelmann <>
[minor commit title and message adjustments]
Signed-off-by: Adrian Schmutzler <>
20 months agoath79: move the squashfs feature to the parent target
Rui Salvaterra [Mon, 23 Nov 2020 00:28:34 +0000 (00:28 +0000)]
ath79: move the squashfs feature to the parent target

All subtargets define it. Move it to the parent target and remove
it from all subtargets.

Signed-off-by: Rui Salvaterra <>
20 months agonetifd: update to the latest version
Felix Fietkau [Mon, 23 Nov 2020 11:51:58 +0000 (12:51 +0100)]
netifd: update to the latest version

213748a9bcd9 system-linux: implement full device present state management for force-external devices
3abe1fc87151 system-linux: add retry for adding member devices to a bridge

Signed-off-by: Felix Fietkau <>
20 months agoimagebuilder: fix main entry makefile
Paulo Machado [Sun, 22 Nov 2020 14:23:27 +0000 (14:23 +0000)]
imagebuilder: fix main entry makefile

Remove a syntax error from ImageBuider Makefile

Acked-by: Paul Spooren <>
Signed-off-by: Paulo Machado <>
20 months agohostapd: enable the epoll-based event loop
Rui Salvaterra [Mon, 2 Nov 2020 10:35:20 +0000 (10:35 +0000)]
hostapd: enable the epoll-based event loop

Hostapd supports epoll() since 2014. Let's enable it for better performance.

Signed-off-by: Rui Salvaterra <>
20 months agouhttpd: update to git HEAD
Daniel Golle [Mon, 23 Nov 2020 02:05:32 +0000 (02:05 +0000)]
uhttpd: update to git HEAD

 f53a639 ubus: fix uhttpd crash

Signed-off-by: Daniel Golle <>
20 months agoramips: add support for TP-Link MR6400 v4
Filip Moc [Wed, 18 Nov 2020 19:38:21 +0000 (20:38 +0100)]
ramips: add support for TP-Link MR6400 v4

You can flash via tftp recovery:
 - serve tftp-recovery image as /tp_recovery.bin on
 - connect to any ethernet port
 - power on the device while holding the reset button
 - wait at least 8 seconds before releasing reset button

Flashing via OEM web interface does not work.

LTE module does not support DHCP so it must be configured via QMI.

Hardware Specification (v4.0 EU):
 - SoC: MT7628NN
 - Flash: Winbond W25Q64JVS (8MiB)
 - RAM: ESMT M14D5121632A (64MiB)
 - Wireless: SoC platform only (2.4GHz b/g/n, 2x internal antenna)
 - Ethernet: 1NIC (4x100M)
 - WWAN: TP-LINK LTE MODULE (2x external detachable antenna)
 - Power: DC 9V 0.85A

Signed-off-by: Filip Moc <>
20 months agogeneric: add DTR quirk patch for MR400 LTE
Filip Moc [Fri, 20 Nov 2020 08:20:53 +0000 (09:20 +0100)]
generic: add DTR quirk patch for MR400 LTE

This is required for LTE module MR400 in TL-MR6400 v4.

Signed-off-by: Filip Moc <>
20 months agoprocd: update to git HEAD
Daniel Golle [Mon, 23 Nov 2020 00:32:48 +0000 (00:32 +0000)]
procd: update to git HEAD

 d4d78db uxc: also delete procd runtime state on 'delete'
 e935c0c jail: add 'debug' extern variable to preload_seccomp

Signed-off-by: Daniel Golle <>
20 months agouqmi: update to git HEAD
Daniel Golle [Sun, 22 Nov 2020 21:54:53 +0000 (21:54 +0000)]
uqmi: update to git HEAD

 65796a6 nas: add --get-plmn
 0a19b5b uqmi: add timeout parameter

Signed-off-by: Daniel Golle <>
20 months agouqmi: set device-operating-mode to online
Filip Moc [Wed, 18 Nov 2020 19:37:17 +0000 (20:37 +0100)]
uqmi: set device-operating-mode to online

This is required for LTE module MR400 (in TL-MR6400 v4).
Otherwise LTE module won't register to GSM network.

Signed-off-by: Filip Moc <>
20 months agouqmi: add support for IPv4 autoconf from QMI
Filip Moc [Wed, 18 Nov 2020 19:36:12 +0000 (20:36 +0100)]
uqmi: add support for IPv4 autoconf from QMI

There already was an option for autoconfiguring IPv4 from QMI but this
was removed by commit 3b9b963e6e08 ("uqmi: always use DHCP for IPv4").

DHCP does not work on MR400 LTE module (in TL-MR6400 v4) so let's readd
support for IPv4 autoconf from QMI but this time allow to configure this
for IPv4 and IPv6 independently and keep DHCP default on IPv4.

Signed-off-by: Filip Moc <>
20 months agouqmi: wait forever registration if timeout set to 0
Thomas Richard [Thu, 8 Oct 2020 12:35:24 +0000 (14:35 +0200)]
uqmi: wait forever registration if timeout set to 0

Give possibility to wait forever the registration by setting timeout
option to 0.

No timeout can be useful if the interface starts whereas no network is
available, because at the end of timeout the interface will be stopped
and never restarted.

Signed-off-by: Thomas Richard <>
20 months agoRevert "refpolicy: add variant that builds modular policy"
Daniel Golle [Sun, 22 Nov 2020 15:20:35 +0000 (15:20 +0000)]
Revert "refpolicy: add variant that builds modular policy"

This reverts commit 9eb9943f82e0b2d5e32ffe1c63f5a82caca5094d.
Building the 'modular' variant requires 'semodule_package' from
'selinux-python' to be installed on the buildhost.
Apart from that, this change also broke the monolithic refpolicy
'targeted' build.

Signed-off-by: Daniel Golle <>
20 months agoprocd: update to git HEAD
Daniel Golle [Sun, 22 Nov 2020 03:21:51 +0000 (03:21 +0000)]
procd: update to git HEAD

 04a2edd uxc: make force-delete kill container process
 be6da62 seccomp: silence 'unknown syscall' warnings
 b22e625 jail: cgroup hack: rewrite cgroup -> cgroup2
 df7fa7b uxc: fix incomplete commit

Signed-off-by: Daniel Golle <>
20 months agotools/mpc: update to 1.2.1
Hannu Nyman [Sat, 21 Nov 2020 11:33:32 +0000 (13:33 +0200)]
tools/mpc: update to 1.2.1

Update mpc to 1.2.1
  Bug fixes:
    Fix an incompatibility problem with GMP 6.0 and before.
    Fix an intermediate overflow in asin.

Signed-off-by: Hannu Nyman <>
20 months agotools/gmp: update to 6.2.1
Hannu Nyman [Sat, 21 Nov 2020 11:36:15 +0000 (13:36 +0200)]
tools/gmp: update to 6.2.1

Update gmp to 6.2.1

Release notes:

Signed-off-by: Hannu Nyman <>
20 months agotools/bison: update to 3.7.4
Hannu Nyman [Sat, 21 Nov 2020 11:30:34 +0000 (13:30 +0200)]
tools/bison: update to 3.7.4

Update bison to 3.7.4

Release notes:

Signed-off-by: Hannu Nyman <>
20 months agotools/cmake: update to 3.18.5
Hannu Nyman [Sat, 21 Nov 2020 11:39:01 +0000 (13:39 +0200)]
tools/cmake: update to 3.18.5

Update cmake to 3.18.5

Signed-off-by: Hannu Nyman <>
20 months agotools/expat: update to 2.2.10
Hannu Nyman [Sat, 21 Nov 2020 12:16:05 +0000 (14:16 +0200)]
tools/expat: update to 2.2.10

Update expat to 2.2.10

Signed-off-by: Hannu Nyman <>
20 months agonetifd: update to the latest version
Felix Fietkau [Sat, 21 Nov 2020 09:23:54 +0000 (10:23 +0100)]
netifd: update to the latest version

351d690f1a09 wireless: fix passing bridge name for vlan hotplug pass-through
c1c2728946b5 config: initialize bridge and bridge vlans before other devices
5e18d5b9ccb1 interface: do not force link-ext hotplug interfaces to present by default
4544f026bb09 bridge-vlan: add support for defining aliases for vlan ids

Signed-off-by: Felix Fietkau <>
20 months agomusl: handle wcsnrtombs destination buffer overflow (CVE-2020-28928)
Petr Štetiar [Fri, 20 Nov 2020 12:13:27 +0000 (13:13 +0100)]
musl: handle wcsnrtombs destination buffer overflow (CVE-2020-28928)

The wcsnrtombs function in all musl libc versions up through 1.2.1 has
been found to have multiple bugs in handling of destination buffer
size when limiting the input character count, which can lead to
infinite loop with no forward progress (no overflow) or writing past
the end of the destination buffera.

This function is not used internally in musl and is not widely used,
but does appear in some applications. The non-input-limiting form
wcsrtombs is not affected.

All users of musl 1.2.1 and prior versions should apply the attached
patch, which replaces the overly complex and erroneous implementation.
The upcoming 1.2.2 release will adopt this new implementation.

Signed-off-by: Petr Štetiar <>
20 months agoscripts: retry download using filename
David Bauer [Wed, 18 Nov 2020 15:02:23 +0000 (16:02 +0100)]
scripts: retry download using filename

With this commit, the download script will try downloading source files
using the filename instead of the url-filename in case the previous
download attempt using the url-filename failed.

This is required, as the OpenWrt sources mirrors serve files using the
filename files might be renamed to after downloading. If the original
mirror for a file where url-filename and filename do not match goes
down, the download failed prior to this patch.

Further improvement can be done by performing this only for the
OpenWrt sources mirrors.

Signed-off-by: David Bauer <>
20 months agoimagebuilder: add package signature verification
Paul Spooren [Mon, 2 Nov 2020 22:15:05 +0000 (12:15 -1000)]
imagebuilder: add package signature verification

The ImageBuilder downloads pre-built packages and adds them to images.
This process uses `opkg` which has the capability to verify package list
signatures via `usign`, as enabled per default on running OpenWrt

Until now this was disabled for ImageBuilders because neither the `opkg`
keys nor the `opkg-add` script was present during first packagelist

To harden the ImageBuilder against *drive-by-download-attacks* both keys
and verification script are added to the ImageBuilder allowing `opkg` to
verify downloaded package indices.

This commit adds `opkg-add` to the ImageBuilder scripts folder. The keys
folder is added to ImageBuilder $TOPDIR to have an obvious place for users to
store their own keys. The `option check_signature` is appended to the
repositories.conf file. All of the above only happens if the Buildbot
runs with the SIGNATURE_CHECK option.

The keys stored in the ImageBuilder keys/ are the same as included in
the openwrt-keyring package. To avoid the chicken-egg problem of
downloading and verifying a package, containing signing keys, the keys
are added during the ImageBuilder generation. They are same as in
shipped images (stored at `/etc/opkg/keys/`).

To allow a local package feed in which the user can add additional
packages, a local set of `usign` and `ucert` keys is generated, same as
building OpenWrt from source. The private key signs the local repository
inside the packages/ folder. The local public key is added to the keys/
folder to be considered by `opkg` when updating repositories. This way a
local package feed can be modified while requiring `opkg` to check
signatures for remote feed, making HTTPS optional.

The new option `ADD_LOCAL_KEY` allows to add the local key inside the
created images, adding the advantage that sysupgrades can validate the
ImageBuilders local key.

Signed-off-by: Paul Spooren <>
20 months agobuild: create $(PKG_SYMVERS_DIR) if non-existent
Sebastian Kemper [Wed, 18 Nov 2020 21:58:58 +0000 (22:58 +0100)]
build: create $(PKG_SYMVERS_DIR) if non-existent

Commit 5d76065 moved the creation of the symvers directory to
include/ This is fine when building from scratch. But
when unpacking an SDK the directory doesn't exist and because the kernel
won't be built (again) this directory will not be created by the build
system, causing build failure if make tries to copy files into it.

This moves the creation of the symvers directory back into
include/ so that the directory is created in any case.

Signed-off-by: Sebastian Kemper <>
20 months agobase-files: generated named bridge-vlan sections
John Crispin [Thu, 19 Nov 2020 14:08:33 +0000 (15:08 +0100)]
base-files: generated named bridge-vlan sections

Signed-off-by: John Crispin <>
20 months agoramips: add support for the Hak5 WiFi Pineapple Mark 7
Marc Egerton [Fri, 2 Oct 2020 17:30:59 +0000 (18:30 +0100)]
ramips: add support for the Hak5 WiFi Pineapple Mark 7

This patch adds support for the WiFi Pineapple Mark 7, a wireless
penetration testing tool.

    * SoC: MediaTek MT7628 (580MHz)
    * RAM: 256MiB (DDR2)
    * Storage 1: 32MiB NOR (SPI)
    * Storage 2: 2GB eMMC
    * Wireless 1: 802.11b/g/n 2.4GHz (Built In)
    * Wireless 2: 802.11b/g/n 2.4GHz (MT7601)
    * Wireless 3: 802.11b/g/n 2.4GHz (MT7601)
    * USB: 1x USB Type-A 2.0 Host Port
    * Ethernet: 1x USB Type-C AX88772C Ethernet
    * UART: 57600 8N1 on PCB
    * Inputs: 1x Reset Button
    * Outputs: 1x RGB LED
    * FCCID: 2AA52MK7

Flash Instructions:
    Original firmware is based on OpenWRT.
    Use sysupgrade via SSH to flash.

Signed-off-by: Marc Egerton <>
[ set only required/used gpio groups to gpio function]
Signed-off-by: Piotr Dymacz <>
20 months agoath79: fix reset button support on 8devices Lima
Piotr Dymacz [Mon, 16 Nov 2020 00:46:49 +0000 (01:46 +0100)]
ath79: fix reset button support on 8devices Lima

This fixes 'linux,code' property name and value for the 'reset' key node
in 8devices Lima DTS file.

Problem and solution were reported on the forum, see:

Signed-off-by: Piotr Dymacz <>
20 months agoath79: calculate Eth MACs from WLAN on ALFA Network R36A
Piotr Dymacz [Fri, 30 Oct 2020 13:16:08 +0000 (14:16 +0100)]
ath79: calculate Eth MACs from WLAN on ALFA Network R36A

New batches of the R36A board series might no longer keep separated
Ethernet MAC addresses stored in flash. Use same approach as on the
N2Q and calculate Ethernet MACs from WLAN one which is kept in ART.

Signed-off-by: Piotr Dymacz <>
20 months agouboot-envtools: ath79: add support for ALFA Network Pi-WiFi4
Piotr Dymacz [Fri, 9 Oct 2020 05:31:44 +0000 (07:31 +0200)]
uboot-envtools: ath79: add support for ALFA Network Pi-WiFi4

Signed-off-by: Piotr Dymacz <>
20 months agoath79: add support for ALFA Network Pi-WiFi4
Piotr Dymacz [Fri, 9 Oct 2020 05:30:24 +0000 (07:30 +0200)]
ath79: add support for ALFA Network Pi-WiFi4

ALFA Network Pi-WiFi4 is a Qualcomm QCA9531 v2 based, high-power 802.11n
WiFi board in Raspberry Pi 3B shape, equipped with 1x FE and 4x USB 2.0.


- Qualcomm/Atheros QCA9531 v2
- 650/400/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16+ MB of flash (SPI NOR)
- 1x 10/100 Mbps Ethernet
- 2T2R 2.4 GHz Wi-Fi with Qorvo RFFM8228P FEM
- 2x IPEX/U.FL connectors on PCB
- 4x USB 2.0 Type-A
- Genesys Logic GL850G 4-port USB HUB
- USB power is controlled by GPIO
- 5x LED (3x on PCB, 2x in RJ45, 4x driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, enabled by default)
- 1x micro USB Type-B for power and system console (Holtek HT42B534)
- UART and GPIO (8-pin, 1.27 mm pitch) header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP
2. Connect PC with one of RJ45 ports, press the reset button, power up
   device, wait for first blink of all LEDs (indicates network setup),
   then keep button for 3 following blinks and release it.
3. Open address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <>
20 months agoath79: add label MAC address for ALFA Network N5Q
Piotr Dymacz [Mon, 9 Nov 2020 00:23:26 +0000 (01:23 +0100)]
ath79: add label MAC address for ALFA Network N5Q

Signed-off-by: Piotr Dymacz <>
20 months agoscripts: add const_structs.checkpatch for
Adrian Schmutzler [Wed, 18 Nov 2020 20:45:38 +0000 (21:45 +0100)]
scripts: add const_structs.checkpatch for

Kernel has separated the structs that are reported to be const in into a file of its own, const_structs.checkpatch.

This file has been missing after the recent update of,
leading to the following message:

  No structs that should be const will be found - file
  '/data/openwrt/scripts/const_structs.checkpatch': No such file
  or directory

This commit adds the relevant file from v5.10-rc4.

Fixes: 086ee09bbcac ("scripts: Update to 2020-06-11")
Signed-off-by: Adrian Schmutzler <>
20 months agoscripts: suppress warnings about MAINTAINERS
Adrian Schmutzler [Wed, 18 Nov 2020 20:38:59 +0000 (21:38 +0100)]
scripts: suppress warnings about MAINTAINERS

The kernel expects changes to MAINTAINERS for all removed or added
files, printing warnings like:

  WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
  deleted file mode 100644

Since this does not apply to "our" files in OpenWrt repo, this
warning should be disabled.

This can be achieved easiest by setting $reported_maintainer_file
to 1. While this is a hack that tricks the script into believing
the proper MAINTAINERS changes have been made, it's the easiest
solution as it does not require to touch any other code.

Signed-off-by: Adrian Schmutzler <>
20 months agoramips: use m25p,fast-read on Xiaomi Mi Router 4A Gb/3G v2
Adrian Schmutzler [Wed, 18 Nov 2020 19:48:26 +0000 (20:48 +0100)]
ramips: use m25p,fast-read on Xiaomi Mi Router 4A Gb/3G v2

The Xiaomi Mi Router 4A Gigabit model has a race condition on bootup
causing the SQUASHFS data errors to appear and create a bootloop

Adding the m25p,fast-read property resolves this issue.

Suggested-by: David Bentham <>
Signed-off-by: Adrian Schmutzler <>
20 months agokernel: bump 5.4 to 5.4.77
John Audia [Wed, 11 Nov 2020 20:30:36 +0000 (15:30 -0500)]
kernel: bump 5.4 to 5.4.77

Manually rebased patches:


All modifications made by

Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711,
              lantiq/Easybox 904 xDSL, x86_64
Run-tested: ipq806x/R7800, lantiq/Easybox 904 xDSL, x86_64

No dmesg regressions, everything functional

Signed-off-by: John Audia <>
Co-developed-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
20 months agoath79: Add support for Ubiquiti NanoBeam AC Gen2
Nick Hainke [Sun, 25 Oct 2020 13:51:55 +0000 (14:51 +0100)]
ath79: Add support for Ubiquiti NanoBeam AC Gen2

CPU:         Atheros AR9342 rev 3 SoC
RAM:         64 MB DDR2
Flash:       16 MB NOR SPI
WLAN 2.4GHz: Atheros AR9342 v3 (ath9k)
WLAN 5.0GHz: QCA988X
Ports:       2x GbE

Flashing procedure is identical to other ubnt devices.

Flashing through factory firmware
1. Ensure firmware version v8.7.0 is installed.
   Up/downgrade to this exact version.
2. Patch fwupdate.real binary using
   `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe 27/00 00 00 00/g' | \
    hexdump -R > /tmp/fwupdate.real`
3. Make the patched fwupdate.real binary executable using
   `chmod +x /tmp/fwupdate.real`
4. Copy the squashfs factory image to /tmp on the device
5. Flash OpenWrt using `/tmp/fwupdate.real -m <squashfs-factory image>`
6. Wait for the device to reboot
(copied from Ubiquiti NanoBeam AC and modified)

To keep it consistent, we will add the gen1 variant to
the nanobeam ac gen1.

Signed-off-by: Nick Hainke <>
20 months agovalgrind: Update to version 3.16.1
Hauke Mehrtens [Sat, 31 Oct 2020 23:17:58 +0000 (00:17 +0100)]
valgrind: Update to version 3.16.1

No special changes, just get in sync with recent code.
See here for the changelog:

The ipkg sizes changes as follows for mips 24kc :
3.15   : valgrind_3.15.0-2_mips_24kc.ipk 1450680
3.16.1 : valgrind_3.16.1-1_mips_24kc.ipk 1491954

Signed-off-by: Hauke Mehrtens <>
20 months agostrace: Update to version 5.9
Hauke Mehrtens [Sat, 31 Oct 2020 23:17:51 +0000 (00:17 +0100)]
strace: Update to version 5.9

No special changes, just get in sync with recent code.
See here for the changelog:

The ipkg sizes changes as follows for mips 24kc :
5.8 : strace_5.8-1_mips_24kc.ipk 271195
5.9 : strace_5.9-1_mips_24kc.ipk 278352

Signed-off-by: Hauke Mehrtens <>
20 months agoiperf3: Update to version 3.9
Hauke Mehrtens [Sat, 31 Oct 2020 23:17:36 +0000 (00:17 +0100)]
iperf3: Update to version 3.9

No special changes, just get in sync with recent code.
See here for the changelog:

The ipkg sizes changes as follows for mips 24kc :
3.7 : iperf3_3.7-1_mips_24kc.ipk 39675
3.9 : iperf3_3.9-1_mips_24kc.ipk 41586

Signed-off-by: Hauke Mehrtens <>
20 months agoethtool: update to version 5.9
Hans Dedecker [Sun, 15 Nov 2020 19:43:49 +0000 (20:43 +0100)]
ethtool: update to version 5.9

The ipkg sizes changes as follows for mips 24kc :
5.8 : ethtool_5.8-1_mips_24kc.ipk 34930
5.9 : ethtool_5.9-1_mips_24kc.ipk 35241

Signed-off-by: Hans Dedecker <>
20 months agobase-files: fix backwards compatiblity of rc.common EXTRA_COMMANDS
Matthias Schiffer [Mon, 16 Nov 2020 16:30:43 +0000 (17:30 +0100)]
base-files: fix backwards compatiblity of rc.common EXTRA_COMMANDS

Avoid needlessly breaking old initscripts that set EXTRA_COMMANDS. This
will aid in debugging (as it simplifies reverting to an older version of
a package) and unbreaks third-party feeds (and packages that maintain
their OpenWrt initscripts as part of the software's repo instead of the
OpenWrt feed like fastd).

Without this, initscripts that set EXTRA_COMMANDS become completely
unusable, as all default commands like start/stop cease working.

Fixes: 1a69f50dc627 ("base-files: fix rc.common help alignment")
Signed-off-by: Matthias Schiffer <>
20 months agohostapd: set validity interval for BSS TMRA
David Bauer [Tue, 17 Nov 2020 10:47:38 +0000 (11:47 +0100)]
hostapd: set validity interval for BSS TMRA

This sets the validity interval for the BSS transition candidate
list to the same value as the disassociation timer.

Currently the value is always 0, which is the specification states is a
reserved value. Also, wpa_supplicant and from the looks of it some
Android implementations will outright ignore the candidate list in this

Signed-off-by: David Bauer <>
20 months agohostapd: add support for static airtime policy configuration
Dobroslaw Kijowski [Mon, 16 Nov 2020 19:32:38 +0000 (20:32 +0100)]
hostapd: add support for static airtime policy configuration

* Add support for passing airtime_sta_weight into hostapd configuration.
* Since that commit it is possible to configure station weights. Set higher
  value for larger airtime share, lower for smaller share.

I have tested this functionality by modyfing /etc/config/wireless to:

config wifi-device 'radio0'
        option airtime_mode '1'

config wifi-iface 'default_radio0'
        list airtime_sta_weight '01:02:03:04:05:06 1024'

Now, when the station associates with the access point it has been assigned
a higher weight value.
root@OpenWrt:~# cat /sys/kernel/debug/ieee80211/phy0/netdev\:wlan0/stations/01\:02\:03\:04\:05\:06/airtime
RX: 12656 us
TX: 10617 us
Weight: 1024
Deficit: VO: -2075 us VI: 256 us BE: -206 us BK: 256 us

[MAC address has been changed into a dummy one.]

Signed-off-by: Dobroslaw Kijowski <>
20 months agohostapd: fix per-BSS airtime configuration
Dobroslaw Kijowski [Mon, 16 Nov 2020 19:21:46 +0000 (20:21 +0100)]
hostapd: fix per-BSS airtime configuration

airtime_mode is always parsed as an empty string since it hasn't been
added into hostapd_common_add_device_config function.

Fixes: e289f183 ("hostapd: add support for per-BSS airtime configuration")
Signed-off-by: Dobroslaw Kijowski <>
20 months agohostapd: ubus: add get_status method
David Bauer [Sun, 1 Nov 2020 23:53:41 +0000 (00:53 +0100)]
hostapd: ubus: add get_status method

This adds a new get_status method to a hostapd interface, which
provides information about the current interface status.

Signed-off-by: David Bauer <>
20 months agohostapd: ubus: add VHT capabilities to client list
David Bauer [Mon, 12 Oct 2020 01:10:20 +0000 (03:10 +0200)]
hostapd: ubus: add VHT capabilities to client list

This adds parsed VHT capability information to the hostapd
get_clients method.

Signed-off-by: David Bauer <>
20 months agohostapd: ubus: add driver information to client list
David Bauer [Sun, 11 Oct 2020 15:45:01 +0000 (17:45 +0200)]
hostapd: ubus: add driver information to client list

This adds information from mac80211 to hostapd get_client ubus function.
This way, TX as well as RX status information as well as the signal can
be determined.

Signed-off-by: David Bauer <>
20 months agohostapd: fix variable shadowing
David Bauer [Wed, 28 Oct 2020 19:42:17 +0000 (20:42 +0100)]
hostapd: fix variable shadowing

Fixes commit 838b412cb527 ("hostapd: add interworking support")

Signed-off-by: David Bauer <>
20 months agoumdns: convert seccomp filter rules to OCI format
Daniel Golle [Tue, 17 Nov 2020 13:11:16 +0000 (13:11 +0000)]
umdns: convert seccomp filter rules to OCI format

procd-seccomp switched to OCI-compliant seccomp parser instead of our
(legacy, OpenWrt-specific) format. Convert ruleset to new format.

Signed-off-by: Daniel Golle <>
20 months agoprocd: drop legacy seccomp support, switch to OCI parsers
Daniel Golle [Tue, 17 Nov 2020 13:09:36 +0000 (13:09 +0000)]
procd: drop legacy seccomp support, switch to OCI parsers

 d8f36f5 seccomp: specifying architectures is optional
 d352e6e seccomp: switch to new OCI compliant parser
 c110405 trace: switch to OCI seccomp JSON output

Signed-off-by: Daniel Golle <>
20 months agowireguard-tools: fix category/description in menuconfig
Alberto Bursi [Tue, 17 Nov 2020 07:58:40 +0000 (08:58 +0100)]
wireguard-tools: fix category/description in menuconfig

wireguard-tools is trying to import the menuconfig section
from the wireguard package, but since it's not anymore in
the same makefile this seems to fail and wireguard-tools
ends up in "extra packages" category instead with other
odds and ends.

Same for the description, it's trying to import it from the
wireguard package but it fails so it only shows the line
written in this makefile.

remove the broken imports and add manually the entries
and description they were supposed to load

Fixes: ea980fb9c6de ("wireguard: bump to 20191226")
Signed-off-by: Alberto Bursi <>
[fix trailing whitespaces, add Fixes]
Signed-off-by: Adrian Schmutzler <>
20 months agoath79: fix missing ";;" in 11-ath10k-caldata
Adrian Schmutzler [Mon, 16 Nov 2020 18:26:25 +0000 (19:26 +0100)]
ath79: fix missing ";;" in 11-ath10k-caldata

This adds a missing ";;" in the switch-case in 11-ath10k-caldata.

Fixes: 4d36569b9cab ("ath79: fix ath10k caldata extraction on some
D-Link DIR-842 C3 devices")

Signed-off-by: Adrian Schmutzler <>
20 months agoath79: fix ath10k caldata extraction on some D-Link DIR-842 C3 devices
Paul Fertser [Tue, 27 Oct 2020 11:02:53 +0000 (14:02 +0300)]
ath79: fix ath10k caldata extraction on some D-Link DIR-842 C3 devices

According to forum threads [0][1] and a report on IRC by Doc-Saintly
some of those boards have calibration data in a different place. Only
one alternative location is known.

Without proper board calibration data (board.bin having all 0xff bytes)
ath10k firmware still tries to load but crashes on startup with a
confusing error message.

If you're applying this patch manually on your device do not forget to
remove /lib/firmware/ath10k/pre-cal-pci-0000:00:00.0.bin and reboot to
force caldata re-extraction.


Signed-off-by: Paul Fertser <>
20 months agokernel: remove mvsw61xx swconfig driver
DENG Qingfang [Fri, 13 Nov 2020 03:54:44 +0000 (11:54 +0800)]
kernel: remove mvsw61xx swconfig driver

All targets that used mvsw61xx have switched to upstream mv88e6xxx DSA
driver, so it can be removed.

Signed-off-by: DENG Qingfang <>
20 months agomediatek: fix mixed indent in DTS files
Adrian Schmutzler [Mon, 16 Nov 2020 12:35:51 +0000 (13:35 +0100)]
mediatek: fix mixed indent in DTS files

mediatek frequently had mixed indent (tabs vs. spaces) in DTS files
and DTS file kernel patches (probably due to careless copy/paste).

The harmonizes these cases to tabs-only, as usual for DTS(I).

Signed-off-by: Adrian Schmutzler <>
20 months agotreewide: remove default-state off for LEDs
Adrian Schmutzler [Mon, 16 Nov 2020 12:26:56 +0000 (13:26 +0100)]
treewide: remove default-state off for LEDs

default-state = "off" is default for LEDs, no need to specify it

Signed-off-by: Adrian Schmutzler <>
20 months agomvebu: LS421DE: improve the HDD leds
Daniel González Cabanelas [Fri, 13 Nov 2020 19:23:00 +0000 (20:23 +0100)]
mvebu: LS421DE: improve the HDD leds

Improve the HDD LEDs used for disk activity:
 - Use the trigger activity per ata channel

Signed-off-by: Daniel González Cabanelas <>
20 months agoramips: mt7621: fix Telco X1 GPIO switches
DENG Qingfang [Mon, 16 Nov 2020 06:06:12 +0000 (14:06 +0800)]
ramips: mt7621: fix Telco X1 GPIO switches

The GPIO base of MT7621 GPIO 0~31 is 480 on kernel 5.4
Fix the GPIO numbering.

Signed-off-by: DENG Qingfang <>
20 months agoodhcpd: update to latest git HEAD
Hans Dedecker [Sun, 15 Nov 2020 17:44:40 +0000 (18:44 +0100)]
odhcpd: update to latest git HEAD

fb55e80 dhcpv6-ia : write statefile atomically

Signed-off-by: Hans Dedecker <>
20 months agodropbear: update to 2.81
Hans Dedecker [Sat, 14 Nov 2020 12:04:43 +0000 (13:04 +0100)]
dropbear: update to 2.81

Update dropbear to latest stable 2.81; for the changes see

Refresh patches

Signed-off-by: Hans Dedecker <>
20 months agobcm27xx: add bit variant to redundant RaspberryPi
Paul Spooren [Fri, 6 Nov 2020 19:54:20 +0000 (09:54 -1000)]
bcm27xx: add bit variant to redundant RaspberryPi

Both bcm2709 and bcm2710 firmware can run on the same RaspberryPi
models, varying however in 32 and 64 Bit architectures. The model name
alone does not include the architecture information, which becomes
problematic if looking at a overview that only contains the names. By
adding a variant it is possible to tell the architecture.

Signed-off-by: Paul Spooren <>
21 months agowireguard-tools: drop the dependency on ip-{tiny,full}
Rui Salvaterra [Thu, 5 Nov 2020 11:37:16 +0000 (11:37 +0000)]
wireguard-tools: drop the dependency on ip-{tiny,full}

BusyBox ip already provides the required functionality and is enabled by default
in OpenWrt. This patch drops the ip dependency and makes the BusyBox ip required
dependencies explicit, allowing for a significant image size reduction.

openwrt-ath79-generic-ubnt_nanostation-loco-m-squashfs-sysupgrade.bin size:
4588354 bytes (with ip-tiny)
4457282 bytes (with BusyBox ip)

Signed-off-by: Rui Salvaterra <>
21 months agobuild: support cmake verbose for host builds
Felix Fietkau [Sat, 14 Nov 2020 13:34:30 +0000 (14:34 +0100)]
build: support cmake verbose for host builds

Signed-off-by: Felix Fietkau <>
21 months agolibjson-c: enable rpath for host builds to fix errors on recent macOS
Felix Fietkau [Sat, 14 Nov 2020 13:33:23 +0000 (14:33 +0100)]
libjson-c: enable rpath for host builds to fix errors on recent macOS

Same approach as on libubox

Signed-off-by: Felix Fietkau <>
21 months agotools/bc: use autoreconf to fix build failure on macOS with recent Xcode versions
Felix Fietkau [Sat, 14 Nov 2020 11:52:58 +0000 (12:52 +0100)]
tools/bc: use autoreconf to fix build failure on macOS with recent Xcode versions

Signed-off-by: Felix Fietkau <>
21 months agotools/libelf: use autoreconf to fix build failure on macOS with recent Xcode versions
Felix Fietkau [Sat, 14 Nov 2020 11:47:39 +0000 (12:47 +0100)]
tools/libelf: use autoreconf to fix build failure on macOS with recent Xcode versions

Signed-off-by: Felix Fietkau <>
21 months agobuild: detect broken make version on macOS
Felix Fietkau [Sat, 14 Nov 2020 11:37:39 +0000 (12:37 +0100)]
build: detect broken make version on macOS

Apple ships a broken make version with the Xcode command line tools.
Homebrew installs make as gmake by default in order to not collide with
Apple's version.
Exit with an error if the broken one is used accidentally

Signed-off-by: Felix Fietkau <>
21 months agotools/fakeroot: fix build on macOS with recent Xcode versions
Felix Fietkau [Sat, 14 Nov 2020 10:57:23 +0000 (11:57 +0100)]
tools/fakeroot: fix build on macOS with recent Xcode versions

Signed-off-by: Felix Fietkau <>
21 months agobuild: try to find getopt in macOS homebrew's standard location
Felix Fietkau [Sat, 14 Nov 2020 06:35:11 +0000 (07:35 +0100)]
build: try to find getopt in macOS homebrew's standard location

It is not symlinked to /usr/local/bin by default

Signed-off-by: Felix Fietkau <>
21 months agoiproute2: update to 5.9
Hans Dedecker [Thu, 12 Nov 2020 17:18:52 +0000 (18:18 +0100)]
iproute2: update to 5.9

Update iproute2 to latest stable 5.9; for the changes see

Refresh patches

Signed-off-by: Hans Dedecker <>
Acked-by: Hauke Mehrtens <>
21 months agoipq40xx: do not remove pci@40000000 for ap.dk04.1
Adrian Schmutzler [Fri, 13 Nov 2020 15:04:01 +0000 (16:04 +0100)]
ipq40xx: do not remove pci@40000000 for ap.dk04.1

This pci@40000000 node from upstream was dropped when the device
was converted from local DTS(I) files to kernel patches in [1] to
ensure that change was purely cosmetic.

However, the DK04.1 has a PCI-E slot by default, so let's keep
(i.e. not remove) the kernel definition now.

[1] c4beac9ea2e1 ("ipq40xx: use upstream DTS files for IPQ4019/AP-DK04.1")

Suggested-by: Robert Marko <>
Signed-off-by: Adrian Schmutzler <>
21 months agoipq40xx: 5.4: update and reorder patches
Robert Marko [Fri, 30 Oct 2020 13:18:27 +0000 (14:18 +0100)]
ipq40xx: 5.4: update and reorder patches

A lot of patches are outdated versions of upstreamed patches and

So lets pull in the upstreamed patches and reorder remaining ones.

This drops the unnecessary 721-dts-ipq4019-add-ethernet-essedma-node.patch
which adds nodes for not yet in OpenWrt IPQESS driver.

Signed-off-by: Robert Marko <>
[do not touch 902-dts-ipq4019-ap-dk04.1.patch here]
Signed-off-by: Adrian Schmutzler <>
21 months agobuild: filter out more autogenerated kernel config options
Felix Fietkau [Tue, 20 Oct 2020 19:36:52 +0000 (21:36 +0200)]
build: filter out more autogenerated kernel config options

Define wildcard patterns for filtering in target/linux/generic/config-filter
Preparation for supporting newer kernels

Signed-off-by: Felix Fietkau <>
21 months agoscripts/ allow regex syntax in filtering out config entries
Felix Fietkau [Tue, 20 Oct 2020 16:54:49 +0000 (18:54 +0200)]
scripts/ allow regex syntax in filtering out config entries

This will be used to filter out some autogenerated config values from
the kernel config files

Signed-off-by: Felix Fietkau <>
21 months agokernel: rename mtdpart_get_master to mtd_get_master
Felix Fietkau [Sat, 17 Oct 2020 15:21:12 +0000 (17:21 +0200)]
kernel: rename mtdpart_get_master to mtd_get_master

Preparation for supporting newer kernels

Signed-off-by: Felix Fietkau <>
21 months agobuild: pass KBUILD_EXTRA_SYMBOLS with symvers files for kernel module packages
Felix Fietkau [Fri, 23 Oct 2020 09:26:48 +0000 (11:26 +0200)]
build: pass KBUILD_EXTRA_SYMBOLS with symvers files for kernel module packages

This replaces the previous (deprecated) method of collecting symvers data
in $(PKG_BUILD_DIR)/Module.symvers, which does not work on newer kernels

Signed-off-by: Felix Fietkau <>
21 months agokernel: ip17xx: use pr_warn instead of pr_warning
Felix Fietkau [Sat, 24 Oct 2020 16:11:15 +0000 (18:11 +0200)]
kernel: ip17xx: use pr_warn instead of pr_warning

Fixes build with newer kernels

Signed-off-by: Felix Fietkau <>
21 months agokernel: remove kmod-capi
Felix Fietkau [Sat, 24 Oct 2020 17:16:29 +0000 (19:16 +0200)]
kernel: remove kmod-capi

We don't package any driver that uses this module

Signed-off-by: Felix Fietkau <>
21 months agonetifd: update to the latest version
Felix Fietkau [Fri, 13 Nov 2020 11:48:34 +0000 (12:48 +0100)]
netifd: update to the latest version

4a41135750d9 system-linux: only overwrite dev->present state on check_state for simple devices

Signed-off-by: Felix Fietkau <>
21 months agogeneric: platform/mikrotik: implement multi caldata
Thibaut VARÈNE [Mon, 24 Aug 2020 10:38:40 +0000 (12:38 +0200)]
generic: platform/mikrotik: implement multi caldata

MikroTik recently changed again the way they store wlan calibration data
on devices. Prior to this change, ERD calibration data for all available
radios was stored within a single identifier node ("tag" in RouterBoot

Recent devices have been seen with calibration (and BDF) data stored in
separate identifiers within LZOR packing for each radio: this patch
addresses this by:
1) ensuring that both variants are properly supported,
2) preserving backward compatibility with existing data consumers,
3) allowing for more than 2 calibration blobs to be exposed via sysfs.

Specifically, before this patch, the driver would provide a single sysfs
file named /sys/firmware/mikrotik/hard_config/wlan_data that contained
whatever calibration data found on the device's flash. After this patch,
when executed on a device that uses the old style storage, this behavior
is unchanged, but when executed on a device that uses new style storage
(for either traditional "ERD" packing or "LZOR" packing), the driver
replaces that single file with a folder containing one or more files
each containing the data encoded within individual identifiers.

As far as OpenWRT is concerned, this means that for devices which are
known to exist with both styles of data storage, a suitable hotplug stub
could look like this for e.g. the second radio:

( [ -f "$wdata" ] && caldata_sysfsload_from_file "$wdata" 0x8000 0x2f20 ) || \
( [ -d "$wdata" ] && caldata_sysfsload_from_file "$wdata/data_2" 0x0 0x2f20 )

This patch has been tested with LZOR old and new style packing on ipq4019,
and with old style on ath79.

Tested-by: John Thomson <>
Tested-by: Шебанов Алексей <>
Tested-by: Alen Opačić <>
Signed-off-by: Thibaut VARÈNE <>
Tested-by: Robert Marko <>
21 months agolibnetfilter-log: Backport kernel header syncs
Brett Mastbergen [Thu, 18 Jul 2019 19:28:09 +0000 (15:28 -0400)]
libnetfilter-log: Backport kernel header syncs

Backport upstream commits that sync the local kernel header
copies in this library, with up to date copies.  These updated
headers ensure that libnetfilter-log users can use current
kernel functionality such as requesting that conntrack
information be appended to nflog events sent to userspace via
the NFULNL_CFG_F_CONNTRACK flag.  This functionality has been
available since kernel version 4.4

Signed-off-by: Brett Mastbergen <>
21 months agoscripts: add spelling.txt for
Paul Spooren [Mon, 27 Jul 2020 22:57:04 +0000 (12:57 -1000)]
scripts: add spelling.txt for

Running the updated checkpatch version with spelling.txt show that
spelling mistakes happen to everyone.

> /target/linux$ fd .*.patch | xargs ../../scripts/ | rg spell
WARNING: 'usefull' may be misspelled - perhaps 'useful'?
WARNING: 'afecting' may be misspelled - perhaps 'affecting'?
WARNING: 'usefull' may be misspelled - perhaps 'useful'?
WARNING: 'afecting' may be misspelled - perhaps 'affecting'?
WARNING: 'begining' may be misspelled - perhaps 'beginning'?
WARNING: 'superflous' may be misspelled - perhaps 'superfluous'?
WARNING: 'multipe' may be misspelled - perhaps 'multiple'?
WARNING: 'recieves' may be misspelled - perhaps 'receives'?
WARNING: 'retreive' may be misspelled - perhaps 'retrieve'?
WARNING: 'tranfer' may be misspelled - perhaps 'transfer'?
WARNING: 'additonal' may be misspelled - perhaps 'additional'?
WARNING: 'accomodate' may be misspelled - perhaps 'accommodate'?

Signed-off-by: Paul Spooren <>
21 months agoscripts: checkpatch remove device-tree doc check
Paul Spooren [Mon, 3 Aug 2020 01:34:00 +0000 (15:34 -1000)]
scripts: checkpatch remove device-tree doc check

Remove checks for device tree documentation as the OpenWrt tree comes
withouth the ./Documentation folder.

Signed-off-by: Paul Spooren <>
21 months agoscripts: Update to 2020-06-11
Paul Spooren [Mon, 27 Jul 2020 22:45:53 +0000 (12:45 -1000)]
scripts: Update to 2020-06-11

Checkpatch grown in functionallity and we should make use of that. If
OpenWrt patches should be upstream material they should also be checked
based on upstream instead of 2013.

Signed-off-by: Paul Spooren <>
21 months agox86: generic: disable CONFIG_EFI_VARS
Alberto Bursi [Sat, 19 Sep 2020 23:36:05 +0000 (01:36 +0200)]
x86: generic: disable CONFIG_EFI_VARS

CONFIG_EFI_VARS has been disabled in
64bit x86 target in 2018 by the following commit
the same reasons apply to Generic target, so
now it's disabled here too.
Leaving it enabled is also blocking compile as
a new symbol was added
that depends from CONFIG_EFI_VARS
and the build system stops and waits for
user input on what to do about it.

The Legacy and Geode targets never
had any EFI_xxx configs enabled so they
don't have this issue

Signed-off-by: Alberto Bursi <>
21 months agortl838x: Add switch and ethernet driver support for RTL839x SoCs
Birger Koblitz [Tue, 27 Oct 2020 08:12:01 +0000 (09:12 +0100)]
rtl838x: Add switch and ethernet driver support for RTL839x SoCs

This adds support for RTL839x SoCs in the ethernet and switch
drivers of the rtl838x architecture.

Reviewed-by: Andreas Oberritter <>
Signed-off-by: Birger Koblitz <>
21 months agosunxi: add support for Libre Computer ALL-H3-CC H5
Roman Kuzmitskii [Sun, 18 Oct 2020 18:05:23 +0000 (18:05 +0000)]
sunxi: add support for Libre Computer ALL-H3-CC H5


- CPU: Allwinner H5, Quad-core Cortex-A53 Up to 1GHz
- Network:
    10/100M Ethernet x 1
- IR: x1 (Receive)
- USB (Host) Type-A x3
- USB (OTG) Type-A x1
- MicroSD Slot x 1
- eMMC Slot x1
- MicroUSB power input
- GPIO 40pin header
- UART 3pin header
- Leds:
    - librecomputer:blue:status
    - librecomputer:green:pwr
- Buttons:
    - uboot button (used to enter fel mode)
    - power button (can trigger power on)
- Power Supply via MicroUSB or GPIO 5V/2A


- Write the image to SD Card with dd
- Boot from the SD Card

Signed-off-by: Roman Kuzmitskii <>
[Fixed Signed-off-by]
Signed-off-by: Petr Štetiar <>
21 months agokernel: add module support Solarflare network adapter
Tan Zien [Mon, 19 Oct 2020 04:27:54 +0000 (12:27 +0800)]
kernel: add module support Solarflare network adapter

According to Solarflare user guide
it is recommended to install lm-sensors and
use the following command to obtain adapter health info

$ sensors | grep sfc
sfc pci 0400
sfc pci 0401

$ sensors sfc pci 0400
sfc pci 0400
Adapter: PCI adapter
1.2V supply:                        N/A
3.3V supply:                    +3.22 V  (min =  +3.00 V, max =  +3.60 V)
12.0V supply:                  +12.14 V  (min = +11.04 V, max = +12.96 V)
0.9V supply (ext. ADC):         +1.03 V  (min =  +0.50 V, max =  +1.10 V)
                                         (crit max =  +1.15 V)
0.9V phase A supply:                N/A
PHY overcurrent:                    N/A
ERROR: Can't get value of subfeature temp1_alarm: Can't read
PHY temp.:                          N/A
AOE FPGA temp.:                 +68.0°C  (low  =  +0.0°C, high = +95.0°C)
                                         (crit = +105.0°C)
Ambient temp.:                  +56.0°C  (low  =  +0.0°C, high = +75.0°C)
                                         (crit = +85.0°C)
Controller die (TDIODE) temp.:  +77.0°C  (low  =  +0.0°C, high = +95.0°C)
                                         (crit = +105.0°C)
Board front temp.:              +59.0°C  (low  =  +0.0°C, high = +75.0°C)
                                         (crit = +85.0°C)
Board back temp.:               +62.0°C  (low  =  +0.0°C, high = +75.0°C)
                                         (crit = +85.0°C)
1.2V supply current:                N/A
0.9V phase A supply current:        N/A
3.3V supply current:                N/A
12V supply current:                 N/A

Signed-off-by: Tan Zien <>