Some targets select HZ=100, others HZ=250. There's no reason to select a higher
timer frequency (and 100 Hz are available in every architecture), so change all
targets to 100 Hz.
Make sure all compression algorithms are enabled, for the time being, in order
not to break sysupgrade. In the future, we'd like to disable all except zstd, as
it's the best all-around performer.
Compared to both lzo and zlib, zstd is the best all-around performer. Backport
a kernel patch [1] (to both 5.4 and 5.10), in order to set it as default for
ubifs, if available.
David Bauer [Sat, 17 Apr 2021 18:32:57 +0000 (20:32 +0200)]
rockchip: use alternative CID path
Use an alternative path to access the CID of the SD card in MMC0, used
for the generation of MAC addresses. With Kernel 5.10, the device name
of the MMC controller changed, breaking MAC address generation.
The new path is compatible with Kernel 5.4 as well as Kernel 5.10.
Zheng Bao [Tue, 13 Apr 2021 04:46:17 +0000 (12:46 +0800)]
x86/64: Add support for AMD SOC Ethernet controller
This feature is already supported in kernel. Add definition
and configuration in Makefile of OpenWRT.
It is tested on board Dibbler with processor V1605B.
Dmesg is as below.
--------------------------------------------
[ 0.317122] smpboot: CPU0: AMD Ryzen Embedded V1605B with Radeon
Vega Gfx (family: 0x17, model: 0x11, stepping: 0x0)
[ 8.227270] libphy: amd-xgbe-mii: probed
[ 8.228189] amd-xgbe 0000:02:00.1 eth0: net device enabled
[ 8.228999] libphy: amd-xgbe-mii: probed
[ 8.229921] amd-xgbe 0000:02:00.2 eth1: net device enabled
.....
[ 11.760869] br-lan: port 1(eth0) entered blocking state
[ 11.761365] br-lan: port 1(eth0) entered disabled state
[ 11.762019] device eth0 entered promiscuous mode
[ 11.785285] 8021q: adding VLAN 0 to HW filter on device eth1
[ 16.881431] amd-xgbe 0000:02:00.1 eth0: Link is Up - 1Gbps/Full -
flow control off
[ 16.882108] br-lan: port 1(eth0) entered blocking state
[ 16.882583] br-lan: port 1(eth0) entered forwarding state
[ 16.883249] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
-----------------------------------------------
This updates the NAND driver for MikroTik RB4XX series to work with
kernel 5.10, similarly to the ar934x-nand driver (fb64e2c3).
Support for kernel 5.10 was added to all ath79 subtargets except for the
mikrotik one by commit d6b785d, since patch 920-mikrotik-rb4xx.patch
needed to be reworked. Later, commit f8512661 enabled kernel 5.10 for
the mikrotik subtarget with the nand-rb4xx driver still pending, which
is updated and added back by this patch.
Compile-tested only.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Sven Eckelmann [Thu, 25 Mar 2021 12:26:15 +0000 (13:26 +0100)]
mvebu: Fix sysupgrade for GL.iNet GL-MV1000
The GL.iNet GL-MV1000 is booting from eMMC and the images for it are in
theory sysupgrade compatible. But the platform upgrade scripts were not
adjusted to select the mmcblock device as upgrade target. This resulted in
a failed sysupgrade because the mtd device (NOR flash) was instead tried to
be modified by the sysupgrade script.
Fixes: 050c24f05c85 ("mvebu: add support for GL.iNet GL-MV1000") Signed-off-by: Sven Eckelmann <sven@narfation.org>
After configuring /etc/ssl/openssl.cnf to let openssl use the crypto
engine for digest operations, and performing some checksums..
md5sum 10M-file.bin
openssl md5 10M-file.bin
...we can see they don't match.
There might be an alignment or size constraint issue caused by the
idle-sram area.
Use the whole crypto sram and disable the idle-sram area to fix it. Also
disable the idle support by adding the broken-idle property to prevent
accessing the disabled idle-sram.
We don't care about disabling the idle support since it is already broken
in Armada 370 causing a huge performance loss because it disables
permanently the L2 cache. This was reported in the Openwrt forum and
elsewhere by Debian users with different board models.
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
For some reason, one of the configure checks results in some infinite
loop and ends up spawning endless gcc processes, causing OOM. Just pass
a configure var to avoid it.
ltq-vdsl-app: extent dsl metrics with state_num and power_state_num
With the old ubus dsl API, the numbers for the individual line_states and
power_states were also returned. These were not ported to the new DSL
C-API. This commit adds the missing information.
For this the internal values are mapped to numbers.
* additional JSON output for state_num:
"state_num": <map_state_number>
Since not all values are meaningful only the following values are
implemented, this can be extended if the future.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
v6:
Add state LSTATE_MAP_NOT_INITILIZED at the beginning of the list
Start the list LSTATE_MAP with -1 Reviewed-by: Andre Heider <a.heider@gmail.com>
This makes no sense on anything but the IXP4xx platform
that we do not even support anymore. If we bring it back,
it can be selectively enabled for that platform only.
We do not enable GPIO_CDEV so do not enable CDEV_V1
either. As we rebuild the whole userspace and kernel
in OpenWRT it doesn't make any sense to support the
old ABI anyway: the new one should be used by default.
The non-MQ CFQ, deadline and noop IO schedulers are
deleted from the Linux kernel
since commit f382fb0bcef4c37dc049e9f6963e3baf204d815c
"block: remove legacy IO schedulers".
Leon M. George [Tue, 23 Mar 2021 10:02:36 +0000 (11:02 +0100)]
odhcp6c: read user scripts from directory
Placeholder DHCP user scripts were added recently.
These files make package-based installations of such scripts more difficult.
Pull user callbacks from directories instead to allow packages and users to
install co-existing scripts more easily.
References: b4f3d93b5 odhcp6c: add a odhcp6c.user placeholder script
Signed-off-by: Leon M. George <leon@georgemail.eu> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
Leon M. George [Tue, 23 Mar 2021 10:02:36 +0000 (11:02 +0100)]
netifd: read udhcpc user scripts from directory
Placeholder DHCP user scripts were added recently.
These files make package-based installations of such scripts more difficult.
Pull user callbacks from directories instead to allow packages and users to
install co-existing scripts more easily.
References: 130118f7a netifd: add a udhcpc.user placeholder script
Signed-off-by: Leon M. George <leon@georgemail.eu> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
David Bauer [Fri, 16 Apr 2021 16:29:58 +0000 (18:29 +0200)]
ath79: remove unused patch
This patch ist not required, as it only has an effect in case the GPIO
descriptors supplied to num-cs are valid.
As this is not the case for ath79, this patch can safely be omitted. The
issue it tried to fix is actually fixed with
0054-spi-sync-up-initial-chipselect-state.
David Bauer [Fri, 16 Apr 2021 10:30:43 +0000 (12:30 +0200)]
mediatek: fix Ubiquiti UniFi 6 LR LED
When adding Kernel 5.10 support, the kernel configuration did not
include the LED driver required for the UniFi 6 LR. Also the actual
driver source went missing.
Fixes commit c46ccb69d17e ("mediatek: mt7622: add Linux 5.10 support")
This patch enables the SFP cage on the MikroTik RouterBOARD 922UAGS-5HPacD.
GPIO16 (tx-disable-gpios) should be governed by the SFP driver to enable
or disable transmission, but no change is observed. Therefore, it is
left as output high to ensure the SFP module is forced to transmit.
Tested on a RouterBOARD 922UAGS-5HPacD board, with a CISCO GLC-LH-SMD
1310nm module and an unbranded GLC-T RJ45 Gigabit module. PC=>router
iperf3 tests deliver 440/300 Mbps up/down, both via regular eth0 port
or SFP port with RJ45 module. Bridge between eth0 and eth1 delivers
950 Mbps symmetric.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
David Bauer [Wed, 14 Apr 2021 22:54:49 +0000 (00:54 +0200)]
ath79: fix link mode support list on UniFi AC
This fixes incorrect supported link modes indicated when using ethtool
on the Ubiquiti UniFi AC lite / LR / Mesh.
eroot@OpenWrt:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 100baseT/Half 100baseT/Full
1000baseT/Full
1000baseX/Full
The reason for this is, that since kernel 5.4 the PHY capabilities are
read dynamically from the PHY. As Ubiquiti leaves the PHY in a wrong
state, the capabilities of the SGMII side of the PHY are read.
As a side effect, 10 Mbit/s link modes did not work on these boards.
DENG Qingfang [Sat, 3 Apr 2021 14:59:15 +0000 (22:59 +0800)]
ramips: mt7530 swconfig: fix race condition in register access
The mt7530_{r,w}32 operation over MDIO uses 3 mdiobus operations and
does not hold a lock, which causes a race condition when multiple
threads try to access a register, they may get unexpected results.
To avoid this, handle the MDIO lock manually, and use the unlocked
__mdiobus_{read,write} in the critical section.
This fixes the "Ghost VLAN" artifact[1] in MT7530/7621 when the VLAN
operation and the swconfig LED link status poll race between each other.
Ilya Lipnitskiy [Fri, 19 Mar 2021 05:22:52 +0000 (22:22 -0700)]
ramips: drop obsolete arcs_cmdline override patch
CONFIG_MIPS_CMDLINE_FROM_DTB is set to 'y' for all ramips targets
already, which will ensure that the value of 'bootargs' will take
precedence over whatever is in arcs_cmdline.
firmware-utils: tplink-safeloader: support displaying fw info
Add "-i" option for reading & displaying firmware info. First it lists
in-firmware partitions ("fwup-ptn"). Then it checks for human
understandable partitions and prints data found in each of them.
This new feature is meant for development & debug purposes.
CRYPTO_DEV_CCP depends on X86 or ARM64
CRYPTO_DEV_CCP_DD depends on CPU_SUP_AMD or ARM64
Compiling this driver makes sense for x86 mainly. If one day support for
ARM64 board with AMD Secure Processor gets added this package may be
updated.
Trying to build this package on bcm4908 was causing:
ERROR: module 'build_dir/target-aarch64_cortex-a53_musl/linux-bcm4908_generic/linux-5.4.110/drivers/crypto/ccp/ccp-crypto.ko' is missing.
The old code didn't make sense as it was using "len" variable which was
guaranteed to be always 0. Loop right above broken code is:
while (len > 0) { }
With this recent ALIGN macro fix this resulted in subtracting block size
from 0 and calling write_out_padding() with a negative length.
To calculate amount of bytes needed for padding & alignment it should be
enough to use % 4.
Fixes: a2f66229450d ("firmware-utils: fix few random warnings") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Petr Štetiar [Fri, 9 Apr 2021 12:52:05 +0000 (14:52 +0200)]
tplink-safeloader: fix C7v5 factory flashing from vendor fw > v1.1.x
Currently it's not possible to flash factory images on devices shipped
with vendor firmware versions 1.1.0 Build 20201120 rel. 50406 (published
2020-12-22):
David Bauer [Wed, 31 Mar 2021 23:20:45 +0000 (01:20 +0200)]
ath79: force SGMII SerDes mode to MAC operation
The mode on the SGMII SerDes on the QCA9563 is 1000 Base-X by default.
This only allows for 1000 Mbit/s links, however when used with an SGMII
PHY in 100 Mbit/s link mode, the link remains dead.
This strictly has nothing to do with the SerDes calibration, however it
is done at the same point in the QCA reference U-Boot which is the
blueprint for everything happening here. As the current state is more or
less a hack, this should be fine.
This fixes the issues outlined above on a TP-Link EAP-225 Outdoor.
Reported-by: Tom Herbers <freifunk@tomherbers.de> Tested-by: Tom Herbers <freifunk@tomherbers.de> Signed-off-by: David Bauer <mail@david-bauer.net>
Mathias Kresin [Sun, 27 Dec 2020 09:28:08 +0000 (10:28 +0100)]
lantiq: add Linux 5.10 support as testing kernel
Following changes are made to the Lantiq kernel patches:
0001-MIPS-lantiq-add-pcie-driver.patch
The pci header isn't included by the of_pci header any longer
0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch
Due to the merge of grx390 and ar10 clocks, extend support to grx390
0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch
The do_carrier arguments was dropped from phy_link_change. The
phylib has always sets the third parameter to true so the flag is
always changed anyway.
of_get_phy_mode() returns an error, or 0 on success, and pass a
pointer, of type phy_interface_t, where the phy mode should be
stored now. So far an error wasn't considered. Print at least an
error message if something unexpected happens.
The stuck queue is now passed to xrx200_tx_timeout (the timeout
handler) but not used so far.
0028-NET-lantiq-various-etop-fixes.patch
ioremap has provided non-cached semantics by default since the Linux
2.6 days and was removed with kernel version 5.6.
of_get_phy_mode() returns an error, or 0 on success, and pass a
pointer, of type phy_interface_t, where the phy mode should be
stored now. So far an error wasn't considered. Print at least an
error message if something unexpected happens.
0042-arch-mips-increase-io_space_limit.patch
Move IO space extension to laniq specific file
Mathias Kresin [Mon, 28 Dec 2020 13:03:54 +0000 (14:03 +0100)]
lantiq: dts: mark PCI bridges as such
Use the device_type property to mark PCI host bridges as such. With
linux 5.10 it is mandatory, otherwise the PCI IO space is flages as PCI
memory and the PCI init fails.
Mathias Kresin [Sun, 27 Dec 2020 16:25:25 +0000 (17:25 +0100)]
lantiq: ltq-tapi: add kernel 5.10 compatiblity
Due to SCHED_FIFO being a broken scheduler model, all users of
sched_setscheduler() are converted to sched_set_fifo_low() upstream and
sched_setscheduler() is no longer exported.
The callback handling of the tasklet API was redesigned and the macros
using the old syntax renamed to _OLD.
Signed-off-by: Mathias Kresin <dev@kresin.me>
ltq tapi
Daniel Golle [Mon, 12 Apr 2021 20:40:35 +0000 (21:40 +0100)]
kernel: fix deferred mtdblock registration
Check if gendisk is already up instead of trying to figure out parent
mtd device (which didn't work well).
Reported-by: DENG Qingfang <dqfext@gmail.com> Reported-by: Koen Vandeputte <koen.vandeputte@citymesh.com> Fixes: 2809d0000744 ("kernel: support FIT partition parser on mtdblock devices") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Zoltan HERPAI [Mon, 18 Jan 2021 08:00:42 +0000 (09:00 +0100)]
sunxi: add support for Banana Pi M2 Berry
CPU: Allwinner V40 quad-core Cortex A7 @ 1.2GHz
Memory: 1GB DDR3
Storage: SDcard, native SATA
Network: 10/100/1000M ethernet, Ampak AP6212 wifi + BT
USB: 4x USB 2.0
Installation:
Use the standard sunxi installation to an SD-card.
While the board is very similar to the M2 Ultra board
(the V40 is the automotive version of the R40), as both
the u-boot and kernel supports them separately, and some
pins are different, let's add a separate device spec.
valgrind: Fix compile problem with MIPS soft float
valgrind does not compile any more when using a GCC 10 for MIPS with
soft float. Just remove the parts which are generating assembler which
would not work.
mediatek: mt7622: add spi-nand support for bananapi bpi-r64
Some of bpi-r64 boards have serial NAND attached to SPI bus.
Add SD card image support for installing openwrt to it.
Default to nand upgrade if root device is not mmc block device.
Separate preloader and uboot images for snand are generated.