3 days agokernel: 5.10: silence bogus "Missing #address-cells in interrupt provider" warnings master
Christian Lamparter [Sun, 24 Oct 2021 00:45:25 +0000 (02:45 +0200)]
kernel: 5.10: silence bogus "Missing #address-cells in interrupt provider" warnings

Rosen reported strange dtc warnings that had their origin in
an upstream patch to 5.8-rc1. Upon further digging this
revealed an ongoing thread [0] discussing the topic:

> [...]I don't think we need a bunch of warning fix patches to add
> these everywhere. Also, the need for #address-cells pretty much makes
> no sense on any modern system. It is a relic from days when the bus
> (address) topology and interrupt topology were related.

and later on:
> So really, we only need to be checking for #address-cells in nodes
> with interrupt-map.

This patch backports just the patch which removed the warning message
(this is from the upstream dtc project [1] - but not the kernel).
the patch does not add the checking of the #address-cells in nodes
with interrupt-map.

[0] <>
[1] <>
Link: <>
Reported-by: Rosen Penev <>
Signed-off-by: Christian Lamparter <>
3 days agoipq40xx: detangle ath10k-board-qca4019 from ath10k-firmware-qca4019*
Christian Lamparter [Fri, 22 Oct 2021 18:38:49 +0000 (20:38 +0200)]
ipq40xx: detangle ath10k-board-qca4019 from ath10k-firmware-qca4019*

Back in the day, the board-2.bin came with ath10k-firmware-qca4019.
This changed with
commit c3b2efaf24b5 ("linux-firmware: ath10k: add board firmware packages")
which placed the board-2.bin into a separate package: ath10k-board-qca4019.
This was great, because it addressed one of the caveat of the original
ipq-wifi package:
commit fa03d441e96 ("firmware: add custom IPQ wifi board definitions")

|  2. updating ath10k-firmware-qca4019 will also replace
|      the board-2.bin. For this cases the user needs to
|      manually reinstall the wifi-board package once the
|      ath10k-firmware-qca4019 is updated.

This could be extended further so that ipq-wifi packages
no longer use "install-override" and the various QCA4019
variants list the ath10k-board-qca4019 as a CONFLICT

Signed-off-by: Christian Lamparter <>
3 days agobase-files: leds: do reverse lookup in get_dt_led()
Christian Lamparter [Wed, 20 Oct 2021 22:35:29 +0000 (00:35 +0200)]
base-files: leds: do reverse lookup in get_dt_led()

In order to match the "label"-less DT properties we have to get
creative. In theory the dt-node should have everything (i.e.:
color, function and function-enumerator) to make the device-name
in /sys/class/leds . But thanks to color being a binary value
and not a "string", we would have to maintain a lookup table that
keeps in sync with the dt-binding.

It's much easier to use the "uevent" property of every led-class
device and do reverse lookup with it by comparing the OF_FULLNAME
with the alias pathname.

