Paul Spooren [Mon, 28 Oct 2024 22:20:57 +0000 (23:20 +0100)]
imagebuilder: always add local packages.adb
It doesn't matter if `IB_STANDALONE` is enabled or not, local packages
must always be considered.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Mon, 28 Oct 2024 21:33:48 +0000 (22:33 +0100)]
package: fix key creation for SDK
Prior to this commit keys would only be generated if `make` is called
alone, but not for something like `make package/busybox/compile`.
The exact reasons are in the depth of make magic, so this is sheer luck!
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Sun, 27 Oct 2024 15:36:33 +0000 (16:36 +0100)]
include/package-pack: drop version from provides
Adding a version to the provides causes it to conflict with other
packages that provides the same package, further details are available
here: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/doc/apk-package.5.scd#L199
This was intitally done, if I remember correctly, to support depending
on the specific kernel modules. Due to patches to APK, versions
containing hashes work now, too, so this is no longer required.
Only add the version to packages that define an ABI version since other
packages depend against the package name plus ABI version.
While at it, format the now rather complex call.
Fixes: https://github.com/openwrt/openwrt/issues/16795
Signed-off-by: Paul Spooren <mail@aparcar.org>
Christian Marangi [Sun, 27 Oct 2024 09:02:55 +0000 (10:02 +0100)]
armsr: don't limit kmods to armsr armv8 subtarget
Drop limitation on depending on only armv8 for armsr target as those
module should support both 32 and 64 bits systems.
Only thunderx-net actually require 64 bit systems.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Fri, 12 Apr 2024 17:01:57 +0000 (19:01 +0200)]
dsl-vrx200-firmware-xdsl: fix PKG_VERSION for APK
The version was a mix of strings, hex numbers and semantic numbers.
Switch the PKG_VERSION to something digestible by APK and introduce
PKG_SOURCE_VERSION to handle the actual filename.
While at it, drop the redundant PKG_B_NAME which was the same as
PKG_NAME anyway.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Christian Marangi [Sat, 26 Oct 2024 21:17:46 +0000 (23:17 +0200)]
layerscape: drop fmc and fmc-eth-config package
Drop fmc and fmc-eth-config package as they were never actually
submitted to openwrt mainline and they don't exist around.
They are probably part of NXP SDK and were added due to copy-paste
errors.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 21:16:21 +0000 (23:16 +0200)]
layerscape: set firmware package to skip installation
Add the '~' prefix to package that needs to skip installation as they
are meta-package just to download and compile firmware package for the
final firmware.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 20:57:46 +0000 (22:57 +0200)]
build: introduce support to declare skip package
It seems some target started declaring package in DEVICE_PACKAGES just
to call InstallDev and generate binary for the image firmware.
This is very much used by layerscape target where trusted-firmware-a and
dependency are called for final image generation.
This is problematic for APK since it's more sensible to non exisiting
package.
To handle this, introduce a prefix '~' for a package that will signal to
build the package but not install it in the final image.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 10:29:32 +0000 (12:29 +0200)]
omnia-mcutool: fix version for APK
Refactor version of omnia-mcutool for APK.
Switch to git clone and use hash instead of converting 0.3-rc3 to 0.3.3.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Sat, 26 Oct 2024 09:50:21 +0000 (11:50 +0200)]
adb: fix version for APK
Refactor version of adb for APK.
Use HASH instead of rc tag.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 20:35:02 +0000 (22:35 +0200)]
apk: switch to wget url backend for HOST tool
Switch APK to wget url backend for HOST tool to handle a problem with
libressl.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 12:56:20 +0000 (14:56 +0200)]
ramips: mt7621: drop kmod-i2c-ralink from ASUS RP-AC56
Drop kmod-i2c-ralink from ASUS RP-AC56 as it was wrongly added. Such
kmod is not supported on mt7621 as i2c is handled by the mediatek driver
and not bay the ralink downstream one.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 10:27:28 +0000 (12:27 +0200)]
bcm27xx-utils: fix version for APK
Refactor version of bcm27xx-utils for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 09:56:45 +0000 (11:56 +0200)]
msx: fix wrong device package list for I2SE Duckbill
Fix wrong package device list that is trying to remove deprecated
packages. Replace with new variant where possible.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Fri, 25 Oct 2024 08:25:10 +0000 (10:25 +0200)]
adb-enablemodem: fix version for APK
Refactor version of adb-enablemodem for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 23:12:35 +0000 (01:12 +0200)]
apk: add patch adding support for ARM Big-Endian arch
Add patch adding support for ARM Big-Endian arch like Intel XScale
IXP4xx SoC.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 22:47:07 +0000 (00:47 +0200)]
ipq40xx: drop ipq-wifi-teltonika_rutx from Teltonika RUTX50
Drop ipq-wifi-teltonika_rutx from Teltonika RUTX50, the board file was
merged upstream but the ipq package was never dropped from
DEVICE_PACKAGES list.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 22:12:05 +0000 (00:12 +0200)]
mac80211: reintroduce rt61/rt73 support
Reintroduce rt61/rt73 support as they looks to be pretty standard and
currently required by Gemini or Xway-legacy targets.
Notice that they are b/g card.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 21:46:44 +0000 (23:46 +0200)]
bcm53xx: drop kmod-ledtrig-default-on and kmod-ledtrig-netdev
Drop kmod-ledtrig-default-on and kmod-ledtrig-netdev as the kmod were
dropped and are now enabled by default.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 21:37:24 +0000 (23:37 +0200)]
ath79: replace ancient kmod-ledtrig-usbdev with kmod-usb-ledtrig-usbport
Replace ancient kmod-ledtrig-usbdev dropped from 2016 with
kmod-usb-ledtrig-usbport upstream.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 21:23:03 +0000 (23:23 +0200)]
bcm27xx-gpu-fw: fix version for APK
Refactor version of bcm27xx-gpu-fw for APK.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:45:01 +0000 (20:45 +0200)]
imagebuilder: complete support for local signing keys
Complete support for local signing keys for APK.
A local key will be always generated, mkndx is always called with
--allow-untrusted as it needs to replace the sign key with the new local
one.
With CONFIG_SIGNATURE_CHECK the local index is signed with the local
key. Local public key is added with the ADD_LOCAL_KEY option.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:36:43 +0000 (20:36 +0200)]
imagebuilder: actually support IB from buildbot
ImageBuilder compiled by buildbot doesn't have any package in the
packages directory. Package needs to be downloaded instead.
This works by calling update to the package manage to download the
remove index and download the file.
Fix missing support for this with APK, by configuring the
--repositories-file option and calling the APK update.
Also move the apk add --initdb to package_index.
If CONFIG_SIGNATURE_CHECK is not enabled, the signature is not checked.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:32:42 +0000 (20:32 +0200)]
imagebuilder: correctly export PACKAGE_DIR and PACKAGE_DIR_ALL
Correctly export PACKAGE_DIR and PACKAGE_DIR_ALL so that they won't be
reset on internal call of rules.mk
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:29:52 +0000 (20:29 +0200)]
imagebuilder: copy apk keys with CONFIG_SIGNATURE_CHECK
With CONFIG_SIGNATURE_CHECK enabled, copy keys following OPKG pattern.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:25:06 +0000 (20:25 +0200)]
build: detach apk repository handling from rootfs.mk
To better support imagebuilder declaring --repositories-file on calling
apk macro, detach this and --repository from rootfs.mk macro and move it
to package Makefile and image.mk where they are used to permit a more
generic usage.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 18:13:07 +0000 (20:13 +0200)]
build: permit overwrite PACKAGE_DIR and PACKAGE_DIR_ALL
Permit to overwrite PACKAGE_DIR and PACKAGE_DIR_ALL variables in
rules.mk.
This is to handle a special case with the ImageBuilder where these
variable are overwrite.
The main problem is that any include calling rules.mk again (example
image.mk) will set these variables again dropping the modified value.
To keep the modified value, set the PACKAGE_DIR and PACKAGE_DIR_ALL only
if not already set. This permits the ImageBuilder to use custom
directory instead of the default one defined in rules.mk.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Paul Spooren [Fri, 23 Aug 2024 21:46:52 +0000 (23:46 +0200)]
cypress-firmware: fix version for APK
Refactor version for cypress-firmware for APK.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Mon, 28 Oct 2024 23:03:39 +0000 (00:03 +0100)]
apk: bump to latest HEAD 2024-10-28
Bump APK to latest HEAD 2024-10-28.
- Minor fixed to index inherit
- Fixup to adb_w_copy
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Mon, 28 Oct 2024 13:01:52 +0000 (14:01 +0100)]
airoha: an7581: replace TRNG patch with upstream version
Replace TRNG patch with upstream version.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Til Kaiser [Sun, 27 Oct 2024 13:02:14 +0000 (14:02 +0100)]
xdp-tools: fix compilation when bpftool is installed
Currently, xdp-tools doesn't compile on build systems where
bpftool is installed because additional tools and BPF programs
will be compiled then, which results in build errors.
This commit disables the compilation of those bpftool-dependent tools.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16787
Signed-off-by: Robert Marko <robimarko@gmail.com>
Zoltan HERPAI [Sun, 27 Oct 2024 17:36:12 +0000 (17:36 +0000)]
dns320l-mcu: bump to 2024-10-27
Improve support for power button handling.
d9a2878 - Use /sys/class/gpio/mcu_power for monitoring the MCU power line
02b6005 - Use "halt" instead of "shutdown"
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Zoltan HERPAI [Sun, 27 Oct 2024 17:35:11 +0000 (17:35 +0000)]
kirkwood: dns320l: export mcu_power GPIO
This GPIO is pulled down by the onboard MCU when the power button
is pressed for 5 seconds, indicating a user-initiated shutdown.
Refresh patches at the same time.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Markus Stockhausen [Sun, 15 Sep 2024 17:01:41 +0000 (13:01 -0400)]
realtek: ethernet: Improve SMI polling configuration based on DTS
Although Zyxel XGS1210 devices are not yet officially supported there
are several patches floating around to enable them. This is a very imporant
one because it fixes a SMI misconfiguration. In the known DTS the SFP+
port settings are set as follows.
phy26: ethernet-phy@26 {
compatible = "ethernet-phy-ieee802.3-c45";
phy-is-integrated;
reg = <26>;
sds = < 8 >;
};
phy27: ethernet-phy@27 {
compatible = "ethernet-phy-ieee802.3-c45";
phy-is-integrated;
reg = <27>;
sds = < 9 >;
};
So these are PHYs linked to an internal SerDes. During initialization
rtl838x_mdio_init() generates smi_bus=0 & smi_addr=27/28 for these ports.
Although this seems like a valid configuration integrated PHYs attached
to an SerDes do not have an SMI bus. Later on the mdio reset wrongly feeds
the SMI registers and as a result the PHYs on SMI bus 0 do not work.
Without patch (loaded with rtk network on & initramfs):
...
mdio_bus mdio-bus: MDIO device at address 0 is missing.
mdio_bus mdio-bus: MDIO device at address 1 is missing.
mdio_bus mdio-bus: MDIO device at address 2 is missing.
mdio_bus mdio-bus: MDIO device at address 3 is missing.
mdio_bus mdio-bus: MDIO device at address 4 is missing.
mdio_bus mdio-bus: MDIO device at address 5 is missing.
mdio_bus mdio-bus: MDIO device at address 6 is missing.
mdio_bus mdio-bus: MDIO device at address 7 is missing.
...
rtl83xx-switch ... : no phy at 0
rtl83xx-switch ... : failed to connect to PHY: -ENODEV
rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 0
rtl83xx-switch ... : no phy at 1
rtl83xx-switch ... : failed to connect to PHY: -ENODEV
rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 1
...
With patch (loaded with rtk network on & initramfs):
...
rtl83xx-switch ... : PHY [mdio-bus:00] driver [REALTEK RTL8218D] (irq=POLL)
rtl83xx-switch ... : PHY [mdio-bus:01] driver [REALTEK RTL8218D] (irq=POLL)
...
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 18 Oct 2024 06:20:20 +0000 (02:20 -0400)]
realtek: remove wrong SMI bus from XGS1250
The RTL930x have only 4 SMI busses (0-3) and the XGS1250 SFP port ist
directly managed. Remove the wrong configuration in the dts.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 17:36:14 +0000 (13:36 -0400)]
realtek: phy: fix RTL8218D detection
Currently RTL8218D detection works for a range of devices. That can lead to
false positives. E.g. RTL8218B or RTL8214FC are covered by the detection mask
as well. That is wrong. Nail detection down to the real RTL8218D phy id.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 18 Oct 2024 07:00:18 +0000 (03:00 -0400)]
realtek: phy: simplify RTL8214C detection
The detection of the RTL8214C is a little complicated. Make it easier.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 17:19:22 +0000 (13:19 -0400)]
realtek: phy: proper RTL8218B, RTL8214FC, RTL8214FB detection
Three PHYs share the same identifier. Until now we simply assume
the type depending of the bus address it is attached to. Make it
better and check the chip mode register instead.
The kernel will either detect by id/mask or by match_phy_device().
Remove the unneeded settings.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 16:46:18 +0000 (12:46 -0400)]
realtek: phy: adapt raw page for RTL839X
The number of phy pages differ between RTL838X and RTL839X. Make that
clear and adapt the existing defines.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Sun, 22 Sep 2024 16:03:43 +0000 (12:03 -0400)]
realtek: dsa: increase RTL839x max phy page to 8191
According to the specs the RTL839x provides up to 8192 phy pages.
Especially the "raw" page 8191 is used for different initialization
tasks. Increase the limit.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Markus Stockhausen [Fri, 18 Oct 2024 06:14:02 +0000 (02:14 -0400)]
realtek: dsa: allow USXGMII mode
RTL930x devices need the USXGMII mode. This is a final leftover
from the 6.6 conversion.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
Christian Marangi [Sun, 27 Oct 2024 14:58:16 +0000 (15:58 +0100)]
Revert "scripts/download.pl: read file natively"
This reverts commit
65560de58de7a3cde8f960849e3c7c640b9456d8.
Seems to broke CI and require more testing.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Daniel Golle [Sun, 27 Oct 2024 14:24:47 +0000 (14:24 +0000)]
mediatek: mt7988: add DT entries for WED
Add memory regions and devices used for wireless offloading to the
device tree for MT7988.
This allows using WED on devices with MT7988 SoC and MT7995E, MT7996E or
MT7992E wireless controllers.
Devices with 4 GiB of RAM (or more) will still need ajustments to avoid
running out of swiotlb entries.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Rosen Penev [Wed, 9 Oct 2024 20:44:56 +0000 (13:44 -0700)]
ramips: modernize pwm driver
Add more devm usage.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16649
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kevin Zhang [Sun, 27 Oct 2024 05:13:47 +0000 (01:13 -0400)]
rockchip: Add LED aliases for FriendlyElec NanoPi R3S
This commit adds OpenWRT's LED aliases to the board DTS
for showing system status on the NanoPi R3S.
Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kevin Zhang [Sun, 27 Oct 2024 05:13:05 +0000 (01:13 -0400)]
rockchip: Add support for RK3566 FriendlyElec NanoPi R3S
This commit adds support for the FriendlyElec NanoPi R3S.
CPU: Rockchip RK3566, Quad-core Cortex-A55
RAM: 2GB LPDDR4X
Ethernet: GMAC RTL8211F GbE, PCIe R8111H GbE
USB3.0 Host: Type-A x1
Storage: MicroSD Slot x 1, and optional on-board 32GB eMMC
Debug Serial Port: 3.3V TTL, 3-pin 2.54mm pitch connector,
1500000 bauds
LED: LED x 3
RTC: One low-power RTC, supports backup battery input
Both GbE controllers are working (WAN eth0, LAN eth1).
Appropriate LAN/WAN interface assignments and MAC address generation.
All three LEDs are working.
USB appears to be working and has been tested with mass storage.
Installation - microSD:
-Uncompress the OpenWRT sysupgrade.img.gz
-Write image to microSD card using dd or similar tool
Installation - eMMC:
-Boot from microSD
-Uncompress the OpenWRT sysupgrade.img.gz
-Flash to eMMC : dd if=x.img of=/dev/mmcblk0
-sync
-Remove microSD card
-Reboot
Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kevin Zhang [Sun, 27 Oct 2024 05:12:01 +0000 (01:12 -0400)]
uboot-rockchip: add support for NanoPi R3S
This commit adds u-boot support for the NanoPi R3S.
Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Tue, 22 Oct 2024 23:21:46 +0000 (16:21 -0700)]
ramips: use platform_get_irq
No need for irq_of_parse_and_map since this is in _probe.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16771
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Matteo Croce [Sat, 28 Sep 2024 23:01:01 +0000 (01:01 +0200)]
scripts/download.pl: read file natively
Read files natively instead of execing /bin/cat.
Signed-off-by: Matteo Croce <teknoraver@meta.com>
Link: https://github.com/openwrt/openwrt/pull/16784
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Til Kaiser [Sun, 27 Oct 2024 13:05:50 +0000 (14:05 +0100)]
xdp-tools: re-add vlan_hdr struct
Drop the patch to re-add the vlan_hdr struct
because it is required now to build xdp-filter.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16798
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Marius Dinu [Sat, 26 Oct 2024 17:10:55 +0000 (20:10 +0300)]
kernel: add missing CONFIG_DM_AUDIT
The option shows up when kmod-dm and CONFIG_KERNEL_AUDIT are selected.
Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
Link: https://github.com/openwrt/openwrt/pull/16793
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Daniel Golle [Sat, 26 Oct 2024 00:35:29 +0000 (01:35 +0100)]
kernel: add MultiPath TCP diag kernel module
Add INET diag socket monitoring interface module for MultiPath TCP.
It allows using native Linux socket diagnostic tools such as 'ss' for
Multipath TCP connections.
Co-authored-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
Signed-off-by: sKy King <29267720+sKyissKy@users.noreply.github.com>
Link: https://github.com/openwrt/openwrt/pull/12884
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 25 Oct 2024 17:15:41 +0000 (18:15 +0100)]
kernel: enable Multi-Path TCP for !SMALL_FLASH targets
Expose Kernel's CONFIG_MPTCP option and enable it by default for
!SMALL_FLASH targets.
The idea behind enabling it by default is to allow users of the binary
distribution to make use of MPTCP tunneling for link aggregation.
Using MPTCP for link aggregation is an often discussed topic in the
forum and there is even a whole OpenWrt fork (MPTCPRouter) just for that.
Enabling the kernel-side of the story by default will allow using MPTCP
on vanilla OpenWrt without having to build anything from source.
See also https://openwrt.org/docs/guide-user/network/mptcp
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 26 Oct 2024 14:18:50 +0000 (15:18 +0100)]
generic: mtk_wed: fix path of MT7988 WO firmware
commit
eee3c695f3 ("linux-firmware: add offloading firmware for MT7988")
added mt7988_wo_{0,1}.bin in the 'mediatek/mt7988' directory while driver
currently expects the files in the 'mediatek' directory.
Import pending patch which changes the path in the driver header now
that the firmware has been added.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Andreas Gnau [Fri, 25 Oct 2024 16:49:48 +0000 (18:49 +0200)]
airoha: Clarify subtarget compatibility
Clarify compatibility of the two subtargets with different SoCs to
reduce confusion. The added SoC names only differ in small details such
as features enabled (PoN vs DSL for example).
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/16785
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:09:36 +0000 (00:09 +0800)]
ramips: rt3883: convert devices to interrupt-driven gpio-keys
This converts all RT3662 and RT3883 devices to use interrupt based
gpio-keys instead of gpio-keys-polled. The poll-interval will be
removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:09:19 +0000 (00:09 +0800)]
ramips: rt305x: convert devices to interrupt-driven gpio-keys
This converts all RT305x and RT5350 devices to use interrupt based
gpio-keys instead of gpio-keys-polled. The poll-interval will be
removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:08:25 +0000 (00:08 +0800)]
ramips: rt2880: convert devices to interrupt-driven gpio-keys
This converts all RT2880 devices to use interrupt based gpio-keys
instead of gpio-keys-polled. The poll-interval will be removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 16:07:53 +0000 (00:07 +0800)]
ramips: mt76x8: convert Minew G1-C to interrupt-driven gpio-keys
All other MT76x8 devices have already been migrated to gpio-keys.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 15:09:57 +0000 (23:09 +0800)]
ramips: dts: add the missing interrupt properties for GPIO nodes
The Ralink GPIO driver supports irqchip function. Hence we need to
add "interrupt-parent" and "interrupt-controller" properties to make
sure it works properly. It is worth noting that all GPIO devices
share the same interrupt line.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Wed, 23 Oct 2024 13:56:23 +0000 (21:56 +0800)]
ramips: ralink-gpio: use irqchip helpers to register driver
The gpiolib has already introduced a general GPIO irqchip framework
to initialize the GPIO irqchip[1]. This patch will make use of it
to simplify the legacy Ralink GPIO driver codes. This patch also
includes some code readability improvements.
[1]
1425052097b5 ("gpio: add IRQ chip helpers in gpiolib")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
Hauke Mehrtens [Wed, 23 Oct 2024 22:03:13 +0000 (00:03 +0200)]
mbedtls: update to 3.6.2
Fixes the following security problem:
* CVE-2024-49195: Fix a buffer underrun in mbedtls_pk_write_key_der()
when called on an opaque key, MBEDTLS_USE_PSA_CRYPTO is enabled, and
the output buffer is smaller than the actual output. Fix a related
buffer underrun in mbedtls_pk_write_key_pem() when called on an opaque
RSA key, MBEDTLS_USE_PSA_CRYPTO is enabled and MBEDTLS_MPI_MAX_SIZE is
smaller than needed for a 4096-bit RSA key.
Link: https://github.com/openwrt/openwrt/pull/16768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Christian Marangi [Thu, 24 Oct 2024 10:46:47 +0000 (12:46 +0200)]
include/package-pack: Set missing Maintainer and URL for APK
Set missing Maintainer and URL info for .apk creation.
Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 24 Oct 2024 10:45:36 +0000 (12:45 +0200)]
include/package-pack: remove whitespace for Description info for APK
Remove whitespace for Description info for .apk creation
Fixes: b6bbc76c0b2a ("include/package-pack: set missing Description on .apk creation")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Rosen Penev [Thu, 17 Oct 2024 23:27:02 +0000 (16:27 -0700)]
mpc85xx: move CONFIG_MTD_SPLIT_FIRMWARE up
It's shared by all targets. Unlike the other shared symbols, it's not
removed by kernel_oldconfig.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16756
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Thu, 17 Oct 2024 23:48:20 +0000 (16:48 -0700)]
apm821xx: move CONFIG_GENERIC_PHY up
It's shared by both subtargets.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
John Audia [Tue, 22 Oct 2024 19:59:20 +0000 (15:59 -0400)]
kernel: bump 6.6 to 6.6.58
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.58
All patches automatically rebased.
Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16758
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Daniel Golle [Wed, 23 Oct 2024 12:38:55 +0000 (13:38 +0100)]
mediatek: add wireless offloading firmware to MT7988 boards
Install mt7988-wo-firmware by default on boards based on MT7988.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Wed, 23 Oct 2024 12:36:29 +0000 (13:36 +0100)]
linux-firmware: add offloading firmware for MT7988
Package wireless offloading firmware for MediaTek MT7988.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Christian Marangi [Wed, 23 Oct 2024 10:19:03 +0000 (12:19 +0200)]
airoha: rename subtarget from en7581 to an7581
The Airoha EN7581 got renamed to AN7581 due to move from Econet to
Airoha.
To save on compatibility, use both compatible for the device.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Wed, 23 Oct 2024 10:17:40 +0000 (12:17 +0200)]
airoha: en7581: refresh and fix PWM patch
Refresh and fix PWM patch with new revision proposed upstream.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Tue, 22 Oct 2024 22:10:02 +0000 (00:10 +0200)]
include/package-pack: set missing Description on .apk creation
Set missing description info on .apk creation. This was probably a TODO
that wasn't notice when the final implementation was pushed.
Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Hauke Mehrtens [Sun, 20 Oct 2024 13:31:23 +0000 (15:31 +0200)]
kernel: Reorder config files
Reorder the kernel configuration files.
This was done uisng:
./scripts/kconfig-reorder.sh
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 13:38:57 +0000 (15:38 +0200)]
mediatek: Remove double CONFIG_HARDEN_BRANCH_PREDICTOR
CONFIG_HARDEN_BRANCH_PREDICTOR option is included two times in this
configuration file. Remove one definition. On arm32 SoC it should not be
needed.
Fixes: 54f9744c820a ("treewide: disable spectre mitigation on unaffected Arm32 targets")
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Mon, 21 Oct 2024 22:02:28 +0000 (00:02 +0200)]
scripts: Add script to reorder kernel config-* files
This script will reorder the content of all config-* files in the target
folder. It will also remove duplicates. It will not remove options
already defined in the generic configuration.
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Felix Fietkau [Tue, 22 Oct 2024 14:56:19 +0000 (16:56 +0200)]
hostapd: fix build error with SAE disabled
Fixes: b2a2c286170d ("hostapd: add support for authenticating with multiple PSKs via ubus helper")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Christian Marangi [Tue, 22 Oct 2024 14:10:05 +0000 (16:10 +0200)]
ppp: install pkg-config file on InstallDev
It seems some package (sstp-client) makes use of pppd.pc file to detect
the ppp version as 2.5.0 changed some API.
Also install the .pc file to permit the version detection of pppd.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Felix Fietkau [Wed, 12 Jun 2024 13:06:05 +0000 (15:06 +0200)]
wifi-scripts: add multi-radio config support
Emit one wifi-device section per wiphy radio
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 2 Oct 2024 17:56:52 +0000 (19:56 +0200)]
iwinfo: add multi-radio support
Fix the path to the hostapd config file for queries
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Sat, 29 Jun 2024 11:03:30 +0000 (13:03 +0200)]
iw: add multi-radio support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 17 Jul 2024 14:11:30 +0000 (16:11 +0200)]
ucode: add support for nl80211 vif radio mask
Used for multi-radio support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Thu, 26 Sep 2024 12:15:14 +0000 (14:15 +0200)]
mac80211: improve single-wiphy multi-radio support
- add support for configuring allowed radios for a vif
- add support for monitor mode on multiple channels
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Thu, 23 May 2024 18:16:40 +0000 (20:16 +0200)]
hostapd: add support for authenticating with multiple PSKs via ubus helper
Also supports assigning a VLAN ID based on the PSK
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Christian Marangi [Tue, 22 Oct 2024 11:53:51 +0000 (13:53 +0200)]
imagebuilder: also remove vmlinuz initramfs image files
Also remove vmlinuz-initramfs files from final imagebuilder image as
these file are not needed.
Fixes: c85348d9abf4 ("imagebuilder: remove initramfs image files")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Felix Fietkau [Tue, 22 Oct 2024 11:15:48 +0000 (13:15 +0200)]
uclient: update to Git HEAD (2024-10-22)
88ae8f208dd3 uclient-http: fix a typo
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Tue, 22 Oct 2024 08:59:55 +0000 (10:59 +0200)]
hostapd: add support for querying bss config parameters via ubus
Supports reading the same parameters currently being used by iwinfo.
Preparation for replacing iwinfo with a rewrite in ucode.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Piotr Dymacz [Mon, 22 Apr 2024 09:34:27 +0000 (11:34 +0200)]
uboot-envtools: ath79: add support for ALFA Network WiFi CampPro Nano Duo
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Piotr Dymacz [Mon, 22 Apr 2024 09:01:52 +0000 (11:01 +0200)]
ath79: add support for ALFA Network WiFi CampPro Nano Duo
ALFA Network WiFi CampPro Nano Duo is a dual-radio Wi-Fi signal extender
(router) in USB dongle form-factor (Type-A plug is used only for power),
based on combination of two radio chipsets: Qualcomm QCA9531 (main SOC)
and MediaTek MT7610U (connected over USB 2.0 interface).
Specifications:
- SOC: QCA9531 v2 (650 MHz)
- DRAM: DDR2 128 MiB (Nanya NT5TU64M16HG-AC)
- Flash: 16 MiB SPI NOR (Macronix MX25L12835F)
- Ethernet: 1x 10/100 Mbps Ethernet (QCA9531)
- Wi-Fi: 2x2:2 2.4 GHz Wi-Fi 4 (QCA9531)
1x1:1 2.4/5 GHz Wi-Fi 5 (MT7610U)
- Antenna: 3x RP-SMA (female) antenna connectors
- LED: 1x orange (RJ45, power indicator)
2x green (status + RJ45 activity/link)
1x blue (Wi-Fi 2.4 GHz status)
- Button: 1x button (reset)
- UART: 1x 4-pin, 2.00 mm pitch header on PCB
- Other: external h/w watchdog (EM6324QYSP5B, enabled by default)
GPIO-controlled USB power for MT7610U
MAC addresses:
- LAN: 00:c0:ca:xx:xx:6d (art 0x2, -1)
- 2.4 GHz (QCA9531): 00:c0:ca:xx:xx:6e (art 0x2, device's label)
- 2.4/5 GHz (MT7610U): 00:c0:ca:xx:xx:6f (from eeprom)
Flash instructions:
You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:
1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with RJ45 port, press the reset button, power up device,
wait for first blink of status LED (indicates network setup), then
keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Markus Stockhausen [Tue, 15 Oct 2024 12:57:41 +0000 (08:57 -0400)]
scripts: linksys-image: add NAND devices
The larger switches of the Linksys LGS series (e.g. LGS352C) make
use of NAND. So the vendor firmware uses other commands to upload
an image through the WebUI.
Add the required scripts. With this we can upload an image to all
devices of that series. Independant of NOR or NAND.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16711
Signed-off-by: Robert Marko <robimarko@gmail.com>
Ivan Pavlov [Tue, 8 Oct 2024 20:41:27 +0000 (23:41 +0300)]
iptables: update to 1.8.10
Source archive format changed to tar.xz
Removed upstreamed
020-treewide-use-uint-instead-of-u_int.patch
030-revert-fix-build-for-missing-ETH_ALEN-definition.patch
040-xshared-Fix-build-for-Werror-format-security.patch
050-build-fix-error-during-out-of-tree-build.patch
060-libxtables-unexport-init_extensions-declarations.patch
070-extensions-string-Review-parse_string-function.patch
104-nft-track-each-register-individually.patch
Manually rebased
600-shared-libext.patch
Change netfiletr.mk due to module name change
https://git.netfilter.org/iptables/commit/?id=
f30c5edce0413b2b2346c7f58e801f10f6e9bc5a
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Mon, 14 Oct 2024 21:06:57 +0000 (14:06 -0700)]
kernel: move CONFIG_DRM_OFDRM to generic
Multiple platforms are affected by this, including mpc85xx's p1020.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16746
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Sat, 19 Oct 2024 23:04:26 +0000 (16:04 -0700)]
kernel: gpio-cascade: use gpiochip_get_data
Instead of passing NULL to gpiochip_add_data, we can populate the
parameter and use gpiochip_get_data instead of a custom function.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16739
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Thu, 26 Sep 2024 23:36:35 +0000 (16:36 -0700)]
treewide: remove platform_get_resoruce
Easier to just use devm_platform_ioremap_resource.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16701
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Matthew Hagan [Mon, 6 Sep 2021 22:42:35 +0000 (22:42 +0000)]
bcm53xx: add support for Cisco Meraki MX64/MX65
This commit adds support for the Cisco Meraki MX64 and MX65 devices which
use the Broadcom NSP SoC, which is compatible with the bcm53xx platform.
MX64 Hardware info:
- CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
- RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
- Storage: 1 GB (Micron MT29F8G08ABACA)
- Networking: BCM58625 internal switch (5x 1GbE ports)
- USB: 1x USB2.0
- Serial: Internal header
MX65 Hardware info:
- CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
- RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
- Storage: 1 GB (Micron MT29F8G08ABACA)
- Networking: BCM58625 switch (2x 1GbE ports, used for WAN ports 1 & 2)
2x Qualcomm QCA8337 switches (10x 1GbE ports, used for LAN ports 3-12)
- PSE: Broadcom BCM59111KMLG connected to LAN ports 11 & 12
- USB: 1x USB2.0
- Serial: Internal header
Notes:
- The Meraki provided GPL source are available at [2].
- Wireless capability on the MX64W and MX65W exists in the form of 2x
Broadcom BCM43520KMLG, which is not supported. These devices will work
otherwise as standard MX64 or MX65 devices.
- Early MX64 units use an A0 variant of the BCM958625 SoC which lacks
cache coherency and uses a different "secondary-boot-reg". As a
consequence a different device tree is needed.
- Installation of OpenWrt requires changing u-boot to a custom version.
This is due to the stock u-boot "nand read" command being limited to
load only 2MB, in spite of the bootkernel1 and bootkernel2 partitions
both being 3MB in the stock layout. It is also required to allow
booting via USB, enabling cache coherency and setting up the QCA
switches and Serdes link on the MX65. The modified sources for U-boot
are available for the MX64[3] and MX65[4].
- Initial work on this device used a small bootloader within the OEM
partition scheme. To allow booting of larger kernels, UBI and bootm
support has been added, along with ability to store env variables to
the NAND. The Shmoo and newly created env partitions have been moved
to the extra space available after the nvram data.
- Users who installed the previous non-UBI supporting bootloader will
need to convert to the new one before flashing a compatible image.
These steps are detailed below.
References:
[1] https://www.broadcom.com/products/embedded-and-networking-processors/c
ommunications/bcm5862x
[2] https://dl.meraki.net/wired-14-39-mx64-
20190426.tar.bz2
[3] https://github.com/clayface/U-boot-MX64-20190430_MX64
[4] https://github.com/clayface/U-boot-MX64-20190430_MX65
Installation guide:
Initial installation steps:
1. Compile or obtain OpenWrt files for the MX64 or MX65, including
u-boot[3][4], initramfs and sysupgrade images.
2. A USB disk with DOS partition scheme and primary FAT partition is
required.
3. If installing onto an MX64, set up a local web server.
4. On the device, boot into diagnostic mode by holding reset when
powering on the device. Continue to hold reset until the orange LED
begins to flash white. On used units the white flash may be difficult
to see.
5. Plug an Ethernet cable into the first LAN port, set the host to
192.168.1.2 and confirm telnet connectivity to 192.168.1.1.
U-boot installation - MX64 Only:
1. Newer fw versions require extra steps to support OpenWrt. To check,
please connect via telnet and run:
`cat /sys/block/mtdblock0/ro`
If the result is 1, your mtd0 is locked will need to perform extra
steps 4 and 5 in this section. If the result is 0 then skip these.
2. Check which SoC is in use by running the following command:
`devmem 0x18000000`
If devmem is not found then try:
`devmem2 0x18000000`
If the output begins with anything between "0x3F00-0x3F03" you will
need to use the A0 release. For any other output, eg "0x3F04" or
higher, use the regular MX64 image.
3 Confirm the size of the device's boot(mtd0) partition. In most
cases it should be 0x100000 or larger. If this is the case, please
proceed to use the uboot_mx64 image. If the reported size is
0x80000, please use the uboot_mx64_small image, then follow the
later guide to change to the larger image.
`cat /proc/mtd`
Example output:
`# cat /proc/mtd
cat /proc/mtd
dev: size erasesize name
mtd0:
00100000 00040000 "boot"
mtd1:
00080000 00040000 "shmoo"
mtd2:
00300000 00040000 "bootkernel1"
mtd3:
00100000 00040000 "nvram"
mtd4:
00300000 00040000 "bootkernel2"
mtd5:
3f700000 00040000 "ubi"
mtd6:
40000000 00040000 "all"`
4. Set up a webserver to serve the appropriate uboot_mx64 from the
following location and verify the SHA512:
https://github.com/clayface/U-boot-MX64-20190430_MX64
5. (Only if mtd0 is locked) You will also need the mtd-rw.ko kernel
module to unlock the partition from the same repo. An mtd executable
is also needed to write the mtd block. Place these on the web server
as well.
6. (Only if mtd0 is locked) Use wget to retrieve the files on the MX64:
`wget http://192.168.1.2/mtd-rw.ko`
`insmod mtd-rw.ko i_want_a_brick=1`
and confirm the unlock is set with dmesg
`mtd-rw: mtd0: setting writeable flag`
7. Download the appropriate u-boot image according to step 3. If you
did not need to unlock the mtd0 partition then use dd to write the
file, with caution:
`wget http://192.168.1.2/uboot_mx64`
`dd if=uboot_mx64 of=/dev/mtdblock0`
If you needed to unlock the mtd0 partition using the mtd-rw module,
run these commands instead to install u-boot instead:
`wget http://192.168.1.2/mtd`
`chmod +x mtd`
`wget http://192.168.1.2/uboot_mx64`
`./mtd write uboot_mx64 /dev/mtd0`
8. Once this has successfully completed, power off the device. If you
did not need to install the small u-boot image, proceed to
"OpenWrt Installation". Otherwise proceed to "UBI supporting
bootloader installation".
U-boot installation - MX65 Only:
1. Obtain telnet access to the MX65.
2. Confirm the size of the device's boot(mtd0) partition. In most
cases it should be 0x100000 or larger. If this is the case, please
proceed to use the uboot_mx65 image. If the reported size is
0x80000, please use the uboot_mx65_small image, then follow the
later guide to change to the larger image.
`cat /proc/mtd`
3. Prepare a USB drive formatted to FAT. Download the appropriate
uboot_mx65 to the USB drive from the following location and verify
the SHA512:
https://github.com/clayface/U-boot-MX64-20190430_MX65
3. Once you have telnet access to the MX65, plug in the USB disk and
run the following commands, with caution. The USB disk should
automount but if it does not, you will need to power off and on
again with reset held. Depending on step 2, use the uboot_mx65 or
uboot_mx65_small image accordingly:
`cd /tmp/media/sda1`
`dd if=uboot_mx65 of=/dev/mtdblock0`
4. Once this has successfully completed, power off the device. If you
did not need to install the small u-boot image, proceed to
"OpenWrt Installation". Otherwise proceed to "UBI supporting
bootloader installation".
UBI supporting bootloader installation:
These steps need to be followed if the older u-boot image was
installed, either because the Meraki diagnostic partition scheme used
0x80000 as the mtd0 size, or because you installed the u-boot provided
while OpenWrt support was still under development. If using OpenWrt,
please make a backup before proceeding.
1. Obtain the relevant image from the MX64(A0) or MX65 u-boot repo:
`openwrt-bcm5862x-generic-meraki_XXXX-initramfs-kernel.bin`
2. With the USB drive already inserted, power on the device while
holding the reset button. A white/orange flashing pattern will
occur shortly after power on. Let go of the reset button. The
device is now booting into OpenWrt initramfs stored on the USB
disk.
3. Connect by SSH to 192.168.1.1 and flash the embedded u-boot image,
changing X as appropriate:
`mtd write /root/uboot_mx6X /dev/mtd0`
You do not need to reboot as this image can handle "Kernel-in-UBI"
OpenWrt installation.
4. You can proceed to obtain and flash the appropriate OpenWrt image
at "OpenWrt Installation" Step 3.
5. Reboot will take significantly longer due to Shmoo calibration. In
case the device does not come online after several minute, power-
cycle the device and see if it boots. If you see an orange/white
flashing pattern, this indicates UBI booting was not successful and
you will need to copy a new bcm53xx image to a USB disk before
booting it and attempting to install OpenWrt again - refer to
"OpenWrt Installation" step 1. Do not attempt to reflash u-boot in
this scenario.
OpenWrt Installation:
1. Having obtained an OpenWrt image, please copy the file
`openwrt-bcm53xx-generic-meraki_XXXX-initramfs.bin`
to the base directory of a FAT formatted USB drive using DOS
partition scheme ,where XXXX is mx64, mx64_a0 or mx65 depending on
which device you have.
2. With the USB drive already inserted, power on the device. Boot time
will be longer than usual while Shmoo calibration takes place. A
different white/orange flashing pattern will eventually occur to
indicate device is now booting into OpenWrt initramfs stored on the
USB disk.
3. Ensuring Ethernet is plugged into a LAN port with IP set in the
192.168.1.0/24 subnet excluding 192.168.1.1, use SCP to copy the
sysupgrade file to 192.168.1.1:/tmp, eg:
`scp openwrt-bcm53xx-generic-meraki_XXXX-squashfs.sysupgrade.bin\
192.168.1.1:/tmp`
4. Connect by SSH to 192.168.1.1 and run sysupgrade:
`sysupgrade \
/tmp/openwrt-bcm53xx-generic-meraki_XXXX-squashfs.sysupgrade.bin`
5. OpenWrt should now be installed on the device.
Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
[ Rebase kernel configuration for 6.6,
fix failsafe by making kmod-eeprom-at24 and kmod-dsa-qca8k built-in,
resolve conflicts,
add LED aliases,
fix eth0 MAC address at probe ]
TODO:
- fix multiple LED colors not applied despite aliases - due to custom
/etc/diag.sh
- fix race condition between preinit and probing of the DSA tree,
causing no network interface available in failsafe mode (in general
case - to allow moving drivers back to modules)
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Lech Perczak [Wed, 2 Oct 2024 13:10:48 +0000 (15:10 +0200)]
bcm53xx: enable CONFIG_NET_DSA_QCA8K
Enable support for qca8k switch used in Meraki MX65. This is required to
properly support preinit networking on this device, otherwise unit won't
be accessible in failsafe mode.
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Lech Perczak [Wed, 2 Oct 2024 14:23:13 +0000 (16:23 +0200)]
bcm53xx: enable CONFIG_I2C_BCM_IPROC
This is required for the AT24 EEPROM holding MAC address on Meraki
devices to probe before preinit starts, so all network devices can be
available at the preinit network setup starts
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Lech Perczak [Wed, 2 Oct 2024 13:07:47 +0000 (15:07 +0200)]
bcm53xx: enable CONFIG_EEPROM_AT24
Meraki MX6x devices use them to store MAC address, so it is required to be
built-in for networking to probe properly, before preinit network setup
happens, which in turn is required for proper failsafe mode access.
Enable CONFIG_EEPROM_AT24 for the target.
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Lech Perczak [Sun, 20 Oct 2024 22:58:21 +0000 (00:58 +0200)]
bcm53xx: meraki: backport NVMEM layout syntax patch
This patch is required to support reading MAC address on Meraki MX64/65
line of devices, but also touches MR32, so let's backport it first.
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Matthew Hagan [Sun, 5 Sep 2021 22:25:07 +0000 (22:25 +0000)]
bcm53xx: MR26,MR32: use REQUIRE_IMAGE_METADATA
This patch adds "REQUIRE_IMAGE_METADATA=1" requirement for the MR26 and
MR32, with REQUIRE_IMAGE_METADATA explicitly 0 elsewhere. This is based
upon bcm63xx's base-files/lib/upgrade/platform.sh.
Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Wed, 2 Oct 2024 21:59:04 +0000 (14:59 -0700)]
apm821xx: nand: add NVMEM-on-UBI support
Oversight from
8d302f5ebc6e2787d01d6c6a8ef6bcc403949705 , which requires
this to work. I couldn't test it as I ended up wiping my UBI volume by
accident.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>