Rosen Penev [Sat, 19 Oct 2024 02:08:02 +0000 (19:08 -0700)]
lantiq: use more devm for i2c
i2c_add_numbered_adapter is the wrong function to use here. It requires
setting nr to some value, otherwise it behaves the same as
i2c_add_adapter. nr is not set.
Hannu Nyman [Sun, 10 Nov 2024 15:16:51 +0000 (17:16 +0200)]
gdb: Fix description for apk, remove backtick
Remove backtick from gdb description text, as that seems to
be recognized as a shell action by compilation with apk,
causing error.
Example from test buildbot:
rstrip.sh: /builder/shared-workdir/build/sdk/build_dir/target-aarch64_generic_musl/gdb-15.2/ipkg-aarch64_generic/gdb/usr/bin/gdb: executable
bash: -c: line 1: unexpected EOF while looking for matching ``'
bash: -c: line 2: syntax error: unexpected end of file
make[3]: *** [Makefile:123: /builder/shared-workdir/build/sdk/bin/packages/aarch64_generic/base/gdb-15.2-r1.apk] Error 2
Local compilation:
rstrip.sh: /OpenWrt/aarch64/build_dir/target-aarch64_cortex-a53_musl/gdb-15.2/ipkg-aarch64_cortex-a53/gdb/usr/bin/gdb: executable
bash: -c: line 1: unexpected EOF while looking for matching ``'
make[2]: *** [Makefile:123: /OpenWrt/aarch64/bin/packages/aarch64_cortex-a53/base/gdb-15.2-r1.apk] Error 2
Paul Spooren [Sun, 10 Nov 2024 03:26:43 +0000 (04:26 +0100)]
imagebuilder: fix OPKG package inclusion
In 451e2ce006 the code would only move packages separated by dashes,
however OPKG uses underscores to split between package name and version.
Result was the lack of such packages in the packed ImageBuilder.
Use dashes or underscores depending on the select package manger.
Fixes: 451e2ce006 "imagebuilder: fix package inclusion and APK index" Signed-off-by: Paul Spooren <mail@aparcar.org>
Rosen Penev [Wed, 6 Nov 2024 21:23:35 +0000 (13:23 -0800)]
ramips: mt7621: add missing regulator-boot-on
What seems to be happening is that the kernel requests an ACTIVE_LOW
gpio initially and sets it to high later based on gpios in dts.
This seems to break some devices where the bootloader sets it to high.
Fixes: e612900ae0 ("ramips: mt7621: convert usb power to regulators") Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16877 Signed-off-by: Robert Marko <robimarko@gmail.com>
Paul Spooren [Fri, 8 Nov 2024 09:37:16 +0000 (10:37 +0100)]
imagebuilder: init APK dirs every time
The `--initdb` command creates basic folders required by APK,
previoiusly it would only run a single time when package_index is
actually called. Since the function isn't called if nothing changes,
`--initdb` doesn't initialize the rootfs again.
This commit moves it to package_reload, which runs every time.
Paul Spooren [Wed, 6 Nov 2024 15:34:32 +0000 (16:34 +0100)]
imagebuilder: cleanup package inclusion
Previously three different ways to include packages in an ImageBuilder
existed:
* buildbot: include libc, kernel (and base-files) in $(IB_LDIR)
* not buildbot, standalone: include all packages in ./packages/
* not buildbot, not standalone: include libc, kernel (and base-files) in
./packages/
First of, the separation between *buildbot* and *not buildbot, not
standalone* is not required, we can just always copy packages to
./packages instead of ever using the special place $(IB_LDIR).
Doing so drops the need to handle the extra case and also allows to
clean up the OPKG package installation, which no longer requries the
`firstword` logic, things are now always at ./packages.
Paul Spooren [Wed, 6 Nov 2024 15:32:03 +0000 (16:32 +0100)]
imagebuilder: fix package inclusion and APK index
We need to exclude packages from the APK index which must not be
upgraded. To do so, the packages `libc`, `kernel` and `base-files` are
excluded to APK never suggestes them as upgradable.
The previous logic would however match packages like `libcomerr0`,
causing build failures. Make the copying and excluding logic more
precise by adding a single dash.
Paul Spooren [Fri, 1 Nov 2024 11:33:49 +0000 (12:33 +0100)]
imagebuilder: fix APK for packages dir and cache
This commit solves multiple issues. First of just install the three
special packages base-files, libc and kernel directly from the index. In
upstream indexes, those will never appear to prevent accidental upgrades
may breaking the system.
Next, enable caching for the ImageBuilder, which speeds up consecutive
builds from ~33 seconds to ~5 seconds. Using cache however makes APK
create the folder `/var/cache/apk/` which conflicts with the base-files
installation, which ships a symlink from `/var` to `/tmp`, so specify
`--no-cache` for the rootfs initialization.
Lastly, drop the use of `apk update` since APK automatically does that.
Daniel Golle [Sat, 9 Nov 2024 13:06:02 +0000 (13:06 +0000)]
Revert "build: set PATH for post-install scripts"
This reverts commit 21b5ac862eed7ac373361c914cf6098cab04f503.
The approach is flawed and cannot work in the ImageBuilder.
Using /etc/uci-defaults/ which is run on the target is the only
possible way.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
David Lutz [Tue, 5 Nov 2024 09:55:43 +0000 (10:55 +0100)]
ath79: Add support for Sophos AP15C
The Sophos AP15C uses the same hardware as the AP15, but has a reset button.
Based on:
commit 6f1efb289837 ("ath79: add support for Sophos AP100/AP55 family")
author Andrew Powers-Holmes <andrew@omnom.net>
Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000)
committer Hauke Mehrtens <hauke@hauke-m.de>
Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200)
Unique to AP15C:
- Reset button
- External RJ45 serial console port
Flashing instructions:
This firmware can be flashed either via a compatible Sophos SG or XG
firewall appliance, which does not require disassembling the device, or via
the U-Boot console available on the internal UART header.
To flash via XG appliance:
- Register on Sophos' website for a no-cost Home Use XG firewall license
- Download and install the XG software on a compatible PC or virtual
machine, complete initial appliance setup, and enable SSH console access
- Connect the target AP device to the XG appliance's LAN interface
- Approve the AP from the XG Web UI and wait until it shows as Active
(this can take 3-5 minutes)
- Connect to the XG appliance over SSH and access the Advanced Console
(Menu option 5, then menu option 3)
- Run `sudo awetool` and select the menu option to connect to an AP via
SSH. When prompted to enable SSH on the target AP, select Yes.
- Wait 2-3 minutes, then select the AP from the awetool menu again. This
will connect you to a root shell on the target AP.
- Copy the firmware to /tmp/openwrt.bin on the target AP via SCP/TFTP/etc
- Run `mtd -r write /tmp/openwrt.bin astaro_image`
- When complete, the access point will reboot to OpenWRT.
To flash via U-Boot serial console:
- Configure a TFTP server on your PC, and set IP address 192.168.99.8 with
netmask 255.255.255.0
- Copy the firmware .bin to the TFTP server and rename to 'uImage_AP15C'
- Open the target AP's enclosure and locate the 4-pin 3.3V UART header [4]
- Connect the AP ethernet to your PC's ethernet port
- Connect a terminal to the UART at 115200 8/N/1 as usual
- Power on the AP and press a key to cancel autoboot when prompted
- Run the following commands at the U-Boot console:
- `tftpboot`
- `cp.b $fileaddr 0x9f070000 $filesize`
- `boot`
- The access point will boot to OpenWRT.
vrx518_tc currently sets the interface maximum MTU to the ethernet default
of 1500 bytes by default via ether_setup() called from ptm_setup().
To support 1508 byte baby jumbo frames (RFC4638) for PPPoE connections
over VDSL links as already supported by the VR9 ltq_ptm driver ([1], [2])
set the interface maximum MTU to MAX_MTU.
MAX_MTU is defined in dcdp/inc/tc_common.h to 2002 bytes and this value is
used in ptm_change_mtu() and elsewhere as the maximum MTU, however this is
short circuited by checks against the interface maximum MTU.
Tim Lunn [Fri, 19 Apr 2024 12:16:11 +0000 (22:16 +1000)]
ramips: mt7621: Edgerouter-X drop factory image
Edgerouter-X factory images have not built automatically since 19.x due
to images being over 3MB. While it was possible to build custom images
with very stripped down config, this is no longer possible with the size
increases of linux 6.1 and 6.6.
Drop code for generation of factory images, if some dev later wishes to
try custom images they can revert this commit.
With the new layout providing 6MB for kernel there will be no issues
with kernel size affecting build of images.
Re-enable image builds for Edgerouter-X and X-SFP.
Signed-off-by: Tim Lunn <tim@feathertop.org> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tim Lunn [Thu, 18 Apr 2024 00:57:17 +0000 (10:57 +1000)]
rampis: mt7621: Edgerouter-X update compat version to 2.0
Use compat version to indicate that the new layout for larger kernels
is in place. This handled by the patch to ubnt.sh to always select
the kernel1 slot for flashing and as active kernel slot.
Signed-off-by: Tim Lunn <tim@feathertop.org> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tim Lunn [Thu, 18 Apr 2024 00:56:07 +0000 (10:56 +1000)]
rampis: mt7621: Edgerouter-X set compat version message
Refer user to the wiki page for instructions on how to migrate to the
new kernel layout.
Signed-off-by: Tim Lunn <tim@feathertop.org> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tim Lunn [Wed, 17 Apr 2024 00:51:35 +0000 (10:51 +1000)]
rampis: mt7621: resize Edgerouter-X kernel size to 6MB
With the updated partition layout set in dts, set the KERNEL_SIZE
parameter to 6MB allowing builds of Linux 6.1 and later to fit.
Signed-off-by: Tim Lunn <tim@feathertop.org> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tim Lunn [Wed, 17 Apr 2024 02:51:22 +0000 (12:51 +1000)]
rampis: mt7621: Edgerouter-X disable toggling of kernel slots
Uboot selects which kernel slot to boot based on a flag in the factory
mtd partition. Patch ubnt.sh to ensure always flash to kernel1 slot and
update flag if required.
Signed-off-by: Tim Lunn <tim@feathertop.org> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tim Lunn [Wed, 17 Apr 2024 00:49:49 +0000 (10:49 +1000)]
rampis: mt7621: Convert Edgerouter-X dts to single kernel config
The OEM layout for Edgerouter X provides for two 3MB kernel slots.
As of linux 6.1 the kernel images no longer fit and as such
Edgerouter X builds have been disabled in Main.
Revise the layout to make kernel1 slot 6MB and drop kernel2 slot.
This patch applies the required changes to the dts file.
Signed-off-by: Tim Lunn <tim@feathertop.org> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Felix Fietkau [Fri, 8 Nov 2024 09:50:39 +0000 (10:50 +0100)]
netifd: update to Git HEAD (2024-11-08)
e93f6c3fc729 main: fix format string related warnings for log/debug printf functions 6ab44a2413f9 fix signed/unsigned comparison warnings 4fe997b61d7d system-dummy: add system_if_apply_settings_after_up 992d33cb42a6 ubus: add notifications on wireless device state changes 34eb11eb6f5c device/interface: add "tags" attribute from config to status dump
Felix Fietkau [Fri, 8 Nov 2024 08:13:54 +0000 (09:13 +0100)]
wifi-scripts: add free-form "tags" array option for wifi-iface
This allows annotating wifi interfaces in the config in a way that can be
queried through wifi status. One example use case is to mark wifi interfaces
for use with specific services without having to explicitly reference the
(often unnamed) sections from elsewhere.
Edward Chow [Mon, 4 Mar 2024 17:24:10 +0000 (01:24 +0800)]
ath79: linksys_ea4500-v3: take over the space for user data
The last "syscfg" partition of the OEM firmware turns out to be a
UBIFS used to store user data, just as the "rootfs_data" of OpenWrt,
so it should be reasonable to absorb it into the "ubi" partition.
Factory installations via either OEM firmware or tftp, or by forcibly
flashing factory image to mtd5 (firmware) partition with mtd tool are
confirmed working, but the UBI remaining inside "syscfg" partition
could break upgrade. Fortunately, installing kmod-mtd-rw and erasing
"syscfg" partition before upgrade is confirmed working, in which case,
"ubi" will automatically expand to the blank space once occupied by
the former mtd8 (syscfg), with the total block number increased, but
the UBIFS for rootfs_data will not automatically claim the newly
available space (since it is created when mtd8 still exists, and
sysupgrade does not set "autoresize" flag to rootfs_data). These space
will be claimed during the next upgrade, when rootfs_data is removed
and created again.
Fixes: 50f727b7737d1 ("ath79: add support for Linksys EA4500 v3") Signed-off-by: Edward Chow <equu@openmail.cc> Link: https://github.com/openwrt/openwrt/pull/14791 Signed-off-by: Robert Marko <robimarko@gmail.com>
Daniel Golle [Tue, 5 Nov 2024 03:05:31 +0000 (03:05 +0000)]
build: set PATH for post-install scripts
post-install scripts may need to call executables installed to
STAGING_DIR_HOSTPKG which is not part of the PATH set to TARGET_PATH in
rules.mk.
Set PATH for post-install scripts to TARGET_PATH_PKG.
John Crispin [Tue, 5 Nov 2024 08:43:38 +0000 (09:43 +0100)]
mediatek: set 7 MACs per wifi band in board.json on OpenWrt One
Mass production units will get 16 assigned MAC addresses. This allows each phy
to spawn up to 7 VAPs which will each have unique MAC without needing the
private bit.
John Crispin [Sun, 22 Sep 2024 07:07:58 +0000 (09:07 +0200)]
mediatek: set mac increment to 7 for the 5G radio on OpenWrt One
Mass production units will get 16 assigned MAC addresses. This allows each phy
to spawn up to 7 VAPs which will each have unique MAC without needing the
private bit.
Paul Spooren [Mon, 4 Nov 2024 21:34:52 +0000 (22:34 +0100)]
packages: drop DEVICE specific dependency for omnia
Both packages `ombnia-mcu-firmware` and `omnia-mcutool` would depend on
a specific device. The buildbots however build all devices and therefore
the package isn't build at all, due to unmet dependencies.
While this didn't cause issues with OPKG, APK fails actively due to the
missing packages. Drop the specific dependency, however wants to install
unrelated firmware on any device can do that anyway.
Fix genlmsg_multicast_allns() build error on kernel 6.6.59.
Based on kernel patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v6.6.59&id=e0f83d268974dab0361d11904dfc9acec53f96a6
Mauri Sandberg [Fri, 11 Oct 2024 07:38:07 +0000 (10:38 +0300)]
ramips: Fix EX400 imagebuilder
A factory image for DNA EX400 depends on an initramfs image and they
were explicitly removed from the imagebuilder recently. Now the factory
image creation fails miserably and it also affects custom image creation
with the firmware selector.
Add the initramfs kernel to the staging so that it's shipped with the
imagebuilder. Also remove a image build target added solely for DNA EX400.
Tested by creating a factory and syspupgrade images locally with
the imagebuilder and verified their functionality.
Related work c85348d9abf4 ("imagebuilder: remove initramfs image files")
Fixes: fea2264d9fdd ("ramips: mt7621: Add DNA Valokuitu Plus EX400") Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
---
v4: use append-image-stage, remove Build/kernel-initramfs-bin
v3: adjust commit subject
v2: remove fix for inconsistent line ending elsewhere in the file Link: https://github.com/openwrt/openwrt/pull/16659 Signed-off-by: Robert Marko <robimarko@gmail.com>
Petr Štetiar [Mon, 4 Nov 2024 07:33:37 +0000 (07:33 +0000)]
openwrt-keyring: fix missing 24.10 usign key by installing it
@KA2107 reported that opkg is not able to verify the artifact signatures
produced by buildbot using the usign 24.10 release keys. So lets fix it
by actually adding the 24.10 usign key with d310c6f2833e97f7 fingerprint
into the openwrt-keyring package.
Daniel Golle [Sun, 3 Nov 2024 02:38:17 +0000 (02:38 +0000)]
mediatek: refresh patches
The mediatek target requires refreshing after recent additions.
Fixes: cfe8e6e75f ("mediatek: add support for Realtek RTL8261n 10G PHYs") Fixes: ddfae94a14 ("mediatek: add support for swapping the polarity on usxgmii interfaces") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 31 Oct 2024 21:08:10 +0000 (21:08 +0000)]
uboot-mediatek: import patches improving menu navigation
Using the arrow keys to navigate the U-Boot menu often leads to being
dropped into the U-Boot shell unexpectedly.
This can be prevented in most cases by improving the logic to detect the
arrow key ESC sequence and only reprinting the menu if actually needed.
Also enable CONFIG_SERIAL_RX_BUFFER for all boards as it helps preventing
the remaining cases.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 1 Nov 2024 03:37:51 +0000 (03:37 +0000)]
mediatek: mt7988: fix peripheral SPI busses
The clocks for SPI busses were named wrongly which resulted in the
spi-mt65xx driver not requesting them. This has apparently been
worked around by marking the clocks required for SPI0 which is used
for SPI-NOR and SPI-NAND flash chips as critical.
Fix the device tree for all 3 generic SPI host controllers and no
longer mark clocks as critical.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Lech Perczak [Thu, 24 Oct 2024 18:51:00 +0000 (20:51 +0200)]
ath79: Really fix 5GHz on QCA9886 variant of ZTE MF286
Fix in commit 25eead21c5ab ("ath79: fix 5GHz on QCA9886 variant of ZTE MF286")
was incomplete. A user of such variant popped up, and in the boot log
after installation, we discovered that QCA9886 expects different
pre-calibration data size, than the older QCA9880 variant:
ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9888-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 59e741e7
ath10k_pci 0000:00:00.0: invalid calibration data length in nvmem-cell 'pre-calibration': 2116 != 12064
ath10k_pci 0000:00:00.0: Loading BDF type 0
ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0056,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9888/hw2.0/board-2.bin
ath10k_pci 0000:00:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9888/hw2.0
ath10k_pci 0000:00:00.0: failed to fetch board file: -12
ath10k_pci 0000:00:00.0: could not probe fw (-12)
Explicitly define a pre-calibration nvmem-cell for this variant, and use
it instead of the calibration one, which is shorter.
Rafal Boni [Thu, 24 Oct 2024 07:06:22 +0000 (03:06 -0400)]
ipq806x: Revert "ipq806x: swap lan leds for Meraki MR52"
This reverts commit ec8f647d168fa8f3b1eedd9b5fe665f793f3a659, as with the
current kernel version, the change actually causes the same bug it once
may have fixed -- that is, the leds are now again reversed.
I suspect this was due to a switch to a newer kernel version between when
the patch was submitted and now reversing the order of the interfaces, so
that eth0 / the LAN interface is also the interface used for PoE, and eth1
/ the WAN interface is the non-PoE interface.
Correctly ignore Initramfs image copy on error. This follows the pattern with
sysupgrade image where an image might fail as it's too big or the
generation command fails and there is nothing to copy to the bin
directory.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop removal of firewall4 package for I2SE Duckbill device.
With OPKG the firewall4 package was installed anyway as it's a
dependency of luci-app-firewall and was silently installed again later
in such condition. Drop it to fix support for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
mvebu: cortexa9: drop removal of firewall4 package
Drop removal of firewall4 package for Synology DS213j device.
With OPKG the firewall4 package was installed anyway as it's a
dependency of luci-app-firewall and was silently installed again later
in such condition. Drop it to fix support for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Tue, 29 Oct 2024 10:09:24 +0000 (11:09 +0100)]
build: don't include kernel/libc in package index
The same that is done in `ipkg-make-index.sh` should happen with APK.
If the pseudo packages, only added to add dependency constraints, are
added to the index, APK happily "upgrades" them and installs updated
kmods, too. However, the Kernel itself is never installed via a regular
package.
Fixes: https://github.com/openwrt/openwrt/issues/16808 Signed-off-by: Paul Spooren <mail@aparcar.org>
John Thomson [Wed, 16 Oct 2024 02:51:22 +0000 (12:51 +1000)]
kernel: mtdsplit_minor: accept bootimage filename
RouterBOOT v7 on NOR devices no longer accepts the YAFFS kernel ELF
method of booting. It will accept an NPK image named bootimage.
Adjust mtdsplit_minor to accept this second possible boot file name.
Use the conservative value of 127 for YAFFS max name length (used when
YAFFS compiled with unicode support) vs 255.
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> Acked-by: Thibaut VARENE <hacks@slashdirt.org> Link: https://github.com/openwrt/openwrt/pull/16780 Signed-off-by: Robert Marko <robimarko@gmail.com>
John Thomson [Tue, 15 Oct 2024 21:13:25 +0000 (07:13 +1000)]
kernel: mtdsplit_minor: return 0 if not fatal
Introduced with Linux 6.7, in commit: 5c2f7727d437 ("mtd: mtdpart: check for subpartitions parsing result"),
when a parser returns an error, this will be passed up, and
consequently, all parent mtd partitions get torn down.
Adjust the MiNOR mtdsplit driver to only return an error if there is a
critical problem in reading from the mtd device or allocating memory.
Otherwise return 0 to indicate that no partitions were found.
Also add logging to indicate what went wrong.
This mtdsplit parser makes a very limited check of the first YAFFS
header. For example, this will not match expectations when initially booting
an initramfs image with OEM on MTD.
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> Acked-by: Thibaut VARENE <hacks@slashdirt.org> Link: https://github.com/openwrt/openwrt/pull/16780 Signed-off-by: Robert Marko <robimarko@gmail.com>