Jan Fuchs [Thu, 25 Jan 2024 10:29:21 +0000 (11:29 +0100)]
ath79: add WWAN serial driver and qmi for GL.iNET GL-E750 (Mudi)
The driver for the cellular modems serial interface and qmi was missing
from the default device packages. The driver is required to interact
with the modem using AT commands.
Ivan Pavlov [Fri, 2 Feb 2024 05:46:52 +0000 (08:46 +0300)]
openssl: update to 3.0.13
Major changes between OpenSSL 3.0.12 and OpenSSL 3.0.13 [30 Jan 2024]
* Fixed PKCS12 Decoding crashes
([CVE-2024-0727])
* Fixed Excessive time spent checking invalid RSA public keys
([CVE-2023-6237])
* Fixed POLY1305 MAC implementation corrupting vector registers on PowerPC
CPUs which support PowerISA 2.07
([CVE-2023-6129])
* Fix excessive time spent in DH check / generation with large Q parameter
value ([CVE-2023-5678])
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Backport PHY package MMD patch merged upstream that add support for
writing MMD regs for the PHY package and support for writing to PHY
package at an offset.
All affected patches automatically refreshed.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Shiji Yang [Thu, 1 Feb 2024 11:39:51 +0000 (19:39 +0800)]
ath79: convert ath10k calibration data to NVMEM (ASCII MAC)
This patch converts ath10k calibration data to NVMEM format for
wave 1 devices with mtd ASCII MAC address. The "calibration"
NVMEM cell size is 0x844. All unportable MAC address settings
have been moved to '10_fix_wifi_mac' scripts.
Shiji Yang [Thu, 1 Feb 2024 11:39:51 +0000 (19:39 +0800)]
ath79: convert ath10k calibration data to NVMEM (binary MAC)
This patch converts ath10k calibration data to NVMEM format for
wave 1 devices with mtd binary MAC address. The "calibration"
NVMEM cell size is 0x844. The MAC addresses are assigned via dts.
Shiji Yang [Thu, 1 Feb 2024 11:39:51 +0000 (19:39 +0800)]
ath79: convert ath10k pre-calibration data to NVMEM (ASCII MAC)
This patch converts ath10k pre-calibration data to NVMEM format for
wave 2 devices with mtd ASCII MAC address. The "pre-calibration"
NVMEM cell size is 0x2f20. All unportable MAC address settings have
been moved to '10_fix_wifi_mac' scripts.
Shiji Yang [Thu, 1 Feb 2024 11:39:51 +0000 (19:39 +0800)]
ath79: convert ath10k pre-calibration data to NVMEM (binary MAC)
This patch converts ath10k pre-calibration data to NVMEM format for
wave 2 devices with mtd binary MAC address. The "pre-calibration"
NVMEM cell size is 0x2f20. The MAC addresses are assigned via dts.
Shiji Yang [Thu, 1 Feb 2024 11:39:51 +0000 (19:39 +0800)]
ath79: convert ath10k pre-calibration data to NVMEM (built-in MAC)
This patch converts ath10k pre-calibration data to NVMEM format for
wave 2 devices with built-in MAC address. The "pre-calibration"
NVMEM cell size is 0x2f20.
Shiji Yang [Thu, 1 Feb 2024 11:39:51 +0000 (19:39 +0800)]
ath79: add back board-2.bin to COMFAST devices
The ath10k driver will load both pre-calibration data and board-2.bin
if board-2.bin exists. So it's not necessary to remove it. And this
change won't increase jffs2 image size.
Chukun Pan [Sun, 19 Nov 2023 15:16:26 +0000 (23:16 +0800)]
kernel: modules: move gpio modules to gpio menu
Since we have the 'GPIO support' menu, it is strange to look up
gpio related modules in 'Other modules' menu. So move these
modules and put them in the gpio menu.
According to Raspberry Pi documentation, the RPi 5 First Stage Bootloader
loads the linux kernel instead of loading the Second Stage Bootloader
(start.elf):
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#differences-on-raspberry-pi-5
Daniel Golle [Wed, 24 Jan 2024 05:01:43 +0000 (05:01 +0000)]
mediatek: fixes for Ethernet on MT7988 SoC
* fix switch ports with modes other than 1000M/Full
* set 32-bit dma_coherent_mask to get PPE to work with 4 GiB of RAM
* sync driver for built-in 1GE PHY with MediaTek SDK sources
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 25 Jan 2024 03:06:45 +0000 (03:06 +0000)]
base-files: upgrade: nand.sh: mute umount error
Send error output of umount to /dev/null to mute error in case
ubiblock device has already been unmounted (which is usually the
case).
Gets rid of bogus error message:
umount: can't unmount /dev/ubiblock0_4: Invalid argument
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 2 Nov 2023 15:39:49 +0000 (15:39 +0000)]
uhttpd: restart when interface to listen becomes available
Currently uhttpd won't start with a listening interface configured if
the interface isn't already up at the time uhttpd starts. Make sure we
attempt to start uhttpd when it comes up.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Nick Hainke [Mon, 29 Jan 2024 19:04:27 +0000 (20:04 +0100)]
libbsd: update to 0.11.8
Changelog: edddd80 Release libbsd 0.11.8 dd0bdb5 test: Close all descriptors before initializing them for closefrom() 0813f37 build: Check out-of-tree builds in CI df116b5 Adjust strlcpy() and strlcat() per glibc adoption ecb44e1 Do not add a pointer to the NULL constant 459b7f7 Do not confuse code analyzers with out-of-bounds array access look alike a44f885 test: Fix short-lived memory leak 3f5ca0a build: Add a coverage regex to the CI job 9d3e59a man: Use VARIANTS instead of ALTERNATIVES in libbsd(7) f02562d man: Markup function references with Xr instead of Fn b7367c9 build: Add missing dash to macro title bar 6777eb6 pwcache: Do not declare uidtb and gidtb when not used d4e0cdc fgetln: Include <stdio.h> after <sys/*> f41d6c1 build: Refactor GNU .init_array support check into a new m4 function 30b48ed build: Refactor linker script detection into a new m4 function d0d8d01 build: Do not provide prototypes for arc4random() on Solaris cf61ebb build: Do not build the progname module if it is not needed 73b25a8 build: Sort entries alphabetically 5434ba1 build: Conditionalize wcslcpy() and wcslcat() functions on macOS dc1bd1a build: Conditionalize only id-from-name functions not the entire pwcache edc746e build: Conditionalize getprogname()/setprogname on macOS 8f998d1 progname: Include <procinfo.h> if available d08163b build: Check whether we need libperfstat on AIX 1186cf8 build: Annotate droppable functions for musl on next SOVERSION bump 6385ccc build: Conditionalize bsd_getopt() on macOS c120681 Move the version script comments before the symbols 9fa0676 Port getprogname() to AIX 92337b1 Make getprogname() porting mandatory 90b7f3a test: Do not use /dev/null as compiler output file 426bf45 build: Add generated *.sym files to .gitignore 21d12b0 build: On macOS do not build functions provided by the system bc65806 build: Select whether to include funopen() in the build system 8b7a4d9 build: Move Windows OS detection to the OS features section ccbfd1c build: Remove __MUSL__ definition from configure e0976d7 build: Add a new libbsd_strong_alias() macro and switch users to it 49c7dd1 build: Only emit link warnings for ELF objects 8622767 build: Use an export symbols file if there is no version script support 8f61036 build: Add -no-undefined libtool flag ae7942b build: Do not override the default DEPENDENCIES for libbsd a5faf17 Only use <stdio_ext.h> if present 06e8a1b Define _NSIG if it is not defined by the system 44824ac Declare environ if the system does not do so 1fb6c3f Use lockf() when flock() is not available fe16f38 test: Use open_memstream() only if available 7c652a9 test: Do not hardcode root:root user and group names ed2eb31 test: Fix closefrom() test on macOS 0f8bcdf test: Fix closefrom() test to handle open file descriptor limits 07192b3 test: Disable blank_stack_side_effects() on non-Hurd systems ca3db5e build: Do not enable ASAN for musl CI pipelines ff46386 man: Add HISTORY section to arc4random(3bsd) 4c6da57 man: Switch arc4random(3bsd) man page from OpenBSD to NetBSD 830dd88 doc: Remove written-by attribution 257800a build: Add support for sanitizer compiler flags 536a7d4 test: Exempt blank_stack_side_effects() from sanitizer checks 7ed5de0 test: Import explicit_bzero() sanitizer support changes from OpenBSD 05a802a test: Fix memory leaks in fpurge test 5962e03 man: Fix BSD and glibc versions 59a21c7 man: Update STANDARDS and HISTORY sections 7b4ebd6 include: Adjust closefrom() per glibc adoption 0dfbe76 build: Switch to debian:latest Docker image dec783d build: Fix version script linker support detection fe21244 include: Use __has_builtin to detect __builtin_offsetof support ec88b7b funopen: Replace off64_t with off_t in funopen_seek() 2337719 man: Prune unneeded <sys/types.h> include in setproctitle(3) 5dea9da build: Improve C99 compatibility of __progname configure check b9bf42d build: Enable -Wall for automake e57c078 build: Add missing AM_PROG_AR macro call to configure.ac 80f1927 build: Fix configure.ac indentation b7a8bc2 build: Require automake 1.11 e508962 build: Do not require funopen() to be ported 00b538f build: Terminate lists in variables with «# EOL» 5cfa39e build: Use «yes» instead of «true» for AC_CHECK_FUNCS cache value
orangepizza [Mon, 29 Jan 2024 02:37:43 +0000 (11:37 +0900)]
mbedtls: security bump to version 2.28.7
This release of Mbed TLS provides bug fixes and minor enhancements. This
release includes fixes for following security issues:
* Timing side channel in private key RSA operations (CVE-2024-23170)
Mbed TLS is vulnerable to a timing side channel in private key RSA
operations. This side channel could be sufficient for an attacker to
recover the plaintext. A local attacker or a remote attacker who is
close to the victim on the network might have precise enough timing
measurements to exploit this. It requires the attacker to send a large
number of messages for decryption.
* Buffer overflow in mbedtls_x509_set_extension() (CVE-2024-23775)
When writing x509 extensions we failed to validate inputs passed in to
mbedtls_x509_set_extension(), which could result in an integer overflow,
causing a zero-length buffer to be allocated to hold the extension. The
extension would then be copied into the buffer, causing a heap buffer
overflow.
bcm27xx-userland is deprecated and bcm27xx-utils should be used instead.
https://github.com/raspberrypi/userland/commit/96a7334ae9d5fc9db7ac92e59852377df63f1848
Switch to qca8081 upstream PHY. Update every device that have LEDs
attached to the qca8081 PHY to follow new way of defining the LEDs and
add original OEM configuration.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Completely disable dump_survey code on ARCH_BCM2835 to fix defined but not
used warning.
https://github.com/openwrt/openwrt/commit/512b762ddbb602b744f0e7a443cf4ac7422155c1?w=1#commitcomment-137899352
mac80211: brcm: disable dump_survey on Raspberry Pi
Enabling this causes slow iwinfo calls on Raspberry Pi and LuCI slows down
when wireless is enabled. Fixes: https://github.com/openwrt/openwrt/issues/14013 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
CI: formal: use shared workflow in actions-shared-workflows
Use shared workflow in actions-shared-workflows instead of keeping the
workflow in openwrt main branch to make it easier to maintain and update
without bloating the main repository commit history.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Robert Marko [Thu, 25 Jan 2024 21:19:58 +0000 (22:19 +0100)]
qualcommax: 301w: provide AQR FW via NVMEM cells
In order to get rid of having to modify U-boot bootcmd and having U-boot
load the Aquantia PHY-s firmware lets use some of the free space on SPI-NOR
to add a second ethphyfw partition and be able to load AQR FW via NVMEM
cells.
Robert Marko [Wed, 29 Nov 2023 18:24:18 +0000 (19:24 +0100)]
qualcommax: 301w: correct AQR reset GPIO-s
It seems that the reset GPIO-s defined for the two AQR PHY-s are actually
reversed.
Manually testing confirmed that GPIO44 is actually reset GPIO of AQR at 0,
while GPIO59 is reset of AQR at 8:
root@OpenWrt:~# mdio 9*
DEV PHY-ID LINK
0x00 0x00000000 down
0x08 0x00000000 down
0x10 0x004dd0b1 down
0x11 0x004dd0b1 down
0x12 0x004dd0b1 down
0x13 0x004dd0b1 up
0x14 0x004dd0b1 down
0x15 0x04820a05 down
root@OpenWrt:~# gpioset gpiochip0 44=0
root@OpenWrt:~# mdio 9*
DEV PHY-ID LINK
0x08 0x00000000 down
0x10 0x004dd0b1 down
0x11 0x004dd0b1 down
0x12 0x004dd0b1 down
0x13 0x004dd0b1 up
0x14 0x004dd0b1 down
0x15 0x04820a05 down
root@OpenWrt:~# gpioset gpiochip0 44=1
root@OpenWrt:~# mdio 9*
DEV PHY-ID LINK
0x00 0x00000000 down
0x08 0x00000000 down
0x10 0x004dd0b1 down
0x11 0x004dd0b1 down
0x12 0x004dd0b1 down
0x13 0x004dd0b1 up
0x14 0x004dd0b1 down
0x15 0x04820a05 down
root@OpenWrt:~# gpioset gpiochip0 59=0
root@OpenWrt:~# mdio 9*
DEV PHY-ID LINK
0x00 0x00000000 down
0x10 0x004dd0b1 down
0x11 0x004dd0b1 down
0x12 0x004dd0b1 down
0x13 0x004dd0b1 up
0x14 0x004dd0b1 down
0x15 0x04820a05 down
root@OpenWrt:~# gpioset gpiochip0 59=1
root@OpenWrt:~# mdio 9*
DEV PHY-ID LINK
0x00 0x00000000 down
0x08 0x00000000 down
0x10 0x004dd0b1 down
0x11 0x004dd0b1 down
0x12 0x004dd0b1 down
0x13 0x004dd0b1 up
0x14 0x004dd0b1 down
0x15 0x04820a05 down
Robert Marko [Sun, 19 Nov 2023 15:37:07 +0000 (16:37 +0100)]
qualcommax: 301w: populate AQR firmware name
Now that we have support for firmware loading via the kernel driver, it
makes sense to populate the firmware name as well, so if its present the
driver can load it.
In later patches, loading the FW via NVMEM will be added as well.
Marty Jones [Thu, 18 Jan 2024 14:52:22 +0000 (09:52 -0500)]
bcm27xx: add new bcm2712 subtarget
This patch adds support for Raspberry Pi 5.
Instead of using 16K pages like Raspberry Pi OS, OpenWrt uses 4K pages due to
incompatibilities with F2FS and other applications.
There are multiple RPi forum posts with different cases and users are forcing
kernel8.img to workaround them, which is the 64 bit kernel of the RPi 4.
However, this isn't possible in OpenWrt because we only ship one kernel and we
would have to add RPi 5 support to bcm2711 subtarget (RPi 4) for that
workaround to work in OpenWrt.
Specification:
- Processor Broadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU,
with cryptographic extension, 512KB L2 caches per core, 2048KB L3 cache
Features:
- VideoCore VII GPU, supports OpenGL ES 3.1, Vulkan 1.2
- Dual 4Kp60 HDMI display output with HDR support 4Kp60 HEVC decoder
- LPDDR4X-4267 SDRAM 4GB and 8GB
- Dual-band 802.11ac Wi-Fi
- Bluetooth 5.0 / Bluetooth Low Energy
- microSD card slot, with support for SDR104 high-speed mode
- 2 x USB 3.0 ports
- 2 x USB 2.0 ports
- Gigabit Ethernet
- 2 x 4 lane MIPI camera/display
- PCIe 2.0 x1
- 5V/5A power via USB-C
- Raspberry Pi standard 40-pin header
- Real-time clock RTC
- Power button
Marty Jones [Thu, 18 Jan 2024 21:23:52 +0000 (16:23 -0500)]
bcm27xx: update 6.1 patches to latest version
Add support for BCM2712 (Raspberry Pi 5).
https://github.com/raspberrypi/linux/commit/3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3
Patches were generated from the diff between linux kernel branch linux-6.1.y
and rpi-6.1.y from raspberry pi kernel source:
- git format-patch linux-6.1.y...rpi-6.1.y
Lech Perczak [Sun, 21 Jan 2024 23:34:34 +0000 (00:34 +0100)]
ath79: add Ubiquiti Rocket M XW as alternate name to Bullet M XW
Ubiquiti Rocket M XW is a single-band, 2x2:2 external Wi-Fi AP, with optional
GPS receiver, with two external RP-SMA antenna connections, based on
AR9342 SoC. Two band variants exists, for 2.4GHz and 5GHz band, usable
with the same image.
Specs:
- CPU: Atheros AR9342 MIPS SoC at 535MHz
- RAM: 64MB DDR400
- ROM: 8MB SPI-NOR in SO16W package, MX25L6408E
- Wi-Fi Atheros AR9342 built-in 2x2:2 radio
- Ethernet: Atheros AR8035 PHY, limited to 100Mbps speeds due to
magnetics
- Power: 24V passive PoE input.
Installation: please refer to Ubiquiti Bullet M2HP for documentation.
The device runs with exactly same image as the Bullet, and after fixes
in preceding commit, is fully functional again. Add the alternative name
to the build system.
Lech Perczak [Sun, 21 Jan 2024 23:14:16 +0000 (00:14 +0100)]
ath79: ubnt-bullet-m-xw: fix Ethernet PHY traffic
Since commit 6f2e1b7485f0 ("ath79: disable delays on AT803X config init")
Ubiquiti XW boards equipped with AR8035 PHY suffered from lack of
outbound traffic on the Ethernet port. This was caused by the fact, the
U-boot has set this during boot and it wasn't reset by the PHY driver,
and the corresponding setting in device tree was wrong.
Set the 'phy-mode = "rgmii-txid"' at the ð0, and drop this property
from PHY node, as it is not parsed there. This causes the device to
connect using Ethernet once again.
Fixes: db4b6535f837 ("ath79: Add support for Ubiquity Bullet M (XW)") Fixes: 6f2e1b7485f0 ("ath79: disable delays on AT803X config init") Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Add pending patch for ipq4019 MDIO MDC rate fix. The divisor was never
actually set resulting in the MDC rate running at a very low speed.
The same MDIO is used on ipq807x where Aquantia PHY are commonly used
where MDIO is used to load the PHY firmware. Running at higher speed is
required to make the firmware load faster as it does reduce load time
from 60+ second to 5-6 seconds.
Add as pending as upstream there seems to be some conflicts with quic
and me and it might take lots of time before this is effectively merged
upstream.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Rany Hany [Fri, 5 Jan 2024 17:01:40 +0000 (19:01 +0200)]
hostapd: fail R0KH and R1KH derivation when wpa_psk_file is used
When wpa_psk_file is used, there is a chance that no PSK is set. This means
that the FT key will be generated using only the mobility domain which
could be considered a security vulnerability but only for a very specific
and niche config.
When using WPA3-SAE or WPA2/WPA3 Personal Mixed, we can not use
ft_psk_generate_local because it will break FT for SAE. Instead
use the r0kh and r1kh configuration approach.
Signed-off-by: Jesus Fernandez Manzano <jesus.manzano@galgus.ai>
802.11r can not be used when selecting WPA. It needs at least WPA2.
This is because 802.11r advertises FT support in-part through the
Authentication and Key Management (AKM) suites in the Robust
Security Network (RSN) Information Element, which was included in
the 802.11i amendment and WPA2 certification program.
Pre-standard WPA did not include the RSN IE, but the WPA IE.
This IE can not advertise the AKM suite for FT.
Signed-off-by: Jesus Fernandez Manzano <jesus.manzano@galgus.ai>
Nick Hainke [Thu, 25 Jan 2024 15:23:07 +0000 (16:23 +0100)]
libtracefs: update to 1.8
Changes: 67f3b2a libtracefs: version 1.8 8a1322f libtracefs utest: Add tests to use mapping if supported 0a65b79 libtracefs: Add tracefs_mapped_is_supported() API 805f650 libtracefs: Call mmap ioctl if a refresh happens cf7e2a5 libtracefs: Fix tracefs_mmap() kbuf usage 3a26b26 libtracefs: Have nonblock tracefs_cpu reads set errno EAGAIN 2b5bb09 libtracefs: Have tracefs_mmap_read() include subbuf meta data dee0448 libtracefs: Have mapping work with the other tracefs_cpu* functions 28eebc1 libtracefs: Have tracefs_cpu_flush(_buf)() use mapping 065d914 libtracefs: Use mmapping for iterating raw events 1124e0e libtracefs: Use tracefs_cpu_*_buf() calls for iterator f43b293 libtracefs: Unmap mmap mapping on tracefs_cpu close 0d24516 libtracefs Documentation: Fix tracefs_cpu_snapshot_open() man pages 5ff31c0 libtracefs Documentation: Add tracefs_follow_events_clear() to main man page 0c7d9f7 libtracefs: Add man pages for tracefs_snapshot_*() functions b2dc3e0 libtracefs sql: Rename TIMESTAMP_USECS_DELTA to TIMESTAMP_DELTA_USECS 585ec77 libtracefs: Force off trace mmapping 2ed14b5 libtracefs: Add ring buffer memory mapping APIs 173ffc0 libtracefs meson: Add option to disable samples a55e2e8 libtracefs meson: Add option to disable documentation 93e20af libtracefs: Fix tracefs_instance_reset to clear synthetic events a1ecbff libtracefs utest: Add more tests to test tracefs_sql() 975c37c libtracefs utest: Add matches to trace_sql() tests 0567e2d libtracefs synthetic: Handle hashed name variables fcb3a83 libtracefs synthetic: Remove multiple adding of action in tracefs_synth_save() a9dae65 libtracefs: Fix sqlhist used uninitialized error fe7a467 libtracefs: Add updating and reading snapshot buffers 1ad57ab libtracefs: Add PID filtering API d8726bf libtracefs: Also clear max_graph_depth on reset eb4dd60 libtracefs: Add TIMESTAMP_USECS_DELTA to simplify SQL timestamp compares 8c57eb4 libtracefs: Add tracefs_instance_set/get_subbuf_size() 9bafb21 libtracefs: Add API to extract ring buffer statistics 141d25e libtracefs: Add tracefs_load_headers() API ef3fae7 libtracefs: Add kerneldoc comments to tracefs_instance_set_buffer_size() 31acfe1 libtracefs utest: Add test to test tracefs_instance_set/get_buffer_percent() 3e6d975 libtracefs: Add tracefs_instance_clear() API c4efaaf libtracefs: Add tracefs_instance_get/set_buffer_percent() 1e1cc54 libtracefs: Add API to read tracefs_cpu and return a kbuffer 7d395b1 libtracefs: Add tracefs_instance_file_write_number() e34cbd8 libtracefs: Increase splice to use pipe max size 1f50965 libtracefs: Add API to remove followers from an instance or toplevel 576ee0b libtracefs: Reset tracing before and after unit tests 118b694 libtracefs: Free dynamic event list in utest 5159973 libtracefs: Free tracing_dir in case of remount df563eb libtracefs: Free buf in clear_func_filter() 3cbac37 libtracefs: Free "missed_followers" of instance 0cbe56e libtracefs testing: Use one tep handle for most tests adac30f libtracefs Documentation: Fix tracefs_event_file_exists() issues 07ab199 libtracefs: Pass enum value where expected instead of int bb299b4 libtracefs: fix cscope makefile rule 420d677 libtracefs: Free "followers" when freeing instance 3f436fc libtracefs: Fix documentation of tracefs_trace_pipe_stream() flags 1fde9df libtracefs: Add explicit pthread dependency to meson d1989ae tracefs-perf: Add missing headers for syscall() and SYS_* defines
Linus Walleij [Wed, 24 Jan 2024 08:23:12 +0000 (09:23 +0100)]
bmips: bcm6368-enetsw: Bump max MTU
The safe max frame size for this ethernet switch is 1532 bytes,
excluding the DSA TAG and extra VLAN header, so the maximum
outgoing frame is 1542 bytes.
The available overhead is needed when using the DSA switch with
a cascaded Marvell DSA switch, which is something that exist in
real products, in this case the Inteno XG6846.
Use defines at the top of the size for max MTU so it is clear how
we think about this, add comments.
We need to adjust the RX buffer size to fit the new max frame size,
which is 1542 when the DSA tag (6 bytes) and VLAN header (4 extra
bytes) is added.
I don't know why the default MTU is trying to second guess the
overhead required by DSA and VLAN but the framework will also
try to bump the MTU for e.g. DSA tags, and the VLAN overhead is
not supposed to be included in the MTU, so this is clearly not
right.
Before this patch (on the lan1 DSA port in this case):
dsa_slave_change_mtu: master->max_mtu = 9724, dev->max_mtu = 10218, DSA overhead = 8
dsa_slave_change_mtu: master = extsw, dev = lan1
dsa_slave_change_mtu: master->max_mtu = 1510, dev->max_mtu = 9724, DSA overhead = 6
dsa_slave_change_mtu: master = eth0, dev = extsw
dsa_slave_change_mtu new_master_mtu 1514 > mtu_limit 1510
mdio_mux-0.1:00: nonfatal error -34 setting MTU to 1500 on port 0
My added debug prints before the nonfatal error: the first switch from the top
is the Marvell switch, the second in the bcm6368-enetsw with its 1510 limit.
After this patch the error is gone.
OpenWrt adds a VLAN to each port so we get VLAN tags on all frames. On this
setup we even have 4 more bytes left after the two DSA tags and VLAN so
we can go all the way up to 1532 as MTU.
On the router we set the max MTU for test:
ifconfig eth0 mtu 1520
ifconfig br-wan mtu 1520
ifconfig ext1 mtu 1506
An MTU of 1506 on ext1 is a logic consequence of the above setup:
this is the max bytes actually transferred. The framing added will be:
- 18 bytes standard ethernet header
- 4 bytes VLAN header
- 6 bytes DSA tag for enetsw
- 8 bytes DSA tag for mv88e6152
Sum: 1506 + 18 + 4 + 6 + 8 = 1542 which is out max frame size.
Test pinging from host:
ping -s 1478 -M do 192.168.1.220
PING 192.168.1.220 (192.168.1.220) 1478(1506) bytes of data.
1486 bytes from 192.168.1.220: icmp_seq=1 ttl=64 time=0.696 ms
1486 bytes from 192.168.1.220: icmp_seq=2 ttl=64 time=0.615 ms
Test pinging from router:
PING 192.168.1.2 (192.168.1.2): 1478 data bytes
1486 bytes from 192.168.1.2: seq=0 ttl=64 time=0.931 ms
1486 bytes from 192.168.1.2: seq=1 ttl=64 time=0.810 ms
The max IP packet without headers is 1478, the outgoing ICMP packet is
1506 bytes. Then the DSA, VLAN and ethernet overhead is added.
Let us verify the contents of the resulting ethernet frame of 1542 bytes.
Ping packet on router side as viewed with tcpdump:
- 3d93 = First four bytes are the last two bytes of the destination
ethernet address I don't know why the first four are missing,
but it sure explains why the paket is 1538 bytes and not 1542
which is the actual max frame size.
- bcae c56b a83b = source ethernet address
- 8874 0300 0004 = Broadcom enetsw DSA tag
- 8100 0000 = VLAN 802.1Q header
- dada 0000 c020 0fff = EDSA tag for the Marvell (outer) switch,
- 0800 is the ethertype (part of the EDSA tag technically)
- Next follows the contents of the ping packet as it appears if
we dump it on the DSA interface such as tcpdump -i lan1
etc, there we get the stripped out packet, 1506 bytes.
- At the end 4 bytes of FCS.
This clearly illustrates that the DSA tag is included in the MTU
which we set up in Linux, but the VLAN tag and ethernet headers and
checksum is not.
Tested-by: Paul Donald <newtwen@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Michel Thill [Sun, 7 Jan 2024 18:39:30 +0000 (19:39 +0100)]
realtek: d-link dgs-1210-10p improve sfp support
The current dts file of dgs-1210-10p doesn't support link states
for the sfp ports (they are always up).
This patch tries to give better support for this and was run tested
on dgs-1210-10p.
It was heavily inspired from Paul Fertser, RaylynnKnight
and the author of dgs-1210-10mp-f.dts
Nikolay Martynov [Sun, 21 Jan 2024 21:51:16 +0000 (16:51 -0500)]
ath79: fix mac address on eap2x5-1port devices
Commit e816591e226a ("ath79: qca: convert to nvmem-layout") mistakenly
switched the source of the mac address from the 'info' to 'art'
partition.
This patch updates all devices that share same 'parent' device tree file
and was tested to fix the problem for eap225-outdoor-v3 - device that I
actually own.
Fixes: e816591e226a ("ath79: qca: convert to nvmem-layout") Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
[amend commit message] Signed-off-by: Sander Vanheule <sander@svanheule.net>
Enabling SMP on Danube[1] is incompatible with a patch that
adds support for interrupt handling on all cores on other
platforms[2]. This patch fixes the mentioned issue.
Robert Marko [Tue, 9 Jan 2024 10:21:11 +0000 (11:21 +0100)]
qualcommax: add SMP affinity script
By default Linux will default to most IRQ-s being mapped to core 0 which
during high loads will completely swamp the core 0, so lets add the widely
used script that has been floating around forums for a long time to try and
optimize the IRQ mapping a bit.
Some of devices in this target have only 8 MiB space and are closing to
borders of usable space. Particularly, TP-Link RE305 v1 already suffers
from this issue[1], where with current partition layout, on release
images, there's not enough space for overlay. So activate small_flash
feature, which will remove some userspace hardening but will gain almost
1 MiB additional flash memory space. Here is small size comparison of
similar device (RE365 v1) with default config + LuCI:
Samuele Longhi [Wed, 20 Dec 2023 18:27:15 +0000 (19:27 +0100)]
ath79: generic: rework ar9342_ubnt_xw dtsi, and add support for Ubiquiti LiteBeam M5 (XW), Ubiquiti AirGrid M5 HP (XW), Ubiquiti PowerBeam M5 300 (XW)
Add support for Ubiquiti LiteBeam M5 (XW).
The device was previously supported in ar71xx.
See commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=d0988235dd277b9a832bbc4b2a100ac6e821f577
Add ALTX_MODEL for Ubiquiti AirGrid M5 HP (XW), Ubiquiti PowerBeam M5 300 (XW) in generic-ubnt.mk
This models are identical (firmware-wise) to the already supported Ubiquiti Nanostation Loco M (XW)
Add also Ubiquiti NanoBeam M5 to ALTX_MODEL of Ubiquiti Nanostation Loco M (XW) since it's another clone.
This also modify target/ath79/dts/ar9342_ubnt_xw.dtsi to use nvmem for calibration data
Checked that the caldata size in the eeprom partition are actually 0x440 on:
- Ubiquiti PowerBeam M5 (XW)
- Ubiquiti Nanostation M5 (XW)
- Ubiquiti LiteBeam M5 (XW)
- Ubiquiti AirGrid M5 HP (XW)
Linus Walleij [Fri, 19 Jan 2024 23:08:42 +0000 (00:08 +0100)]
uboot-bcm53xx: bump to 2024.01
Bump the U-Boot version used for BCM53xx to the 2024.01
version that includes all the needed patches upstream, so we
can get rid of those in the process.