Tim Harvey [Mon, 27 Jan 2025 22:44:27 +0000 (14:44 -0800)]
mac80211: ath11k: Fix DMA buffer allocation to resolve SWIOTLB issues
Backport two commits to resolve issues with ath1kk causing it to fail
driver registration on iommuless systems with DRAM outside of 32bit
addressing such as a 4GiB imx8mm:
commit 1bcd20981834 ("wifi: ath11k: Fix DMA buffer allocation
to resolve SWIOTLB issues")
commit eeadc6baf8b3 ("wifi: ath11k: Use dma_alloc_noncoherent
for rx_tid buffer allocation")
Ivan Diaz [Mon, 10 Mar 2025 03:17:12 +0000 (22:17 -0500)]
ath79: move TP-Link RE450 v1 & v2 and RE355 v1 to tiny target
This restores sysupgrade support
Since OpenWrt 23.05, the firmware selector no longer provides sysupgrade
images for RE450 V1 & V2 and RE355 v1 due to image size constraints
(~5.7MB limit), making the generic build unusable.
This commit moves RE450 V1 & V2 to the tiny target, enabling:
- Smaller image builds within the flash size limit.
- Restored sysupgrade support via the firmware selector.
- A secure-by-default wireless setup while allowing full management via UCI.
- Officially supported images, reducing the need for custom (potentially insecure) builds.
This ensures users can install a functional OpenWrt build without compromising security defaults.
Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
[Squashed the commits together and just copied the target definition
from the generic subtarget.] Link: https://github.com/openwrt/openwrt/pull/18126 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Ivan Davydov [Tue, 4 Mar 2025 20:54:13 +0000 (23:54 +0300)]
ramips: mt76x8: add support for Keenetic Launcher (KN-1221)
Specification:
SoC: MediaTek MT7628AN
RAM: 128M DDR2, ESMT M14D128168A (2Y)
Flash: 32M, cFeon EN25QH256A (Dual Boot on OEM, concatenated on OpenWrt,
SPI)
Switch: MediaTek MT7628AN, 3 ports 100 Mbps
WiFi: MediaTek MT7628AN 2.4 GHz 802.11n
USB: 1 port USB 2.0
GPIO: 1 button (Wi-Fi & Reset on OEM, Reset on OpenWrt), 3 LEDs (Power,
Internet, Wi-Fi), USB port power controls
Disassembly:
There are 2 screws at the bottom near the LEDs hidden by rubber mounts.
After removing the screws, pry the gray plastic part around (it is secured
with latches) and remove it.
UART Interface:
The UART interface can be connected to the 5 pin located between LAN
ports and the WAN one.
Pins (from the second LAN port to the WAN one): VCC, TX, RX, NC, GND
Settings: 115200, 8N1
Flashing via TFTP:
1. Connect your PC and router to the first LAN port, configure PC
interface using IP 192.168.1.2, mask 255.255.255.0
2. Serve the firmware image (for OpenWrt it is *-squashfs-factory.bin)
renamed to KN-1221_recovery.bin via TFTP
3. Power up the router while pressing Wi-Fi button
4. Release Wi-Fi button when Power LED starts blinking
To revert back to OEM firmware:
The return to the OEM firmware is carried out by using the methods
described above with the help of the appropriate firmware image found on
osvault.keenetic.net.
When using OEM bootloader, the firmware image size cannot exceed the size
of one OEM «Firmware_x» partition or Kernel + rootFS size.
Shiji Yang [Sat, 22 Feb 2025 06:15:12 +0000 (14:15 +0800)]
ath10k-ct-firmware: remove QCA9888 board file symbolic link
Although ath10k pre-calibration data and board description file
have similar data structures, they are completely different things.
Therefore, let's remove these incorrect and confusing links.
Qingfang Deng [Sat, 8 Mar 2025 18:00:14 +0000 (02:00 +0800)]
kernel: Mediatek: fix EEE registers init
After booting, a "transmit queue 0 timed out" warning followed by a
register dump was observed. The dump indicates that mtk_hw_init() does
not initialize the EEECR during probe. This occurs because the
netdev is allocated in mtk_add_mac(), which is called after
mtk_hw_init(). Consequently, the EEECR register remains uninitialized
until a reset is triggered, causing mtk_hw_init() to run again with a
valid netdev, at which point the register is finally set.
To address this, instead of modifying the probe sequence, latch the Tx
LPI enable state and timer value, and move the EEECR register
initialization to mtk_mac_link_up() to ensure proper setup when the
interface comes up.
Additionally, the splat reveals that LPI functionality is controlled by
the MAC_MCR_EEE bits in the MCR register. Update mtk_set_eee() to
modify these bits accordingly.
Shiji Yang [Fri, 28 Mar 2025 16:00:50 +0000 (00:00 +0800)]
ath10k-ct: silence some harmless noisy logs
Users feel anxious about some ath10k driver logs. After further
investigation, in fact these logs are harmless. Only developers
need to care about them in order to optimize some parameters.
Let's just silence them to reduce these similar user reports.
Closes: https://github.com/openwrt/openwrt/issues/13148 Closes: https://github.com/openwrt/openwrt/issues/14422 Closes: https://github.com/openwrt/openwrt/issues/15959 Closes: https://github.com/openwrt/openwrt/issues/15997 Closes: https://github.com/openwrt/openwrt/issues/16896 Closes: https://github.com/openwrt/openwrt/issues/18046 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18368 Signed-off-by: Robert Marko <robimarko@gmail.com>
The new 003 patch was introduced to fix the build error on old LTS
kernel. The patch 004 was used to fix the issue of IPQ4019 radio
not being able to start.
Daniel Golle [Sun, 30 Mar 2025 17:11:39 +0000 (18:11 +0100)]
mediatek: restrict compat_version override for BPi-R3
Only force compat_version to 1.2 if it was less than 1.2 before, as changes
1.1 and 1.2 were bootloader-related and a completed boot indicates that the
changes have been completed. Newer compat version 1.3 indicates a config change
and should not be forced on boot.
Fixes: 84fc59c0d5 ("mediatek: filogic: bpi-r3: set netdev-name for sfp1 port") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
b6e5157527d3 fw4: fix reading kernel version 42d3b3d4ca21 fw4: allow family any for ipsets not matching IP addresses edfdfc6df484 Revert "fw4: allow family any for ipsets not matching IP addresses" 97962771aa3c config: drop to-be-forwarded-nowhere packets on wans 00fc6943a297 init: remove unnecessary stop logic ad3cba79c192 fw4: allow family any for ipsets not matching IP addresses
generic: move backport patches 751-03 and 751-04 to pending
Patches 751-03 and 751-04 as a result of commit 6407ef8d2bcb4a0a6284de09cd77bd1868c1d6ea
were incorrectly placed in the backport folder.
So they return to their proper place.
mac80211: fix compilation error for old stable kernel version
Fix compilation error for old stable version caused by
genlmsg_multicast_allns backport fix pushed middle version.
Version 5.15 version 0-169, 6.1 version 0-115, 6.6 version 0-58 have the
old genlmsg_multicast_allns version with flags variable.
Compiling backport project with these version result in a compilation
error. To handle this, introduce a backport function for the affected
kernel version.
Daniel Golle [Thu, 13 Mar 2025 22:22:39 +0000 (22:22 +0000)]
mediatek: filogic: add build for ASUS ZenWiFi BT8 with OpenWrt's U-Boot
Add 'ubootmod' variant for the ASUS ZenWiFi BT8.
An out-of-tree installer will be provided in Github to allow users an easy
transition from the stock loader to OpenWrt's bootchain which is built from
source.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Unfortunately, LibreSSL 4.0 causes the host APK tools to segfault under
fakeroot when .apk is being generated and it is completely breaking
building under Debian and Ubuntu hosts.
Daniel Golle [Fri, 28 Mar 2025 15:40:28 +0000 (15:40 +0000)]
generic: fitblk: close block device if mapping image failed
In case a broken fit image is present on flash the fitblk driver would
not map any /dev/fit* devices, but also not always close the block device
the image resides on. In case of ubiblock devices this is fatal as one
then cannot remove the ubiblock device (-EBUSY), and hence cannot replace
the broken image.
Always close the block device in case no sub-image was mapped.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Flash instructions (Without Serial):
========
Open Linksys Web UI - http://192.168.1.1/ca or http://linksysxxxxx.lan/ca depending on your setup.
xxxxx is the last 5 digits from the SN found on a sticker under the device.
Click on the Linksys Logo to by-pass smart app registration.
Login with your admin password. The default password can be found on the same sticker.
To enter into the support mode, click on the “CA” link and the bottom of the page.
Open the “Connectivity” menu and upload the squash-factory image with the “Choose file” button.
Click start. Ignore all the prompts and warnings by click “yes” in all the popups.
Flash instructions (With Serial):
========
1. Installation using serial connection from OEM firmware (default login: root, password: admin):
- fw_printenv -n boot_part
In case of 2:
- flash_erase /dev/mtd13 0 0
- nandwrite -p /dev/mtd13 openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin
or in case of 1:
- flash_erase /dev/mtd15 0 0
- nandwrite -p /dev/mtd15 openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin
After first boot install firmware on second partition:
- mtd -r -e kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin kernel
or:
- mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin alt_kernel
2. Installation from initramfs image using USB drive:
Put the initramfs image on the USB drive:
- dd bs=1M if=openwrt-qualcommax-ipq60xx-linksys_mr7500-initramfs-uImage.itb of=/dev/sda
Stop u-boot and run:
- usb start && usbboot $loadaddr 0 && bootm $loadaddr
Write firmware to the flash from initramfs:
- mtd -e kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin kernel
and:
- mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin alt_kernel
3. Back to the OEM firmware:
- mtd -e kernel -n write FW_MR7500_1.1.12.211919_prod.img kernel
and:
- mtd -r -e alt_kernel -n write FW_MR7500_1.1.12.211919_prod.img alt_kernel
4. USB recovery:
Put the initramfs image on the USB:
- dd bs=1M if=openwrt-qualcommax-ipq60xx-linksys_mr7500-initramfs-uImage.itb of=/dev/sda
Set u-boot env:
- fw_setenv bootusb 'usb start && usbboot $loadaddr 0 && bootm $loadaddr'
- fw_setenv bootcmd 'run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi'
AQR firmware:
========
0. Firmware extracting:
To extract the firmware, use unblob (unblob.org)
1. Firmware loading:
To properly load the firmware and initialize AQR PHY, we must use the u-boot aq_load_fw function.
To do this, you need to modify u-boot env:
With USB recovery:
- fw_setenv bootcmd 'aq_load_fw; run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi'
and without:
- fw_setenv bootcmd 'aq_load_fw; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi'
2. Firmware updating:
Newer firmware (AQR114C.cld) is available in the latest OEM firmware (https://downloads.linksys.com/support/assets/firmware/FW_MR7500_1.1.12.211919_prod.img).
Copy AQR114C.cld to /lib/firmware/marvell
Weikai Kong [Mon, 30 Dec 2024 06:09:07 +0000 (01:09 -0500)]
qca-ssdk: enable AQR for ipq60xx targets
MR7500 features IPQ6018 which is CPPE, however, it also utilizes AQR114CB0 as WAN.
Previously, without this patch, aquantia_phy_api_ops was never called.
Therefore, enable `IN_AQUATIA_PHY` so that AQR PHY gets initialized properly on boot.
version: 0.27
date: Sun Sep 1 12:07:24 PM CEST 2024
changes:
- improved modulo detection
- remove all unused local variables from affine expressions
- minor improvements to coalescing
- minor improvements to lexicographic optimization
- improved constraint simplification
- fix handling of empty piecewise expressions
Shymon Samsel [Mon, 24 Mar 2025 17:24:02 +0000 (13:24 -0400)]
qualcommax: ipq807x: Create working factory images for EAP620 HD v1 and EAP660 HD v1
Create factory tar for EAP620 HD v1 and EAP660 HD v1 which is accepted by the stock UI.
Fix bug in ipq807x and ipq60xx makefiles so TPLINK_SUPPORT_STRING is handled properly.
Modify tplink-mkimage-2022 script and relevant makefiles to allow spaces in support strings (required for EAP620 HD v1 and EAP660 HD v1).
Installation steps are identical to EAP610-Outdoor:
Web UI method
-------------
Set up the device using the vendor's web UI. After that go to
Management->SSH and enable the "SSH Login" checkbox. Select "Save".
The connect to the machine via SSH:
ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device>
Disable signature verification:
cliclientd stopcs
Rename the "-web-ui-factory" image to something less than 63
characters, maintaining the ".bin" suffix.
* Go to System -> Firmware Update.
* Under "New Firmware File", click "Browse" and select the image
* Select "Update" and confirm by clicking "OK".
If the update fails, the web UI should show an error message.
Otherwise, the device should reboot into OpenWRT.
Paul Donald [Tue, 25 Mar 2025 00:40:06 +0000 (01:40 +0100)]
lldpd: bump to 1.0.19
Changes:
- Support of both Apple Silicon and Intel for macOS package.
- Add cvlan/svlan/tpmr capabilities.
- Disable LLDP in firmware for Intel X7xx cards on FreeBSD.
- Add lldpctl_watch_sync_unblock to liblldpctl.
- Add C++ wrapper for lldpctl.
Fix:
- Fix AppArmor policy for /run/lldpd/lldpd.socket.lock.
- Do not query stats for a down interface on Linux.
```
# lldpd -vv
lldpd 1.0.19
Built on 2025-03-24T17:43:44Z
C compiler command: C compiler command is not available for reproducible builds
Linker command: Linker compiler command is not available for reproducible builds
```
Magnus Kroken [Wed, 26 Mar 2025 20:42:51 +0000 (21:42 +0100)]
mbedtls: update to 3.6.3
This release of Mbed TLS provides the fix for a tls compatibility issue of handling fragmented handshake messages.
This release includes fixes for security issues.
* Potential authentication bypass in TLS handshake (CVE-2025-27810) [1]
* TLS clients may unwittingly skip server authentication (CVE-2025-27809) [2]
With this patch, iw can now scan APs in the 6 GHz band and shows
their operation parameters:
~~~
6 Ghz Operation Information: 0x0103070f06
Primary Channel: 1
Channel Width: 80+80 or 160 MHz
Regulatory Info: 0
Center Frequency Segment 0: 7
Center Frequency Segment 1: 15
Minimum Rate: 6
~~~
Erik Servili [Mon, 24 Mar 2025 22:12:54 +0000 (23:12 +0100)]
qualcommax: ipq807x: Create working factory tar for WAX620 and WAX630.
Create factory tar for WAX620 and WAX630 which is accepted by the stock UI.
Must use 'Boot up Backup Firmware' button on stock upgrade page after install and reboot to swap partitions.
Nick Hainke [Tue, 25 Mar 2025 16:31:24 +0000 (17:31 +0100)]
libtracefs: update to 1.8.1
ChangeLog 417c2e3 libtracefs: version 1.8.1 41efd9e libtracefs: Add meson build targets to Makefile 310b796 libtracefs utest: Add better logic to cause missed events b589e32 libtracefs: Add cpu-map sample to trace mapped buffer 4ede86e libtracefs: Enable mmapped ring buffer e6737d4 libtracefs: Initialize val in build_filter() 590e452 libtracefs: Close dir in the error path in tracefs_event_systems() 0309a87 libtracefs: Close dir in the error path in tracefs_system_events() f34fb1f libtracefs: Prevent memory leak in tracefs_dynevent_get_all() 48e906b libtracefs: my_yyinput() should return 0 when no data can be read 5e5b2a7 libtracefs: Prevent memory leak in tracefs_instance_create() 8f2593f libtracefs: Prevent a memory leak in open_cpu_files() 7d77b83 libtracefs: Prevent a memory leak in tracefs_system_events() 7fcd8d2 libtracefs: Prevent a memory leak in add_func_str() a01d0ba libtracefs: Don't leak socket file descriptor in open_vsock() efdf7f7 libtracefs: Prevent memory leak in tracefs_event_systems() 2342293 libtracefs: Prevent a memory leak in tracefs_synth_add_end_field() 1c95394 libtracefs: Prevent a memory leak in update_fields() 6b35665 libtracefs: Prevent memory leak in append_filer() aecc0b7 libtracefs: Call va_end() before exiting tracefs_hist_set_sort_key() a5e37f7 libtracefs: Add trace-mmap.c to meson build 8f62e96 libtracefs meson: Use SemVer in the build description e04fa01 meson: Add utest option fb213a4 libtracefs: Update trace_buffer_meta 04505a0 libtracefs utest: Include libgen.h for basename() 7b4a9c9 libtracefs utest: Define _LARGEFILE64_SOURCE for lseek64() with musl ba75081 libtracefs utest: Add PATH_MAX if it is not already defined 5f27b7f libtracefs: Update the kbuf for previous read in trace_mmap_load_subbuf() 73ac9c1 libtracefs: Fix tracefs_instance_reset() of triggers 7d15d77 libtracefs meson: build tracefs-mmap by default
Nick Hainke [Tue, 25 Mar 2025 16:27:01 +0000 (17:27 +0100)]
libtraceevent: update to 1.8.4
ChangeLog: bd47bd5 libtraceevent: 1.8.4 fe0bc49 libtraceevent: Print function pointer address when TEP_EVENT_FL_PRINTRAW is specified f2224d5 libtraceevent: Have sizeof() parsing handle u8/s8 through u64/s64 5f570de libtraceevent: Print arrays like Linux does 645a883 libtraceevent: 1.8.3 d4c1fb4 libtraceevent: Add meson build targets to Makefile c3dc220 libtraceevent: Fix a double free in process_op() 021da90 libtraceevent: Do not return a local stack pointer in get_field_str() 340e2e6 libtraceevent: Have unit test fail when any tests fail c84155f libtraceevent: prevent a memory leak in tep_plugin_add_option() 03551eb libtraceevent: Prevent a memory leak in process_fields() 34ece90 libtraceevent: Close shared object in the error path of load_plugin() 8802f0f libtraceevent: Avoid a simple asprintf case 76a0eb8 libtraceevent: Fix event-parse memory leak in process_cond 5bc98bd libtraceevent: Have single quotes represent characters ec8e0cc libtraceevent: Fix tests running on big endian arch 60ed6c3 libtraceevent: build: Various fixes for the Meson build of libtraceevent 0351241 libtraceevent utest: Include libgen.h for basename() with musl
Robert Marko [Sun, 23 Mar 2025 09:29:28 +0000 (10:29 +0100)]
uboot-tools: dont build tools unconditionally
Currently, both envtools and the rest of U-Boot tools are being built
regardless if the dumpimage package has been selected.
This will fail if only envtools are selected since the rest of tools
require OpenSSL while envtools do not require them.
So, only build tools if dumpimage is selected.
Fixes: 46e376c93514 ("uboot-tools: migrate uboot-envtools to uboot-tools") Fixes: #18327 Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Link: https://github.com/openwrt/openwrt/pull/18329 Signed-off-by: Robert Marko <robimarko@gmail.com>
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op replace oui 33:44:55 subtype fe
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:44 subtype e8
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3322'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3312'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: lldpd should resume operations
( The last two TLV are invalid: their oui must be three hex bytes, comma
separated. Only the first hex byte of oui-info 5555555555 is used )
As described in #13873, from 23.05.0 onwards logging to a file on an
external filesystem fails under some conditions.
This occurs because the log initscript had code added to prevent start
logging to an external filesystem on boot, and added a trigger to start
said logging when the external filesystem gets mounted.
The issue is that for filesystems mount with fstab uci, the fstab
scripts runs at START=11, while log runs at START=12, which means the
external filesystem may already be mounted by the time the log initscript
runs. Since the external filesystem is already mounted it does not
trigger a hotplug event to trigger the trigger to start logging. This
combination means the logging never automatically starts when the log
file is on an external filesystem.
We therefore add a check for the presence of a mounted filesystem when
the log file is being sent to an fstab mounted filesystem. If the
filesystem is mounted, we don't skip starting logging during boot.
If the filesystem is not mounted then file logging is not started and
the trigger will start the logging when the filesystem is mounted.
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
[improved commit message] Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 21 Mar 2025 11:39:07 +0000 (11:39 +0000)]
mediatek: filogic: fix case statement in 01_leds
Remove a stray '|' character from 01_leds which has accidentally
been added.
Reported-by: Chukun Pan <amadeus@jmu.edu.cn> Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 21 Mar 2025 01:04:39 +0000 (01:04 +0000)]
mediatek: filogic: PHY LEDs do have an address, gpio-leds don't
Other than GPIO LEDs, PHY LEDs do have an address.
Fix node names such that all gpio-leds do *not* contain an '@' sign and
PHY leds which do have an address also do contain the '@' sign.
This is done to prevent more copy&paste'ry of non-complaint DT
fragments.
Fixes: 7cbe34170e ("mediatek: add support for the GL.iNet GL-MT3000") Fixes: fe10f97439 ("filogic: add support for GL.iNet GL-MT6000") Fixes: e8f7597317 ("mediatek: filogic: add support for Cudy RE3000 v1") Fixes: c9cb6411c1 ("mediatek: add support for Cudy WR3000 v1") Fixes: 7560af7647 ("mediatek: filogic: migrate ASUS TUF AX6000 to upstream PHY LED control") Fixes: 25ea7ff393 ("mediatek: filogic: migrate Acer W6/W6d to upstream PHY LED control") Fixes: d50d51d74e ("mediatek: filogic: migrate Zyxel NWA50AX Pro to upstream PHY LED control") Fixes: b88de5d507 ("mediatek: filogic: migrate Zyxel EX5700 to upstream PHY LED control") Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control") Fixes: fd76a38190 ("mediatek: filogic: migrate SmartRG Bonanza to upstream PHY LED control") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Lech Perczak [Tue, 28 Feb 2023 01:26:40 +0000 (02:26 +0100)]
ath79: support switch LEDs on TL-WR1043ND v2/v3
Add switch LED definitions for TP-Link TL-WR1043ND family, based on data
extracted from ar71xx board file. Update the LED labels to match current
pattern, i.e. drop the "tp-link:" prefix.
Lech Perczak [Tue, 4 Feb 2025 20:15:21 +0000 (21:15 +0100)]
ath79: TP-link TL-WR1043ND v2/v3: use fixed-link for AR8327 switch connection
Attaching PHY driver to the switch, while adding LEDs binding causes the
PHY driver to create additional LED instances, handled incorrectly by
the PHY driver, which are non-functional. Use fixed-link to attach the
switch driver, instead of PHY driver, to prevent that.
This has a side effect of not logging switch port up/down events in the kernel
log.
Add switch LED definitions for TP-Link Archer C7 v1/2/3 family, based on data
extracted from ar71xx board file. Update the LED labels to match current
pattern, i.e. drop the "tp-link:" prefix.
Lech Perczak [Tue, 4 Feb 2025 20:15:16 +0000 (21:15 +0100)]
ath79: TP-link Archer C7v2: use fixed-link for AR8327 switch connection
Attaching PHY driver to the switch, while adding LEDs binding causes the
PHY driver to create additional LED instances, handled incorrectly by
the PHY driver, which are non-functional. Use fixed-link to attach the
switch driver, instead of PHY driver, to prevent that.
This has a side effect of not logging switch port up/down events in the kernel
log.
Add switch LED definitions for TP-Link TL-WDR4300 family, based on data
extracted from ar71xx board file. Update the LED labels to match current
pattern, i.e. drop the "tp-link:" prefix.
Lech Perczak [Tue, 4 Feb 2025 20:14:52 +0000 (21:14 +0100)]
ath79: TP-link TL-WDR4300: use fixed-link for AR8327 switch connection
Attaching PHY driver to the switch, while adding LEDs binding causes the
PHY driver to create additional LED instances, handled incorrectly by
the PHY driver, which are non-functional. Use fixed-link to attach the
switch driver, instead of PHY driver, to prevent that.
This has a side effect of not logging switch port up/down events in the kernel
log.
The ar8216 switch driver supports exposing configuration of AR8327 and
AR8337 switch LEDs to the userspace, however it is only configurable
through platform data, causing the devices ported from ar71xx target to
lack the support.
Since there is still a long way to go until we can migrate the target to
qca8k, an interim solution is needed.
Extend ar8327_hw_config_of function to parse a "leds"
subnode, which will populate the missing platform data based on device
tree contents, and restore the existing support for the LEDs.
Standard bindings apply, mapping "reg" property to LED index, with
addition of "qca,led-mode" property, which selects HW (0) or SW (1)
mode, defaulting to HW mode.
Lech Perczak [Tue, 4 Feb 2025 20:14:45 +0000 (21:14 +0100)]
kernel: ar8327: fix active-low LED initialization
Switch LEDs configured as active-low remain low instead of high upon
initialization, because in ar8327_leds_init, no distinction is made with
regards to LED pattern based on active_low property - only whether HW
mode is active. Select the proper initial pattern based also on
active_low to fix that.
While at that, simplify the equation ruling pattern selection for
setting brightness, avoiding unnecessary binary XOR operation, not
really valid for 'bool' type.
ramips: add missing LEDs and modem control for ASUS 4G-AX56
Add missing LEDs and modem control for ASUS 4G-AX56
- wifi2.4G white
- wifi5G white
- wan two-coloured, white and red
- modem four-coloured white, blue, yellow and red
change
label = "xxxx:modem";
to
color = <LED_COLOR_ID_xxxx>;
function = LED_FUNCTION_MOBILE;
- rssi-1 white
- rssi-2 white
- rssi-3 white
Felix Fietkau [Fri, 7 Mar 2025 17:20:23 +0000 (18:20 +0100)]
unetmsg: add unet pub/sub message broker based on ubus
This service automatically establishes connections to any hosts that are members
of the same unet network, and allows publish/subscribe exchanges via ubus channels.
Felix Fietkau [Fri, 14 Mar 2025 13:05:06 +0000 (14:05 +0100)]
provision: add script for managing device provisioning data
This is useful for keeping specific data on a device across factory reset.
It uses a separate partition (only UBI supported at the moment) to store
the data. The primary use case is storing sensitive data like cryptographic
keys for maintaining a device as part of a network.
Felix Fietkau [Sat, 15 Mar 2025 20:55:10 +0000 (21:55 +0100)]
unetd: cli: add support for changing network password
This does not actually create a new private key. Instead, the salt is replaced,
and a xor key is generated which when merged with the key derived from the new
password transforms into the original private key.