(This works with gpio-leds ... let's see where it breaks)

Signed-off-by: Christian Lamparter <>
3 days agoath79: convert TP-Link Archer C7v2 Wifis to nvmem-cells
Christian Lamparter [Sat, 16 Oct 2021 19:28:52 +0000 (21:28 +0200)]
ath79: convert TP-Link Archer C7v2 Wifis to nvmem-cells

both ath9k (2.4GHz Wifi) and ath10k (5 GHz) driver now
pull the (pre-)calibration data from the nvmem subsystem.

This allows us to move the userspace caldata extraction
and mac-address patching for the 5GHZ ath10k supported
wifi into the device-tree definition of the device.

ath9k's nodes are also changed over to use nvmem-cells
over OpenWrt's custom mtd-cal-data property.

Signed-off-by: Christian Lamparter <>
3 days agoipq40xx: utilize nvmem on Netgear EX61X0 v2 Series
Christian Lamparter [Fri, 15 Oct 2021 17:17:42 +0000 (19:17 +0200)]
ipq40xx: utilize nvmem on Netgear EX61X0 v2 Series

the Netgear EX6100v2 and EX6150v2 can utilize the nvmem
for the pre-calibration and mac-address for both WIFI

Signed-off-by: Christian Lamparter <>
3 days agoath79: add Cisco Meraki MR18
Christian Lamparter [Fri, 30 Jul 2021 15:59:25 +0000 (17:59 +0200)]
ath79: add Cisco Meraki MR18


SOC:    Atheros/Qualcomm QCA9557-AT4A @ 720MHz
RAM:    2x Winbond W9751G6KB-25 (128 MiB)
WIFI1:  Atheros AR9550 5.0GHz (SoC)
WIFI2:  Atheros AR9582-AR1A 2.4GHz
WIFI2:  Atheros AR9582-AR1A 2.4GHz + 5GHz
PHYETH: Atheros AR8035-A, 802.3af PoE capable Atheros (1x Gigabit LAN)
LED:    1x Power-LED, 1 x RGB Tricolor-LED
INPUT:  One Reset Button
UART:   JP1 on PCB (Labeled UART), 3.3v-Level, 115200n8
        (VCC, RX, TX, GND - VCC is closest to the boot set jumper
 under the console pins.)

Flashing instructions:

Depending on the installed firmware, there fastly different methods
to flash a MR18. These have been documented on:

Note: upgrades from AR71XX are possible, but require the force
sysupgrade option.

The LEDs has changed since AR71XX. The white LED is now used during
the boot and when upgrading instead of the green tricolor LED.

Signed-off-by: Christian Lamparter <>
3 days agoath79: add Cisco Meraki Z1
Christian Lamparter [Wed, 23 Jun 2021 20:46:52 +0000 (22:46 +0200)]
ath79: add Cisco Meraki Z1


SOC: Atheros AR9344 @ 560MHz
RAM: 2x Winbond W9751G6KB-25 (128 MiB)
FLASH: Hynix H27U1G8F2BTR (128 MiB)
WIFI1: Atheros AR9340 5.0GHz (SoC)
WIFI2: Atheros AR9280 2.4GHz
SWITCH: Atheros AR8236 (5x Gigabit (1x WAN, 4x LAN)
LED: 1x Power-LED, 1 x RGB Tricolor-LED
INPUT: One Reset Button
USB: One USB 2.0 Port
UART: JP1 on PCB (Labeled UART), 3.3v-Level, 115200n8
        (GND, TX, RX, VCC - GND is next to the UART silk screen)

Flashing Instructions:

Since this device is brought over from an old AR71xx, there's
already a wiki-page with detailed instructions:

The gist:
1. Get a root-shell on the device (see wiki). (needs UART access)
2. make a backup (to a PC/safe location) of the existing Meraki
3. copy over the OpenWrt initramfs kernel for the Z1.
   This gets written into the kernel NAND partition.
   (Verify that written image is complete!)

After the following reboot and successfull boot of the staging
OpenWrt initramfs image:

4. copy over the sysupgrade.bin for the router and use sysupgrade
   to make the installation permanent.

Signed-off-by: Christian Lamparter <>
3 days agoath79: ar934x: still advertise subpage on soft ecc
Christian Lamparter [Sat, 31 Jul 2021 01:33:03 +0000 (03:33 +0200)]
ath79: ar934x: still advertise subpage on soft ecc

This sort of reverts Koen Vandeputte's commit
6561ca1fa51 ("ath79: ar934x: fix mounting issues if subpage is not supported")

since it does not work on the MR18 as the UBI is coming from
Meraki in that way and it used to work with AR71XX before.

Signed-off-by: Christian Lamparter <>
3 days agoath79: nand: enable software BCH support
Christian Lamparter [Sat, 31 Jul 2021 21:16:05 +0000 (23:16 +0200)]
ath79: nand: enable software BCH support

This is necessary to support the Meraki MR18 and likely Z1
as well.

Signed-off-by: Christian Lamparter <>
3 days agoath9k: nvmem for ath9k caldata
Christian Lamparter [Fri, 20 Aug 2021 22:32:31 +0000 (00:32 +0200)]
ath9k: nvmem for ath9k caldata

With "getting WIFI MAC from NVMEM" working on ath79 on 5.10,
the next logical step I think is to utilize nvmem subsystem
to also get the calibration data from there.

This will tremendously speed up the wifi bring-up, since
we no longer need the userspace helper for the simple
devices that can just load them from there.

Tested on: WNDR3700v2

Signed-off-by: Christian Lamparter <>
3 days agoapm821xx: disable Netgear WNDR4700
Christian Lamparter [Tue, 11 Aug 2020 17:14:48 +0000 (19:14 +0200)]
apm821xx: disable Netgear WNDR4700

This patch disables the Netgear WNDR4700 image, because as it turns
out that neither gzipped nor xz'd zImages would work. The reason for
the crash is that there are sevaral problems with Netgear's "bootcmd":

> if loadn_dniimg 0 0x180000 0x4e0000 && chk_dniimg 0x4e0000; then nand read 0x800000 0x180000 0x20000;bootm 0x500000 - 0x800040;else fw_recovery; fi"

This loads the dni-image starting offset 0x180000 from the NAND
flash (which is the DTB partition) to 0x4e0000 in the RAM. It then
checks whenever the provided image is "valid". If it is then it
reads the DTB again to 0x800000 in the RAM and starts the extraction
and boot process. (If the image wasn't valid then it starts the
automated firmware recovery).

The issues here are that first: the kernel image gets "squeezed"
between 0x500040 and 0x7fffff... And second, the decompressor
only has area 0x0 - 0x500000 for decompression.

Hence it would be much easier to "fix" the bootcmd by providing
new values (which have been successfully tested with the original
Netgear WNDR4700 v1.0.0.56 firmware) for the RAM locations and
make full use of the fact that loadn_dniimg loads the DTB as well.

This needs to be done only once. Just connect a serial adapter to
interface with uboot and overwrite (and save) the new bootcmd.

WARNING: The serial port needs a TTL/RS-232 3.3v level converter!

 0. Power-off the WNDR4700
 1. Connect the serial interface (you need to open the WNDR4700)
 2. Power-up the WNDR4700
 3. Monitor the boot-sequence and hit "Enter"-key when it says:

  "Hit any key to stop autoboot" (Be quick, you have a ~2 second window)

 4. in the Prompt enter the following commands (copy & paste)

 setenv bootcmd "if loadn_dniimg 0 0x180000 0xae0000 && chk_dniimg 0xae0000; then bootm 0xb00000 - 0xae0040;else fw_recovery; fi"
 run bootcmd

Note: This new bootcmd will also unbrick devices that were bricked
by the bigger 4.19/5.4 kernels recently before the buildbot was
instructed to skip it.

Note2: This method was tested with a WNDR4700. A big kernel with most
debug features enabled on v5.4.52 measured 3.10 MiB when compressed
with lzma. The uncompressed kernel is 9.83 MiB. This is over the 3 MiB,
the device reserves for the kernel... But it booted! For bigger kernels,
the device needs repartitioning of the the ubi partition due to the
kernel+dtb not fitting into the partition.

Note3: For initramfs development. I would advice to load the initramfs
images to 0x800000 (or higher). i.e.: tftp 800000 wndr4700.bin

Signed-off-by: Christian Lamparter <>
3 days ago[WIP] bcm53xx: MR32: replace i2c-gpio with SoC's i2c
Christian Lamparter [Sat, 12 Sep 2020 20:28:38 +0000 (22:28 +0200)]
[WIP] bcm53xx: MR32: replace i2c-gpio with SoC's i2c

During review of the MR32, Florian Fainelli pointed out that the
SoC has a real I2C-controller. Furthermore, the connected pins
(SDA and SCL) would line up perfectly for use. This patch swaps
out the the bitbanged i2c-gpio with the real deal. It can be
applied once it works.

Signed-off-by: Christian Lamparter <>
3 days agobcm53xx: MR32: adds ethernet switch mapping in dts
Christian Lamparter [Sat, 18 Sep 2021 08:53:39 +0000 (10:53 +0200)]
bcm53xx: MR32: adds ethernet switch mapping in dts

with swconfig being on the way out. This patch adds
the vital b53 DSA switch DTS nodes and properties to
make it work.

Reported-by: Rafał Miłecki <>
Signed-off-by: Christian Lamparter <>
3 days agokernel: package bcm53xx i2c module
Christian Lamparter [Sun, 30 Aug 2020 01:04:42 +0000 (03:04 +0200)]
kernel: package bcm53xx i2c module

The BCM5301x SoCs do have i2c. Since this is only
being used by the Meraki MR32, this will be packaged
as a module.

Signed-off-by: Christian Lamparter <>
3 days agoath9k: OF: qca,disable-(2|5)ghz => ieee80211-freq-limit
Christian Lamparter [Sat, 9 Oct 2021 18:51:21 +0000 (20:51 +0200)]
ath9k: OF: qca,disable-(2|5)ghz => ieee80211-freq-limit

OpenWrt maintains two special out-of-tree DT properties:
"qca,disable-5ghz" and "qca,disable-2ghz". These are implemented
in a mac80211 ath9k patch "550-ath9k-disable-bands-via-dt.patch".

With the things being what they are, now might be a good
point to switch the devices to the generic and upstream
"ieee80211-freq-limit" property. This property is much
broader and works differently. Instead of disabling the
drivers logic which would adds the affected band and
channels. It now disables all channels which are not
within the specified frequency range.

Signed-off-by: Christian Lamparter <>
3 days agoimage: define DEVICE_DTS_DELIMITER as per-device
Christian Lamparter [Sat, 23 Oct 2021 19:01:24 +0000 (21:01 +0200)]
image: define DEVICE_DTS_DELIMITER as per-device

list to work as expected. This was missing from the original
version and got overlooked.

Fixes: fd6790864739 ("scripts: Allow legacy @ mode for dts creation")
Signed-off-by: Christian Lamparter <>
3 days agomac80211: Update to version 5.15-rc6-1
Hauke Mehrtens [Mon, 18 Oct 2021 22:44:43 +0000 (00:44 +0200)]
mac80211: Update to version 5.15-rc6-1

The removed patches were applied upstream.
The Cisco Aironet 802.11b driver was removed from backports, remove
it also from OpenWrt.

Signed-off-by: Hauke Mehrtens <>
3 days agomac80211: Update to version 5.14.13-1
Hauke Mehrtens [Sun, 10 Oct 2021 19:24:14 +0000 (21:24 +0200)]
mac80211: Update to version 5.14.13-1

The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <>
3 days agomac80211: Update to version 5.13.19-1
Hauke Mehrtens [Sat, 9 Oct 2021 17:25:36 +0000 (19:25 +0200)]
mac80211: Update to version 5.13.19-1

The removed patches were applied upstream.

of_get_mac_address() was backported in our OpenWrt kernel, remove the
change from backports.

Signed-off-by: Hauke Mehrtens <>
3 days agomac80211: Update to version 5.12.19-1
Hauke Mehrtens [Sat, 9 Oct 2021 14:25:30 +0000 (16:25 +0200)]
mac80211: Update to version 5.12.19-1

The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <>
3 days agomac80211: Update to version 5.11.22-1
Hauke Mehrtens [Mon, 4 Oct 2021 21:48:20 +0000 (23:48 +0200)]
mac80211: Update to version 5.11.22-1

The removed patches were applied upstream.
This backports version 5.11.22 and later does not support kernel
versions < 4.4, this allows us to remove some patches too.

Signed-off-by: Hauke Mehrtens <>
3 days agoethtool: update to v5.14
Hans Dedecker [Sat, 23 Oct 2021 19:39:41 +0000 (21:39 +0200)]
ethtool: update to v5.14

Update to newly released version 5.14

Signed-off-by: Hans Dedecker <>
3 days agoRevert "ethtool: update to v5.14"
Hans Dedecker [Sat, 23 Oct 2021 19:37:27 +0000 (21:37 +0200)]
Revert "ethtool: update to v5.14"

This reverts commit 7630001427fa266fa61da0b2533e2c1054eababe

Signed-off-by: Hans Dedecker <>
3 days agoethtool: update to v5.14
Hans Dedecker [Sat, 23 Oct 2021 19:30:55 +0000 (21:30 +0200)]
ethtool: update to v5.14

Update to newly released version 5.14

Signed-off-by: Hans Dedecker <>
3 days agoumdns: add missing syscall to seccomp filter
Michael Peleshenko [Thu, 21 Oct 2021 22:14:05 +0000 (18:14 -0400)]
umdns: add missing syscall to seccomp filter

The 'clock_gettime64', syscall is missing.
Found with 'utrace /usr/sbin/umdns' on an R7800.

Signed-off-by: Michael Peleshenko <>
3 days agowireless-regdb: update to version 2021.08.28
Christian Lamparter [Sat, 23 Oct 2021 16:08:51 +0000 (18:08 +0200)]
wireless-regdb: update to version 2021.08.28

e983a25 Update regulatory rules for Ecuador (EC)
a0bcb88 wireless-regdb: Update regulatory rules for Norway (NO) on 6 and 60 GHz
cdf854d wireless-regdb: Update regulatory rules for Germany (DE) on 6GHz
86cba52 wireless-regdb: reduce bandwidth for 5730-5850 and 5850-5895 MHz in US
6fa2384 wireless-regdb: remove PTMP-ONLY from 5850-5895 MHz for US
9839e1e wireless-regdb: recent FCC report and order allows 5850-5895 immediately
42dfaf4 wireless-regdb: update 5725-5850 MHz rule for GB

Signed-off-by: Christian Lamparter <>
3 days agobase-files: chmod 1777 /var/lock
Deomid Ryabkov [Sat, 23 Oct 2021 13:22:39 +0000 (16:22 +0300)]
base-files: chmod 1777 /var/lock

Per FHS 3.0, /var/lock is the location for lock files [1].
However its current permissions (755) are too restrictive
for use by unprivileged processes.
Debian and Ubuntu set them to 1777, and now so do we.

[1] <>

Signed-off-by: Deomid Ryabkov <>
[fixed typo in commit message, had to remove "rojer" due to git hooks]
Signed-off-by: Christian Lamparter <>
3 days agoath79: ag71xx: Disable napi related interrupts during probe
Sven Eckelmann [Sat, 23 Oct 2021 09:27:35 +0000 (11:27 +0200)]
ath79: ag71xx: Disable napi related interrupts during probe

ag71xx_probe is registering ag71xx_interrupt as handler for the gmac0/gmac1
interrupts. The handler is trying to use napi_schedule to handle the
processing of packets. But the netif_napi_add for this device is
called a lot later in ag71xx_probe.

It can therefore happen that a still running gmac0/gmac1 is triggering the
interrupt handler with a bit from AG71XX_INT_POLL set in
AG71XX_REG_INT_STATUS. The handler will then call napi_schedule and the
napi code will crash the system because the ag->napi is not yet

  libphy: Fixed MDIO Bus: probed
  CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 00000000, ra == 81373408
  CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.152 #0
  $ 0   : 00000000 00000001 00000000 8280bf28
  $ 4   : 82a98cb0 00000000 81620000 00200140
  $ 8   : 00000000 00000000 74657272 7570743a
  $12   : 0000005b 8280bdb9 ffffffff ffffffff
  $16   : 00000001 82a98cb0 00000000 8280bf27
  $20   : 8280bf28 81620000 ffff8b00 8280bf30
  $24   : 00000000 8125af9c
  $28   : 82828000 8280bed8 81610000 81373408
  Hi    : 00005fff
  Lo    : 2e48f657
  epc   : 00000000 0x0
  ra    : 81373408 __napi_poll+0x3c/0x11c
  Status: 1100dc03 KERNEL EXL IE
  Cause : 00800008 (ExcCode 02)
  BadVA : 00000000
  PrId  : 00019750 (MIPS 74Kc)
  Modules linked in:
  Process swapper (pid: 1, threadinfo=(ptrval), task=(ptrval), tls=00000000)
  Stack : ffff8afb ffff8afa 81620000 00200140 00000000 82a98cb0 00000008 0000012c
          81625620 81373684 ffffffff ffffffff ffffffef 00000008 816153d8 81620000
          815b0d60 815bbd54 00000000 81753700 8280bf28 8280bf28 8280bf30 8280bf30
          81753748 00000008 00000003 00000004 0000000c 00000100 3fffffff 8175373c
          816059f0 814ddb48 00000001 8160ab30 81615488 810618bc 00000006 00000000
  Call Trace:

  [<81373684>] net_rx_action+0xfc/0x26c
  [<814ddb48>] __do_softirq+0x118/0x2ec
  [<810618bc>] handle_percpu_irq+0x50/0x80
  [<8125ab8c>] plat_irq_dispatch+0x94/0xc8
  [<81004e98>] handle_int+0x138/0x144

  Code: (Bad address in epc)

  ---[ end trace a60d797432b656b2 ]---

The gmcc0/gmac1 must be brought in a state in which it doesn't signal a
AG71XX_INT_POLL related status bits as interrupt before registering the
interrupt handler. ag71xx_hw_start will take care of re-initializing the

Fixes: f529a3742043 ("surprise :p")
Signed-off-by: Sven Eckelmann <>
3 days agokernel: backport GPIO LED patch for MT7530
Rosen Penev [Thu, 23 Sep 2021 02:16:32 +0000 (19:16 -0700)]
kernel: backport GPIO LED patch for MT7530

This allows to specify and control switch LEDs on devices using mt7530
(typically mediatek and ramips targets).

Normally these LED GPIOs are 0, 3, 6, 9, and 12. wan/lan assignment is
per device. GPIO 9 is normally inverted. so GPIO_ACTIVE_HIGH instead of

Tested on Linksys E7350.

Refreshed all patches.

Signed-off-by: Rosen Penev <>
3 days agoipq40xx: MR33: Fix LP5562 LED driver probe
Tan Zien [Fri, 22 Oct 2021 20:15:08 +0000 (04:15 +0800)]
ipq40xx: MR33: Fix LP5562 LED driver probe

Add the reg and color property to each channel node. This update is
to accommodate the multicolor framework.

Refer to:

Signed-off-by: Tan Zien <>
[replaced links to lore, wrote something of a commit message]
Signed-off-by: Christian Lamparter <>
3 days agomt76: update to the latest version
Felix Fietkau [Sat, 23 Oct 2021 11:31:08 +0000 (13:31 +0200)]
mt76: update to the latest version

f6bde7ba82ee mt76: connac: fix unresolved symbols when CONFIG_PM is unset

Signed-off-by: Felix Fietkau <>
4 days agomt76: update to the latest version
Felix Fietkau [Sat, 23 Oct 2021 05:31:07 +0000 (07:31 +0200)]
mt76: update to the latest version

9d288d7c0c73 mt76: mt7615: apply cached RF data for DBDC
4d2e81d9ecab mt76: mt7915: remove mt7915_mcu_add_he()
2c8c3bcd766c mt76: mt7915: rework .set_bitrate_mask() to support more options
577d45f6e4a0 mt76: mt7915: rework debugfs fixed-rate knob
b68af355f707 mt76: mt7915: fix endiannes warning mt7915_mcu_beacon_check_caps
b52adf981561 mt76: mt7915: add WA firmware log support
ed3d8569c400 mt76: mt7915: add debugfs knobs for MCU utilization
0f49a22314a5 mt76: mt7921: disable 4addr capability
754d4a37ab71 mt76: mt7921: fix mt7921s Kconfig
f81f42fe875f mt76: Print error message when reading EEPROM from mtd failed
fd25a550965d mt76: Make use of the helper macro kthread_run()
1d01257662a6 wireless: mediatek: mt7921: fix Wformat build warning

Signed-off-by: Felix Fietkau <>
4 days agouci: update to git HEAD
Hauke Mehrtens [Fri, 22 Oct 2021 21:51:05 +0000 (23:51 +0200)]
uci: update to git HEAD

 cmake: Allow override of install directories

Signed-off-by: Hauke Mehrtens <>
4 days agoprocd: update to git HEAD
Hauke Mehrtens [Fri, 22 Oct 2021 21:48:24 +0000 (23:48 +0200)]
procd: update to git HEAD

 jail: Fix build with glibc

Signed-off-by: Hauke Mehrtens <>
4 days agolayerscape: Fix build in dtb
Hauke Mehrtens [Fri, 22 Oct 2021 20:09:16 +0000 (22:09 +0200)]
layerscape: Fix build in dtb

This fixes a kernel build problem.
The removed parts of the patch are already applied upstream.

Fixes: 9ad3ef27b9ce ("kernel: bump 5.4 to 5.4.153")
Signed-off-by: Hauke Mehrtens <>
4 days agoapm821xx: WNDAP6X0: add missed uci-default for compat
Christian Lamparter [Wed, 20 Oct 2021 19:04:43 +0000 (21:04 +0200)]
apm821xx: WNDAP6X0: add missed uci-default for compat

This should have been included in the previous patch that
resized the kernel partition to fit bigger kernels.

Fixes: 7a6a3494450c ("apm821xx: WNDAP620 + WNDAP660: reorganize partitions for 5.10")
Signed-off-by: Christian Lamparter <>
4 days agoapm821xx: implement new LED label naming scheme
Christian Lamparter [Thu, 13 Aug 2020 16:26:19 +0000 (18:26 +0200)]
apm821xx: implement new LED label naming scheme

This patch updates all current APM82181 devices over to that
"new LED naming scheme". This includes many updates to the
- dropped the deprecated, but beloved "label" property.
- rename all DT leds node names to led-#.
- add function and color properties.
- utilized panic-indicator property.
- dropped led- aliases (see below).

migration scripts for all devices are included.

For more information. See:

For the future: It looks like the color+function properties
won over the dt-alias / label. This will need to be wired up
into openwrt eventually. For APM821xx the situation is that
all devices have a dedicated power and fault indicator.

Signed-off-by: Christian Lamparter <>
4 days agoath79: lzma-loader: fix & re-enable per-board CONFIG_BOARD_DEV
Christian Lamparter [Sat, 31 Jul 2021 20:56:29 +0000 (22:56 +0200)]
ath79: lzma-loader: fix & re-enable per-board CONFIG_BOARD_DEV

Back in the AR71XX days, the lzma-loader code could be customized
based on the $BOARD variable. These would be passed as a
compile-time -DCONFIG_BOARD_$DEVICE_MODEL flag to the compiler.
Hence, the lzma-loader would be able to include device-specific

Note: There's still a fixup for the TpLink TL-WR1043ND V1 found
in the lzma-loader's board.c code. But since the days of AR71XX
I couldn't find a forum post or bug reported. So, I left it
as is to not break anything by enabling it.

=> If you have a TL-WR1043ND V1 and you have problem with
the ethernet: let me know. Because otherwise, the fixup
might simply no longer needed with ath79 and it can be removed.

Signed-off-by: Christian Lamparter <>
4 days agoapm821xx: MX60(W): re-enable + allow bigger future kernels
Christian Lamparter [Fri, 1 Oct 2021 19:53:26 +0000 (21:53 +0200)]
apm821xx: MX60(W): re-enable + allow bigger future kernels

The MX60's kernel is limited to 0x3EFC00 by the values in
mkmerakifw.c. Since the initramfs method of loading the
kernel seems to be working, this patch does away with the
use of the mkmerakifw tool for the MX60(W).

But this will go along with a change in u-boot as well.
So before you upgrade, please attach the serial cable and

| setenv owrt510_boot run meraki_ubi owrt_bootargs\; run owrt_load1 owrt_bootkernel\; run owrt_load2 owrt_bootkernel
| setenv bootcmd run owrt510_boot
| saveenv

Note: You won't be able to use older OpenWrt releases without
switching the bootcmd back to owrt_boot!

Note2: We are no longer compatible with older OpenWrt MX60 installs.
the legacy BOARD_NAME and SUPPORTED_DEVICES can be dropped. This is
because upgrades from older images are not possible without uboot env
changes anymore. Also the bogus BLOCKSIZE value
(which was set to 63k back then, in order to get the kernel properly
aligned after the fdt + meraki header) can be set to the NANDs real
value. The FDT size (which was needed for alignment) can now be
slimmed down as well.

Co-developed-by: Martin Kennedy <>
Signed-off-by: Martin Kennedy <>
Signed-off-by: Christian Lamparter <>
4 days agoapm821xx: MBL: HDD regulators overhaul for MBL DUO
Christian Lamparter [Fri, 15 Oct 2021 19:30:58 +0000 (21:30 +0200)]
apm821xx: MBL: HDD regulators overhaul for MBL DUO

Takimata reported on the OpenWrt forum in thread [0], that his
MyBook Live Duo wasn't booting OpenWrt 21.02 after upgrading
from the previous OpenWrt 19.07.

The last logged entries on his console

|[    0.531599] sata1-regulator GPIO handle specifies active low - ignored
|[    0.538391] sata0-regulator GPIO handle specifies active low - ignored
|[    0.759791] ata2: SATA link down (SStatus 0 SControl 300)
|[    0.765251] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
|[    5.909555] ata1.00: qc timeout (cmd 0xec)
|[    5.913656] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
|[    6.231757] ata1: SATA link down (SStatus 0 SControl 300)

This extract clearly showed that the HDD on which OpenWrt is installed,
simply disappeared after the SATA power regulators had been initialized.

The reason why this worked with OpenWrt 19.07 was because the kernel
config symbol CONFIG_REGULATOR=y was not set in the target's config-4.14.

(This shows that the MBL Single does differ from the DUO in that
it does not have programmable power regulators for the HDDs.)

[0] <>

Reported-by: Takimata (forum)
Tested-by: Takimata (forum)
Signed-off-by: Christian Lamparter <>
4 days agoath79: mikrotik: use 64 KiB SPI NOR erase sectors
Roger Pueyo Centelles [Tue, 31 Aug 2021 14:45:17 +0000 (16:45 +0200)]
ath79: mikrotik: use 64 KiB SPI NOR erase sectors

This patch removes CONFIG_MTD_SPI_NOR_USE_4K_SECTORS from the default
symbols for the ath79/mikrotik target.

MikroTik devices hold some of their user-configurable settings in the
soft_config partition, which is typically sized 4 KiB, of the SPI NOR
flash memory. Previously, in the ar71xx target, it was possible to use
64 KiB erase sectors but also smaller 4 KiB ones when needed. This is
no longer the case in ath79 with newer kernels so, to be able to write
to these 4 KiB small partitions without erasing 60 KiB around, the
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS symbol was added to the defaults.
However, this ended up making sysupgrade images which were built with
64 KiB size blocks not to keep settings (e.g., the files under
/etc/config/) over the flashing process.

Using 4 KiB erase sector size on the sysupgrade images (by setting
BLOCKSIZE = 4k) allows keeping settings over a flashing process, but
renders the process terribly slow, possibly causing a user to
mistakenly force a manual device reboot while the process is still on-
going. Instead, ditching the 4 KiB erase sectors for the default
64 KiB erase size provides normal SPI write speed and sysupgrade times,
at the expense of not being able to modify the soft_config partition
(which is rarely a required thing).

An OpenWrt patch for MTD_SPI_NOR_USE_4K_SECTORS_LIMIT may once have
allowed to use different per-partition erase sector sizes. Due to
changes on recent kernels it now only works on a per-device basis.
Also, partial eraseblock write can be performed in ath79 with kernels
5.4 and lower, by copying the blocks from the 64 KiB, erasing the whole
sector and restoring those blocks not meant to be modified. A kernel
bump had that patch broken for a long time, but got fixed in bf2870c.

Note: the settings in the soft_config partition can be reset to their
defaults by holding the reset button for 5 seconds (and less than 10
seconds) at device boot.

Fixes: FS#3492 (sysupgrade […] loses settings...)
Fixes: a66eee63368e (ath79: add mikrotik subtarget)

Signed-off-by: Roger Pueyo Centelles <>
4 days agobcm53xx: bridge all LAN ports on Linksys EA9500
Rafał Miłecki [Fri, 22 Oct 2021 11:46:22 +0000 (13:46 +0200)]
bcm53xx: bridge all LAN ports on Linksys EA9500

External switch ports need to be bridged too.

Signed-off-by: Rafał Miłecki <>
5 days agotools/isl: update the download URL
Rui Salvaterra [Thu, 21 Oct 2021 19:09:49 +0000 (20:09 +0100)]
tools/isl: update the download URL has been dead since early this month [1]. Switch to for the time being.


Signed-off-by: Rui Salvaterra <>
5 days agotoolchain: switch packaged toolchain to tar.xz
Paul Spooren [Thu, 21 Oct 2021 01:54:26 +0000 (15:54 -1000)]
toolchain: switch packaged toolchain to tar.xz

Currently the tar.bz2 while ImageBuilder and SDK switched to tar.xz.
Unify it for faster compression since it will make use of

Signed-off-by: Paul Spooren <>
5 days agobcm53xx: switch to the upstream DSA-based b53 driver
Rafał Miłecki [Mon, 18 Oct 2021 13:04:17 +0000 (15:04 +0200)]
bcm53xx: switch to the upstream DSA-based b53 driver

1. Drop swconfig
2. Simplify network setup
3. Verify network config
4. Disable Buffalo WZR-900DHP for now - it misses ports definition

Signed-off-by: Rafał Miłecki <>
Reviewed-By: Christian Lamparter <>
5 days agobcm47xx: add kernel 5.10 support
Rafał Miłecki [Thu, 21 Oct 2021 15:26:56 +0000 (17:26 +0200)]
bcm47xx: add kernel 5.10 support

It's for *development* only as it doesn't work with lzma-loader due to
bigger size.

Signed-off-by: Rafał Miłecki <>
5 days agohostapd: ubus: fix uninitialized pointer
David Bauer [Thu, 21 Oct 2021 15:09:28 +0000 (17:09 +0200)]
hostapd: ubus: fix uninitialized pointer

This fixes passing a bogus non-null pointer to the ubus handler in case
the transition request is rejected.

Signed-off-by: David Bauer <>
5 days agoath79: use correct USB package for DIR-505
David Bauer [Thu, 21 Oct 2021 13:51:48 +0000 (15:51 +0200)]
ath79: use correct USB package for DIR-505

AR9331 requires kmod-usb2-chipidea to use the USB ports. Include the
correct package so they can be used with the base image.

Signed-off-by: David Bauer <>
5 days agohostapd: fix up patches after the last commit
Felix Fietkau [Thu, 21 Oct 2021 10:37:09 +0000 (12:37 +0200)]
hostapd: fix up patches after the last commit

Signed-off-by: Felix Fietkau <>
5 days agohostapd: fix a race condition on adding AP mode wds sta interfaces
Felix Fietkau [Wed, 20 Oct 2021 19:13:10 +0000 (21:13 +0200)]
hostapd: fix a race condition on adding AP mode wds sta interfaces

Both hostapd and netifd attempt to add a VLAN device to a bridge.
Depending on which one wins the race, bridge vlan settings might be incomplete,
or hostapd might run into an error and refuse to service the client.
Fix this by preventing hostapd from adding interfaces to the bridge and
instead rely entirely on netifd handling this properly

Signed-off-by: Felix Fietkau <>
5 days agonetifd: update to the latest version
Felix Fietkau [Wed, 20 Oct 2021 19:12:31 +0000 (21:12 +0200)]
netifd: update to the latest version

c61a1d432b34 wireless: fix creating AP mode WDS station interfaces
f78bdec2ed5f wireless: fix handling vif attributes on reload with mode change

Signed-off-by: Felix Fietkau <>
6 days agokernel: 5.10: backport Marvell 88E1510/2 PHY SFP support
Robert Marko [Fri, 8 Oct 2021 16:49:46 +0000 (18:49 +0200)]
kernel: 5.10: backport Marvell 88E1510/2 PHY SFP support

Backport upstream SFP support for the Marvell 88E1510/2 PHY-s.

Globalscale MOCHAbin uses this PHY for the hybrid
WAN port that has 1G SFP and 1G RJ45 with PoE PD
connected to it.

This allows the SFP port to be used on it as well as
parsing the SFP module details with ethtool.

Signed-off-by: Robert Marko <>
6 days agokernel: 5.10: backport 100 BaseX SFP support
Robert Marko [Fri, 8 Oct 2021 16:49:45 +0000 (18:49 +0200)]
kernel: 5.10: backport 100 BaseX SFP support

Backport upstream support for 100Base-FX, 100Base-LX, 100Base-PX and
100Base-BX10 SFP modules.

This is a prerequisite for the Globalscale MOCHAbin hybrid 1G
SFP/Copper support backporting.

Signed-off-by: Robert Marko <>
6 days agoltq-vdsl-app: add error vector counters to the ubus metrics
Andre Heider [Sun, 3 Oct 2021 10:07:41 +0000 (12:07 +0200)]
ltq-vdsl-app: add error vector counters to the ubus metrics

These are useful stats to debug vector related line deteriorations,
see [0].

Example output:
    "erb": {
    "sent": 169925,
    "discarded": 0


Signed-off-by: Andre Heider <>
6 days agoltq-vdsl-app: prepare for multiple mei ioctls
Andre Heider [Sun, 3 Oct 2021 10:05:51 +0000 (12:05 +0200)]
ltq-vdsl-app: prepare for multiple mei ioctls

Refactor so that the outer function opens and closes the mei fd and
passes it around, just as with the main fd.

That also allows us to use the IOCTL macro in get_vector_status() and
clean up accordingly.

Switch to AUTORELEASE while at it.

Signed-off-by: Andre Heider <>
6 days agoath10k-ct: update to version from 2021-09-22
Andrew Robbins [Tue, 5 Oct 2021 15:00:16 +0000 (11:00 -0400)]
ath10k-ct: update to version from 2021-09-22

Add in a fix for 160Mhz dfs on 5.10 and higher.
Add support for 5.13 and 5.15 kernels.
Add of_get_mac_address support for 5.15 driver.

Signed-off-by: Andrew Robbins <>
6 days agokernel: bump 5.10 to 5.10.75
Rui Salvaterra [Wed, 20 Oct 2021 12:07:59 +0000 (13:07 +0100)]
kernel: bump 5.10 to 5.10.75

Deleted (upstreamed):
bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch [1]


Signed-off-by: Rui Salvaterra <>
6 days agokernel: bump 5.10 to 5.10.74
Rui Salvaterra [Sun, 17 Oct 2021 17:31:09 +0000 (18:31 +0100)]
kernel: bump 5.10 to 5.10.74

Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <>
6 days agokernel: bump 5.10 to 5.10.73
Rui Salvaterra [Wed, 13 Oct 2021 10:02:37 +0000 (11:02 +0100)]
kernel: bump 5.10 to 5.10.73

Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <>
6 days agokernel: bump 5.4 to 5.4.155
John Audia [Wed, 20 Oct 2021 12:32:55 +0000 (08:32 -0400)]
kernel: bump 5.4 to 5.4.155

All patches automatically rebased.

Signed-off-by: John Audia <>
6 days agokernel: bump 5.4 to 5.4.154
John Audia [Sun, 17 Oct 2021 13:14:42 +0000 (09:14 -0400)]
kernel: bump 5.4 to 5.4.154

All patches automatically rebased.

Signed-off-by: John Audia <>
6 days agokernel: bump 5.4 to 5.4.153
John Audia [Wed, 13 Oct 2021 19:14:17 +0000 (15:14 -0400)]
kernel: bump 5.4 to 5.4.153

Removed upstreamed:

All other patches automatically rebased.

Signed-off-by: John Audia <>
6 days agowolfssl: fix compile when enable-devcrypto is set
Ivan Pavlov [Fri, 15 Oct 2021 05:11:10 +0000 (08:11 +0300)]
wolfssl: fix compile when enable-devcrypto is set

fixing linking error when --enable-devcrypto=yes
fixes: 7d92bb050961 wolfssl: update to 4.8.1-stable

Signed-off-by: Ivan Pavlov <>
6 days agoiw: sync nl80211 with kernel backports
Hauke Mehrtens [Sun, 10 Oct 2021 13:41:43 +0000 (15:41 +0200)]
iw: sync nl80211 with kernel backports

The nl80211 was out of sync with the version used in our backports. This
broke the configuration of the antenna gain.

Fixes: 2bfac61483db ("mac80211: backport support for BSS color changes")
Signed-off-by: Hauke Mehrtens <>
6 days agorealtek: switch to kernel 5.10
Adrian Schmutzler [Tue, 19 Oct 2021 19:08:58 +0000 (21:08 +0200)]
realtek: switch to kernel 5.10

The usual testers did their tests. Now we need testers who use the
master builds.

Signed-off-by: Adrian Schmutzler <>
6 days agomac80211: add missing patch chunk for mac80211_hwsim
Felix Fietkau [Wed, 20 Oct 2021 12:04:24 +0000 (14:04 +0200)]
mac80211: add missing patch chunk for mac80211_hwsim

Fixes build error

Signed-off-by: Felix Fietkau <>
6 days agomt76: update to the latest version
Felix Fietkau [Tue, 19 Oct 2021 10:43:03 +0000 (12:43 +0200)]
mt76: update to the latest version

ebf5b2336591 mt7615/mt7915: fix hwmon device name
8d12f9ed275d mt76: mt7615: mt7622: fix ibss and meshpoint
e7883cdc0b4e mt76: mt7915: improve code readability in mt7915_mcu_sta_bfer_ht
831d5967abb9 wireless: fix spelling of A-MSDU in HE capabilities
f09cb04be261 wireless: align some HE capabilities with the spec
0eeba8f2952d wireless: align HE capabilities A-MPDU Length Exponent Extension
655a6c65b8a7 mt76: mt7915: introduce mt7915_mcu_beacon_check_caps()
4440025d0ba9 mt76: mt7915: fix txbf starec TLV issues
87d2fb6fbff5 mt76: mt7915: improve starec readability of txbf
53c6a3cb7f6b mt76: mt7915: fix sta_rec_wtbl tag len
f517845e4f28 mt76: mt7915: rework starec TLV tags
1df017bc39a3 mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req()
6724b0a9a748 mt76: mt7915: set VTA bit in tx descriptor
f1f505cbbb30 mt76: mt7915: set muru platform type
8c9d4b38d258 mt76: mt7915: remove dead code in mt7915_get_et_stats
d0ccc4297935 mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature
0af0af82bb97 mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy
10e85d62f213 mt76: mt7915: improve code readability for xmit-queue handler
b6051f7713d2 mt76: sdio: export mt76s_alloc_rx_queue and mt76s_alloc_tx routines
9a97c38a309d mt76: mt7921: get rid of unused variable in mt7921_tx_complete_skb
c02847c05884 mt76: mt7921: get rid of unused variable in mt7921_mac_tx_free
60dd47a0a62e mt76: mt7915: remove dead code in debugfs code
ce74fc020d81 mt76: mt7921: add MU EDCA cmd support
c062f6920356 mt76: mt7921: refactor mac.c to be bus independent
bfa909c833e8 mt76: mt7921: refactor dma.c to be pcie specific
6556bddf26d2 mt76: mt7921: refactor mcu.c to be bus independent
1c8418207c86 mt76: mt7921: refactor init.c to be bus independent
6cf8248c1a44 mt76: mt7921: add MT7921_COMMON module
77600b0c10ac mt76: connac: move mcu reg access utility routines in mt76_connac_lib module
65362a00d07d mt76: mt7663s: rely on mcu reg access utility
956206bb55c3 mt76: mt7921: make all event parser reusable between mt7921s and mt7921e
f0dedcf6aaf0 mt76: mt7921: use physical addr to unify register access
5079d5b0b13c mt76: sdio: move common code in mt76_sdio module
26257594398b mt76: sdio: introduce parse_irq callback
e353424f1b07 mt76: sdio: extend sdio module to support CONNAC2
ddab3dd25f94 mt76: connac: extend mcu_get_nic_capability
b2d9a1748a41 mt76: mt7921: rely on mcu_get_nic_capability
e6ce5d9cbda0 mt76: mt7921: refactor mt7921_mcu_send_message
ce3706a65ccd mt76: mt7921: introduce mt7921s support
3143118baf53 mt76: mt7921s: add reset support
645eac64bece mt76: mt76x0: correct VHT MCS 8/9 tx power eeprom offset
d54796787cb7 mt76: move mt76_sta_stats in mt76.h
094e085abf5a mt76: move mt76_ethtool_worker_info in mt76 module
f80ab6dde63d mt76: mt7915: run mt7915_get_et_stats holding mt76 mutex
4a11cb67dc27 mt76: mt7915: move tx amsdu stats in mib_stats
486da6fa2512 mt76: do not reset MIB counters in get_stats callback
d8837b7c8dcd mt76: mt7921: add some more MIB counters
5ffe086fcd1b mt76: mt7921: introduce stats reporting through ethtool
69154ae23f6b mt76: mt7921: add sta stats accounting in mt7921_mac_add_txs_skb
4b65fbc4e203 mt76: mt7921: move tx amsdu stats in mib_stats
35b8025f466b mt76: mt7921: add per-vif counters in ethtool
cfbbd861eb12 mt76: mt7915: enable HE UL MU-MIMO
a0b94987df80 mt76: mt7915: rework mt7915_mcu_sta_muru_tlv()
5fbb686e9c0c mt76: mt7915: fix missing HE phy cap
b649678c18ca mt76: mt7915: change max rx len limit of hw modules

Signed-off-by: Felix Fietkau <>
6 days agomac80211: backport a few trivial patches
Felix Fietkau [Tue, 19 Oct 2021 09:19:26 +0000 (11:19 +0200)]
mac80211: backport a few trivial patches

No functional changes, just some renames to make it easier to keep mt76 in
sync with upstream

Signed-off-by: Felix Fietkau <>
6 days agotools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF
Felix Fietkau [Sun, 17 Oct 2021 15:50:53 +0000 (17:50 +0200)]
tools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF

Preparation for building packages that ship eBPF code

Signed-off-by: Felix Fietkau <>
6 days agoinclude/ fix host builds with CMAKE_BINARY_SUBDIR
Felix Fietkau [Sun, 17 Oct 2021 15:01:23 +0000 (17:01 +0200)]
include/ fix host builds with CMAKE_BINARY_SUBDIR

Use it in the same way as for target builds

Signed-off-by: Felix Fietkau <>
7 days agoREADME: mention video feed
Paul Spooren [Thu, 14 Oct 2021 18:33:29 +0000 (08:33 -1000)]
README: mention video feed

The video feed just got support for Wayland which allows OpenWrt devices
to run as a Kiosk (displaying browser content via a display).

The availability of these packages should be mentioned to users.

Signed-off-by: Paul Spooren <>
7 days agoncurses: add tmux terminfo
Jitao Lu [Sun, 17 Oct 2021 06:16:57 +0000 (14:16 +0800)]
ncurses: add tmux terminfo

They're preferred terminal descriptions for tmux, with additional support to
some special characters and italic fonts. More info can be found at:

Fixes: FS#3404

Signed-off-by: Jitao Lu <>
7 days agohostapd: fix goto loop for ubus assoc handler
David Bauer [Sun, 17 Oct 2021 21:29:57 +0000 (23:29 +0200)]
hostapd: fix goto loop for ubus assoc handler

When a ubus event handler denies a association with a non-zero return
value, the code jumps to preceeding code, creating an endless loop until
the event handler accepts the assc request.

Move the ubus handler further up the code to avoid creating such a loop.

Signed-off-by: David Bauer <>
8 days agowireguard-tools: add uci option to disable wireguard peers
Stepan Henek [Sun, 25 Apr 2021 21:32:29 +0000 (23:32 +0200)]
wireguard-tools: add uci option to disable wireguard peers

Right now when I want to temporarily disable wg peer I need to delete
the entire peer section. This is not such a good solution because I
loose the previous configuration of the peer.

This patch adds `disabled` option to peer config which causes that
the config section is ignored.

Signed-off-by: Stepan Henek <>
Signed-off-by: Paul Spooren <>
8 days agonftables: bump to 1.0.0
Stijn Tintel [Thu, 14 Oct 2021 19:08:44 +0000 (22:08 +0300)]
nftables: bump to 1.0.0

This introduces support for hardware flow offloading, which was added in
in nftables 0.9.9.

Signed-off-by: Stijn Tintel <>
Acked-by: Jo-Philipp Wich <>
8 days agotegra: switch to kernel 5.10
Adrian Schmutzler [Mon, 18 Oct 2021 19:27:33 +0000 (21:27 +0200)]
tegra: switch to kernel 5.10

This target has testing support for kernel 5.10 for four months now.
Time to switch the default.

Signed-off-by: Adrian Schmutzler <>
Acked-by: Tomasz Maciej Nowak <>
8 days agobcm53xx: enable Linksys EA6300 & EA9200 builds
Rafał Miłecki [Mon, 18 Oct 2021 13:59:43 +0000 (15:59 +0200)]
bcm53xx: enable Linksys EA6300 & EA9200 builds

Both should be supported since:
1. Adding NVMEM driver for NVRAM
2. Using NVRAM info for determining active firmware partition

Linksys EA9500 uses very similar design and works fine.

Signed-off-by: Rafał Miłecki <>
9 days agoprocd: update to git HEAD
Daniel Golle [Sun, 17 Oct 2021 20:21:49 +0000 (21:21 +0100)]
procd: update to git HEAD

 9b1e035 jail: netifd: code cosmetics
 d2a2ecc jail: netifd: fix error handling issue reported by coverity
 e1d7cee jail: netifd: check target netns fd before using it
 59f7699 uxc: add missing 'break' statement

Signed-off-by: Daniel Golle <>
9 days agowolfssl: remove --enable-sha512 configure switch
Andre Heider [Sat, 2 Oct 2021 08:40:00 +0000 (10:40 +0200)]
wolfssl: remove --enable-sha512 configure switch

It's the default anyway and this just looks confusing, as if it wasn't.

Switch to AUTORELEASE while at it.

The binary size is unchanged.

Signed-off-by: Andre Heider <>
9 days agowolfssl: always build with --enable-reproducible-build
Andre Heider [Sat, 2 Oct 2021 08:50:49 +0000 (10:50 +0200)]
wolfssl: always build with --enable-reproducible-build

This gates out anything that might introduce semantically frivolous jitter,
maximizing chance of identical object files.

The binary size shrinks by 8kb:
1244352 staging_dir/target-mipsel_24kc_musl/usr/lib/
1236160 staging_dir/target-mipsel_24kc_musl/usr/lib/

Signed-off-by: Andre Heider <>
9 days agowolfssl: build with WOLFSSL_ALT_CERT_CHAINS
Andre Heider [Wed, 6 Oct 2021 08:54:48 +0000 (10:54 +0200)]
wolfssl: build with WOLFSSL_ALT_CERT_CHAINS

"Alternate certification chains, as oppossed to requiring full chain
validataion. Certificate validation behavior is relaxed, similar to
openssl and browsers. Only the peer certificate must validate to a trusted
certificate. Without this, all certificates sent by a peer must be
used in the trust chain or the connection will be rejected."

This fixes e.g. uclient-fetch and curl connecting to servers using a Let's
Encrypt certificate which are cross-signed by the now expired
DST Root CA X3, see [0].

This is the recommended solution from upstream [1].

The binary size increases by ~12.3kb:
1236160 staging_dir/target-mipsel_24kc_musl/usr/lib/
1248704 staging_dir/target-mipsel_24kc_musl/usr/lib/


Signed-off-by: Andre Heider <>
Signed-off-by: David Bauer <>
9 days agoramips: remove kmod-mt7663-firmware-sta from device packages
Felix Fietkau [Sun, 17 Oct 2021 14:05:34 +0000 (16:05 +0200)]
ramips: remove kmod-mt7663-firmware-sta from device packages

This firmware should only be used for mobile devices (e.g. laptops), where
AP mode functionality is typically not used. This firmware supports a lot
of power saving offload functionality at the expense of AP mode support.

Signed-off-by: Felix Fietkau <>
9 days agoramips: fix dtc warnings for telco-electronics_x1
Rosen Penev [Fri, 15 Oct 2021 02:15:49 +0000 (19:15 -0700)]
ramips: fix dtc warnings for telco-electronics_x1

In all other dts files, the entire block is not edited like this.
They're edited separately.

Signed-off-by: Rosen Penev <>
9 days agozynq: switch to kernel 5.10
Luis Araneda [Sun, 10 Oct 2021 02:55:06 +0000 (23:55 -0300)]
zynq: switch to kernel 5.10

Use kernel 5.10 by default

compile-tested: all devices from target (wth ALL_KMODS)
run-tested: Digilent Zybo Z7-20

Signed-off-by: Luis Araneda <>
9 days agozynq: kernel: update config for 5.10
Luis Araneda [Sun, 10 Oct 2021 02:55:05 +0000 (23:55 -0300)]
zynq: kernel: update config for 5.10

Update config with make kernel_oldconfig

Signed-off-by: Luis Araneda <>
9 days agozynq: kernel: copy config from 5.4 to 5.10
Luis Araneda [Sun, 10 Oct 2021 02:55:04 +0000 (23:55 -0300)]
zynq: kernel: copy config from 5.4 to 5.10

Signed-off-by: Luis Araneda <>
9 days agozynq: kernel: remove wireless extensions symbols
Luis Araneda [Sun, 10 Oct 2021 02:55:03 +0000 (23:55 -0300)]
zynq: kernel: remove wireless extensions symbols

This fixes compilation of several wireless drivers that
require support for the old wireless extension to work.
One example is kmod-hermes.

The symbols are set to "y" on generic configuration.
But they were wrongly disabled on the target-specific

Signed-off-by: Luis Araneda <>
9 days agozynq: kernel: refresh config
Luis Araneda [Sun, 10 Oct 2021 02:55:02 +0000 (23:55 -0300)]
zynq: kernel: refresh config

using "make kernel_oldconfig"

Several configs are now part of generic

Signed-off-by: Luis Araneda <>
11 days agobuildsystem: add CONFIG_SECCOMP
Florian Eckert [Fri, 15 Oct 2021 07:19:12 +0000 (09:19 +0200)]
buildsystem: add CONFIG_SECCOMP

Until now, this feature was switched on via the kernel configuration

The follwing change a7f794cd2aa104fdbd4c6e38f9b76373bf9b96e1 now requires that
the package procd-seccomp must also enabled for buildinmg.

However, this is not the case we have no dependency and the imagebuilder
cannot build the image, because of the implicit package selection.

This change adds a new configuration option CONFIG_SECCOMP.
The new option  has the same behaviour as the configuration

If the CONFIG_SECCOMP is selected then the package procd-seccomp and
KERNEL_SECCOMP is enabled for this build.

Signed-off-by: Florian Eckert <>
Signed-off-by: Daniel Golle <>
12 days agomediatek: add EEPROM data for BPi-R64 2.4GHz wmac
Daniel Golle [Fri, 20 Aug 2021 17:31:48 +0000 (18:31 +0100)]
mediatek: add EEPROM data for BPi-R64 2.4GHz wmac

EEPROM data extracted from vendor image found at

MAC address in the EEPROM has been zero'd which results in random
address on boot.

Signed-off-by: Daniel Golle <>
12 days agokernel: backport a rewrite of the mips eBPF JIT implementation
Felix Fietkau [Wed, 13 Oct 2021 15:49:31 +0000 (17:49 +0200)]
kernel: backport a rewrite of the mips eBPF JIT implementation

This adds support for eBPF JIT for 32 bit targets and significantly improves

Signed-off-by: Felix Fietkau <>
13 days agohostapd: ubus: add BSS transtiton request method
David Bauer [Sat, 5 Dec 2020 19:17:35 +0000 (20:17 +0100)]
hostapd: ubus: add BSS transtiton request method

The existing wnm_disassoc_imminent ubus method only supports issuing a
bss transition request with the disassoc imminent flag set.
For use-cases, where the client is requested to roam to another BSS
without a pending disassoc, this existing method is not suitable.

Add a new bss_transition_request ubus method, which provides a more
universal way to dispatch a transition request. It takes the following

addr: String - MAC-address of the STA to send the request to (colon-seperated)

abridged - Bool - Indicates if the abridged flag is set
disassociation_imminent: Bool - Whether or not the disassoc_imminent
                         flag is set
disassociation_timer: I32 - number of TBTTs after which the client will
                      be disassociated
validity_period: I32 - number of TBTTs after which the beacon
                 candidate list (if included) will be invalid
neighbors: blob-array - Array of strings containing neighbor reports as

Signed-off-by: David Bauer <>
13 days agohostapd: ubus: add notification for BSS transition response
David Bauer [Wed, 21 Oct 2020 18:50:01 +0000 (20:50 +0200)]
hostapd: ubus: add notification for BSS transition response

To allow steering daemons to be aware of the STA-decided transition
target, publish WNM transition responses to ubus. This way, steerings
daemons can learn about STA-chosen targets and send a better selection
of transition candidates.

Signed-off-by: David Bauer <>
13 days agotools/fakeroot: explicitly pass CPP variable
Felix Fietkau [Wed, 13 Oct 2021 14:36:16 +0000 (16:36 +0200)]
tools/fakeroot: explicitly pass CPP variable

For some reason, the generated configure script fails to properly set up
the internal preprocessor command variable, causing the host OS check for
Darwin to fail after the last update.
Explicitly setting CPP fixes this issue

Signed-off-by: Felix Fietkau <>
2 weeks agox86/64: enable MMIO_CMDLINE_DEVICES for firecracker support
Paul Spooren [Mon, 11 Oct 2021 20:33:26 +0000 (10:33 -1000)]
x86/64: enable MMIO_CMDLINE_DEVICES for firecracker support

This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <>
Signed-off-by: Paul Spooren <>
2 weeks agoarmvirt: enable MMIO_CMDLINE_DEVICES for firecracker support
Paul Spooren [Mon, 11 Oct 2021 20:29:40 +0000 (10:29 -1000)]
armvirt: enable MMIO_CMDLINE_DEVICES for firecracker support

This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <>
Signed-off-by: Paul Spooren <>
2 weeks agoprocd: update to git HEAD
Daniel Golle [Tue, 12 Oct 2021 23:38:12 +0000 (00:38 +0100)]
procd: update to git HEAD

 97bcdcf uxc: fix segfault caused by use-after-free
 6398e05 uxc: don't free the stack
 324ebd0 jail: fs: add support for asymmetric mount bind
 c44ab7f jail: netifd: generate netifd uci config and mount it
 82dd390 jail: make use of per-container netifd via ubus

The new per-jail netifd is now configured by filtering the host
network configuration. As libuci is used for that, procd-ujail now
depends on libuci.

Signed-off-by: Daniel Golle <>
2 weeks agonetifd: update to git HEAD
Daniel Golle [Tue, 12 Oct 2021 23:33:44 +0000 (00:33 +0100)]
netifd: update to git HEAD

 be8cd8f interface: don't fork() to start jail interface
 7a048bd interface, ubus: rework netns up/down

Signed-off-by: Daniel Golle <>
2 weeks agomt76: update to the latest version
Felix Fietkau [Tue, 12 Oct 2021 12:44:50 +0000 (14:44 +0200)]
mt76: update to the latest version

83598c2e872f mt76: avoid possible infinite loop in mt76_tx_status_check

Signed-off-by: Felix Fietkau <>
2 weeks agomt76: update to the latest version
Felix Fietkau [Mon, 11 Oct 2021 19:54:13 +0000 (21:54 +0200)]
mt76: update to the latest version

1af0242d1241 mt76: mt7915: replace a 64 bit divsion with a call to div_u64_rem

Signed-off-by: Felix Fietkau <>