Stijn Tintel [Fri, 5 Apr 2024 22:45:25 +0000 (01:45 +0300)]
WIP: TP-Link EAP683-LR support
TODO:
* MAC address from ubi_factory_data on factory partition
Add support for the TP-Link EAP683-LR, an AX6000 Ceiling Mount WiFi 6
AP.
Hardware:
* SoC: MediaTek MT7896AV
* RAM: 1GiB DDR4 (Samsung K4A8G165WC-BCTD)
* Flash: 128MiB SPI-NAND (ESMT F50L1G41LB)
* Ethernet: 1x 10/100/1000/2500 Mbps PoE-PD (MaxLinear GPY211C)
* WiFi: MT7976AN/MT7976GN 2.4/5GHz 4T4R
* LEDS: 3x blue connected to a single GPIO line
* Buttons: 1x reset
* BLE/Thread/Zigbee: CC2652 (currently not supported)
Stock firmware uses a random MAC address for ethernet.
Installation via bootloader:
* Solder JST??? connector on J255, alternatively solder wires on the
TP13-TP15 pads. Pinout: TP13: TX, TP14: RX, TP15: GND, TP16: VCC.
This pins for J255 follow this order.
* Interrupt boot process by repeatedly pressing Ctrl+b during boot
* In the boot menu, select U-Boot console
* Ensure the U-Boot environment variable "tp_boot_idx" is not set:
# setenv tp_boot_idx
# saveenv
* Boot the OpenWrt initramfs:
# tftpboot openwrt-mediatek-filogic-tplink_eap683-lr-initramfs-kernel.bin
# bootm
* copy openwrt-mediatek-filogic-tplink_eap683-lr-squashfs-sysupgrade.bin
to /tmp and install it using sysupgrade
Flashing via OEM firmware is currently not supported. The
tplink-safeloader utility does not recognize the OEM firmware:
DEBUG: can not find fwuphdr
Firmware image partitions:
base size name
Segmentation fault (core dumped)
To revert to the OEM firmware, you can set the U-Boot environment
variable "tp_boot_idx" to 1 via bootloader, or using fw_setenv via
OpenWrt. This should result in booting from the ubi1 partition, which
OpenWrt should not touch. Then use the web interface to upgrade
firmware: System > Firmware Update.
The OEM firmware uses 0x800000 for the runtime_backup partition size.
This causes the following warning:
mtd: partition "runtime_backup" extends beyond the end of device "nmbm_spim_nand" -- size truncated to 0x600000
This is due to the NMBM reserved blocks. Use 0x600000 in our DTS.
Thanks to init Lab's user890104, who soldered jumper wires on the TTL
pads for me so I could have serial console. My soldering skills just
aren't good enough to pull that off without risk damaging things.
Stijn Tintel [Mon, 8 Apr 2024 16:22:55 +0000 (19:22 +0300)]
base-files: add caldata_from_file_ubifs function
On some devices, the caldata is provided in a file on ubifs. Add a
function to extract it.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
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>
Rosen Penev [Sat, 5 Oct 2024 22:25:08 +0000 (15:25 -0700)]
apm821xx: remove ethernet0 node
This is needed in order to get a MAC address from UBI.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Sat, 5 Oct 2024 19:05:41 +0000 (12:05 -0700)]
apm821xx: fix volume/volname
linux,ubi expects the volname variable, not volume.
This will fix NVMEM-on-UBI.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Wed, 2 Oct 2024 21:47:08 +0000 (14:47 -0700)]
apm821xx: nand: add missing symbols
Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Wed, 2 Oct 2024 21:39:56 +0000 (14:39 -0700)]
apm821xx: nand: sort config-default
make kernel_oldconfig doesn't seem to work with this. Handle manually.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Wed, 2 Oct 2024 21:42:43 +0000 (14:42 -0700)]
apm821xx: run make kernel_oldconfig
Adjusts the default config to modern kernels.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Sat, 19 Oct 2024 23:07:41 +0000 (16:07 -0700)]
siflower: gpio: use gpiochip_get_data
No need to use container_of.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16749
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Daniel Golle [Sat, 19 Oct 2024 23:48:57 +0000 (00:48 +0100)]
mediatek: fix OpenWrt One ubinized image in IB
The ImageBuilder when using the profile for the OpenWrt One has been
failing because the initramfs image included in the ubinized image could
not be found.
Fix that by using the staged initramfs instead when using the
ImageBuilder.
Fixes: 797904b3cb ("mediatek/filogic: add OpenWrt One support")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Álvaro Fernández Rojas [Sun, 20 Oct 2024 19:55:50 +0000 (21:55 +0200)]
kernel: r8168: update to v8.054.00
Changelog: https://github.com/openwrt/rtl8168/compare/8.053.00...8.054.00
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Jan Hoffmann [Sat, 19 Oct 2024 17:38:24 +0000 (19:38 +0200)]
ltq-adsl-app: add dsl_cpe_pipe.sh script
This allows to obtain detailed diagnostic information about the DSL
connection from the modem. The script is copied from the corresponding
packages for VDSL modems.
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20241019174041.1281093-4-jan@3e8.eu/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Jan Hoffmann [Sat, 19 Oct 2024 17:38:23 +0000 (19:38 +0200)]
ltq-adsl-app: align config more closely to VDSL variants
This is a preparation for adding support for dsl_cpe_pipe.sh with a
similar set of commands compared to the VDSL variant.
The configuration is simplified by using the "--enable-model" option.
Other options are chosen to match the VDSL variant, while also making
sure that previously enabled options stay like that. However, ReTx
options stay disabled, because of incompatibility with the ubus code.
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20241019174041.1281093-3-jan@3e8.eu/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Jan Hoffmann [Sat, 19 Oct 2024 17:38:22 +0000 (19:38 +0200)]
ltq-adsl: align config more closely to VDSL variants
This is a preparation for adding support for dsl_cpe_pipe.sh with a
similar set of commands compared to the VDSL variant.
The configuration is simplified by using the "--enable-model" option.
Other options are chosen to match the VDSL variant, while also making
sure that previously enabled options stay like that. However, ReTx
options stay disabled, because of incompatibility with the ubus code.
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20241019174041.1281093-2-jan@3e8.eu/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 22:06:46 +0000 (00:06 +0200)]
mac80211: mark mac80211-hwsim
80211BE capable
Build hostapd with
80211BE suport.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 21:58:56 +0000 (23:58 +0200)]
tools: firmware-utils: update to Git HEAD (2024-10-20)
4b76389 iptime-crc32: add support for ipTIME AX3000M
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 21:54:56 +0000 (23:54 +0200)]
uclient: update to Git HEAD (2024-06-27)
e035d57 uclient-fetch: improve error handling
a220818 uclient-fetch: add support for --header cmdline argument
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 21:50:39 +0000 (23:50 +0200)]
ubus: update to Git HEAD (2024-10-20)
65bb027 CMakeLists.txt: bump minimum cmake version
252a9b0 libubus: Make UBUS_* macros work cleanly in C++
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 21:48:34 +0000 (23:48 +0200)]
procd: update to Git HEAD (2024-10-20)
0f88a52 system: replace openwrt_release with os-release
ef3ab8b system: add build date to ubus output
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 20 Oct 2024 21:45:33 +0000 (23:45 +0200)]
iwinfo: update to Git HEAD (2024-10-20)
c97bcc2 devices: add device ID for Ralink RT5592
b94f066 devices: add device id for MediaTek MT7925E
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Florian Eckert [Thu, 20 Oct 2022 08:02:45 +0000 (10:02 +0200)]
base-files: add SOURCE_DATE_EPOCH as OPENWRT_BUILD_DATE to os-release
This commit adds the build date during compilation to the os-release file.
This information can then be used later to output this via the the ubus,
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/15987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Christian Marangi [Thu, 17 Oct 2024 13:54:52 +0000 (15:54 +0200)]
airoha: Introduce EN7581 SoC support
Introduce EN7581 SoC support with currently rfb board supported.
This is a new 64bit SoC from Airoha that is currently almost fully
supported upstream with only the DTS missing. Setting source-only
waiting for the full upstream support to be completed.
Link: https://github.com/openwrt/openwrt/pull/16730
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 17 Oct 2024 18:26:05 +0000 (20:26 +0200)]
generic: backport alloc_netdev_dummy patch from upstream
Backport alloc_netdev_dummy patch from upstream needed for new Airoha
EN7581 SoC.
Refresh all affected patch with make target/linux/refresh.
Link: https://github.com/openwrt/openwrt/pull/16730
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Christian Marangi [Thu, 17 Oct 2024 13:42:51 +0000 (15:42 +0200)]
airoha: move en7523 in dedicated subtarget
In preparation for EN7581 SoC support, move en7523 in dedicated
subtarget.
This is needed as EN7581 is now 64bit but en7523 is 32bit hence have
very different kernel config.
Also rename patch to a more friendly number sequence.
Link: https://github.com/openwrt/openwrt/pull/16730
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Priit Laes [Fri, 8 Jan 2021 11:28:47 +0000 (13:28 +0200)]
ath79: add support for COMFAST CF-E355AC v2
COMFAST CF-E355AC v2 is a ceiling mount AP with PoE support,
based on Qualcomm/Atheros QCA9531 + QCA9886.
Short specification:
- 1x 10/100 Mbps Ethernet, with PoE support (wan/eth1)
- 1x 10/100/1000 Mbps Ethernet, with PoE support (lan/eth0)
- 128MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, 802.11b/g/n (wlan2g)
- 2T2R 5 GHz, 802.11ac/n/a, WAVE 2 (wlan5g)
- built-in 4x 3 dBi antennas
- output power (max): 500 mW (27 dBm)
- 1x RGB LED, 1x button
- separate watchdog chip via GPIO (bottom of PCB?)
- UART header on PCB with proper labelling
Markings on PCB:
* R121QH_VER2.1 (silkscreen, bottom)
* CF-WA800 (sticker, top)
Initial flashing instructions:
Original firmware is based on OpenWrt.
a) Use sysupgrade image directly in vendor GUI.
b) Or via tftp:
ipaddr=192.168.1.1
serverip=192.168.1.10
bootfile="firmware.bin"
c) Or possibly via u-boot's `httpd` command.
MAC-address mapping follows original firmware:
* eth1 (wan) is the lowest mac address (art @ 0x0)
* eth0 (lan) uses eth1 + 1 (art @ 0x1002)
* wlan2g (phy1) uses eth1 + 2 (art @ 0x06)
* wlan5g (phy0) uses eth1 + 10 (not present in art)
* unused MAC (eth1 + 3) (art @ 0x5006)
Art dump (`hexdump /dev/mtd1 |grep ZZZZ`):
0000000 ZZZZ XXXX XXX0 ZZZZ XXXX XXX2 ffff ffff
0001000 0202 ZZZZ XXXX XXX1 0000 0000 0000 0000
0005000 202f bd21 0101 ZZZZ XXXX XXX3 0000 2000
Root access to original firmware (only via UART) can be achieved by
making a backup of configuration from web interface. Backup contains
whole `/etc` directory...
Signed-off-by: Priit Laes <plaes@plaes.org>
Link: https://github.com/openwrt/openwrt/pull/16556
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Sun, 7 Apr 2024 12:23:57 +0000 (14:23 +0200)]
dnsmasq: gate configdir usage behind absolute path check
don't use configuration directories which are relative
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Tue, 26 Mar 2024 23:43:41 +0000 (00:43 +0100)]
dnsmasq: add handling of `dns-rr` to init script (add arbitrary resource records)
Add support for handling of DNS RR (Resource Records) requests, which
are needed for the HTTPS Type 65 records, introduced to support the
DNS-based Service Discovery (DNS-SD) mechanism for HTTPS services and
defined in the RFC 9460 (9.1. Query Names for HTTPS RRs).
Ref: https://forum.openwrt.org/t/resolving-query-type-65-to-local-address-for-ios-clients-in-dnsmasq/179504/11
uci config usage:
config dnsrr
option rrname 'foo.example.com'
option rrnumber '65'
option hexdata '00'
hexdata is optional.
Available since dnsmasq 2.62 (for around 12 years at this point).
Note: dnsmasq dns-rr are not affected by filter-rr
Tested on 22.03.5
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Mon, 1 Apr 2024 18:18:14 +0000 (20:18 +0200)]
dnsmasq: quoted path variables
Prevents problems when variables contain spaces.
Tested on: 23.05.3
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Sat, 6 Apr 2024 17:44:19 +0000 (19:44 +0200)]
dnsmasq: add 'extraconftext' parameter
Users can now freely add new dnsmasq parameters (i.e. a whole config)
via extraconf. This means users can add their own parameters without
changes to init or GUI.
Co-opted the default of confdir also to include the instance name.
This way each instance gets its own .d directory (and separate instances
do not all inherit the same 'extraconftext').
Usage:
config dnsmasq 'config'
...
option extraconftext 'cache-size=2048\nlog-async=20'
config dnsmasq 'blah'
...
option extraconftext 'cache-size=128\nlog-async=5'
or even (which would produce staggered output but still valid)
config dnsmasq 'blah'
...
option extraconftext 'cache-size=128
log-async=5'
See https://forum.openwrt.org/t/add-dnsmasq-custom-options-field-in-luci-gui/193184
Tested on: 23.05.3, 22.03.6
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Tue, 26 Mar 2024 23:44:05 +0000 (00:44 +0100)]
dnsmasq: add handling of `cache-rr` to init script
dnsmasq v2.90 introduced `--cache-rr=<rrtype>[,<rrtype>...]`.
uci config usage:
config dnsmasq
...
option cache_rr 'AAAA,CNAME,NXDOMAIN,SRV,...'
The dnsmasq instance internally builds a linked list of RR to cache
from the individually supplied parameters, so it's allowed to provide
multiples:
... --cache-rr=AAAA --cache-rr=A ...
See https://forum.openwrt.org/t/resolving-query-type-65-to-local-address-for-ios-clients-in-dnsmasq/179504
Tested on: 23.05.2
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paul Donald [Tue, 2 Apr 2024 01:16:02 +0000 (03:16 +0200)]
dnsmasq: add handling of `filter-rr` to init script
dnsmasq v2.90 introduced `--filter-rr=<rrtype>[,<rrtype>...]`.
uci config usage:
config dnsmasq
...
option filter_rr 'AAAA,CNAME,NXDOMAIN,SRV,...'
The dnsmasq instance internally builds a linked list of RR to filter
from the individually supplied parameters, so it's harmless to provide
synonyms:
... --filter-A --filter-rr=A ...
See https://forum.openwrt.org/t/resolving-query-type-65-to-local-address-for-ios-clients-in-dnsmasq/179504/23
Tested on: 23.05.2
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rany Hany [Fri, 6 Sep 2024 10:25:24 +0000 (10:25 +0000)]
hostapd: add support for SAE in PPSK option
This patch allows the use of SAE when using PPSK after
https://w1.fi/cgit/hostap/commit/?id=
fcbdaae8a52e542705a651ee78b39b02935fda20
added support for it.
It also implements a fix so that this option works with SAE. The reason this
doesn't work out of the box is because OpenWRT deviates from hostapd defaults
by setting `sae_pwe` option to 2 which makes this mode not function properly
(results in every auth attempt being denied).
That issue was addressed by not overriding hostapd's default for the `sae_pwe`
option when the PPSK option is in use. This should be fine because hostapd's
test cases specifically test this mode with the default SAE parameters. See:
https://w1.fi/cgit/hostap/commit/?id=
c34b35b54e81dbacd9dee513b74604c87f93f6a3
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/16343
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Felix Fietkau [Sun, 20 Oct 2024 16:43:17 +0000 (18:43 +0200)]
kernel: fix forwarding broadcast packets between vlan-on-dsa and non-dsa netdevs
Fix conditions for handling offloaded packets
Fixes: #13430
Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Chris Jones [Sat, 19 Oct 2024 20:50:54 +0000 (21:50 +0100)]
ipq40xx: make GL.iNet A1300 switch functional
Set the physical switch to KEY_RFKILL, since its previous value
(KEY_SETUP) is unsupported. This should also make the KEY_RESET button
functional, by allowing the gpio-button-hotplug kmod to load.
Signed-off-by: Chris Jones <cmsj@tenshu.net>
Link: https://github.com/openwrt/openwrt/pull/16564
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Sun, 22 Sep 2024 17:41:24 +0000 (10:41 -0700)]
kernel: gpio-nct5104d: use devm
Allows removal of the remove function by letting devm handle everything.
Avoids gotos as well.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16507
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Sat, 19 Oct 2024 22:15:09 +0000 (15:15 -0700)]
apm821xx: bring back AT803X_PHY
AT803X_PHY was replaced with QCA83XX_PHY which handles external switches.
But for internal ones like in the Meraki MR24, AT803X_PHY is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16737
Signed-off-by: Robert Marko <robimarko@gmail.com>
Rosen Penev [Fri, 27 Sep 2024 00:35:34 +0000 (17:35 -0700)]
ramips: modernize snd-mt7620 driver
Use more devm and remove gotos.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16631
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 19 Oct 2024 21:51:38 +0000 (23:51 +0200)]
firmware-utils: update to Git HEAD (2024-10-16)
0cfd104 zytrx: add ZyXEL LTE7490-M904
3d09357 asusuimage: new tool for creating TRX-images compatible with AsusWRT
f35781f asusuimage: fix compile error with old GCC release
26c7f05 nec-usbatermfw: add tool for NEC "USB ATERM" format
ed9c97f tplink-safeloader: bump EAP610-V3 compat_level
5192cf9 mktplinkfw2: Add 16Mmtk layout
ca444f1 tplink-safeloader: add support for cpe710-v2
88fbd52 bcmclm: support printing channels
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 19 Oct 2024 21:50:38 +0000 (23:50 +0200)]
tools: firmware-utils: update to Git HEAD (2024-10-16)
5192cf9 mktplinkfw2: Add 16Mmtk layout
ca444f1 tplink-safeloader: add support for cpe710-v2
88fbd52 bcmclm: support printing channels
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Mon, 27 Nov 2023 19:40:48 +0000 (11:40 -0800)]
ath79: aruba,ap115: use nvmem
Userspace handling is deprecated.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16284
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Shiji Yang [Thu, 10 Oct 2024 10:29:06 +0000 (18:29 +0800)]
ipq40xx: dts: disable qpic_bam for EMMC and SPI Flash devices
The qpic DMA controller is used by the parallel NAND Flash
interface. We don't need to enable it when nand-controller node
is marked as disabled.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Priit Laes [Fri, 11 Oct 2024 07:15:22 +0000 (10:15 +0300)]
ramips: mt7621: mikrotik rb760igs: Include "hEX S" in model name
Mikrotik seems to prefer "hEX S" as general name for this model,
therefore include this in devicetree model name as well.
Signed-off-by: Priit Laes <plaes@plaes.org>
Link: https://github.com/openwrt/openwrt/pull/16658
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Sat, 28 Sep 2024 00:20:37 +0000 (17:20 -0700)]
realtek: use more devm
Simplifies probe slightly.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16650
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Kalscheuer [Sat, 12 Oct 2024 09:08:50 +0000 (11:08 +0200)]
uboot-mvebu: update to version 2024.10
Update package to the latest stable version and drop upstreamed patches:
0001-arm-mvebu-turris_omnia-Enable-LTO-by-default-on-Turr.patch
100-mvebu-armada-8k-respect-CONFIG_DISTRO_DEFAULTS.patch
Other patches automatically refreshed (line numbers only)
Add custom config flags to disable building efimkcapsule by default.
This introduces a dependency to GnuTLS which is not present and we do
not need it here.
Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/16676
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tianling Shen [Sat, 12 Oct 2024 08:16:58 +0000 (16:16 +0800)]
sdk: bundle libraries for llvm toolchain
This allows the llvm toolchain to be executed on different host.
Also add it to strip list.
Fixes: 0ac0840088d5 ("sdk: ship llvm toolchain")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rodrigo B. de Sousa Martins [Wed, 25 Sep 2024 18:35:20 +0000 (15:35 -0300)]
iptables: backport "nft: track each register individually" from 1.9
From the upstream repo:
Instead of assuming only one register is used, track all 16 regs
individually.
This avoids need for the 'PREV_PAYLOAD' hack and also avoids the need to
clear out old flags:
When we see that register 'x' will be written to, that register state is
reset automatically.
Existing dissector decodes
ip saddr 1.2.3.4 meta l4proto tcp
... as
-s 6.0.0.0 -p tcp
iptables-nft -s 1.2.3.4 -p tcp is decoded correctly because the expressions
are ordered like:
meta l4proto tcp ip saddr 1.2.3.4
|
... and 'meta l4proto' did clear the PAYLOAD flag.
The simpler fix is:
ctx->flags &= ~NFT_XT_CTX_PAYLOAD;
in nft_parse_cmp(), but that breaks dissection of '1-42', because
the second compare ('cmp lte 42') will not find the
payload expression anymore.
This commit fixes #11169 and openwrt/packages#22727, and potentially anyone that uses iptables-nft legacy support.
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16504
[Added patch header]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Fri, 27 Sep 2024 00:22:29 +0000 (17:22 -0700)]
ramips: cleanup ralink SPI driver
Increase usage of devm to get rid of goto and _remove.
Get rid of hw_reset_count. It's not really used for anything.
Use dev_err_probe to handle potential EPROBE_DEFER.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16588
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Tue, 8 Oct 2024 23:39:07 +0000 (16:39 -0700)]
mediatek: leds-smartrg: handle disabled LEDs
If LEDs are disabled, they should not be handled.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16651
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Tue, 8 Oct 2024 23:37:08 +0000 (16:37 -0700)]
mediatek: leds-smartrg: use devm_mutex_init
No longer need normal _remove function. Replaced with _disable.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16651
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Til Kaiser [Sun, 29 Sep 2024 14:56:26 +0000 (16:56 +0200)]
x86: add Gowin 1U Rack Mount Router Server
There are three variants of that board:
--- Hardware Highlights ---
GW-BS-1UR1-10G:
- CPU: Intel® Alder Lake N100 quad-core 3.4GHz
- RAM: 16GB DDR5 4800MHz
- Storage: Onboard 128GB eMMC, 2x NVME slots, 2x SATA slots
- Ports: 2x 2.5G, 2x 1G, 1x POE, 2x 10G SFP+, 1x RJ45 Serial Port
- WIFI: 1x M.2 slot
- 4G/5G: 1x M.2 slot
- USB: 2x 3.0, 2x 2.0
- Button: 1x Power Button
- Video: 1x HDMI, 1x VGA
- LEDs: 4x
GW-BS-1UR2-10G:
- CPU: Intel® Core™ i3-N305 octa-core 3.8GHz
- RAM: 32GB DDR5 4800MHz
- Storage: Onboard 128GB eMMC, 2x NVME slots, 2x SATA slots
- Ports: 2x 2.5G, 2x 1G, 1x POE, 2x 10G SFP+, 1x RJ45 Serial Port
- WIFI: 1x M.2 slot
- 4G/5G: 1x M.2 slot
- USB: 2x 3.0, 2x 2.0
- Button: 1x Power Button
- Video: 1x HDMI, 1x VGA
- LEDs: 4x
GW-BS-1UR2-25G:
- CPU: Intel® Core™ i3-N305 octa-core 3.8GHz
- RAM: 32GB DDR5 4800MHz
- Storage: Onboard 128GB eMMC, 2x NVME slots, 2x SATA slots
- Ports: 2x 2.5G, 2x 1G, 1x POE, 2x 25G SFP+, 1x RJ45 Serial Port
- WIFI: 1x M.2 slot
- 4G/5G: 1x M.2 slot
- USB: 2x 3.0, 2x 2.0
- Button: 1x Power Button
- Video: 1x HDMI, 1x VGA
- LEDs: 4x
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Til Kaiser [Sun, 29 Sep 2024 14:55:57 +0000 (16:55 +0200)]
base-files: add ucidef_set_network_device_path_port function
The already existing uci function ucidef_set_network_device_path
can be used to specify a unique PCI address to name a network interface.
However, I noticed that some NIC ports share the same PCI address
but are still distinguishable by the dev_port value of the network
interface's sysfs entry.
This commit adds a new uci function ucidef_set_network_device_path_port,
which is similar to ucidef_set_network_device_path but takes an
additional argument where the user can specify the dev_port value.
The internal function preinit_config_port loops through
all network interfaces at the given PCI address and chooses the one
where the dev_port value matches.
This was tested on an x86_64 device using a Mellanox ConnectX-3 card.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Til Kaiser [Sun, 29 Sep 2024 14:54:54 +0000 (16:54 +0200)]
kernel: modules: add boot flag to igc, mlx4, and mlx5 drivers
Set the boot flag for the igc, mlx4-core, and mlx5-core network device drivers
to load them at a more early stage of the boot process.
This is required for network drivers whose network interface PCI paths are set
via ucidef_set_network_device_path inside the 02_network script since it is
called after kernel modules are loaded from modules-boot.d but before they are
loaded from the modules.d directory.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>