Robert Marko [Tue, 30 May 2023 21:38:56 +0000 (23:38 +0200)]
ipq807x: 6.1: fix I/O WRITE_ZEROES errors on some eMMC devices
Linux 5.19 added a feature where if there is TRIM support being advertised
on eMMC kernel will use TRIM to offload erasing to zero.
However, like always there are eMMC IC-s that advertise TRIM and kind of
work but trying to use TRIM for offloading will cause I/O errors like:
[ 18.085950] I/O error, dev loop0, sector 596 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 2
So, lets utilize the kernel MMC quirks DB to disable TRIM for eMMC models
that are known to cause this.
This will fix the WRITE_ZEROES error on:
Qnap 301W which uses Micron MTFC4GACAJCN-1M
Zyxel NBG7815 which uses Kingston EMMC04G-M627
Tested-By: Enrico Mioso <mrkiko.rs@gmail.com> # NBG7815 Signed-off-by: Robert Marko <robimarko@gmail.com>
Tianling Shen [Tue, 30 May 2023 04:59:07 +0000 (12:59 +0800)]
rockchip: add Orange Pi R1 Plus LTS support
The OrangePi R1 Plus LTS is a minor variant of OrangePi R1 Plus with
the on-board NIC chip changed from rtl8211e to yt8531c, and otherwise
identical to OrangePi R1 Plus.
Tianling Shen [Tue, 30 May 2023 04:59:07 +0000 (12:59 +0800)]
rockchip: add Orange Pi R1 Plus support
Orange Pi R1 Plus is a Rockchip RK3328 based SBC by Xunlong.
This device is similar to the NanoPi R2S, and has a 16MB
SPI NOR (mx25l12805d). The reset button is changed to
directly reset the power supply, another detail is that
both network ports have independent MAC addresses.
Note: booting from SPI is currently unsupported, you have to install
the image on a SD card.
Hauke Mehrtens [Tue, 30 May 2023 20:00:19 +0000 (22:00 +0200)]
kernel: Make kmod-phylink depend on kmod-libphy
The CONFIG_PHYLINK Kconfig option in the kernel selects CONFIG_LIBPHY.
Add this dependency to fix the all kernel modules build on MIPS malta
and armvirt with kernel 6.1.
With kernel 5.15 mod-phylink and kmod-sfp are empty packages because
no OpenWrt kmod is selecting a module which needs sfp or phylink
support.
This new option (default N) will generate prompts building with OpenWrt
configs that set CONFIG_KERNEL_DYNAMIC_DEBUG=y. Fix this by adding the
disabled option to the generic config.
kernel: fix wrong detection of Linux-Testing-Version in makefile DUMP
When the split was done, the case for testing kernel version wasn't
handled and only the to-be-compiled kernel version details files was
included. This cause the kernel Linux-Testing-Version output from
makefile target DUMP to report only the kernel version without the minor
version (example 6.1 instead of 6.1.29).
This value is expected with the full kernel version and this cause the
dump-target-info.pl script to not correctly identify if a target have a
testing kernel for the kernels calls.
Fix this regression by correctly including the kernel details files if
the target declare support for a testing kernel version.
Fixes: 0765466a42f4 ("kernel: split kernel version to dedicated files") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Jeffery To [Wed, 31 May 2023 13:58:34 +0000 (21:58 +0800)]
build: export GIT_CEILING_DIRECTORIES for package builds
A package may run git as part of its build process, and if the package
source code is not from a git checkout, then git may traverse up the
directory tree to find buildroot's repository directory (.git).
For instance, Poetry Core, a Python build backend, will read the
contents of .gitignore for paths to exclude when creating a Python
package. If it finds buildroot's .gitignore file, then Poetry Core will
exclude all of the package's files[1].
This exports GIT_CEILING_DIRECTORIES for both package and host builds so
that git will not traverse beyond $(BUILD_DIR)/$(BUILD_DIR_HOST).
Petr Štetiar [Fri, 26 May 2023 09:41:18 +0000 (11:41 +0200)]
ci: build: verify downloaded toolchain tarball
CDNs are known to ship outdated or corrupted files, if it unpacks
correctly, it necessarily doesn't mean, that we're using the desired
content. So lets fix it by checking the tarball as well.
I'm adding GPG checking explicitly, its not needed, but just double
checking, that everything is working as expected on build
infrastructure.
Linus Walleij [Tue, 23 May 2023 22:03:12 +0000 (00:03 +0200)]
kernel: disable new v6.1 DRM option
Not many platforms use the DRM configs but Gemini use it
so make sure to disable all new kernel v6.1 features that
we do not want to get prompted about.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebased]
Petr Štetiar [Wed, 29 Mar 2023 08:57:17 +0000 (10:57 +0200)]
netifd: update to version 2023-05-31
Contains following changes:
* bridge: bridge_dump_info: add dumping of bridge attributes
* bridge: make it more clear why the config was applied
* cmake: fix build by reordering the cflags definitions
* treewide: fix multiple compiler warnings
Add support for getting ccache cache from S3.
ccache is archieved in a tar and downloaded from S3 Cloud Storage.
For push events, ccache is then uplodaed back to S3 to refresh and have
a ccache cache always fresh.
An additional workflow is added to upload files to an S3 Cloud Storage
from artifacts uplodaed to github. The minio tool is used to upload
files to S3.
If the ccache can't be downloaded from s3, we fallback to github cache
system.
Also limit s3 upload to the openwrt repository since external fork won't
have (obviously) the required secrtes to upload data to the S3 Cloud
Storage.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
CI: build: limit cache save/delete only on push events
Limit ccache cache save/delete only on push events. Saving ccache
cache for pull request will result in bloat and refreshing ccache is not
possible due to security measure on enforcing read permission on
pull_request events.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
CCache cache is currently broken due to a funny bug in ccache compiler
type detection. It seems ccache compiler type detection is very fragile
and with the use of external toolchain doesn't correctly detect the
type.
The type detected is set to other instead of gcc resulting in ccache
complaining for unsupported compiler options.
To handle this problem, force the compiler type to gcc to make ccache
correctly work and speedup compilation.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
CI: build: add option to define custom ccache cache type
Add new input to define custom ccache cache type. This is useful to use
a different ccache cache for some special workflow that may do more test
than simple kernel compilation.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add option to disable use of ccache. This can be useful for some
sensible test that should not use ccache as they can cause side effects
of any sort. (example Coverity Scan)
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
CI: build: add job to remove previous ccache cache if already exist
Github Actions cache doesn't permit to overwrite cache if it does
already exist. As a trick to refresh and have fresh ccache pool,
delete the ccache cache if it does exist with the help of Github REST
API. An additional permission is needed to access this API. Add this
permittion to each user of the build workflow.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
CI: build: split cache ccache in separate restore and save jobs
Split caching ccache in separate restore and save jobs to always refresh
the ccache across different runs. Currently if a key is restored, cache
is not saved resulting in a less useful ccache that benefits from
multiple runs.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
CI: build: drop redundant generate ccache hash job
Drop redundant generare ccache hash job as that can be done by
integrated github expressions to generate an hash.
The only change is that the integrated way generate a sha256 hash
instead of an md5 sum.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Linhui Liu [Sat, 27 May 2023 05:51:10 +0000 (13:51 +0800)]
tools/meson: update to 1.1.1
026644099 Bump versions for 1.1.1 release 72f26cd0a azure pipelines: fix branch patterns to support 1.x release branches e619b96ad ci: Don't error out CI if codecov upload fails cf2887d57 ci: Move to the codecov github action f7b0596bd docs: Fix some typos in feature option examples 0d9e46c84 qt: Allow specifying separate tools for qt4/5/6 be89526e7 rust compiler: use better sanity check logging comparable to the clike one c953363a7 meson_exe: print suitable debug information for DLL not found errors 6a7cd1350 llvm: Bump broken micro version for CI 3dbeac046 ci: Don't search for llvm modules with LLVM 16.0.x e17d243aa rust: Also disallow `.` in Rust library target names 630a29f4d rust: Don't allow spaces/dashes in Rust library names b4c669f6e rust: Don't use prefer-dynamic in case of proc-macro Rust dependencies 225719770 mbuild: .pdb files are created only when debug symbols are enabled e6cc0f2d8 minstall: Fix install_subdir() excludes with path separators on Win 4269a2401 rust: Use `isinstance(d, build.StaticLibrary)` instead of comparing the type name string cc481c0da rust: Link staticlib/cdylib link targets like link targets from any other language 0d2c62529 rust: Don't prefer dynamic linking of Rust libraries for cdylibs 1a10b8f77 rust: Use the corresponding rustc version when clippy-driver is chosen as Rust compiler 6dce28185 rust: Don't pass dependency compile arguments to the compiler b781d1261 Fix paths of Fortran order dependencies Fixes #11047 5886499f8 Fix building python extensions on win-arm64 8014827d0 Python module: emit warning for debug buildtypes with MSVC and no debug Python a53dcd6f6 Fix unit test that hardcoded `/` and hence broke on Windows 795e39b3a Fix `ERROR: no toolchain found` when run from unittests 35d1def39 Add Cython to Windows CI jobs on Azure a5ef21302 Use release buildtype in Cython tests, and skip unless ninja backend 8bbf6a5df fix regression in precomputing CMAKE_SIZEOF_VOID_P 26b73afba wrap: Always pass posix paths to patch 6696a754a Don't use dyndep scanner when preprocessing 22163998b Specify c++ 11 flag as code uses c++ 11 features 7c5dc1a79 Fix html coverage report generation when using clang on linux 46e0303c3 yasm: Fix usage of incompatible optimization flags 093ae573b fix python.version() not working in some cases 9bfdae8d7 Add c++23 to the list of C++ standards. 4c72b6da5 select the correct python_command for pyinstaller builds, even on not-Windows 9678aa05f fix data collection with pyinstaller e5928e63d minstall: work around broken environments with missing UIDs 452d1c567 minstall: do not drop privileges if msetup also ran under sudo 960ae14c4 rust: Convert dashes in crate names to underscores cb75ce50d backend/vs: Fix OpenMPSupport 11fe12d09 zsh: fix help / descriptions 307cb2573 ci: properly check `test cases/windows` files 1f1f05b8b ci: rename workflow 08e684499 syntax-highlighting: vim: fix mesonSpaceError de8c4839e packaging: fix options hostArchitectures attribute 560ece485 fix various spelling issues
Nick Hainke [Mon, 29 May 2023 19:37:37 +0000 (21:37 +0200)]
generic: import patch fixing workqueue compilation with gcc-13
Already applied in wq/for-6.5 [0].
Fixes errors in the form of:
kernel/workqueue.c: In function 'get_work_pwq':
kernel/workqueue.c:705:24: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
705 | return (void *)(data & WORK_STRUCT_WQ_DATA_MASK);
| ^
kernel/workqueue.c: In function 'get_work_pool':
kernel/workqueue.c:733:25: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
733 | return ((struct pool_workqueue *)
| ^
kernel/workqueue.c: In function 'get_work_pool_id':
kernel/workqueue.c:755:25: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
755 | return ((struct pool_workqueue *)
| ^
cc1: all warnings being treated as errors
In order to cut down on the Netgear WNDR4700, the ata
driver can be outsourced. This helps other apm821xx
devices too to save up on kernel size (~200 kb).
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Currently, e2600ac-c1 cannot be built as the kernel is larger than the defined KERNEL_SIZE,
however, there is no bootloader limit for the kernel size so remove KERNEL_SIZE completely.
Rafał Miłecki [Mon, 22 May 2023 08:31:33 +0000 (10:31 +0200)]
firmware-utils: new package replacing otrx
Some of firmware utils may be required on target devices. It's useful
e.g. for dealing with some firmware formats. That is often required
(supporting specific format) to provide an option to revert to original
firmware.
So far we had packaged "otrx" util only for use on Broadcom targets.
Refactor that to package the whole firmware-utils project so we can
package any single util needed.
Stan Grishin [Sun, 28 May 2023 04:48:26 +0000 (04:48 +0000)]
base-files: x86 fix 01_leds Syntax error
Cezary Jackiewicz reported:
| Syntax error in line /etc/board.d/01_leds#L22 - missing "\"
Fixes: c191c2d46f00 ("x86: base-files add support for Sophos 135r3/135r3w") Reported-by: Cezary Jackiewicz <cezary@eko.one.pl> Signed-off-by: Stan Grishin <stangri@melmac.ca>
(buffed up commit message) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Management Complex (MC) userspace support is required for userspace
helpers working with DPAA2 objects exported by the Management Complex BUS.
Without it, there is the error:
```
root@OpenWrt:/# ls-addni dpmac.1
error: Did not find a device file
Restool wrapper scripts only support the latest major MC version
that currently is MC10.x. Use with caution.
error: Did not find a device file
```
This patch fixes it.
Suggested-by: Alexandra Alth <alexandra@alth.de> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Petr Štetiar [Fri, 26 May 2023 10:37:15 +0000 (12:37 +0200)]
prereq-build: add missing check for Perl IPC::Cmd
OpenSSL fails to compile in Fedora 38 container due to the following:
Can't locate IPC/Cmd.pm in @INC (you may need to install the IPC::Cmd module) (@INC contains: /openwrt/build_dir/target-x86_64_musl/openssl-3.0.8/util/perl /usr/local/lib64/perl5/5.36 /usr/local/share/perl5/5.36 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /openwrt/build_dir/target-x86_64_musl/openssl-3.0.8/external/perl/Text-Template-1.56/lib) at /openwrt/build_dir/target-x86_64_musl/openssl-3.0.8/util/perl/OpenSSL/config.pm line 19.
BEGIN failed--compilation aborted at /openwrt/build_dir/target-x86_64_musl/openssl-3.0.8/util/perl/OpenSSL/config.pm line 19.
Compilation failed in require at ./Configure line 23.
BEGIN failed--compilation aborted at ./Configure line 23.
Seems like `dnf install -y perl-IPC-Cmd` fixes the issue.
So lets fix it by checking for Perl IPC::Cmd host module availability.
Robert Marko [Fri, 26 May 2023 12:00:45 +0000 (14:00 +0200)]
ipq807x: 6.1: fix remoteproc booting
In 6.1 booting the remoteprocessor that is actually running the WLAN
unfortunatelly broke, so after a long time bisecting we managed to track it
down to commit ("soc: qcom: mdt_loader: Always invoke PAS mem_setup").
Luckily adding back the relocation check and not making an SCM call
qcom_scm_pas_mem_setup() restored the functionality.
Robert Marko [Thu, 25 May 2023 18:02:40 +0000 (20:02 +0200)]
ath10k-ct: use 6.2 version
ath10k-ct now offers 6.2 and 6.4 versions, so lets update to use 6.2
so we can get rid of the API update patch as well as NVMEM as that is
already present in the newer driver.
Ben merged the debug compilation patch so we can remove that one as well.
Update patches to point to 6.2 version and refresh them.
Zoltan HERPAI [Sun, 16 Dec 2018 10:05:58 +0000 (11:05 +0100)]
sifiveu: add new target for SiFive U-based boards
RISC-V is a new CPU architecture aimed to be fully free and open. This
target will add support for it, based on 5.15.
Supports running on:
- HiFive Unleashed - FU540, first generation
- HiFive Unmatched - FU740, current latest generation, PCIe
SD-card images are generated, where the partitions are required to have
specific type codes. As it is commonplace nowadays, OpenSBI is used as the
first stage, with U-boot following as the proper bootloader.
Add patch until it gets accepted in firmware-utils upstream.
The SiFive RISC-V SoCs use two special partition types in the boot process.
As a first step, the ZSBL (zero-stage bootloader) in the CPU looks for a
partition with a GUID of 5B193300-FC78-40CD-8002-E86C45580B47 to load the
first-stage bootloader - which in OpenWrt's case is an SPL image. The FSBL
(SPL) then looks for a partition with a GUID of 2E54B353-1271-4842-806F-E436D6AF6985 to load the SSBL which is usually an
u-boot.
With ptgen already supporting GPT partition creation, add the required GUID
types and name them accordingly to be invoked with the '-T <GPT partition
type>' parameter.
Zoltan HERPAI [Sun, 26 Jan 2020 22:45:48 +0000 (23:45 +0100)]
opensbi: add package for RISC-V
OpenSBI is a form of a first-stage bootloader, which initializes
certain parts of an SoC and then passes on control to the second
stage bootloader i.e. an u-boot image.
We're introducing the package with release v1.2, which provides
SBI v0.3 and the SBI SRST extensions which helps to gracefully
reboot/shutdown various HiFive-U SoCs.
Daniel Golle [Sat, 27 May 2023 20:03:40 +0000 (21:03 +0100)]
mediatek: sync MT7988 USXGMII with SDK driver
The USXGMII driver in SDK was heavily refactored, some bugs have been
fixed and it has switched to use phylink_pcs. Follow up with changes
in SDK driver and sync our on-top-of-mainline driver with the SDK
driver.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 27 May 2023 20:49:55 +0000 (21:49 +0100)]
mediatek: follow-up with renamed Build/bl2 and Build/bl31-uboot
Use renamed build step names for all boards which were not handled by
commit c620409d58 ("mediatek: filogic: add uboot build for mt7981")
and now breaking the build.
Fixes: c620409d58 ("mediatek: filogic: add uboot build for mt7981") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
CI: don't add "" in target and subtarget for label workflow
Don't add "" in target and subtarget for label workflow from label
detection as it does cause problem in build workflow on container
target/subtarget matching.
Fixes: bf8187d5dc4d ("CI: use split target and subtarget in label workflow") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Flash instructions:
1. Attach UART, boot the stock firmware until
the message about failsafe mode appears.
2. Enter failsafe mode by pressing "f" and "Enter"
3. Type "mount_root", then run
"fw_setenv bootmenu_delay 3"
4. Back up all mtd partitions before flashing.
5. Reboot, U-Boot now presents a menu.
6. Connect to your PC via the Gigabit port of the router,
set a static ip on the ethernet interface of your PC.
(ip 192.168.1.254, gateway 192.168.1.1)
7. Select "Upgrade ATF BL2", then use this file:
openwrt-mediatek-filogic-qihoo_360t7-preloader.bin
8. Select "Upgrade ATF FIP", then use this file:
openwrt-mediatek-filogic-qihoo_360t7-bl31-uboot.fip
9. Download the initramfs image, and type "reset",
waiting for tftp recovery to complete.
a. After openwrt boots up, perform sysupgrade.
Note:
1. Since NMBM is disabled, we must back up all partitions.
2. Flash instructions is based on commit 28df7f7.
Daniel Golle [Fri, 26 May 2023 12:49:02 +0000 (13:49 +0100)]
mediatek: cleanly backport and add fix for I2C driver
Pick accepted patches from upstream Linux tree instead of having to
maintain our slightly different downstream patches.
Import pending patch fixing I2C on MT7981 by making sure all clocks
are enabled before accessing I2C registers.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Nick Hainke [Fri, 26 May 2023 20:16:27 +0000 (22:16 +0200)]
generic: backport missing helper for phy interfaces
The function was defined before in the patch
"hack-5.15/795-backport-phylink_pcs-helpers.patch". However, the hack
did not move to 6.1. Instead of using the hack do the backport of
upstream accepted version.
Fixes errors in the form of:
make[8]: Entering directory '/home/nick/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-6.1.29'
CC drivers/net/pcs/pcs-mtk-lynxi.o
drivers/net/pcs/pcs-mtk-lynxi.c: In function 'mtk_pcs_lynxi_config':
drivers/net/pcs/pcs-mtk-lynxi.c:160:30: error: implicit declaration of function 'phylink_get_link_timer_ns' [-Werror=implicit-function-declaration]
160 | link_timer = phylink_get_link_timer_ns(interface);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Fixes: fa79baf4a6e2 ("generic: copy backport, hack, pending patch and config from 5.15 to 6.1") Signed-off-by: Nick Hainke <vincent@systemli.org>