Paweł Owoc [Sat, 4 Jan 2025 21:48:01 +0000 (22:48 +0100)]
kernel: modules: bluetooth: separating UART and USB drivers
Not all devices need Bluetooth UART and USB drivers to be installed together. Three separate drivers have been created:
- kmod-bluetooth
- kmod-hci-uart
- kmod-btusb
Bjørn Mork [Sat, 22 Feb 2025 10:11:20 +0000 (11:11 +0100)]
realtek: ONTi ONT-S508CL-8S is a relabeled XikeStor SKS8300-8X
Both hardware and firmware of these devices appears identical except for the
manufacturers logo and device name. The documented XikeStor SKS8300-8X
installation method is verified to work on the ONTi ONT-S508CL-8S using
Openwrt images made for the XikeStor SKS8300-8X. This includes the OEM boot
loader magic password phrases.
Shiji Yang [Fri, 21 Feb 2025 13:18:22 +0000 (21:18 +0800)]
tools: xz: update to 5.6.4
The serious liblzma backdoor vulnerability (CVE-2024-3094) has
been fixed since v5.6.2. It's time to bump this tool to the
latest version. This patch also added a new GitHub package URL.
Allows us to drop multiple upstreamed patches:
package/network/utils/iproute2/patches/013-endian.h.patch
package/network/utils/iproute2/patches/014-basename.patch
package/network/utils/iproute2/patches/015-limits.h.patch
package/network/utils/iproute2/patches/016-limits.h.patch
package/network/utils/iproute2/patches/017-linux-limits.patch
package/network/utils/iproute2/patches/018-linux-limits.patch
3dcc957 three issues: 434bad8 /new_root related 04d18a5 README armsr combined-efi 506d8c1 /efi is not a thing in armsr combined-efi c0db1ed efivarfs remove these filecons 4eb35b7 adds efivars noseclabelfs for armsr combined-efi bbc6a6b adds /dev/ttyS3 to tty serialtermdev 1467206 README local logins 6ae3185 rename eficapsulemiscnodedev d43ded0 rename to vportserialtermdev a47d2f8 fixes virtio port serialtermdev 03aec70 blockmount: make it a bit more robust 70f1ed3 hotplugcall not sure what config triggers this 3338764 boarddetect: i was expecting this d97548a deal with /dev/tty and /dev/vcs c6ba4a5 adds virtio block device d03e216 adds virtio vport serialtermdev for qemu guest agent 2dc0291 validatefirmwareimage: allow getattr of *all* dev chr files fdfb3a7 adds /dev/efi_capsule_loader for armsr combined target b129fb9 validatefirmwareimage ordering b5e81b4 validatefirmwareimage clean up 0932dc5 README typo fixes a1f88f0 README fix e6c68be README typo fixes a232c21 hvcloginserialtermdev: macro not used d7edd95 support /usr/local and update README c0d2947 validatefirmwareimage comment 7dbc9b3 validatefirmwareimage: allow find to getattr of dev.except char f647175 platformtmpfile: elaborate a bit in comment 52f32c1 reintroduce misc.cil 320d77f validatefirmwareimage: /lib/upgrade/platform.sh 365fc65 deal with /efi for combined images 183b412 adds hvc logserialtermdev 20cd42a sshdsysagent: limited support for legacy scp -O with firmware images 1ccee8d validatefirmwareimages: some events related to "combined" images 9b47fc3 jshn reads /dev/urandom f86def7 adds /tmp/log/apk.log f1247b3 these are relative to the current namespace 32c0cc8 hotplugcall qemu virtio-console-helper 5cc41f5 uclient-fetch for manually downloading sysupgrade related c8140bd cgi-io creates firmware and backup atomically edf517b factoryreset deal with firstboot compatibility f5116b5 pppd: redundant, is implied with shell client type 86be72c updates README 8c08ca1 luci-mod-system: a bit of speculation here 417f4a5 adds /dev/autofs 1ed537c misc.cil: remove 01d014a selinuxsecfile: be more specific 53fca71 rename blockd module b4c9b15 ttyloginserialtermdev: ordering 016c3c1 sysagent traversal of /root is enough d0d7c91 hotplugcall: net/00-sysctl 2821746 adds ttyAMA0 and some incomplete rules for board-detect
Jan Hoffmann [Thu, 30 Jan 2025 10:19:30 +0000 (11:19 +0100)]
ltq-vdsl-vr11-app: exit more quickly if orderly shutdown fails
On exit, the app tries to do an orderly shutdown of the DSL connection
before it is stopped forcibly. Since the driver does 3 attempts with a
timeout of 2 seconds each, this might take about 6 seconds in the worst
case.
This is problematic on sysupgrade, because any process that doesn't exit
within 4 seconds is killed. This means that the DSL connection might not
be stopped at all before the actual system upgrade begins.
To avoid this, use the newly added option in the driver to not retry the
L3 request on failure.
Jan Hoffmann [Thu, 30 Jan 2025 10:19:29 +0000 (11:19 +0100)]
ltq-vdsl-vr11: add option for L3 request without retry on failure
This allows to attempt an orderly shutdown via L3 request while avoiding
excessive delay in the failure case (up to 6 seconds with the currently
hard-coded 3 attempts).
Jan Hoffmann [Thu, 6 Feb 2025 22:54:25 +0000 (23:54 +0100)]
ltq-vdsl-vr9-mei: avoid unnecessary usage of unsafe_memcpy
Commit 7bc487c12eef ("kernel: ltq-vdsl-vr9-mei: fix warning about
field-spanning write") patched the driver to use unsafe_memcpy in
MEI_IoctlCmdMsgWrite.
However, this is not actually necessary. The assignment of the variable
"pDestPtr" can be modified so that the compiler knows about the correct
size. This way, the check in the fortified memcpy works correctly.
While at it, also adjust all places where similar code is used to copy
from a CMV_STD_MESSAGE_T struct.
Also mark all related structs as packed, because the code (and the
driver in general) seems to rely on that anyway.
Since the update to kernel 6.1, a warning like this appears in the
kernel log:
[ 49.773953] ------------[ cut here ]------------
[ 49.773998] WARNING: CPU: 3 PID: 2349 at target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/dsl_cpe_mei-ugw_8.5.2.10/src/drv_mei_cpe_msg_process.c:3570 MEI_IoctlCmdMsgWrite+0x290/0x2c8 [drv_mei_cpe]
[ 49.777670] memcpy: detected field-spanning write (size 4) of single field "pDestPtr" at target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/dsl_cpe_mei-ugw_8.5.2.10/src/drv_mei_cpe_msg_process.c:3570 (size 2)
...
[ 50.087078] ---[ end trace 0000000000000000 ]---
The variable "pDestPtr" points to the field "header.index" in a
CMV_STD_MESSAGE_T struct (header is a CMV_STD_MESSAGE_HEADER_T struct).
The offending code intentionally copies data beyond this field, which is
followed by "header.length" and "payload".
To fix this, change the assignment of "pDestPtr" to use the pointer to
the message plus the offset of the "header.index" field. This way, the
compiler knows about the size and thus the false positive warning
disappears.
While at it, also adjust all places where similar code is used to copy
from a CMV_STD_MESSAGE_T struct.
Also mark all related structs as packed, because the code (and the
driver in general) seems to rely on that anyway.
Sander Vanheule [Sat, 22 Feb 2025 11:06:10 +0000 (12:06 +0100)]
realtek: add PoE enable line to Netgear GS310TP
By switching to the new RTL8231 driver in commit b7af54d5c18c ("realtek:
Simple conversions to RTL8231 MFD driver"), the bootloader state of the
RTL8231's pins is now maintained. As the bootloader de-asserts the PoE
enable signal, this means PoE output is no longer available.
Add a gpio-hog with high output, restoring the line value from when the
pin was configured (by default) as an input with a pull-up resistor.
This will hard-enable the PoE output, but the individual ports can still
be administratively disabled by realtek-poe or a similar tool.
Kuan-Yi Li [Thu, 20 Feb 2025 21:26:15 +0000 (05:26 +0800)]
imagebuilder: fix addition of local packages
Since alpinelinux/apk-tools@460d62ee743c, relative paths are no longer
accepted in repositories file.
Add local repository in APK command instead to fix this issue.
Fixes: 83d2d21904e0 ("apk: update to Git HEAD (2025-02-08)") Fixes: https://github.com/openwrt/openwrt/issues/18032 Signed-off-by: Kuan-Yi Li <kyli@abysm.org> Link: https://github.com/openwrt/openwrt/pull/18048 Signed-off-by: Robert Marko <robimarko@gmail.com>
Nick Hainke [Sun, 29 Dec 2024 21:55:04 +0000 (22:55 +0100)]
ipq40xx: convert GL.iNet GL-S1300 to DSA
Convert the router to DSA.
Co-Developed-by: Matt Beaumont <github@beaum.xyz> Tested-by: Matt Beaumont <github@beaum.xyz> Link: https://github.com/openwrt/openwrt/pull/12478 Signed-off-by: Nick Hainke <vincent@systemli.org>
George Moussalem [Wed, 19 Feb 2025 09:08:49 +0000 (13:08 +0400)]
qualcommax: ipq50xx: Linksys MX remove superfluous properties and fix indentation
On the ipq50xx platform, the internal GE PHY at phy address 7 on mdio0
must be enabled as it's used to detect the virtual switch in qca-ssdk.
This is a platform wide condition and is therefore part of the dtsi.
However, by enabling the mdio0 bus in board-specific dts files, the ge_phy
is implicitly enabled. So, let's remove the superfluous status property
in the dts files for Linksys MX2000 and MX5500.
While at it, remove the redundant phy-mode property as it's set to sgmii
by default in the ipq5018-ess.dtsi file and fix indentation in the
firmware property of the q5v6_wcss node.
The fixes are only for the WRT1900X and WRT1200AC.
It contains:
Deletes the driver's ability to modify the debit table.
Remove skb_get(done_skb) in txdone
Reworking ISR
clean code
Napi replaces tasklet
Add rx_decrypt feature
Michał Kępień [Tue, 18 Feb 2025 07:40:09 +0000 (08:40 +0100)]
yafut: update to a version that builds on macOS
The latest upstream version of Yafut builds on macOS and other
POSIX-compatible systems. Drop the custom OpenWRT patch applying
non-Linux compatibility fixes to the tool's source code.
Lix Zhou [Wed, 19 Feb 2025 05:22:12 +0000 (13:22 +0800)]
wifi-scripts: failed to start hostapd if he_spr_psr_enabled is set
he_spr_psr_enabled is appended to hostapd.conf if it's enabled, but hostapd
doesn't support this config, it should be used as an internal flag to control
the he_spr_sr_control configuring.
Sean Khan [Wed, 19 Feb 2025 05:28:07 +0000 (00:28 -0500)]
wifi-scripts: iwinfo: add null checks for rx/tx bitrate
On some devices, the rx/tx bitrate may not always be available
right away, or at all when in mesh mode at plink is blocked causing
the following:
```
Reference error: left-hand side expression is null
In assoclist(), file /usr/share/ucode/iwinfo.uc, line 321, byte 46:
called from function info (/usr/share/ucode/iwinfo.uc:427:33)
called from anonymous function (/usr/bin/iwinfo:108:25)
` bitrate_raw: station.sta_info.tx_bitrate.bitrate,`
Near here -----------------------------------------------^
Reference error: left-hand side expression is null
In assoclist(), file /usr/share/ucode/iwinfo.uc, line 314, byte 54:
called from function info (/usr/share/ucode/iwinfo.uc:427:33)
called from anonymous function (/usr/bin/iwinfo:108:25)
` bitrate: format_rate(station.sta_info.rx_bitrate.bitrate),`
Near here -------------------------------------------------------^
Reference error: left-hand side expression is null
In assoc_flags(), file /usr/share/ucode/iwinfo.uc, line 216, byte 12:
called from function assoclist (/usr/share/ucode/iwinfo.uc:323:51)
called from function info (/usr/share/ucode/iwinfo.uc:427:33)
called from anonymous function (/usr/bin/iwinfo:108:25)
` if (data[k])`
Near here -------^
```
This was seen on Linksys MX5300 in mesh mode (QCA9984).
* Add missing parentheses in the conditionals for VHT160/VHT160-80PLUS80
and VHT_MAX_MPDU capabilities. The missing parentheses caused the bitwise
AND to be evaluated after the equality comparison due to ECMA's operator
precedence, where `==` has higher precedence than `&`.
* Fix Max MPDU length detection by changing the comparison operators to
`>=` vs `>` otherwise the condition would never be met.
* Add missing default values:
- `true` value for `short_gi_80` (As it exists for `short_gi_20`, `short_gi_40`, `short_gi_160`)
- `7` for `vht_max_mpdu` (Without it the loop in MAX-MPDU-* calculation always compares with null)
* Change the `vht160` condition to `config.vht160 <= 2`. This flag is
`2` by default, and only ever set to `0` when `vht_oper_chwidth < 2`.
Notation for RX-STBC VHT capabilities when specifying number of spatial
streams should be hyphenated, e.g. RX-STBC-1, RX-STBC-2. HT capabilities
use without hyphen, e.g. RX-STBC1, RX-STBC2. This is consistent with
what hostapd expects.
When selecting channels above 100 in VHT160+ modes the center
frequency segment was incorrectly set to 50, causing the interface
to not come up.
Change logic to instead check if the channel is within ±28 channels
of the intended center, which matches the actual 160+ MHz channel
width specification for VHT160, HE160, and EHT160.
Zoltan HERPAI [Sat, 15 Feb 2025 15:48:20 +0000 (16:48 +0100)]
uboot-sifiveu: bump to 2023.10
Upgrade the u-boot to a more recent version, and drop and refresh
patches while at it. Additionally, use the correct architecture
when running mkimage.
5f127fcc415c convdb: preserve newlines at the end of scripts e94a2212a0d2 convdb: import package names starting with leading dot 9c0d353c7905 adbdump: use literal block if yaml quoting is needed 93c6a09a8ea8 improve compatibility of shellscripts 6c454d13de9b doc: fix pre/post commit hook documentation 3eb0b70b6d0f solver: rework solver name ordering to fix install_if handling 78c3bdc03cbd solver: make dependencies only packages selectable 373b364ef2a8 build: use the VERSION directly as the soname 6f627d93f5a0 update .gitignore 908f1ee7e87b index, add, pkg: check arch in 'add' only to allow 'index' to work 7c164c471251 index: Fix total always 0 0042b035df53 pkg, db: check arch on apk_db_pkg_add ffc706689603 applet: always show help for global options f6a66ebc5876 help: use uppercase usage prefix 7ebb23720483 doc: fix manpage sections 5e5e1f088986 genhelp: reorganize and add --debug output mode 9b371e452fb2 genhelp: do man page link wrangling for COMMANDS text only 2a87e46a354b context: introduce and use apknew_suffix a6180e4cfa1a meson: add tests option eb100676c5f0 test: move subdir unit to be the first a12eae1780e8 test/user/hardlink: be portable to bsd-style stat(1) f0c096bc034b db: attempt new mount user namespace for chroot in usermode 994e5e4e0006 db: fix "fetch --recurisve" to work 24d8f9677d77 Revert "database: move lock file from /lib/apk to /run/apk" 470432aafe77 applets: simplify option group handling e1275e2f5010 apk: load global options from /etc/apk/config 8c39b525cd0c add support for repository package name specification 5856cf100241 doc, db: fix repository url_base to be allocated and fetch man page a0411e87187e cache: fix not to remove indexes cddca5769e98 apk, commit: support --cache-predownload to first download packages 915e9841ed1c ci: always test all features available 4f94807104e3 commit: print version numbers with --verbose --interactive summary 5bd6d49ac447 fetch: call progress early to avoid flicker fc66fdfc49cd test: portability fixes 3f73ba343cbd test: shellcheck test suite for bash, dash and busybox d94671bb1235 test: fixup sourcing testlib.sh to work better with shellcheck 6007db9cdde6 print: refactor progress printing API a1d7042a2d3b print: further refactor progress API bed4628c9317 print: reorganize progress to be renderred after apk_out 8cd7362a986c add process main loop to pipe stdout/stderr and logs it ccfd7ac5e518 db: log script output using apk_process api 3c4594962fb4 db: log uvol output using apk_process api and add tests fc7768c09497 io_url_wget: log wget output using apk_process api 90a62541751f build: only use VERSION up until first space for soname 378d6360ab17 db: rename apk_db_add_repository to add_repository 5d978c2a5924 db: split open_repository out of add_repository af812cd28c6d print: simplify code a little bit 4c776eb74997 db: make index refresh notices a progress note 64e053071a89 db: fix non-repository reverese dependency indexing 3cf039322ce1 apk-tools-3.0.0_rc1 90220e710c61 commit: fixup progress during package removal d11521ec6309 apk-tools-3.0.0_rc2 dc191820b1c4 solver: fix name resolving order of pure virtual names 7da628bc455f libfetch: remove remaining ftp references 10b467c0992a libfetch: remove error generation script b5b130e1d628 print: flush after progress notice if needed d71722b9a637 libfetch: rework error codes API 7b0b69a3023f commit: advise on using upgrade --prune and/or --available 1fd82ea2d7dc test: fix spelling s/shuld/should 8eb22149138f process: move apk_exit_status_str as static function 752ee96a25b1 db: refactor repository parsing and url printing bfa763904fe4 doc: update apk-keys(5) and apk-repositories(5) 165333af1a35 db: introduce and use apk_db_foreach_repository 8e98d6889c92 libfetch: remove unused file scheme and manual pages 30b1c0348d6b remove usage of TRUE/FALSE fa19887d741c crypto: use explicit algorithm fetching for openssl >=3.0 a706cbdfd5b1 crypto: remove support for obsolete md5 35a57547a7d7 db: remove APK_REPOSITORY_CACHED and use cache_repository 7f616711636c db: const correctness for apk_db_pkg_available 2cda62cd3a4c io: adjust scheme detection in apk_url_local_file() 50a2c12a32b8 db: make repo.url_index a pure blob a186267a8822 db: make repo.url_base_printable prefix of url_index_printable 9fb473c6a269 add .editorconfig 088c584bf515 mkndx: introduce --filter-spec to filter existing index 0c3188793243 atom: remove apk_atomize_dup0 866374c7cda0 python: add initial python binding bdf492471328 python: add unittests 9afe8dae79a0 ci: install python3-dev df3424e5c8cd python: move version to a submodule 3e65a63aa4f1 apk-tools-3.0.0_rc3 946027f6abde test: extend blob_split tests e73b5e313998 db: do not add empty arch a6c84f8f62f7 atom: use null atom also for zero length blobs fb8eef15dc52 db: handle not found names in __apk_db_foreach_sorted_package 0ef8a2223cca commit: don't trigger question with --prune/--available warning fe484a5c06b9 atom: remove apk_atomize 70fc828cf06b update: make --update-cache and and 'update' behave the same 04e83acfb9b9 upgrade: fix previous commit cdeebc01283d test: add mkpkg/add symlink test c2f21ce06a67 mkpkg: do not include filename on error message de0a4886a91c fs_fsys: do not leave temporary files after failed commit e5e362c1a65c doc: update --cache-max-age documentation 8d41ff40b59a fetch: fix fetch_err_make() for 32-bit arches 2526fd73bc66 walk_gentext: make state per-module, use apk_ostream for output bb65553e6423 walk_genadb: make state per-module a920e5976127 adb_walk: rename scheme to start_scheme and always call end for it 92c573fac280 adb_walk: separate string and numeric values fe4876bd3a4e adbdump: add support for json output 66cc8da577f0 walk_adb: always call the string scalar function 40bfa97ce3e3 adb: reset dynamic on freeing adb_obj 7519b70d42d1 convert adb_walk_gen* to apk_serializer_* 64c484730c9f add missing serialize.c 83e85aaee220 add missing apk_serialize.h f70638e12ccc serializer: simplify schema and array handling 9bfc259d9fdb serializer: merge start_schema and start_object to one op a23368b38ff6 serialize_yaml: improve quoting detection 3a33e75b92aa serialize_adb: move from libapk to apk executable f5c3fd843824 info: fix -W with symlinks d54fdb753135 update, version: do not print unavailable repositories 8223c10d4c33 doc: extract arguments are files a3b4ebcefa3b serialize_yaml/adb: support single quoting, and fixes 77aff1daa967 db: fix --no-cache f0e3aa4c139d mkpkg: do not call openat() with null pathname 28770f552f4e adb: fix adb_block_init check when extended block is needed 1ca73b6ae892 blob: apk_blob_push_int use uint64_t as value 0b159e23432e print: use uint64_t for progress api progress type 5da830ba51d0 db, commit, print: use uint64_t for file size types a7b5d8d8eeb9 mkndx, extract: use uint64_t for file size types 639f8ab8d9cd io: use uint64_t for file size as needed 49905d47ee90 io: introduce and use apk_istream_skip 8d83f18647d4 defines: drop muldiv and mulmod helpers d373a9a6971e db: drop now unused apk_repo_format_cache_index 5700b195d67d pkg: update script execution logging style 00c51e267162 pkg: cap sizes that are allowed for scripts and some v2 fields 5157c540d732 io: fix segment_close to read the inner stream ad741fe98b72 db: implement system repository list configuration path 6ca1831ed563 use #pragma once instead of ifdef guards 64254d190b32 db, ctx: add and use allocator in apk_ctx 581825bb0811 fix handling of etc/apk/config options with an argument 508b312df637 apk: add APK_CONFIG to overwite path to config file 0e8e7e5a8264 test: fix busybox realpath compat 0186a6aa9d5c apk: support loading configuration options from /lib/apk/config 0c52242990f4 db: fix package name orphan check a7766c933853 add: don't print misleading error after failed non-repository check 4254863de6ac introduce and use apk_array_foreach and apk_array_foreach_item b276b3c50618 serialize: separate apk_ser_string and its multiline variant 91dc10b1cddf blob: introduce and use apk_blob_foreach_token d345a9aa6d25 adbgen: split adbgen specific code to separate file 00522cd60e18 apk: introduce and use APK_OPTVAL_* macros 7f8a1ca12465 list, search: fix origin existence checks b0bb4a99378b adb: allow copying larger arrays 3fe4258d4c1b mkndx: fix matching packages from old index b263d961ba12 libfetch/http: reuse fetch_netrc_auth for http(s) 1d4ed5525f54 ctype: fix apk_blob_{spn,cspn} for non-ascii characters 1fa9f3c221c7 genhelp.lua: don't match underscores in the middle of words 48980518436f ctx, trust: load public keys also from lib/apk/keys ba38d6584599 mkndx: remove --rewrite-arch a9ea20e37029 context: fix --keys-dir 8abae4785c78 various: fix compilation error for missing inttypes.h fdb10df21486 various: fix compilation error for missing limits.h 89ef2b546087 database: fix compilation error for missing sched.h 8afd4ab47200 process: correctly handle error from pipe2 and open 1cbbf7457721 crypto_openssl: make sha global variables constant for OpenSSL < 3 025710552ac8 io: fix compilation error for missing stdarg.h 908efa92701c libfetch: allow obsolete date format in http timestamps 70494b5bcdf9 apk: add support for boolean flag arguments 16ab8c549a06 apk: add --cache-packages to enable package caching always 460d62ee743c db: extend repositories file format with commands 34771ccb7964 apk-tools-3.0.0_rc4
qualcommax: ipq50xx: add support for Linksys SPNMX56
The SPNMX56 is an ISP-branded and distributed device similar to the MX5500
with the same Wifi chips (IPQ5018 for 2.4G and QCN9074 for 5G) but has an
additional QCA8081 PHY providing a 2.5gbps ethernet WAN port.
Speficiations:
* SoC: Qualcomm IPQ5018 (64-bit dual-core ARM Cortex-A53 @ 1.0Ghz)
* Memory: Winbond W634GU6NB-11 (512 MiB DDR3-933)
* Serial Port: 3v3 TTL 115200n8
* Wi-Fi: IPQ5018 (2x2 2.4 Ghz 802.11b/g/n/ax)
QCN9024 (4x4:4 5 Ghz 802.11an/ac/ax)
* Ethernet: IPQ5018 integrated virtual switch connected to an external
QCA8337 switch (3 Ports 10/100/1000 GBASE-T) and a
QCA8081 phy (up to 2.5 Gbps)
* Flash: Gigadevice GD5F2GM7RExxG (256 MiB)
* LEDs: 1x multi-color PWM LED
* Buttons: 1x WPS (GPIO 27 Active Low)
1x Reset (GPIO 28 Acive Low)
Flash instructions:
1. On OEM firmware, login to the device (typically at http://192.168.1.1)
and click 'CA' in the bottom right corner -> Connectivity ->
Manual Upgrade. Alternatively, browse to http://<router IP>/fwupdate.html
Upload openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin
Optionally flash 2nd partition, after first boot check actual partition:
fw_printenv -n boot_part
and install firmware on second partition using command in case of 2:
mtd -r -e kernel -n write openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin kernel
and in case of 1:
mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin alt_kernel
2. Installation using serial connection from OEM firmware
hit Enter once booted and enter credentials (login: root, password: admin)
fw_printenv -n boot_part
In case of 2:
flash_erase /dev/mtd12 0 0
nandwrite -p /dev/mtd12 openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin
or in case of 1:
flash_erase /dev/mtd14 0 0
nandwrite -p /dev/mtd14 openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin
After first boot install firmware on second partition:
mtd -r -e kernel -n write openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin kernel
or:
mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq50xx-linksys_spnmx56-squashfs-factory.bin alt_kernel
3. Back to the OEM firmware.
Download firmware from OEM website:
Firmware for this device cannot be searched for on the Linksys website.
Instead, we'd have to use serial to intercept the URL of the firmware
while it's trying to update. Firmware is ISP specific:
Toob (UK): http://download.linksys.com/updates/20241125t080737/FW_MX56TB_1.0.1.216218_prod.img
The intention is to collect URLs for different ISPs on a wiki page.
From serial or SSH:
fw_printenv boot_part
in case of 1:
mtd -r -e alt_kernel -n write FW_MX56TB_1.0.1.216218_prod.img alt_kernel
else in case of 2:
mtd -r -e kernel -n write FW_MX56TB_1.0.1.216218_prod.img kernel
Daniel Golle [Tue, 18 Feb 2025 04:31:05 +0000 (04:31 +0000)]
generic: mtk_eth_soc: dump registers on forced reset
Import patch from MediaTek's SDK to hack-6.6 which dumps all relevant
registers of the Ethernet controller in case of a forced reset.
This can help to debug and find the cause for sporadic resets seen on
Filogic SoCs when used with OpenWrt's Linux 6.6.
The proposed detection method was based on reading the LAUNCH_FREADY core flag.
However, this method only works before the cores are launched.
For this reason, the core number detection method has been changed to a simpler one.
For mt6721s the 17th revision bit is zero, hence we know that it is this chip,
so the number of cores is 1.
Fixes: https://github.com/openwrt/openwrt/issues/17764 Tested-by: Enrico Mioso <mrkiko.rs@gmail.com> Tested-by: Simon Etzlstorfer <simon@etzi.at> Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi> Co-authored-by: Shiji Yang <yangshiji66@qq.com> Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/17834 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Chukun Pan [Mon, 10 Feb 2025 15:18:15 +0000 (23:18 +0800)]
qualcommax: add support for Aliyun AP8220
Aliyun AP8220 is an AP manufactured by Edgecore.
(Very similar to Edgecore EAP102)
Hardware specifications:
SoC: Qualcomm IPQ8071A
RAM: 1GB of DDR4 600MHz
Flash1: MX25U3235F 4MB
Flash2: MX30UF1G18AC 128MB
Ethernet: 2x 2.5G RJ45 port
USB: 2x USB-A 2.0 port
WiFi1: QCN5024 2.4GHz
WiFi2: QCN5054 5GHz
Power: DC 12V / PoE
Flash instructions:
1. Connect the router via serial port
2. Keep pressing @ until uboot is interrupted
3. Download the initramfs image, rename it to
initramfs.bin, host it with tftp server
4. Run these commands:
tftpboot initramfs.bin
bootm
5. After openwrt boots up, use scp or luci
to upload sysupgrade.bin to upgrade.
Fixed the 5G mac address on KN-1910, rolled back the image size to stock
(there are no errors with loading large images in version 24.10.0),
minor spelling errors.
Raylynn Knight [Sun, 26 Jan 2025 04:19:09 +0000 (23:19 -0500)]
ramips: Add alternate support for TP-Link FR205
This is a MT7621-based device with 128MB NAND flash, 256MB RAM, and a USB port.
It is identical hardware to the already supported TP-Link ER605 v2 right
down to the PCB ID. The only differences are the color of the case and
the factory firmware features.
mediatek: filogic: upstream LEDs control on 2.5G ports on EX5601
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. The behaviour of LED1 is the same
as before. The behaviour of 2.5G-WAN LED has been changed. It is only
active when a 2.5G link is detected, which matches the stock software.
Additionally, the name of the WAN led has been changed to INTERNET.
Fabian Groffen [Sat, 25 Jan 2025 08:30:59 +0000 (09:30 +0100)]
octeon/generic: ubnt,erlite: define profile
Currently the erlite install shows Model as EBNT_E100, uses eth0 as lan,
eth1 as wan, and doesn't use eth2.
- define dts for this device, such that we get a cleaner naming here
- fix handing of this device to inlude eth2
- change eth0 to wan, like er-4/usg/etc as it once was intended
John Audia [Wed, 12 Feb 2025 13:56:47 +0000 (08:56 -0500)]
openssl: update to 3.0.16
Changes between 3.0.15 and 3.0.16 [11 Feb 2025]
CVE-2024-13176[1] - Fixed timing side-channel in ECDSA signature
computation.
There is a timing signal of around 300 nanoseconds when the top word of
the inverted ECDSA nonce value is zero. This can happen with significant
probability only for some of the supported elliptic curves. In
particular the NIST P-521 curve is affected. To be able to measure this
leak, the attacker process must either be located in the same physical
computer or must have a very fast network connection with low latency.
CVE-2024-9143[2] - Fixed possible OOB memory access with invalid
low-level GF(2^m) elliptic curve parameters.
Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit
values for the field polynomial can lead to out-of-bounds memory reads
or writes. Applications working with "exotic" explicit binary (GF(2^m))
curve parameters, that make it possible to represent invalid field
polynomials with a zero constant term, via the above or similar APIs,
may terminate abruptly as a result of reading or writing outside of
array bounds. Remote code execution cannot easily be ruled out.
Daniel Golle [Mon, 10 Feb 2025 23:18:46 +0000 (23:18 +0000)]
mediatek: apply bootloader work-around for affected ASUS devices
Apply "u-boot-dont-touch-spi-nand" to ASUS RT-AX59U, ASUS TUF-AX4200 as
well as ASUS TUF-AX6000 routers to prevent U-Boot from wiping MTD
child nodes from DT.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 6 Feb 2025 05:17:54 +0000 (05:17 +0000)]
mediatek: add work-around for ASUS bootloader MTD behavior
ASUS makes use of U-Boot's fdt_fixup_mtdparts() function which applies
the partitions defined in U-Boot's mtdparts and mtdids environment
variables to the devicetree passed over to Linux.
The undesired side-effect is that in this way also all additional
properties and child nodes get wiped, preventing NVMEM cells to be
defined for MTD partitions or UBI volumes.
To work-around this issue, add an additional compatible string
'u-boot-dont-touch-spi-nand' which can be used instead of 'spi-nand' in
case the replacement of the MTD partitions by U-Boot should be skipped
alltogether.
In practise this is mostly relevant for SPI-NAND which anyway comes only
with two partitions nowadays: 'Bootloader' and 'UBI_DEV'. Hence this
work-around is applicable for SPI-NAND only. Similar work-arounds for
other MTD devices can be created as well should they actually be needed.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
1.6:
Support for parsing riscv,isa-extensions DT property
Setup serial console very early in cold boot path
Support for multiple heaps and aligned memory allocation
Support for shadow stacks (Zicfiss) ISA extension
Support for landing pads (Zicfilp) ISA extension
Support for per-domain data
Support for double-trap (Smdbltrp/Ssdbltrp) ISA extensions
DT-based configurable heap size
Common fdt_driver and helpers for driver initialization
Support for SBI PMU raw event v2 (Experimental)
Simple FDT based mailbox driver framework
RPMI shared memory transport driver (Experimental)
RPMI system reset driver (Experimental)
Simple FDT based system suspend driver framework
RPMI system suspend driver (Experimental)
Simple FDT based HSM driver framework
RPMI HSM driver (Experimental)
Simple FDT based CPPC driver framework
RPMI CPPC driver (Experimental)
SBI Message Proxy (MPXY) extension (Experimental)
Simple FDT based MPXY driver framework
Common RPMI client driver for MPXY (Experimental)
Support for vector misaligned load/store
1.5.1:
Save/restore menvcfg only when it exists
Adjust Sscofpmf mhpmevent mask for upper 8 bits
Fix potential NULL pointer dereferences in SBI DBTR
Fix incorrect size passed to sbi_zalloc() in SBI FWFT
Check result of pmp_get() in is_pmp_entry_mapped()
1.5:
SBI debug triggers (DBTR) extension (Experimental)
Support to specify coldboot harts in DT
Relocatable FW_JUMP_ADDR and FW_JUMP_FDT_ADDR
Smcsrind and Smcdeleg extensions support
SBIUnit testing framework
Initial domain context management support
Platform specific load/store emulation callbacks
New trap context
Improved sbi_trap_error() to dump state in a nested trap
SBI supervisor software events (SSE) extension (Experimental)
Simplified wait_for_coldboot() implementation
Early wakeup of non-coldboot HART in the coldboot path
Sophgo CV18XX/SG200X series support
APLIC delegation DT property fix
Svade and Svadu extensions support
SBI firmware features (FWFT) extension (Experimental)
George Moussalem [Fri, 14 Feb 2025 09:46:53 +0000 (13:46 +0400)]
nss-dp: switchdev: apply flag dependency directives
The FDB roaming issues were observed on ipq807x and ipq60xx boards.
The fix depends on API exposed only when NSS_DP_PPE_SUPPORT is enabled.
However, this flag applies to above mentioned platforms only and is
causing the logs to be flooded on other QCA platforms, including ipq50xx,
with:
[ 34.893418] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[ 34.898370] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[ 34.904598] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
[ 34.910661] nss-dp 39c00000.dp1 lan: cannot get VSI ID for port 1
So let's apply a dependency on the NSS_DP_PPE_SUPPORT flag and contain
the patch code for ipq807x and ipq60xx within conditional directives.
Felix Fietkau [Mon, 13 Jan 2025 21:46:05 +0000 (22:46 +0100)]
cli: add OpenWrt CLI
This provides an easy to use modular CLI that can be used to interact with
OpenWrt services. It has full support for context sensitive tab completion
and help.
Extra modules can be provided by packages and can extend the existing node
structure in any place.
Felix Fietkau [Mon, 13 Jan 2025 11:28:30 +0000 (12:28 +0100)]
ucode-mod-uline: add package for ucode terminal line editing
It provides a ucode module with similar functionality as libreadline,
however with much smaller code and no dependencies aside from ucode and
libubox.
It also provides shell-style parsing/escaping code useful for building
a CLI.
The initial fix was correct. However, a recently introduced bug in
base-files can cause some unexpected byte overwriting in eeprom.
Since it has been fixed, let's accept this patch again.
Shiji Yang [Sat, 8 Feb 2025 07:36:24 +0000 (15:36 +0800)]
base-files: fix offset conversion on caldata_patch_data()
`$(( ))` will convert uninitialized variable to "0". If we want to
use "-n" to check the string length, it's necessary to make sure the
converted variable is not empty.
Fixes: 652a6677d5fa ("base-files: Add new functions for ath11k caldata") Fixes: https://github.com/openwrt/openwrt/issues/17818 Signed-off-by: Shiji Yang <yangshiji66@qq.com> Link: https://github.com/openwrt/openwrt/pull/17892 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Lech Perczak [Wed, 12 Feb 2025 01:25:53 +0000 (02:25 +0100)]
ath79: mikrotik: fix reference clock of Routerboard 911G
When support for Routerboard 911G was introduced, Routerboad 912UAG
device tree was used as a base, and the common part. This led to use of
40MHz as the reference clock frequency for both [1], while RB911G uses 25MHz
crystal on the board, causing heavy system clock drift.
Split the definition, and set the reference clock frequency for RB911G
back to 25MHz.
[1] a716ac556497 ("ath79: fix reference clock for RouterBoard 912UAG")
Fixes: bcc44b1212b2 ("ath79: support for MikroTik RouterBOARD 911G-(2,5)HPnD") Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17944 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
John Audia [Sun, 9 Feb 2025 14:55:56 +0000 (09:55 -0500)]
qualcommb/ipq95xx: refresh patches ahead of 6.6.75
Refreshed patches for qualcommb/ipq95xx by running
make target/linux/refresh after creating a .config containing:
CONFIG_TARGET_qualcommbe=y
CONFIG_TARGET_qualcommbe_ipq95xx=y
CONFIG_TARGET_qualcommbe_ipq95xx_DEVICE_qcom_rdp433=y
Thanks to
https://forum.openwrt.org/t/zyxel-gs1900-10hp-revision-b1-support-openwrt-firmware/131841/32
for putting me on the right track for this problem
Error that is being fixed - running fw_printenv results in:
"Warning: Bad CRC, using default environment"
and not showing boardmodel
Workaround, manually changing /etc/fw_env.config to
"/dev/mtd1 0x0 0x400 0x10000"
Felix Fietkau [Wed, 12 Feb 2025 10:54:59 +0000 (11:54 +0100)]
hostapd: fix sta psk index for dynamic psk auth
Depending on the config / circumstances, the get_psk call can be called
multiple times from differnt places, which can lead to wrong sta->psk_idx
values. The correct call is the one that is also interested in the vlan_id,
so use the vlan_id pointer as indication of when to set sta->psk_idx.
Also fix off-by-one error for secondary PSKs
Fixes: b2a2c286170d ("hostapd: add support for authenticating with multiple PSKs via ubus helper") Signed-off-by: Felix Fietkau <nbd@nbd.name>
Shiji Yang [Sat, 25 Jan 2025 11:16:48 +0000 (19:16 +0800)]
uboot-mediatek: enable auto switch chip detect for Xiaomi AX3000T
The Xiaomi AX3000T has two hardware revisions. One uses MT7531
switch, and the other uses AN8855 switch. Set "mediatek,switch"
property to "auto" to be compatible with different switches.
Tested-by: Mikhail Zhilkin <csharper2005@gmail.com> Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Some patches have been manually rebased to match the upstream
changes. This patch also fixes the dtc warning for reserved-memory
dts node. If #address-cells and #size-cells are not same as the
root node definitions, the dtc will complain about it.
All defconfigs are refreshed by `make "$board"_defconfig` and
`make savedefconfig`.
Evan Jobling [Thu, 23 Jan 2025 00:13:35 +0000 (00:13 +0000)]
realtek: HPE 1920-48G-PoE: allow fan speed control
The JG928A has an RTL8231 on the aux mdio bus. Add it to dts to expose
the GPIO pins used to control and monitor the fan speed. To enable speed
control, add the appropriate kernel driver module to DEVICE_PACKAGES.
Of note, this does not control all fans for the unit. The power supply
fans are not controlled.