David Bauer [Wed, 14 Apr 2021 22:30:24 +0000 (00:30 +0200)]
ath79: fix 10 Mbit PLL data for TP-Link EAP2xx
Fix the PLL register value for 10 Mbit/s link modes on TP-Link EAP
boards using a AR8033 SGMII PHY.
Otherwise, 10 Mbit/s links do not transfer data.
Reported-by: Tom Herbers <freifunk@tomherbers.de>
Tested-by: Tom Herbers <freifunk@tomherbers.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Wed, 14 Apr 2021 21:58:25 +0000 (23:58 +0200)]
ath79: fix 10 Mbit PLL data for UniFi AC
Fix the PLL register value for 10 Mbit/s link modes on the UniFi AC Lite
/ Mesh / LR. Otherwise, 10 Mbit/s links do not transfer data.
Signed-off-by: David Bauer <mail@david-bauer.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.
Signed-off-by: David Bauer <mail@david-bauer.net>
Daniel Golle [Thu, 15 Apr 2021 19:24:23 +0000 (20:24 +0100)]
ramips/mediatek: import a patch fixing bug in flow-offloading
From Frank Wunderlich <frank-w@public-files.de>:
Issue were traffic problems after a while with increased ping times if
flow offload is active.
It turns out that key_offset with cookie is needed in rhashtable_params
and head_offset was defined twice.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Rosen Penev [Wed, 14 Apr 2021 03:18:26 +0000 (20:18 -0700)]
libsemanage: fix pkgconfig paths
The pkgconfig file currently points to host paths.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Zoltan HERPAI [Wed, 14 Apr 2021 08:18:25 +0000 (10:18 +0200)]
uboot-sunxi: update ATF dependencies for 3 boards
Fix 3 board definitions that were missed in the process of moving
to the a64/h6 ATF blobs.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Ilya Lipnitskiy [Tue, 6 Apr 2021 05:53:46 +0000 (22:53 -0700)]
ramips: gpio-ralink: use ngpios, not ralink,num-gpios
DTS properties that match *-gpios are treated specially.
Use ngpios instead, as most GPIO drivers upstream do.
Fixes 5.10 DTS errors such as:
OF: /palmbus@300000/gpio@600: could not find phandle
Fixes DTC warnings such as:
Warning (gpios_property): /palmbus@300000/gpio@600:ralink,num-gpios:
Could not get phandle node for (cell 0)
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: Daniel Golle <daniel@makrotopia.org>
Ilya Lipnitskiy [Sun, 4 Apr 2021 02:26:11 +0000 (19:26 -0700)]
ramips: rt288x: replace hack with a kconfig change
Use an existing kernel config symbol to fix devices whose ramstart is
not zero. See upstream patch message for more details.
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: Tobias Wolf <dev-NTEO@vplace.de>
Cc: Daniel Golle <daniel@makrotopia.org>
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.
[1] https://forum.openwrt.org/t/mysterious-vlan-ids-on-mt7621-device/64495
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
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.
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Rafał Miłecki [Thu, 8 Apr 2021 21:49:43 +0000 (23:49 +0200)]
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.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Wed, 14 Apr 2021 06:32:26 +0000 (08:32 +0200)]
uci: update to the latest master
4b3db11 cli: add option for changing save path
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Wed, 14 Apr 2021 06:26:25 +0000 (08:26 +0200)]
bcm53xx: add pending TRX patch for "firmware" partition
This fixes partitioning on Linksys EA9500. With this change only the
currently used firmware MTD partition gets parsed.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Tue, 13 Apr 2021 08:15:39 +0000 (10:15 +0200)]
kernel: limit crypto-hw-ccp to the x86
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.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Tue, 13 Apr 2021 15:18:27 +0000 (17:18 +0200)]
kernel: crypto: format "crypto-hw-ccp" dependencies
Use multiples lines for better readability and sort lines.
Suggested-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Tue, 13 Apr 2021 11:53:57 +0000 (13:53 +0200)]
firmware-utils: mkmylofw: fix blocks padding
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>
Rafał Miłecki [Fri, 9 Apr 2021 09:36:57 +0000 (11:36 +0200)]
firmware-utils: zyimage: drop POSIX SOURCE defines
This fixes:
src/zyimage.c:10:0: warning: "_POSIX_SOURCE" redefined
src/zyimage.c:11:0: warning: "_POSIX_C_SOURCE" redefined
This change has been tested on Linux with -Wextra and on Mac OS.
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):
(curFw_ver, newFw_ver) == (1.1, 1.0) [NM_Error](nm_checkSoftVer) 00848: Firmwave not supports, check failed.
[NM_Error](nm_checkUpdateContent) 01084: software version dismatched
[NM_Error](nm_buildUpgradeStruct) 01188: checkUpdateContent failed.
They've even following note in release notes:
Note: You will be unable to downgrade to the previous firmware version
after updating this firmware.
This version check in vendor firmware is implemented in
/usr/bin/nvrammanager binary likely as following C code[1]:
sscanf(buf, "%d.%d.%*s",&upd_fw_major, &upd_fw_minor);
...
if (((int)upd_fw_major < (int)cur_fw_major) ||
((ret = 1, cur_fw_major == upd_fw_major && (upd_fw_minor < (int)cur_fw_minor)))) {
ret = 0;
printf("[NM_Error](%s) %05d: Firmwave not supports, check failed.\r\n\r\n","nm_checkSoftVer" ,0x350);
}
...
return ret;
So in order to fix this and make it future proof it should be enough to
ship our factory firmware images with major version 7 (lucky number).
Tested on latest firmware version 1.1.2 Build
20210125 rel.37999:
Firmwave supports, check OK.
(curFw_ver, newFw_ver) == (1.1, 7.0) check firmware ok!
Flashing back to vendor firmware
c7v5_us-up-ver1-1-2-P1[
20210125-rel37999]_2021-01-25_10.33.55.bin works
as well:
U-Boot
1.1.4-gbec22107-dirty (Nov 18 2020 - 18:19:12)
...
Firmware downloaded... filesize = 0xeeae77 fileaddr = 0x80060000.
Firmware Recovery file length :
15642231
Firmware process id 2.
handle_fw_cloud 146
Image verify OK!
Firmware file Verify ok!
product-info:product_name:Archer C7
product_ver:5.0.0
special_id:
55530000
[Error]sysmgr_cfg_checkSupportList(): 1023 @ specialId
45550000 NOT Match.
Firmware supports, check OK.
Firmware Recovery check ok!
1. https://gist.github.com/ynezz/
2e0583647d863386a66c3d231541b6d1
Signed-off-by: Petr Štetiar <ynezz@true.cz>
David Bauer [Mon, 12 Apr 2021 22:37:29 +0000 (00:37 +0200)]
ath79: add missing patch for kernel 5.10
When adding the patch for the missing register, the patch file for the
testing kernel 5.10 was not included.
Fixes commit
fbbad9a9a629 ("ath79: force SGMII SerDes
mode to MAC operation")
Signed-off-by: David Bauer <mail@david-bauer.net>
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 21:58:45 +0000 (22:58 +0100)]
lantiq: kernel 5.10: disable ltq-deu
For linux 5.10, kmod-ltq-deu need to be migrated to the new crypto
API/framework.
Leave it in tree for now and enable it only for Kernel 5.4. Maybe
someone picks up the work to migrate the package.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Sun, 27 Dec 2020 09:26:37 +0000 (10:26 +0100)]
lantiq: copy target to kernel 5.10
Duplicate kernel 5.4 config and patches for kernel 5.10.
Duplicate the devicetree source files as well, they need kernel 5.10
specific adjustments.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Sun, 3 Jan 2021 18:48:56 +0000 (19:48 +0100)]
lantiq: ltq-adsl: add kernel 5.10 compatiblity
The pgprot argument to __vmalloc is always PAGE_KERNEL now and was
removed.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Sun, 27 Dec 2020 20:03:14 +0000 (21:03 +0100)]
lantiq: ltq-vdsl: add kernel 5.10 compatiblity
The pgprot argument to __vmalloc is always PAGE_KERNEL now and was
removed.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Sun, 27 Dec 2020 18:42:24 +0000 (19:42 +0100)]
ltq-atm/ltq-ptm: add kernel 5.10 compatiblity
The callback handling of the tasklet API was redesigned and the macros
using the old syntax renamed to _OLD.
The stuck queue is now passed to ndo_tx_timeout callback but not used so
far.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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
Mathias Kresin [Sun, 27 Dec 2020 13:55:43 +0000 (14:55 +0100)]
lantiq: ltq-vdsl-mei: add kernel 5.10 compatiblity
proc_create_data() expects a struct of type proc_ops.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Sun, 27 Dec 2020 11:26:28 +0000 (12:26 +0100)]
lantiq: ltq-ifxos: add kernel 5.10 compatiblity
ioremap has provided non-cached semantics by default since the Linux 2.6
days and was removed with kernel version 5.6.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Koen Vandeputte [Mon, 12 Apr 2021 11:15:18 +0000 (13:15 +0200)]
ath79: mikrotik: enable 2nd USB on RouterBOARD 922UAGS-5HPacD
RB922 boards have 2 separate USB controllers:
- 1 is connected to Slot Type A
- 1 is connected to the mini PCIe port
Enable the 2nd one too.
Before:
[ 5.339304] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI)
Driver
[ 5.355053] SCSI subsystem initialized
[ 5.364184] ehci-fsl: Freescale EHCI Host controller driver
[ 5.372377] ehci-platform: EHCI generic platform driver
[ 5.378053] ehci-platform
1b000000.usb: EHCI Host Controller
[ 5.383861] ehci-platform
1b000000.usb: new USB bus registered,
assigned bus number 1
[ 5.391932] ehci-platform
1b000000.usb: irq 14, io mem 0x1b000000
[ 5.410730] ehci-platform
1b000000.usb: USB 2.0 started, EHCI 1.00
[ 5.417739] hub 1-0:1.0: USB hub found
[ 5.422280] hub 1-0:1.0: 1 port detected
[ 5.434007] usbcore: registered new interface driver usb-storage
After:
[ 5.342988] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI)
Driver
[ 5.358687] SCSI subsystem initialized
[ 5.367813] ehci-fsl: Freescale EHCI Host controller driver
[ 5.375998] ehci-platform: EHCI generic platform driver
[ 5.381695] ehci-platform
1b000000.usb: EHCI Host Controller
[ 5.387507] ehci-platform
1b000000.usb: new USB bus registered,
assigned bus number 1
[ 5.395571] ehci-platform
1b000000.usb: irq 14, io mem 0x1b000000
[ 5.416050] ehci-platform
1b000000.usb: USB 2.0 started, EHCI 1.00
[ 5.423089] hub 1-0:1.0: USB hub found
[ 5.427578] hub 1-0:1.0: 1 port detected
[ 5.432432] ehci-platform
1b400000.usb: EHCI Host Controller
[ 5.438254] ehci-platform
1b400000.usb: new USB bus registered,
assigned bus number 2
[ 5.446325] ehci-platform
1b400000.usb: irq 15, io mem 0x1b400000
[ 5.468049] ehci-platform
1b400000.usb: USB 2.0 started, EHCI 1.00
[ 5.475082] hub 2-0:1.0: USB hub found
[ 5.479574] hub 2-0:1.0: 1 port detected
[ 5.491305] usbcore: registered new interface driver usb-storage
Fixes: 8f93c05a59 ("ath79: add support for MikroTik RouterBOARD
922UAGS-5HPacD")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
Daniel Golle [Sun, 11 Apr 2021 21:42:46 +0000 (22:42 +0100)]
uboot-mediatek: minor fixes for bpi-r64 spi-nand default env
* check image checksums before writing to flash
* only bootmenu_0...9 are working, remove bootmenu_a entry
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Zoltan HERPAI [Fri, 24 Apr 2020 07:58:53 +0000 (09:58 +0200)]
sunxi: add support for H6 boards and OrangePiOnePlus
Specifications:
SoC Allwinner H6 @ 1.8 Ghz
DRAM 1Gb LPDDR3
Power DC 5V @ 3A
Video HDMI (Type 2.0A - full)
Audio HDMI, on-board microphone
Network 10/100/1000Mbps Ethernet (Realtek RTL8211)
Storage microSD
USB 1 USB2.0 Host, 1 USB2.0 OTG
Debug Serial UART
Flashing instructions:
Standard sunxi SD card installation procedure - copy image to SD card,
insert into SD card slot on the device and boot.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Zoltan HERPAI [Mon, 22 Feb 2021 21:32:04 +0000 (22:32 +0100)]
arm-trusted-firmware-sunxi: move to use the common tf-a build code and bump to latest version
Create a -a64 package for now. Moving to the latest ATF was tested on a
SoPine A64 board.
U-Boot SPL 2020.04 (Feb 19 2021 - 11:28:19 +0000)
DRAM: 2048 MiB
Trying to boot from MMC1
NOTICE: BL31: v2.4(release):
reboot-15854-g42b39a13d2
NOTICE: BL31: Built : 22:45:53, Feb 22 2021
NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE: BL31: Found U-Boot DTB at 0x4090a28, model: SoPine with baseboard
NOTICE: PSCI: System suspend is unavailable
U-Boot 2020.04 (Feb 19 2021 - 11:28:19 +0000) Allwinner Technology
CPU: Allwinner A64 (SUN50I)
Model: SoPine with baseboard
DRAM: 2 GiB
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Zoltan HERPAI [Wed, 29 Apr 2020 09:02:27 +0000 (11:02 +0200)]
uboot-sunxi: add ATF variable for specifying which flavour to use
In preparation for H6 support (which requires a separate ATF blob), add
an envvar to the A64 boards specifying which ATF blob to use.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Hauke Mehrtens [Sat, 10 Apr 2021 18:37:55 +0000 (20:37 +0200)]
toolchain: gcc: Update to version 10.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 4 Apr 2021 20:37:09 +0000 (22:37 +0200)]
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.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Daniel Golle [Sun, 11 Apr 2021 15:55:05 +0000 (16:55 +0100)]
uboot-envtools: support environment in spi-nand on bpi-r64
Default to U-Boot env in UBI if root device is not mmc block device.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Sat, 10 Apr 2021 17:16:08 +0000 (20:16 +0300)]
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.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Daniel Golle [Sun, 11 Apr 2021 15:59:09 +0000 (16:59 +0100)]
uboot-mediatek: add spi-nand build for bananapi bpi-r64
Some of bpi-r64 boards have serial NAND attached to SPI bus.
Build U-Boot for booting from SPI-NAND.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Felix Fietkau [Sun, 11 Apr 2021 17:56:32 +0000 (19:56 +0200)]
mt76: add missing file
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Sun, 11 Apr 2021 17:37:10 +0000 (19:37 +0200)]
mt76: update to the latest version
028b7152b1a9 mt76: mt7921: remove 80+80 MHz support capabilities
7714dc914df6 mt76: report Rx timestamp
ffd4cf15fa0e mt76: mt7915: add mmio.c
fe8717dd573a mt76: mt7615: add missing SPDX tag in mmio.c
6b293c411d22 mt76: mt7615: always add rx header translation tlv when adding stations
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Sun, 11 Apr 2021 17:42:14 +0000 (19:42 +0200)]
mac80211: add client mode connection monitor fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Sun, 11 Apr 2021 17:41:56 +0000 (19:41 +0200)]
mac80211: support rx timestamps for HE rates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Zoltan HERPAI [Thu, 18 Feb 2021 22:27:01 +0000 (23:27 +0100)]
mxs: add support for 5.10 as testing kernel
The 100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch does
not need to be copied over as it's already merged upstream.
Other notable change is the USB_CHIPIDEA_OF change to
USB_CHIPIDEA_IMX [1].
[1] https://www.spinics.net/lists/linux-usb/msg193347.html
Compile/runtime-tested on Olinuxino Micro (imx23).
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Oskari Lemmela [Sat, 10 Apr 2021 17:16:06 +0000 (20:16 +0300)]
mediatek: fix writing bananapi bpi-r64 env
Use generic functions to get env partition.
Fixes: 7043e4334f0 ("mediatek: mt7622: improve sysupgrade on MMC")
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Sat, 10 Apr 2021 17:16:05 +0000 (20:16 +0300)]
mediatek: bpi-r64: use separate partition for emmc bootloader
eMMC booloader is stored to separate partition.
FIP size is increased to 2MB.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Hauke Mehrtens [Sat, 10 Apr 2021 21:06:11 +0000 (23:06 +0200)]
kernel: Adapt renamed can-dev.ko
The can-dev.ko kernel module was moved in kernel 5.4.110 and 5.10.28.
Fixes: a1311df95587 ("kernel: bump 5.10 to 5.10.28")
Fixes: b0a34e886da1 ("kernel: bump 5.4 to 5.4.110")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rui Salvaterra [Thu, 8 Apr 2021 20:27:12 +0000 (21:27 +0100)]
kernel: bump 5.10 to 5.10.28
Automatically refreshed:
601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch
640-02-net-resolve-forwarding-path-from-virtual-netdevice-a.patch
680-NET-skip-GRO-for-foreign-MAC-addresses.patch
Run tested:
ramips/mt7621 (Redmi AC2100)
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Zoltan HERPAI [Sat, 10 Apr 2021 20:01:24 +0000 (22:01 +0200)]
sunxi: disable LPAE on cortexa8
LPAE should be disabled as the Cortex-A8 cores don't support it,
and the kernel will crash on boot if it's enabled.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Jan Forman [Sun, 21 Mar 2021 14:29:43 +0000 (15:29 +0100)]
ath79: increase max SPI clock for DIR-859 A1
Increase the spi-max frequency to 50 MHz, similar to the DIR-842.
Signed-off-by: Jan Forman <forman.jan96@gmail.com>
[improve commit title, fix commit message alignment]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Shiji Yang [Sun, 4 Apr 2021 03:55:41 +0000 (11:55 +0800)]
ramips: improve pinctrl for Youku YK-L1
1. rename led pin "air" to a more common name "wlan" and use "phy0tpt" to trigger it.
2. led "wan" can be triggered by ethernet pinctrl by default so just drop it.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
John Audia [Wed, 7 Apr 2021 14:13:50 +0000 (10:13 -0400)]
kernel: bump 5.4 to 5.4.110
Ran update_kernel.sh in a fresh clone without any existing toolchains.
Manually rebased due to movement of rx-offload.c in 5.4.110:
layerscape/patches-5.4/802-can-0002-can-rx-offload-fix-long-lines.patch
layerscape/patches-5.4/802-can-0003-can-rx-offload-can_rx_offload_compare-fix-typo.patch
layerscape/patches-5.4/802-can-0004-can-rx-offload-can_rx_offload_irq_offload_timestamp-.patch
layerscape/patches-5.4/802-can-0005-can-rx-offload-can_rx_offload_reset-remove-no-op-fun.patch
layerscape/patches-5.4/802-can-0006-can-rx-offload-Prepare-for-CAN-FD-support.patch
layerscape/patches-5.4/802-can-0018-can-flexcan-use-struct-canfd_frame-for-CAN-classic-f.patch
Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800
No dmesg regressions, everything functional
Signed-off-by: John Audia <graysky@archlinux.us>
Adrian Schmutzler [Sat, 10 Apr 2021 16:38:33 +0000 (18:38 +0200)]
mediatek: remove duplicate dts-v1 statement for UniFi 6 LR
/dts-v1/; must only be specified once.
Fixes: e887049fbb74 ("mediatek: add alternative bootchain variant
for UniFi 6 LR")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Adrian Schmutzler [Sat, 10 Apr 2021 16:23:46 +0000 (18:23 +0200)]
ath79: consolidate testing kernel
All subtargets have the same testing kernel set, so move it to the
target definition.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Daniel Golle [Sat, 10 Apr 2021 16:30:49 +0000 (17:30 +0100)]
umdns: add missing syscalls to seccomp filter
Looks like 'openat', 'pipe2' and 'ppoll' are now needed, possibly due
to changes on libraries used by umdns now using slightly different
calls.
Found using
/etc/init.d/umdns trace
now use umdns, ie. cover all ubus call etc., then
/etc/init.d/umdns stop
find list of syscalls traced in /tmp/umdns.*.json
Fixes: FS#3355 ("UMDNS: does not start on master with seccomp")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Felix Fietkau [Sat, 10 Apr 2021 15:00:57 +0000 (17:00 +0200)]
kernel: fix mtd squashfs root regression on targets with CONFIG_FIT_PARTITION
Move 480-mtd-set-rootfs-to-be-root-dev.patch to hack-5.10 and fix assumption
about the block device index.
Fixes: 2809d0000744 ("kernel: support FIT partition parser on mtdblock devices")
Acked-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Sat, 10 Apr 2021 11:20:04 +0000 (13:20 +0200)]
kernel: update flow offload patches to upstream version
Move patches to backport-5.10, since the series was accepted upstream
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Piotr Dymacz [Fri, 2 Apr 2021 17:17:12 +0000 (19:17 +0200)]
uboot-envtools: oxnas: drop redundant space after case keywords
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Fri, 2 Apr 2021 17:16:14 +0000 (19:16 +0200)]
uboot-envtools: layerscape: drop redundant space after case keywords
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 7 Jan 2021 16:55:15 +0000 (17:55 +0100)]
uboot-envtools: ipq806x: drop redundant space after case keywords
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 7 Jan 2021 16:54:18 +0000 (17:54 +0100)]
uboot-envtools: ipq40xx: drop redundant space after case keywords
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 7 Jan 2021 16:51:02 +0000 (17:51 +0100)]
uboot-envtools: imx6: drop redundant space after case keywords
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Fri, 2 Apr 2021 17:43:38 +0000 (19:43 +0200)]
uboot-envtools: drop shebang from uci-defaults and lib files
These files are sourced and non-executable, a shebang is redundant.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 7 Jan 2021 16:30:49 +0000 (17:30 +0100)]
uboot-imx6: define 'BUILD_DEVICES' for Toradex Apalis
Without 'BUILD_DEVICES' defined, the U-Boot related package won't be
automatically selected when building for Toradex Apalis device.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Thu, 7 Jan 2021 16:28:36 +0000 (17:28 +0100)]
uboot-imx6: align indent size in Makefile
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Sat, 27 Feb 2021 11:58:55 +0000 (12:58 +0100)]
uboot-imx6: drop support for Nitrogen6x/SABRE devices
These devices never got officially supported in the tree thus it doesn't
make much sense to waste our infrastructure resources and keep building
dedicated U-Boot images for them.
CC: Petr Štetiar <ynezz@true.cz>
CC: Luka Perkov <luka.perkov@sartura.hr>
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Acked-by: Petr Štetiar <ynezz@true.cz>
Daniel Golle [Fri, 2 Apr 2021 23:43:50 +0000 (00:43 +0100)]
mediatek: add alternative bootchain variant for UniFi 6 LR
Builds images for the Ubiquiti Network UniFi 6 LR device running the
U-Boot build added by the previous commits.
Everything but MTD partitions is moved to dtsi.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sun, 4 Apr 2021 16:16:42 +0000 (17:16 +0100)]
uboot-envtools: add env settings for ubnt,unifi-6-lr-ubootmod
Add settings for fw_printenv/fw_setenv for the Ubiquiti UniFi 6 LR
when running OpenWrt's version of U-Boot. The settings should work
equally with the unmodified version, but that has not yet been
tested.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 2 Apr 2021 11:05:15 +0000 (12:05 +0100)]
uboot-mediatek: add build for Ubiquiti Networks UniFi 6 LR
Add U-Boot build for the Ubiquiti Networks UniFi 6 LR access point.
This allows updating the bootchain to modern ARM Trusted Firmware 2.4
and U-Boot 2021.04 while keeping as much of the existing flash layout
as possible (u-boot-env, factory and eeprom partitions are retained),
gaining robust recovery vs. production dual-boot mechanism.
Add info for the Winbond W25Q512JV SPI NOR flash used in the device
and wait for GPIOs to settle after reset before checking for reset
button.
I2C connected LED controller is not supported yet.
Writing large amounts of data to SPI flash currently doesn't work due
to watchdog timeout causing reset before data write completes.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 2 Apr 2021 11:03:01 +0000 (12:03 +0100)]
arm-trusted-firmware-mediatek: increase NOR bl3 size
Use bl3 size of 0xa0000 instead of 0x80000 in NOR flash.
This results in bl3 ending at 0xc0000 which is where the legacy
bootchain typically puts U-Boot environment.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 2 Apr 2021 23:41:30 +0000 (00:41 +0100)]
kernel: support FIT partition parser on mtdblock devices
Allow using the FIT block-device partition partition parser to work on
top of mtdblock devices.
This is more tricky than it sounds as it requires to reorganize the
procedure of registering mtdblock devices in order to avoid locking
troubles caused by the block partition parsers then trying to open
the mtdblock device for reading while locks are still being held.
Fix that by moving the adding of the disks after the entire device
has been probed when locks no longer need to be held.
Also address issue with mtdsuper surfaced when using sub-partitions
which prevented mounting JFFS2 using the /dev/mtdblock* device.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 2 Apr 2021 23:40:25 +0000 (00:40 +0100)]
kernel: mtdsplit_fit: support FIT with external data
U-Boot has recently added support for having data blobs in uImage.FIT
images stored at offsets after the FDT structure rather than embedding
the data into the FDT structure itself. This is useful as it allows
parts of the image to be mapped by the FIT partition parser, and it
allows the FIT structure itself to be parsed more easily as it usually
fits into single page.
mtdsplit_fit assumed that the total length of an image is identical
to the length of the FDT structure. For uImage.FIT with external data
this assumption no longer holds true.
Add support for uImage.FIT with external data to mtdsplit_fit and in
in that case only split-off rootfs_data -- selecting and mapping rootfs
partition is left to the block partition parser just like on UBI and
block/GPT based platforms.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 9 Apr 2021 14:58:57 +0000 (15:58 +0100)]
uboot-mediatek: bpi-r64: erase eMMC environment on installation
Erase U-Boot environment partition on eMMC on installation to make sure
chages are applied.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Koen Vandeputte [Fri, 9 Apr 2021 14:08:00 +0000 (16:08 +0200)]
ath79: mikrotik: define the testing kernel version
commit
d6b785d477 ("ath79: add kernel 5.10 support") moved
KERNEL_TESTING_PATCHVER to a subtarget level,
but is looks like Mikrotik subtarget was forgotten.
Also add it for Mikrotik.
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
Rafał Miłecki [Thu, 8 Apr 2021 22:12:28 +0000 (00:12 +0200)]
firmware-utils: add -Wall to most tools
This helps spotting possible problems
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Fri, 9 Apr 2021 08:43:07 +0000 (10:43 +0200)]
firmware-utils: fix -Wpointer-sign warnings
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Fri, 9 Apr 2021 07:21:25 +0000 (09:21 +0200)]
firmware-utils: fix -Wmaybe-uninitialized warnings
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Fri, 9 Apr 2021 06:52:03 +0000 (08:52 +0200)]
firmware-utils: fix few random warnings
1. -Wunused-label
2. -Wparentheses
3. -Wmisleading-indentation
4. -Wformat-overflow
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Fri, 9 Apr 2021 05:38:46 +0000 (07:38 +0200)]
firmware-utils: fix unused variable warnings
This fixes warnings from the:
1. -Wunused-variable
2. -Wunused-but-set-variable
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Thu, 8 Apr 2021 22:10:53 +0000 (00:10 +0200)]
firmware-utils: fix all -Wformat warnings
1. Use %hhu for uint8_t
2. Use %z for size_t
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Thu, 8 Apr 2021 08:39:56 +0000 (10:39 +0200)]
bcm4908: enable Netgear R8000P bootloader image
This enables building BCM4908 "raw" image that can be flashed using
bootloader web UI. It requires serial console access & stopping booting
by the "Press any key to stop auto run".
It's easy to build vendor like CHK image but it can't be safely flashed
using vendor UI at this point. Netgear implements method called "NAND
incremental flashing" that doesn't seem to flash bootfs partition as
provided.
Above method seems to update vmlinux.lz without updating 94908.dtb. It
prevents OpenWrt kernel from booting due to incomplete DTB file. Full
Netgear R8000P support can be enabled after finding a way to make vendor
firmware flash OpenWrt firmware including the 94908.dtb update.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Thu, 8 Apr 2021 07:12:43 +0000 (09:12 +0200)]
bcm4908: enable target & Asus GT-AC5300 image
OpenWrt was succesfully tested on the GT-AC5300 model. It's possible to:
1. Install OpenWrt using vendor UI
2. Perform UBI aware sysupgrade
3. Install vendor firmware using OpenWrt sysupgrade
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Thu, 1 Apr 2021 15:06:47 +0000 (17:06 +0200)]
firmware-utils: bcm4908img: convert into a package
bcm4908img is a tool managing BCM4908 platform images. It's used for
creating them as well as checking, modifying and extracting data from.
It's required by both: host (for building firmware images) and target
(for sysupgrade purposes). Make it a host/target package.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Thu, 8 Apr 2021 07:10:20 +0000 (09:10 +0200)]
firmware-utils: bcm4908img: fix uninitialized var usage
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Szabolcs Hubai [Wed, 3 Feb 2021 06:56:38 +0000 (07:56 +0100)]
ramips: rt305x: use lzma-loader for ZyXEL Keenetic Lite rev.B
Fixes boot loader LZMA decompression issue,
reported by GitHub user KOLANICH at [0].
The reported LZMA ERROR has date of 2020-07-20, soon after
the device support landed:
Ralink UBoot Version: 3.5.2.4_ZyXEL
....
3: System Boot system code via Flash.
Image Name: MIPS OpenWrt Linux-4.14.187
Created: 2020-07-20 3:39:11 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size:
1472250 Bytes = 1.4 MB
Load Address:
80000000
Entry Point:
80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover
[0] https://github.com/openwrt/openwrt/commit/
fea232ae8feb6af780fd4fa78ebe9231778bf75a#commitcomment-
45016560
Fixes: 4dc9ad4af8c921494d20b303b6772fc6b5af3a69 ("ramips: add support for ZyXEL Keenetic Lite Rev.B")
Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
Michael Pratt [Sat, 27 Feb 2021 19:18:42 +0000 (14:18 -0500)]
ath79: move pcie node to DTSI for qca955x Senao APs
pcie0 is the same for this generation of Senao APs
while eth0, eth1, and wmac can differ
the qca,no-eeprom property has no effect
for the ath10k drivers
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Michael Pratt [Mon, 15 Feb 2021 20:37:06 +0000 (15:37 -0500)]
ath79: cleanup DTS for ALLNET ALL-WAP02860AC
use qca955x_senao_loader.dtsi
because it is the same hardware / partitioning
and some cleanup
Effects:
nodes to match similar boards
- keys
- eth0
- pcie0
bumps SPI frequency to 40 MHz
removes &pll node:
the property is defined in qca955x.dtsi
removes qca,no-eeprom:
has no effect with mtd-cal-data property
(also spelling)
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Michael Pratt [Fri, 12 Feb 2021 23:58:00 +0000 (18:58 -0500)]
ath79: add factory.bin for ALLNET ALL-WAP02860AC
This device is a Senao-based product
using hardware and software from Senao
with the tar-gz platform for factory.bin
and checksum verification at boot time
using variables stored in uboot environment
and a 'failsafe' image when it fails.
Extremely similar hardware/software to Engenius EAP1200H
and other Engenius APs with qca955x
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Michael Pratt [Fri, 12 Feb 2021 23:19:10 +0000 (18:19 -0500)]
ath79: add Senao 'failsafe' sysupgrade procedure
Use a similar upgrade method for sysupgrade.bin, like factory.bin,
for Senao boards with the tar.gz OEM upgrade platform,
and 'failsafe' image which is loaded on checksum failure.
This is inspired by the OEM upgrade script /etc/fwupgrade.sh
and the existing platforms for dual-boot Senao boards.
Previously, if the real kernel was damaged or missing
the only way to recover was with UART serial console,
because the OKLI lzma-loader is programmed to halt.
uboot did not detect cases where kernel or rootfs is damaged
and boots OKLI instead of the failsafe image,
because the checksums stored in uboot environment
did not include the real kernel and rootfs space.
Now, the stored checksums include the space for both
the lzma-loader, kernel, and rootfs.
Therefore, these boards are now practically unbrickable.
Also, the factory.bin and sysupgrade.bin are now the same,
except for image metadata.
This allows for flashing OEM image directly from openwrt
as well as flashing openwrt image directly from OEM.
Make 'loader' partition writable so that it can be updated
during a sysupgrade.
tested with
ENS202EXT v1
EAP1200H
EAP350 v1
EAP600
ECB350 v1
ECB600
ENH202 v1
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Michael Pratt [Sun, 21 Feb 2021 22:41:30 +0000 (17:41 -0500)]
ath79: adjust ath79/tiny Senao APs to 4k blocksize
ath79/tiny kernel config has
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
from commit
05d35403b211ccb9bf20e2b3c0b7a30c82c6d6a2
Because of this, these changes are required for 2 reasons:
1.
Senao devices in ath79/tiny
with a 'failsafe' partition and the tar.gz sysupgrade platform
and a flash chip that supports 4k sectors
will fail to reboot to openwrt after a sysupgrade.
the stored checksum is made with the 64k blocksize length
of the image to be flashed,
and the actual checksum changes after flashing due to JFFS2 space
being formatted within the length of the rootfs from the image
example:
0x440000 length of kernel + rootfs (from sysupgrade.bin)
0x439000 offset of rootfs_data (from kernel log)
2.
for boards with flash chips that support 4k sectors:
saving configuration over sysupgrade is not possible
because sysupgrade.tgz is appended at a 64k boundary
and the mtd parser starts JFFS2 at a 4k boundary.
for boards with flash chips that do not support 4k sectors:
partitioning with 4k boundaries causes a boot loop
from the mtd parser not finding kernel and rootfs.
Also:
Some of the Senao boards that belong in ath79/tiny,
for example ENH202,
have a flash chip that does not support 4k sectors
(no SECT_4K symbol in upstream source).
Because of this, partitioning must be different for these devices
depending on the flash chip model detected by the kernel.
Therefore:
this creates 2 DTSI files
to replace the single one with 64k partitioning
for 4k and 64k partitioning respectively.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Michael Pratt [Thu, 25 Feb 2021 03:55:09 +0000 (22:55 -0500)]
ath79: remove 'fakeroot' for Senao devices
By using the same custom kernel header magic
in both OKLI lzma-loader, DTS, and makefile
this hack is not necessary anymore
However, "rootfs" size and checksum
must now be supplied by the factory.bin image
through a script that is accepted by the OEM upgrade script.
This is because Senao OEM scripts assume a squashfs header exists
at the offset for the original "rootfs" partition
which is actually the kernel + rootfs in this implementation,
and takes size value from the header that would be there with hexdump,
but this offset is now the uImage header instead.
This frees up 1 eraseblock
previously used by the "fakeroot" partition
for bypassing the OEM image verification.
Also, these Senao devices with a 'failsafe' partition
and the tar-gz factory.bin platform would otherwise require
flashing the new tar-gz sysupgrade.bin afterward.
So this also prevents having to flash both images
when starting from OEM or 'failsafe'
the OEM upgrade script verifies the header magic numbers,
but only the first two bytes.
Example:
[ "${magic_word_kernel}" = "2705" ] &&
[ "${magic_word_rootfs}" = "7371" -o "${magic_word_rootfs}" = "6873" ] &&
errcode="0"
therefore picked the magic number
0x73714f4b
which is
'sqOK'
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Michael Pratt [Thu, 25 Feb 2021 03:35:37 +0000 (22:35 -0500)]
ath79: lzma-loader: allow setting custom kernel magic
...and max flash offset
The mtdsplit parser was recently refactored
to allow the kernel to have custom image header magic.
Let's also do this for the lzma-loader
For example:
When implemented together,
this allows the kernel to "appear" to be a rootfs
by OEM software in order to write an image
that is actually kernel + rootfs.
At the same time,
it would boot to openwrt normally
by setting the same magic in DTS.
Both of the variables
have a default value that is unchanged
when not defined in the makefiles
This has no effect on the size of the loader
when lzma compressed.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Bjørn Mork [Tue, 6 Apr 2021 09:43:05 +0000 (11:43 +0200)]
realtek: allow writing to "u-boot-env2"
U-Boot uses the "bootpartition" variable stored in
"u-boot-env2" to select the active system partition. Allow
updates to enable system switching from OpenWrt.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Bjørn Mork [Tue, 6 Apr 2021 09:43:04 +0000 (11:43 +0200)]
uboot-envtools: add wrapper scripts for alternate config
Now that we can create an alternate configuration file, add two
wrapper scripts for simple access to it using the alternate
alternate application names `fw_printsys' and `fw_setsys'.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Bjørn Mork [Tue, 6 Apr 2021 09:43:03 +0000 (11:43 +0200)]
uboot-envtools: add support for multiple config partitions
Most (all?) of the realtek devices have two u-boot config partitions
with a different set of variables in each. The U-Boot shell provides
two sets of apps to manipulate these:
printenv- print environment variables
printsys- printsys - print system information variables
saveenv - save environment variables to persistent storage
savesys - savesys - save system information variables to persistent storage
setenv - set environment variables
setsys - setsys - set system information variables
Add support for multiple ubootenv configuration types, allowing
more than one configuration file.
Section names are not suitable for naming the different
configurations since each file can be the result of multiple sections
in case of backup partitions.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Rafał Miłecki [Wed, 7 Apr 2021 12:38:45 +0000 (14:38 +0200)]
bcm4908: fix Netgear R8000P image
Use vendor format to allow flashing using Negear UI.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Wed, 7 Apr 2021 12:14:57 +0000 (14:14 +0200)]
bcm4908: add sysupgrade support
It supports flashing OpenWrt images (bootfs & UBI upgrade) as well as
vendor images (whole MTD partition write).
Upgrading cferom is unsupported. It requires copying device specific
data (like MAC) to target image before flashing.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>