Shiji Yang [Fri, 4 Oct 2024 14:40:11 +0000 (22:40 +0800)]
ppp: remove discovery phase timeout hack patch
In the original code, the entire time delay of the discovery phase
is only 5+5x2+5x2x2 = 35s. Increasing timeout may be necessary if
discovery phase fails on first attempt. There is a chance to fix
the "Timeout waiting for PADO packets" issue by removing this patch.
Petr Štetiar [Sat, 28 Sep 2024 13:27:19 +0000 (13:27 +0000)]
openwrt-keyring: add apk public key for signing of package indexes
apk/openwrt-snapshots.pem contains Elliptic Curve based public key which
is going to be used for signing of apk's package.adb package indexes
after the builds using `apk adbsign --sign-key <key> packages.adb`
command on the buildbot.
For some reason the new belkin-header.py script works without issues
in a local Fedora build environment. In the OpenWrt build pipeline it
produces the following errors:
Traceback (most recent call last):
File "/builder/shared-workdir/build/scripts/belkin-header.py", line 92, in <module>
head = create_header(buf, args.belkin_header, args.belkin_model)
File "/builder/shared-workdir/build/scripts/belkin-header.py", line 68, in create_header
head[28:29] = VERSION1.to_bytes(1)
TypeError: to_bytes() missing required argument 'byteorder' (pos 2)
This may be related due to different python version. Fix this by
handing over the needed parameters
Added the following default ksym to target/linux/generic/config-6.6:
CONFIG_PROC_MEM_ALWAYS_FORCE=y
# CONFIG_PROC_MEM_FORCE_PTRACE is not set
# CONFIG_PROC_MEM_NO_FORCE is not set
Felix Fietkau [Fri, 11 Oct 2024 16:50:32 +0000 (18:50 +0200)]
mt76: update to Git HEAD (2024-10-11)
513bd7683746 Revert "wifi: mt76: mt7915: disable the second PCIe link for MT7915" 703c6b78c133 wifi: mt76: mt7915: firmware restart on devices with a second pcie link
Thomas Richard [Tue, 24 Sep 2024 16:27:16 +0000 (18:27 +0200)]
scripts/feeds: force kernel package scan after a target installation
When a target is installed from a feed, the linux kernel package is scanned
before the installation of this target.
If some kernel module packages are defined in this feeds at the target
level, there were not parsed during the scan of linux kernel package, as
the target didn't exist yet. So these kernel module packages don't exist.
Once the target is installed, clean the linux kernel packageinfo to force
the scan of the linux kernel package next time this script (or the make
command) is called.
Robert Marko [Mon, 7 Oct 2024 13:07:39 +0000 (15:07 +0200)]
kernel: netdevices: add RmNet MAP support
RmNet driver provides a transport agnostic MAP (multiplexing and
aggregation protocol) support in embedded module. Module provides
virtual network devices which can be attached to any IP-mode
physical device.
This is commonly used on Qualcomm based modems for data aggregation.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Daniel Golle [Tue, 8 Oct 2024 23:23:53 +0000 (00:23 +0100)]
generic: net: phy: use all SerDes MAC interface modes
Instead of forcing 2.5G PHYs into rate-adapter mode which results higher
energy consumption, lack of support for half-duplex modes and typically
worse performance when linked at speeds less than 2.5G, use SGMII mode
which allows the MAC to follow the PHY speed.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 8 Oct 2024 23:19:26 +0000 (00:19 +0100)]
generic: net: phy: realtek: various improvements
Follow the advise of Russell King allows to greatly improve the driver
for RealTek's 1G and 2.5G Ethernet PHYs. The results are full/half
duplex as well as Gbit master/slave property being read from PHY
Specific Status Register (PHYSR), and fixes regarding link-partner
advertisement.
Fixes: #14504 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 8 Oct 2024 18:33:49 +0000 (19:33 +0100)]
mediatek: update MediaTek PHY patchset
The previous iteration of MediaTek's PHY patches caused various weird bugs.
Drop culprit patch 733-10-net-phy-mediatek-Extend-1G-TX-RX-link-pulse-time.patch
and use the most recent iteration of the patchset which has been posted to the
netdev mailing list.
Thomas Richard [Thu, 19 Sep 2024 10:27:27 +0000 (12:27 +0200)]
toplevel.mk: add target feeds in 'make distclean'
When 'make distclean' is called, remove the target feeds.
Otherwise the directory target/linux/feeds/ (with broken symlinks) still
exists after a distclean.
Hauke Mehrtens [Mon, 7 Oct 2024 21:28:20 +0000 (23:28 +0200)]
valgrind: Fix build on ARMv7
The valgrind configure script checks if host_cpu is set to armv7 or arm.
By default --host is set to arm-openwrt-linux and the host_cpu variable
is set to arm. Then the valgrind build tries to compile valgrind for
armv6 and fails. Set it explicitly to armv7 to compile valgrind with
armv7 support.
Shiji Yang [Tue, 24 Sep 2024 11:15:56 +0000 (19:15 +0800)]
ipq40xx: add support for SKSpruce WIA3300-20
Specification
-------------
- SoC : Qualcomm IPQ4019
- RAM : 256 MiB DDR3 (NT5CC128M16JR-EK)
- Flash : 64 MiB SPI NOR (Winbond W25Q512JVFQ)
- WLAN : IPQ4019 built-in
- 2.4 GHz : 2x2 MIMO WiFi4
- 5 GHz : 2x2 MIMO WiFi5
- Ethernet : QCA8075 10/100/1000 Mbps 1x WAN (ETH1, PoE); 1x LAN (ETH2)
- USB : 1x 2.0 Type-A
- UART : 3.3V, 115200n8
- Buttons : 1x Reset
- LEDs : 1x RUN (lime & red)
1x WiFi 2.4 GHz (lime)
1x WiFi 5 GHz (lime)
2x ETH (lime), controlled by the QCA8075 phy
- Power : DC 12V & 802.3at PoE
- FCC ID : 2AHKT-WIA3300-20
- TFTP IP :
- client : 192.168.18.254
- router : 192.168.18.1
Installation
------------
1. Open uart console and start TFTP server. Copy initramfs image to
the TFTP root directory and rename it to 'ipqinitramfs.bin'.
2. Power on and press 'Enter' to exit to the u-boot console according
to the TTL log prompt.
3. Execute commands to load the initramfs image:
tftpboot && bootm
4. Enter into OpenWrt to backup the partitions if you want to restore
the stock firmware one day.
5. Override default 'bootcmd' environment variable in u-boot console:
env set bootcmd 'sf probe && sf read $loadaddr 0x980000 0x800000 && bootm $loadaddr'
env save
6. Repeat step 3 and flash 'sysupgrade' image in OpenWrt.
Recovery and return to stock
----------------------------
1. Restore the backup firmware partitions in the installation step 4.
2. Restore `bootcmd` environment variable via commands:
env set bootcmd bootipq && env save
MAC addresses
-------------
+---------+-------------------+
| | MAC example |
+---------+-------------------+
| LABEL | xx:xx:xx:xx:xx:25 |
| LAN | xx:xx:xx:xx:xx:26 |
| WAN | xx:xx:xx:xx:xx:25 |
| WLAN 2g | xx:xx:xx:xx:xx:28 |
| WLAN 5g | xx:xx:xx:xx:xx:29 |
+---------+-------------------+
Notice
-----------
1. Some CH340 USB-TTL module doesn't work on this device.
2. The 'firmware' partition consists of four parts in the vendor
layout:
* Name Start Size
* rootfs 0x980000 0x1680000
* 0:HLOS1 0x2000000 0x800000
* rootfs_1 0x2800000 0x1400000
* rootfs_data 0x3c00000 0x350000
3. User can control the USB power supply via commands:
echo enabled > /sys/devices/platform/output-usb-power/state
echo disabled > /sys/devices/platform/output-usb-power/state
A number of new (or with recently updated caldata)
Mikrotik devices are using LZ77 magic for wlan tag hard_config data.
New devices include the Chateau LTE12 [1], and ax devices [2]
Newly factory flashed devices may include the hap ac3 [3]
This can be seen in decoded OEM supout [4] dmesg:
"radio data lz77 decompressed from"…
Investigating an arm RouterOS flash.ko module, and supplied example
hard_config dumps, the format was guessed via decompilation and live
debugging [5]. This decoder was then built from the guessed format
specification.
debug prints can be enabled in a DYNAMIC_DEBUG kernel build via the
kernel cmdline:
Lech Perczak [Sun, 6 Oct 2024 22:08:23 +0000 (00:08 +0200)]
ipq40xx: fix MAC address on Meraki MR33 and MR74 after nvmem-layout
...conversion.
Commit 20736013e910 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
has causedt he device to no longer correctly read MAC address from its
onboard 24c64 EEPROM, because "at24" driver doesn't support legacy
nvmem-cell bindings [1] - and there was an explicit config option added
to mandate that behaviour in the following patch:
But some of the devices, MR33 and MR74 included, weren't converted with
that as well.
Convert the definition to use proper fixed-layout binding to fix it.
Robert Marko [Sun, 6 Oct 2024 19:42:23 +0000 (21:42 +0200)]
tools: libdeflate: bump to 1.22
Bump to the latest 1.22 version which allows dropping our only patch.
Changelog:
Version 1.22
* The CMake-based build system now implements a workaround for gcc being paired
with a too-old binutils version. This can prevent build errors.
Version 1.21
* Fixed build error on x86 with gcc 8.1 and gcc 8.2.
* Fixed build error on x86 when gcc 11 is paired with a binutils version that
doesn't support AVX-VNNI, e.g. as it is on RHEL 9.
* Fixed build error on arm64 with gcc 6.
* Fixed build error on arm64 with gcc 13.1 and later with some -mcpu options.
* Enabled detection of dotprod support in Windows ARM64 builds.
Robert Marko [Sun, 6 Oct 2024 20:02:37 +0000 (22:02 +0200)]
ath10k-ct: select mac80211 debugfs support
Trying to compile ath10k-ct without mac80211 debugfs support will result in:
openwrt/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/ath10k-ct-regular/ath10k-ct-2024.07.30~ac71b14d/ath10k-6.10/wmi.h:8083:2: error: #warning Please enable ATH10K-DEBUGFS kernel option for optimal support for CT firmware. [-Werror=cpp]
8083 | #warning Please enable ATH10K-DEBUGFS kernel option for optimal support for CT firmware.
| ^~~~~~~
cc1: all warnings being treated as errors
So, since the driver itself is saying that debugfs is required, then
lets make ath10k-ct select mac80211 debugfs support which is selected
by default anyway.
Shiji Yang [Thu, 26 Sep 2024 11:30:36 +0000 (19:30 +0800)]
ath10k-ct: switch to version 6.10
The mac80211 driver backport has been updated to version 6.11. Let's
also push ath10k-ct driver forward. The unsupported feature
'NL80211_EXT_FEATURE_ETHTOOL_VDEV_STATS' has been dropped since it
looks like something for debugging and not supported by the mainline.
Zxl hhyccc [Fri, 4 Oct 2024 14:31:25 +0000 (22:31 +0800)]
kernel-build.mk: Fix multi-core build warning.
In the case of multi-core compilation, the warning prompts to add a "+" sign.
````
warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
````` Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16598 Signed-off-by: Robert Marko <robimarko@gmail.com>
Hauke Mehrtens [Sat, 5 Oct 2024 13:08:02 +0000 (15:08 +0200)]
gemini: apm821xx: Ignore return value of e2fsck
This fixes the build of the gemini and the apm821xx target.
The e2fsck application returns an error code now and that makes the
build fail. The tune2fs command adds an extra option and the e2fsck
should later fix the file system. It is intentionally broken in this
place.
e2fsprogs was patched before to ignore this error.
The symbol CONFIG_FORTIFY_SOURCE is enable in the generic CONFIG
so remove it from the rockchip CONFIG as is conflicts with the default 'y' Fixes: https://github.com/openwrt/openwrt/issues/16600 Signed-off-by: Leo Barsky <leobrsky@proton.me> Link: https://github.com/openwrt/openwrt/pull/16603 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Thu, 3 Oct 2024 19:47:48 +0000 (21:47 +0200)]
libnl: update to 3.10.0
Changes: fa05d58e (tag: libnl3_10_0) libnl-3.10.0 release 490ffa07 python: fix flake8 warnings 6fc66dd8 doc: workaround LINK_DOC with empty libnl.dict 914812a9 lib: avoid overflow in computation of s_seq_next 5248e1a4 all: fix and enable "-Wsign-compare" warning 9451842e build: use AC_USE_SYSTEM_EXTENSIONS instead of defining _GNU_SOURCE 20664e1e build: move "-DPGKLIBDIR" and rename 81cab7da build: cleanup defining SYSCONFDIR on command line cf47571c build: drop unnecessary "-Wno-missing-field-initializers" from default CFLAGS 131008f7 build: add "-Wvla" and "-Wdeclaration-after-statement" to default CFLAGS 7e05b622 lib: add internal _nla_len() helper 32688201 route: treat routes with via nexthops as universe scoped as well c36c7faa format: reformat "include/base/nl-base-utils.h" 49f78229 tests: add a very basic test for route cache 2ebbc034 tests: add NLTstSelectRoute test helper d784f2cb tests: set NLTST_IN_CI for not skipping tests accidentally dcb9e2ef route: add missing priority to route_keygen() debug print d44505ed tests: add helper to detect availablility of iproute2 774863b4 tests: add helper functions for tests 45a10f96 route: move "struct rtnl_nexthop" to "nl-priv-dynamic-route" 153f213b build: fix "check-progs" target in "Makefile.am" a1e0b8b2 github: print test-suite.log in case of test failure 3e080631 route: expose nexthop id attribute 401c2488 tests: fix _nltst_object_to_string() to print one line only 529c2ab8 route: drop unused fields from "struct rtnl_route" 71e59e14 build: separate build tests from unit tests 8539b7d3 format: reformat "tests/nl-test-util.h" file 6db85366 route: merge branch 'bisdn:jogo_route_nh_cmp' 861fb809 route: use the new helper function for comparing nexthops 8cf29d7b nexthop: add a identical helper function 7cc72d19 utils: reserve the nl_has_capabiliy numbers for releases 3.10 - 3.12 30da5107 github,clang-format: update fedora version for clang-format 2301992b route: fix IPv6 ecmp route deleted nexthop matching 72e4d73f cache: merge branch 'ievenbach:aurora/cache-mgr-cb' 3381acef cache: use cleanup attribute in nl_cache_mngr_alloc_ex() 32cb9f39 cache: cleanup nl_cache_mngr_alloc_ex() 1dbdc30a cache: allow to allocate cache manager with custom refill socket 18b74e08 tests: test compiling all public headers with C++ compiler 691202bf tests: don't use $COMPILE for building header tests 15d90cbf include: add _NL_NO_WARN_DEPRECATED_HEADER for suppressing warning about deprecated headers 8a5f671a tests: avoid "-Wunused-parameter" warning in build headers test db1a9d7d route: avoid compiler warning about calloc() arguments in rtnl_netem_set_delay_distribution() 3a43faa1 cache: fix new object in callback v2 on updated objects 46cae1bf socket: fix ubsan complaint about incorrect left-shift in generate_local_port() 96ddcd99 all: merge branch 'th/nl-debug' 13ab0122 github: test with --enable-debug=no configure option 264b244e utils: always define nl_debug_dp dbe21b8d core: always define statements for NL_DBG() e592dd89 build: always define NL_DEBUG 58734974 all: use defines for attributes 0c16c9cb route/bison: include "nl-default.h" in lex/yacc files 19d48b0f route: add support for layer 3 filtering on bridges 3646398d route: merge branch 'Cordell-O:main' e21278ed tests: add test for bridge vlan attributes. 4f324f73 route: add support for vlan filtering on bridge ports. bf071f2b route: Add support to set ageing time for dynamic bridge table entries b76c3a5d tests: add unit test for `nl_addr_parse("default", AF_INET6, &addr6)` 8693347f lib/xfrm: add missing #include <time.h>
The patch `130-fix_arm_arch_detection.patch` was added upstream in
https://sourceware.org/git/?p=valgrind.git;a=commitdiff;h=5bdb86cc9a962f04f2dd3816b7d3a96288b09b72
Replace `010-mips-Fix-new-syscall-numbers.patch` with backport from
upstream.
Backport patch `020-no-member-guest_IP_AT_SYSCALL.patch` to fix a
compile problem on MIPS.
So the problem seems to be the fact that built-in gmacs get default
names (eth0/eth1) and are renamed after switch ports are initialized. This means
that when switch port with name `eth1` is brought up this name is still used by
gmac1 causing switch port's init to fail.
This patch just renames the ports to avoid name collision.
Note: this will break existing configs for this device because it renames all
the ports. This should not be major problem because this device doesn't have a
proper OEM image and is only flashable with serial access, meaning there should
not be many users.
* RTL8380M SoC, 1 MIPS 4KEc core @ 500MHz
* 256MB DRAM
* 32MB NOR Flash
* 8 x 10/100/1000BASE-T ports
* 2 x SFP ports
* Power LED, Fault LED
* Reset button on front panel
* UART (115200 8N1) via populated standard pin header marked JP1
TODO: The SFP ports use a shared SCL GPIO that the driver cannot handle.
The left SFP port (lan9) is defined and fully functional while the laser
on the right SFP port (lan10) is off by default.
Installation using OEM webinterface
-----------------------------------
1. Make sure you are running OEM firmware in secondary slot
2. Install squashfs-factory.imag to primary slot by upload via http
Installation using serial interface
-----------------------------------
1. Press "a" "c" "p" during message "Enter correct key to stop autoboot"
2. Load image with "upgrade runtime <TFTP IP>:squashfs-sysupgrade.bin" command
3. Switch to primary slot with "setsys bootpartition 0"
4. Store config with "savesys"
5. Boot the image with `boota` command
Dual-boot with stock firmware using writable u-boot-env
-------------------------------------------------------
From stock to OpenWrt / primary image 1 (CLI as admin):
- > boot system image1
- > reboot
From OpenWrt to stock / boot image 2: (shell as root)
- # fw_setsys bootpartition 1
- # reboot
Debrick using serial interface
------------------------------
1. Press "a" "c" "p" during message "Enter correct key to stop autoboot"
2. Load vendor image with "upgrade runtime <TFTP IP>:LGS310xxxxx.imag"
3. switch to primary partition "setsys bootpartition 0"
4. safe config "savesys"
Further documentation
---------------------
See https://openwrt.org/toh/linksys/lgs352c
It has been developed and tested on device with v1 revision.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16068
[Add missing 'w' in name of firmware partition] Signed-off-by: Sander Vanheule <sander@svanheule.net>