From 41d7439af5a40a71a0deb2075fa133b61b0e478a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 7 Nov 2023 13:36:39 +0100 Subject: [PATCH 01/46] netifd: update to the latest version 383753dd65ae device/bridge: support passing extra vlans in the device_set_state call b6e75eafc1af device: send notifications for device events via ubus cab415c7aefd bridge: add auth-required bridge members with auth_status=0 if vlan is enabled 827a02f0343c bridge: add support for configuring vlans for auth=1,auth_status=false 40ed7363caf2 device: fix build error on 32 bit systems 516ab774cc16 system-linux: fix race condition on bringing up wireless devices Signed-off-by: Felix Fietkau --- package/network/config/netifd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 6e4942be63d..0655adbf3d1 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2023-10-20 -PKG_SOURCE_VERSION:=5590a80e2566d378be955f61c287a63fb3bdf329 -PKG_MIRROR_HASH:=eef792b4e9fa7a5227cf8c2ec4ed5e6558dd04c119cd9f97561923821fd1aa92 +PKG_SOURCE_DATE:=2023-11-07 +PKG_SOURCE_VERSION:=516ab774cc16d4b04b3b17a067cbf2649f1adaeb +PKG_MIRROR_HASH:=76dcc7988d8ade7e8a80af8a79e9b509093c5eea9e785b0e5f7aef845787118a PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 From 34dbd02c1264bdedff5fce5beaed88387fa16f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 7 Nov 2023 13:38:23 +0100 Subject: [PATCH 02/46] qoriq: refresh kernel config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- target/linux/qoriq/config-5.15 | 3 --- 1 file changed, 3 deletions(-) diff --git a/target/linux/qoriq/config-5.15 b/target/linux/qoriq/config-5.15 index 8ebee2bb14f..3f5fd63ad03 100644 --- a/target/linux/qoriq/config-5.15 +++ b/target/linux/qoriq/config-5.15 @@ -83,14 +83,12 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_XTS=y CONFIG_DATA_SHIFT=12 CONFIG_DEBUG_INFO=y -# CONFIG_DEBUG_INFO_REDUCED is not set CONFIG_DEFAULT_UIMAGE=y CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_OF=y CONFIG_DMA_OPS=y CONFIG_DMA_OPS_BYPASS=y -CONFIG_DPAA_ERRATUM_A050385=y CONFIG_DTC=y CONFIG_DUMMY_CONSOLE=y CONFIG_E500=y @@ -274,7 +272,6 @@ CONFIG_OPTPROBES=y CONFIG_PACKING=y CONFIG_PADATA=y CONFIG_PAGE_OFFSET=0xc000000000000000 -CONFIG_PAHOLE_HAS_SPLIT_BTF=y CONFIG_PCI=y CONFIG_PCI_DOMAINS=y CONFIG_PCI_MSI=y From f784fe88a62e7433ab97d1935f76894cfabbaf6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 7 Nov 2023 13:38:23 +0100 Subject: [PATCH 03/46] sifiveu: refresh kernel config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- target/linux/sifiveu/config-6.1 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/target/linux/sifiveu/config-6.1 b/target/linux/sifiveu/config-6.1 index 7d865bf4c0f..ee97677d784 100644 --- a/target/linux/sifiveu/config-6.1 +++ b/target/linux/sifiveu/config-6.1 @@ -12,6 +12,7 @@ CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_STACKWALK=y CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_ASN1=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_ATA=y CONFIG_ATA_VERBOSE_ERROR=y @@ -19,6 +20,8 @@ CONFIG_BLK_DEV_SD=y CONFIG_BLK_MQ_PCI=y CONFIG_CAVIUM_PTP=y CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC=y CONFIG_CLK_SIFIVE=y CONFIG_CLK_SIFIVE_PRCI=y @@ -31,6 +34,8 @@ CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 # CONFIG_COMPAT_32BIT_TIME is not set CONFIG_COMPAT_BRK=y CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y CONFIG_COREDUMP=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_CPU_ISOLATION=y @@ -47,8 +52,11 @@ CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_ECHAINIV=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 +CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y @@ -56,9 +64,12 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y CONFIG_DECOMPRESS_GZIP=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DEVTMPFS_SAFE is not set +CONFIG_DMA_DIRECT_REMAP=y CONFIG_DNOTIFY=y CONFIG_DTC=y CONFIG_DUMMY_CONSOLE=y @@ -268,12 +279,16 @@ CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_RESET_SYSCON_POWEROFF=y CONFIG_PPS=y +CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PRINTK_TIME=y CONFIG_PTP_1588_CLOCK=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_PWM=y CONFIG_PWM_SIFIVE=y CONFIG_PWM_SYSFS=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_RANDSTRUCT_NONE=y +CONFIG_RAS=y CONFIG_RATIONAL=y CONFIG_RCU_TRACE=y CONFIG_RD_GZIP=y @@ -283,6 +298,7 @@ CONFIG_REGMAP_MMIO=y # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_SIMPLE=y +CONFIG_RFS_ACCEL=y CONFIG_RISCV=y CONFIG_RISCV_ALTERNATIVE=y # CONFIG_RISCV_BOOT_SPINWAIT is not set @@ -294,6 +310,7 @@ CONFIG_RISCV_ISA_ZICBOM=y CONFIG_RISCV_SBI=y CONFIG_RISCV_SBI_V01=y CONFIG_RISCV_TIMER=y +CONFIG_RPS=y CONFIG_RTC_CLASS=y # CONFIG_RTC_DRV_EFI is not set CONFIG_RTC_I2C_AND_SPI=y @@ -331,6 +348,7 @@ CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y CONFIG_SPI_SIFIVE=y CONFIG_SRCU=y +CONFIG_STACKDEPOT=y CONFIG_STACKTRACE=y CONFIG_SWIOTLB=y CONFIG_SWPHY=y From 585360f0c0ec4a4efa5c6fa9038f6cab382b1f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 7 Nov 2023 13:38:23 +0100 Subject: [PATCH 04/46] gemini: refresh kernel config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- target/linux/gemini/config-6.1 | 38 +++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/target/linux/gemini/config-6.1 b/target/linux/gemini/config-6.1 index 09b7b97d165..d4b3e66a5d9 100644 --- a/target/linux/gemini/config-6.1 +++ b/target/linux/gemini/config-6.1 @@ -18,8 +18,7 @@ CONFIG_ARM=y CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y # CONFIG_ARM_ATAG_DTB_COMPAT is not set -CONFIG_ARM_CRYPTO=y -CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_HAS_GROUP_RELOCS=y CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_ARM_PATCH_PHYS_VIRT=y # CONFIG_ARM_SMMU is not set @@ -34,6 +33,9 @@ CONFIG_BLK_DEV_SD=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y CONFIG_BOUNCE=y +CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_CLKSRC_MMIO=y CONFIG_CLONE_BACKWARDS=y CONFIG_CMA=y @@ -49,8 +51,11 @@ CONFIG_CMA_SIZE_SEL_PERCENTAGE=y # CONFIG_CMA_SYSFS is not set CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_GEMINI=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_COMPAT_32BIT_TIME=y CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y CONFIG_CONTIG_ALLOC=y CONFIG_COREDUMP=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y @@ -63,6 +68,7 @@ CONFIG_CPU_CP15=y CONFIG_CPU_CP15_MMU=y # CONFIG_CPU_DCACHE_WRITETHROUGH is not set CONFIG_CPU_FA526=y +CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPU_NO_EFFICIENT_FFS=y CONFIG_CPU_PABRT_LEGACY=y CONFIG_CPU_THERMAL=y @@ -91,7 +97,9 @@ CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_DES=y +CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_RNG=y @@ -101,6 +109,7 @@ CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DECOMPRESS_BZIP2=y @@ -116,16 +125,15 @@ CONFIG_DMA_ENGINE=y CONFIG_DMA_ENGINE_RAID=y CONFIG_DMA_OF=y CONFIG_DMA_OPS=y -CONFIG_DMA_REMAP=y CONFIG_DMA_SHARED_BUFFER=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DRM=y CONFIG_DRM_BRIDGE=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_GEM_DMA_HELPER=y CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_NOMODESET=y CONFIG_DRM_PANEL=y CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_ILITEK_IL9322=y @@ -138,8 +146,10 @@ CONFIG_EDAC_SUPPORT=y CONFIG_EEPROM_93CX6=y CONFIG_ELF_CORE=y # CONFIG_EMBEDDED is not set +CONFIG_EXCLUSIVE_SYSTEM_RAM=y # CONFIG_EXPERT is not set CONFIG_EXT4_FS=y +CONFIG_EXTCON=y CONFIG_FARADAY_FTINTC010=y CONFIG_FB=y CONFIG_FB_CFB_COPYAREA=y @@ -167,7 +177,9 @@ CONFIG_FTTMR010_TIMER=y CONFIG_FTWDT010_WATCHDOG=y CONFIG_FWNODE_MDIO=y CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_GCC11_NO_ARRAY_BOUNDS=y CONFIG_GEMINI_ETHERNET=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_ATOMIC64=y @@ -192,7 +204,6 @@ CONFIG_GPIO_CDEV=y CONFIG_GPIO_FTGPIO010=y CONFIG_GPIO_GENERIC=y CONFIG_GRO_CELLS=y -CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y @@ -217,8 +228,10 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IO_URING=y CONFIG_IPC_NS=y CONFIG_IRQCHIP=y +CONFIG_IRQSTACKS=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_WORK=y @@ -295,6 +308,9 @@ CONFIG_OF_MDIO=y CONFIG_OLD_SIGACTION=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PAGE_POOL=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 @@ -323,11 +339,13 @@ CONFIG_POWER_RESET_GEMINI_POWEROFF=y CONFIG_POWER_RESET_SYSCON=y CONFIG_PREEMPT=y CONFIG_PREEMPTION=y +CONFIG_PREEMPT_BUILD=y CONFIG_PREEMPT_COUNT=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_RCU=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_RANDSTRUCT_NONE=y CONFIG_RATIONAL=y CONFIG_RD_BZIP2=y CONFIG_RD_GZIP=y @@ -372,6 +390,7 @@ CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_SERPORT=y CONFIG_SG_POOL=y CONFIG_SLUB_DEBUG=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y CONFIG_SPARSE_IRQ=y CONFIG_SPI=y CONFIG_SPI_BITBANG=y @@ -379,6 +398,8 @@ CONFIG_SPI_GPIO=y CONFIG_SPI_MASTER=y CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_SRCU=y +CONFIG_STACKDEPOT=y +CONFIG_STACKTRACE=y # CONFIG_STRIP_ASM_SYMS is not set CONFIG_SWPHY=y CONFIG_SYNC_FILE=y @@ -390,6 +411,7 @@ CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_OF=y +CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y @@ -398,13 +420,13 @@ CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_UNUSED_BOARD_FILES=n CONFIG_UNWINDER_ARM=y +CONFIG_USB_COMMON=y CONFIG_USB_FOTG210=m -CONFIG_USB_FOTG210_HCD=y CONFIG_USB_FOTG210_UDC=y CONFIG_USB_GADGET=y CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_PHY=y CONFIG_USB_SUPPORT=y CONFIG_USER_NS=y CONFIG_USE_OF=y From 7a8424827ff1e34503e70708f3c41d286d5aa94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 7 Nov 2023 13:38:23 +0100 Subject: [PATCH 05/46] rockchip: refresh kernel config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- target/linux/rockchip/armv8/config-5.15 | 10 +--------- target/linux/rockchip/armv8/config-6.1 | 4 ---- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/target/linux/rockchip/armv8/config-5.15 b/target/linux/rockchip/armv8/config-5.15 index 08ce65d8eaf..1fc2fcbfb31 100644 --- a/target/linux/rockchip/armv8/config-5.15 +++ b/target/linux/rockchip/armv8/config-5.15 @@ -6,7 +6,6 @@ CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y CONFIG_ARCH_MMAP_RND_BITS=18 CONFIG_ARCH_MMAP_RND_BITS_MAX=33 CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_ARCH_ROCKCHIP=y @@ -26,9 +25,7 @@ CONFIG_ARM64_ERRATUM_826319=y CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_832075=y CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_845719=y CONFIG_ARM64_ERRATUM_858921=y -CONFIG_ARM64_ERRATUM_1742098=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y CONFIG_ARM64_PAGE_SHIFT=12 @@ -44,7 +41,6 @@ CONFIG_ARM64_VA_BITS=48 # CONFIG_ARM64_VA_BITS_39 is not set CONFIG_ARM64_VA_BITS_48=y CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y -# CONFIG_ARMV8_DEPRECATED is not set CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y @@ -85,10 +81,10 @@ CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y -CONFIG_BLOCK_COMPAT=y CONFIG_BRCMSTB_GISB_ARB=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_CC_HAVE_SHADOW_CALL_STACK=y CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_CHARGER_GPIO=y CONFIG_CLKSRC_MMIO=y @@ -251,9 +247,7 @@ CONFIG_HID=y CONFIG_HID_GENERIC=y CONFIG_HOTPLUG_CPU=y CONFIG_HOTPLUG_PCI=y -# CONFIG_HOTPLUG_PCI_CPCI is not set # CONFIG_HOTPLUG_PCI_PCIE is not set -# CONFIG_HOTPLUG_PCI_SHPC is not set CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_HWMON=y @@ -387,7 +381,6 @@ CONFIG_OF_KOBJ=y CONFIG_OF_MDIO=y CONFIG_OF_OVERLAY=y CONFIG_OF_RESOLVE=y -CONFIG_OLD_SIGSUSPEND3=y # CONFIG_OVERLAY_FS_XINO_AUTO is not set CONFIG_PADATA=y CONFIG_PAGE_POOL=y @@ -571,7 +564,6 @@ CONFIG_SWPHY=y CONFIG_SYNC_FILE=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_SYSFS_SYSCALL=y -CONFIG_SYSVIPC_COMPAT=y # CONFIG_TEXTSEARCH is not set CONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y diff --git a/target/linux/rockchip/armv8/config-6.1 b/target/linux/rockchip/armv8/config-6.1 index e21de9a3484..59b343b23b0 100644 --- a/target/linux/rockchip/armv8/config-6.1 +++ b/target/linux/rockchip/armv8/config-6.1 @@ -90,7 +90,6 @@ CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y -# CONFIG_BOSCH_BNO055_SERIAL is not set CONFIG_BRCMSTB_GISB_ARB=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y @@ -334,7 +333,6 @@ CONFIG_KSM=y # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set CONFIG_LEDS_GPIO=y CONFIG_LEDS_PWM=y -# CONFIG_LEDS_PWM_MULTICOLOR is not set CONFIG_LEDS_SYSCON=y CONFIG_LEDS_TRIGGER_CPU=y CONFIG_LEDS_TRIGGER_PANIC=y @@ -495,10 +493,8 @@ CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_PWM=y -# CONFIG_PWM_CLK is not set CONFIG_PWM_ROCKCHIP=y CONFIG_PWM_SYSFS=y -# CONFIG_PWM_XILINX is not set # CONFIG_QFMT_V2 is not set CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y From 929c9a58c9a17a3ca8d2a3be0c5dc4ac98e848e2 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 5 Nov 2023 23:05:24 +0100 Subject: [PATCH 06/46] px5g-mbedtls: Fix permission of private key Store the private key with read and write permission for the user only and not with read permissions for everyone. This converts the write_file() function from fopen() to open() because open allows to specify the permission mask of the newly created file. It also adds and fixes some existing error handling. OpenSSL does this in the same way already. With this change it looks like this: root@OpenWrt:/# ls -al /etc/uhttpd.crt /etc/uhttpd.key -rw-r--r-- 1 root root 519 Nov 6 22:58 /etc/uhttpd.crt -rw------- 1 root root 121 Nov 6 22:58 /etc/uhttpd.key Signed-off-by: Hauke Mehrtens --- package/utils/px5g-mbedtls/Makefile | 2 +- package/utils/px5g-mbedtls/px5g-mbedtls.c | 35 +++++++++++++++++------ 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/package/utils/px5g-mbedtls/Makefile b/package/utils/px5g-mbedtls/Makefile index 6de5e55d066..14c9f684a96 100644 --- a/package/utils/px5g-mbedtls/Makefile +++ b/package/utils/px5g-mbedtls/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=px5g-mbedtls -PKG_RELEASE:=9 +PKG_RELEASE:=10 PKG_LICENSE:=LGPL-2.1 PKG_BUILD_FLAGS:=no-mips16 diff --git a/package/utils/px5g-mbedtls/px5g-mbedtls.c b/package/utils/px5g-mbedtls/px5g-mbedtls.c index 4e0a73ab0a7..85abe7dc73f 100644 --- a/package/utils/px5g-mbedtls/px5g-mbedtls.c +++ b/package/utils/px5g-mbedtls/px5g-mbedtls.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -55,10 +56,13 @@ static int _urandom(void *ctx, unsigned char *out, size_t len) return 0; } -static void write_file(const char *path, int len, bool pem) +static void write_file(const char *path, size_t len, bool pem, bool cert) { - FILE *f = stdout; + mode_t mode = S_IRUSR | S_IWUSR; const char *buf_start = buf; + int fd = STDERR_FILENO; + ssize_t written; + int err; if (!pem) buf_start += sizeof(buf) - len; @@ -67,17 +71,30 @@ static void write_file(const char *path, int len, bool pem) fprintf(stderr, "No data to write\n"); exit(1); } + + if (cert) + mode |= S_IRGRP | S_IROTH; - if (!f) { + if (path) + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, mode); + + if (fd < 0) { fprintf(stderr, "error: I/O error\n"); exit(1); } + written = write(fd, buf_start, len); + if (written != len) { + fprintf(stderr, "writing key failed with: %s\n", strerror(errno)); + exit(1); + } + err = fsync(fd); + if (err < 0) { + fprintf(stderr, "syncing key failed with: %s\n", strerror(errno)); + exit(1); + } if (path) - f = fopen(path, "w"); - - fwrite(buf_start, 1, len, f); - fclose(f); + close(fd); } static mbedtls_ecp_group_id ecp_curve(const char *name) @@ -110,7 +127,7 @@ static void write_key(mbedtls_pk_context *key, const char *path, bool pem) len = 0; } - write_file(path, len, pem); + write_file(path, len, pem, false); } static void gen_key(mbedtls_pk_context *key, bool rsa, int ksize, int exp, @@ -301,7 +318,7 @@ int selfsigned(char **arg) return 1; } } - write_file(certpath, len, pem); + write_file(certpath, len, pem, true); mbedtls_x509write_crt_free(&cert); mbedtls_mpi_free(&serial); From 6aad5ab0992fefd88ce612bc0484e0115a004572 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Tue, 7 Nov 2023 00:33:38 +0100 Subject: [PATCH 07/46] px5g-wolfssl: Fix permission of private key Store the private key with read and write permission for the user only and not with read permissions for everyone. This converts the write_file() function from fopen() to open() because open allows to specify the permission mask of the newly created file. It also adds and fixes some existing error handling. OpenSSL does this in the same way already. With this change it looks like this: root@OpenWrt:/# ls -al /etc/uhttpd.* -rw-r--r-- 1 root root 749 Nov 6 23:14 /etc/uhttpd.crt -rw------- 1 root root 121 Nov 6 23:14 /etc/uhttpd.key Signed-off-by: Hauke Mehrtens --- package/utils/px5g-wolfssl/Makefile | 2 +- package/utils/px5g-wolfssl/px5g-wolfssl.c | 45 +++++++++++++++-------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/package/utils/px5g-wolfssl/Makefile b/package/utils/px5g-wolfssl/Makefile index 843f03fcc11..ba208f6ca59 100644 --- a/package/utils/px5g-wolfssl/Makefile +++ b/package/utils/px5g-wolfssl/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=px5g-wolfssl -PKG_RELEASE:=8.2 +PKG_RELEASE:=9 PKG_LICENSE:=GPL-2.0-or-later PKG_BUILD_FLAGS:=no-mips16 diff --git a/package/utils/px5g-wolfssl/px5g-wolfssl.c b/package/utils/px5g-wolfssl/px5g-wolfssl.c index cd04a41dfb8..755d370ba2d 100644 --- a/package/utils/px5g-wolfssl/px5g-wolfssl.c +++ b/package/utils/px5g-wolfssl/px5g-wolfssl.c @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include #include #include @@ -24,27 +26,38 @@ enum { RSA_KEY_TYPE = 1, }; -int write_file(byte *buf, int bufSz, char *path) { - int ret; - FILE *file; +int write_file(byte *buf, int bufSz, char *path, bool cert) { + mode_t mode = S_IRUSR | S_IWUSR; + ssize_t written; + int err; + int fd; + + if (cert) + mode |= S_IRGRP | S_IROTH; + if (path) { - file = fopen(path, "wb"); - if (file == NULL) { + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, mode); + if (fd < 0) { perror("Error opening file"); exit(1); } } else { - file = stdout; + fd = STDERR_FILENO; + } + written = write(fd, buf, bufSz); + if (written != bufSz) { + perror("Error write file"); + exit(1); + } + err = fsync(fd); + if (err < 0) { + perror("Error fsync file"); + exit(1); } - ret = (int)fwrite(buf, 1, bufSz, file); if (path) { - fclose(file); + close(fd); } - if (ret > 0) { - /* ret > 0 indicates a successful file write, set to zero for return */ - ret = 0; - } - return ret; + return 0; } int write_key(ecc_key *ecKey, RsaKey *rsaKey, int type, int keySz, char *fName, @@ -73,9 +86,9 @@ int write_key(ecc_key *ecKey, RsaKey *rsaKey, int type, int keySz, char *fName, fprintf(stderr, "DER to PEM failed: %d\n", ret); } pemSz = ret; - ret = write_file(pem, pemSz, fName); + ret = write_file(pem, pemSz, fName, false); } else { - ret = write_file(der, derSz, fName); + ret = write_file(der, derSz, fName, false); } return ret; } @@ -281,7 +294,7 @@ int selfsigned(WC_RNG *rng, char **arg) { } pemSz = ret; - ret = write_file(pemBuf, pemSz, certpath); + ret = write_file(pemBuf, pemSz, certpath, true); if (ret != 0) { fprintf(stderr, "Write Cert failed: %d\n", ret); return ret; From 7deb73e6ed183b54ecdfc47e872cc65decf09e32 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 7 Nov 2023 14:38:21 +0100 Subject: [PATCH 08/46] qualcommax: fixup patch numbering It seems that I forgot one zero in the patch numbering while marking these as backports, so lets fix it. Signed-off-by: Robert Marko --- ...-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch} | 0 ...-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch} | 0 ...-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch} | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename target/linux/qualcommax/patches-6.1/{026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch => 0026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch} (100%) rename target/linux/qualcommax/patches-6.1/{027-v6.7-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch => 0027-v6.7-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch} (100%) rename target/linux/qualcommax/patches-6.1/{028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch => 0028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch} (98%) diff --git a/target/linux/qualcommax/patches-6.1/026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch b/target/linux/qualcommax/patches-6.1/0026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch similarity index 100% rename from target/linux/qualcommax/patches-6.1/026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch rename to target/linux/qualcommax/patches-6.1/0026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch diff --git a/target/linux/qualcommax/patches-6.1/027-v6.7-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch b/target/linux/qualcommax/patches-6.1/0027-v6.7-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch similarity index 100% rename from target/linux/qualcommax/patches-6.1/027-v6.7-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch rename to target/linux/qualcommax/patches-6.1/0027-v6.7-clk-qcom-apss-ipq6018-add-the-GPLL0-clock-also-as-cl.patch diff --git a/target/linux/qualcommax/patches-6.1/028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch b/target/linux/qualcommax/patches-6.1/0028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch similarity index 98% rename from target/linux/qualcommax/patches-6.1/028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch rename to target/linux/qualcommax/patches-6.1/0028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch index 693fb6cf2d8..5ae4fb56716 100644 --- a/target/linux/qualcommax/patches-6.1/028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch +++ b/target/linux/qualcommax/patches-6.1/0028-v6.7-arm64-dts-qcom-ipq8074-include-the-GPLL0-as-clock-pr.patch @@ -19,7 +19,7 @@ Reviewed-by: Konrad Dybcio --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -920,8 +920,8 @@ +@@ -682,8 +682,8 @@ apcs_glb: mailbox@b111000 { compatible = "qcom,ipq8074-apcs-apps-global"; reg = <0x0b111000 0x1000>; From 91169898ceae20e6acc34060f0906cd3f5959c05 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 7 Nov 2023 15:14:15 +0100 Subject: [PATCH 09/46] qualcommax: refresh patches It seems that patches were not refreshed during last kernel bump, so lets refresh them. Signed-off-by: Robert Marko --- ...qcom-gcc-ipq8074-rework-nss_port5-6-clock-to-mul.patch | 8 ++++---- .../patches-6.1/0118-clk-qcom-Add-WCSSAON-reset.patch | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/linux/qualcommax/patches-6.1/0101-clk-qcom-gcc-ipq8074-rework-nss_port5-6-clock-to-mul.patch b/target/linux/qualcommax/patches-6.1/0101-clk-qcom-gcc-ipq8074-rework-nss_port5-6-clock-to-mul.patch index 32fb2d9d872..62a30bbb228 100644 --- a/target/linux/qualcommax/patches-6.1/0101-clk-qcom-gcc-ipq8074-rework-nss_port5-6-clock-to-mul.patch +++ b/target/linux/qualcommax/patches-6.1/0101-clk-qcom-gcc-ipq8074-rework-nss_port5-6-clock-to-mul.patch @@ -23,7 +23,7 @@ Signed-off-by: Christian Marangi --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -1682,13 +1682,21 @@ static struct clk_regmap_div nss_port4_t +@@ -1676,13 +1676,21 @@ static struct clk_regmap_div nss_port4_t }, }; @@ -49,7 +49,7 @@ Signed-off-by: Christian Marangi F(156250000, P_UNIPHY1_RX, 2, 0, 0), F(312500000, P_UNIPHY1_RX, 1, 0, 0), { } -@@ -1744,13 +1752,21 @@ static struct clk_regmap_div nss_port5_r +@@ -1738,13 +1746,21 @@ static struct clk_regmap_div nss_port5_r }, }; @@ -75,7 +75,7 @@ Signed-off-by: Christian Marangi F(156250000, P_UNIPHY1_TX, 2, 0, 0), F(312500000, P_UNIPHY1_TX, 1, 0, 0), { } -@@ -1806,13 +1822,21 @@ static struct clk_regmap_div nss_port5_t +@@ -1800,13 +1816,21 @@ static struct clk_regmap_div nss_port5_t }, }; @@ -101,7 +101,7 @@ Signed-off-by: Christian Marangi F(156250000, P_UNIPHY2_RX, 2, 0, 0), F(312500000, P_UNIPHY2_RX, 1, 0, 0), { } -@@ -1863,13 +1887,21 @@ static struct clk_regmap_div nss_port6_r +@@ -1857,13 +1881,21 @@ static struct clk_regmap_div nss_port6_r }, }; diff --git a/target/linux/qualcommax/patches-6.1/0118-clk-qcom-Add-WCSSAON-reset.patch b/target/linux/qualcommax/patches-6.1/0118-clk-qcom-Add-WCSSAON-reset.patch index 791531775ef..be0524338da 100644 --- a/target/linux/qualcommax/patches-6.1/0118-clk-qcom-Add-WCSSAON-reset.patch +++ b/target/linux/qualcommax/patches-6.1/0118-clk-qcom-Add-WCSSAON-reset.patch @@ -15,7 +15,7 @@ Acked-by: Stephen Boyd --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -4717,6 +4717,7 @@ static const struct qcom_reset_map gcc_i +@@ -4711,6 +4711,7 @@ static const struct qcom_reset_map gcc_i [GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = BIT(27) | GENMASK(9, 8) }, [GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = BIT(28) | GENMASK(11, 10) }, [GCC_NSSPORT6_RESET] = { .reg = 0x68014, .bitmask = BIT(29) | GENMASK(13, 12) }, From 531314260d2e50e984e1671f88662b469dffb16e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 8 Nov 2023 10:45:55 +0100 Subject: [PATCH 10/46] wifi: fix applying mesh parameters when wpa_supplicant is in use Apply them directly using nl80211 after setting up the interface. Use the same method in wdev.uc as well Signed-off-by: Felix Fietkau --- .../network/services/hostapd/files/common.uc | 52 ++++++++++++++++++- .../network/services/hostapd/files/wdev.uc | 26 +--------- .../services/hostapd/files/wpa_supplicant.uc | 19 ++++++- 3 files changed, 71 insertions(+), 26 deletions(-) diff --git a/package/network/services/hostapd/files/common.uc b/package/network/services/hostapd/files/common.uc index ccffe3eb436..8399d3ff960 100644 --- a/package/network/services/hostapd/files/common.uc +++ b/package/network/services/hostapd/files/common.uc @@ -10,6 +10,36 @@ const iftypes = { monitor: nl80211.const.NL80211_IFTYPE_MONITOR, }; +const mesh_params = { + mesh_retry_timeout: "retry_timeout", + mesh_confirm_timeout: "confirm_timeout", + mesh_holding_timeout: "holding_timeout", + mesh_max_peer_links: "max_peer_links", + mesh_max_retries: "max_retries", + mesh_ttl: "ttl", + mesh_element_ttl: "element_ttl", + mesh_auto_open_plinks: "auto_open_plinks", + mesh_hwmp_max_preq_retries: "hwmp_max_preq_retries", + mesh_path_refresh_time: "path_refresh_time", + mesh_min_discovery_timeout: "min_discovery_timeout", + mesh_hwmp_active_path_timeout: "hwmp_active_path_timeout", + mesh_hwmp_preq_min_interval: "hwmp_preq_min_interval", + mesh_hwmp_net_diameter_traversal_time: "hwmp_net_diam_trvs_time", + mesh_hwmp_rootmode: "hwmp_rootmode", + mesh_hwmp_rann_interval: "hwmp_rann_interval", + mesh_gate_announcements: "gate_announcements", + mesh_sync_offset_max_neighor: "sync_offset_max_neighbor", + mesh_rssi_threshold: "rssi_threshold", + mesh_hwmp_active_path_to_root_timeout: "hwmp_path_to_root_timeout", + mesh_hwmp_root_interval: "hwmp_root_interval", + mesh_hwmp_confirmation_interval: "hwmp_confirmation_interval", + mesh_awake_window: "awake_window", + mesh_plink_timeout: "plink_timeout", + mesh_fwding: "forwarding", + mesh_power_mode: "power_mode", + mesh_nolearn: "nolearn" +}; + function wdev_remove(name) { nl80211.request(nl80211.const.NL80211_CMD_DEL_INTERFACE, 0, { dev: name }); @@ -94,6 +124,26 @@ function wdev_create(phy, name, data) return null; } +function wdev_set_mesh_params(name, data) +{ + let mesh_cfg = {}; + + for (let key in mesh_params) { + let val = data[key]; + if (val == null) + continue; + mesh_cfg[mesh_params[key]] = int(val); + } + + if (!length(mesh_cfg)) + return null; + + nl80211.request(nl80211.const.NL80211_CMD_SET_MESH_CONFIG, 0, + { dev: name, mesh_params: mesh_cfg }); + + return nl80211.error(); +} + function phy_sysfs_file(phy, name) { return trim(readfile(`/sys/class/ieee80211/${phy}/${name}`)); @@ -315,4 +365,4 @@ function vlist_new(cb) { }, vlist_proto); } -export { wdev_remove, wdev_create, is_equal, vlist_new, phy_is_fullmac, phy_open }; +export { wdev_remove, wdev_create, wdev_set_mesh_params, is_equal, vlist_new, phy_is_fullmac, phy_open }; diff --git a/package/network/services/hostapd/files/wdev.uc b/package/network/services/hostapd/files/wdev.uc index cf438f7715f..800bb32d24f 100644 --- a/package/network/services/hostapd/files/wdev.uc +++ b/package/network/services/hostapd/files/wdev.uc @@ -1,6 +1,6 @@ #!/usr/bin/env ucode 'use strict'; -import { vlist_new, is_equal, wdev_create, wdev_remove, phy_open } from "/usr/share/hostap/common.uc"; +import { vlist_new, is_equal, wdev_create, wdev_set_mesh_params, wdev_remove, phy_open } from "/usr/share/hostap/common.uc"; import { readfile, writefile, basename, readlink, glob } from "fs"; let libubus = require("ubus"); @@ -9,17 +9,6 @@ let phy = shift(ARGV); let command = shift(ARGV); let phydev; -const mesh_params = [ - "mesh_retry_timeout", "mesh_confirm_timeout", "mesh_holding_timeout", "mesh_max_peer_links", - "mesh_max_retries", "mesh_ttl", "mesh_element_ttl", "mesh_hwmp_max_preq_retries", - "mesh_path_refresh_time", "mesh_min_discovery_timeout", "mesh_hwmp_active_path_timeout", - "mesh_hwmp_preq_min_interval", "mesh_hwmp_net_diameter_traversal_time", "mesh_hwmp_rootmode", - "mesh_hwmp_rann_interval", "mesh_gate_announcements", "mesh_sync_offset_max_neighor", - "mesh_rssi_threshold", "mesh_hwmp_active_path_to_root_timeout", "mesh_hwmp_root_interval", - "mesh_hwmp_confirmation_interval", "mesh_awake_window", "mesh_plink_timeout", - "mesh_auto_open_plinks", "mesh_fwding", "mesh_power_mode" -]; - function iface_stop(wdev) { if (keep_devices[wdev.ifname]) @@ -60,19 +49,8 @@ function iface_start(wdev) push(cmd, key, wdev[key]); system(cmd); - cmd = ["iw", "dev", ifname, "set", "mesh_param" ]; - let len = length(cmd); - - for (let param in mesh_params) - if (wdev[param]) - push(cmd, param, wdev[param]); - - if (len == length(cmd)) - return; - - system(cmd); + wdev_set_mesh_params(ifname, wdev); } - } function iface_cb(new_if, old_if) diff --git a/package/network/services/hostapd/files/wpa_supplicant.uc b/package/network/services/hostapd/files/wpa_supplicant.uc index cb5f41b1af3..c3fd73dfee8 100644 --- a/package/network/services/hostapd/files/wpa_supplicant.uc +++ b/package/network/services/hostapd/files/wpa_supplicant.uc @@ -1,6 +1,6 @@ let libubus = require("ubus"); import { open, readfile } from "fs"; -import { wdev_create, wdev_remove, is_equal, vlist_new, phy_open } from "common"; +import { wdev_create, wdev_set_mesh_params, wdev_remove, is_equal, vlist_new, phy_open } from "common"; let ubus = libubus.connect(); @@ -316,6 +316,23 @@ return { } iface_hostapd_notify(phy, ifname, iface, state); + + if (state != "COMPLETED") + return; + + let phy_data = wpas.data.config[phy]; + if (!phy_data) + return; + + let iface_data = phy_data.data[ifname]; + if (!iface_data) + return; + + let wdev_config = iface_data.config; + if (!wdev_config || wdev_config.mode != "mesh") + return; + + wdev_set_mesh_params(ifname, wdev_config); }, event: function(ifname, iface, ev, info) { let phy = wpas.data.iface_phy[ifname]; From c2a30b6e01aa756cd7d50c578ab4344c725ecc59 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 8 Nov 2023 11:20:41 +0100 Subject: [PATCH 11/46] hostapd: use rtnl to set up interfaces In wpa_supplicant, set up wlan interfaces before adding them Signed-off-by: Felix Fietkau --- package/network/services/hostapd/files/common.uc | 7 ++++++- package/network/services/hostapd/files/wdev.uc | 6 +++--- package/network/services/hostapd/files/wpa_supplicant.uc | 3 ++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package/network/services/hostapd/files/common.uc b/package/network/services/hostapd/files/common.uc index 8399d3ff960..4c33779af93 100644 --- a/package/network/services/hostapd/files/common.uc +++ b/package/network/services/hostapd/files/common.uc @@ -144,6 +144,11 @@ function wdev_set_mesh_params(name, data) return nl80211.error(); } +function wdev_set_up(name, up) +{ + rtnl.request(rtnl.const.RTM_SETLINK, 0, { dev: name, change: 1, flags: up ? 1 : 0 }); +} + function phy_sysfs_file(phy, name) { return trim(readfile(`/sys/class/ieee80211/${phy}/${name}`)); @@ -365,4 +370,4 @@ function vlist_new(cb) { }, vlist_proto); } -export { wdev_remove, wdev_create, wdev_set_mesh_params, is_equal, vlist_new, phy_is_fullmac, phy_open }; +export { wdev_remove, wdev_create, wdev_set_mesh_params, wdev_set_up, is_equal, vlist_new, phy_is_fullmac, phy_open }; diff --git a/package/network/services/hostapd/files/wdev.uc b/package/network/services/hostapd/files/wdev.uc index 800bb32d24f..ff4d629fd64 100644 --- a/package/network/services/hostapd/files/wdev.uc +++ b/package/network/services/hostapd/files/wdev.uc @@ -1,6 +1,6 @@ #!/usr/bin/env ucode 'use strict'; -import { vlist_new, is_equal, wdev_create, wdev_set_mesh_params, wdev_remove, phy_open } from "/usr/share/hostap/common.uc"; +import { vlist_new, is_equal, wdev_create, wdev_set_mesh_params, wdev_remove, wdev_set_up, phy_open } from "/usr/share/hostap/common.uc"; import { readfile, writefile, basename, readlink, glob } from "fs"; let libubus = require("ubus"); @@ -22,7 +22,7 @@ function iface_start(wdev) let ifname = wdev.ifname; if (readfile(`/sys/class/net/${ifname}/ifindex`)) { - system([ "ip", "link", "set", "dev", ifname, "down" ]); + wdev_set_up(ifname, false); wdev_remove(ifname); } let wdev_config = {}; @@ -31,7 +31,7 @@ function iface_start(wdev) if (!wdev_config.macaddr && wdev.mode != "monitor") wdev_config.macaddr = phydev.macaddr_next(); wdev_create(phy, ifname, wdev_config); - system([ "ip", "link", "set", "dev", ifname, "up" ]); + wdev_set_up(ifname, true); if (wdev.freq) system(`iw dev ${ifname} set freq ${wdev.freq} ${wdev.htmode}`); if (wdev.mode == "adhoc") { diff --git a/package/network/services/hostapd/files/wpa_supplicant.uc b/package/network/services/hostapd/files/wpa_supplicant.uc index c3fd73dfee8..d624f27cddc 100644 --- a/package/network/services/hostapd/files/wpa_supplicant.uc +++ b/package/network/services/hostapd/files/wpa_supplicant.uc @@ -1,6 +1,6 @@ let libubus = require("ubus"); import { open, readfile } from "fs"; -import { wdev_create, wdev_set_mesh_params, wdev_remove, is_equal, vlist_new, phy_open } from "common"; +import { wdev_create, wdev_set_mesh_params, wdev_remove, is_equal, wdev_set_up, vlist_new, phy_open } from "common"; let ubus = libubus.connect(); @@ -40,6 +40,7 @@ function iface_start(phydev, iface, macaddr_list) let ret = wdev_create(phy, ifname, wdev_config); if (ret) wpas.printf(`Failed to create device ${ifname}: ${ret}`); + wdev_set_up(ifname, true); wpas.add_iface(iface.config); iface.running = true; } From 168beef1dde903f272d512c840af2b8e4e532a78 Mon Sep 17 00:00:00 2001 From: Filip Milivojevic Date: Fri, 3 Nov 2023 10:10:14 +0100 Subject: [PATCH 12/46] ramips: Cudy WR1300v2 fix mt7613 calibration data length Since MT7613 is handled by MT7615 driver, and other devices using MT7615 have reg = <0x8000 0x4da8>; this needs updating or eeprom data fails to load. Signed-off-by: Filip Milivojevic --- target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts b/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts index 264a0fa5c16..a4a148f53b9 100644 --- a/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts +++ b/target/linux/ramips/dts/mt7621_cudy_wr1300-v2.dts @@ -90,7 +90,7 @@ }; eeprom_factory_8000: eeprom@8000 { - reg = <0x8000 0x200>; + reg = <0x8000 0x4da8>; }; }; From 2bdec1190381cfefb5ef37c411ab598573cc8ae4 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 8 Nov 2023 13:19:37 +0100 Subject: [PATCH 13/46] gemini: usb-fotg210: fix FOTG210_HCD setting CONFIG_USB_FOTG210_HCD is a boolean symbol, so it must be set to "y" instead of the default which is to set it as "m". Otherwise you will get prompted to set the symbol during kernel building. Fixes: 585360f0c0ec ("gemini: refresh kernel config") Signed-off-by: Robert Marko --- target/linux/gemini/modules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/gemini/modules.mk b/target/linux/gemini/modules.mk index 21c215ec9f5..29a3266f517 100644 --- a/target/linux/gemini/modules.mk +++ b/target/linux/gemini/modules.mk @@ -2,7 +2,7 @@ define KernelPackage/usb-fotg210 TITLE:=Support for FOTG210 USB host and device controllers DEPENDS:=@USB_SUPPORT @TARGET_gemini KCONFIG:=CONFIG_USB_FOTG210 \ - CONFIG_USB_FOTG210_HCD + CONFIG_USB_FOTG210_HCD=y FILES:=$(LINUX_DIR)/drivers/usb/fotg210/fotg210.ko AUTOLOAD:=$(call AutoLoad,50,1) $(call AddDepends/usb) From 469577886551d9d941c5144295e4b80238d16d41 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 8 Nov 2023 13:31:12 +0100 Subject: [PATCH 14/46] gemini: usb-fotg210: enable OTG support The usb-fotg210 does not currently select CONFIG_USB_FOTG210_UDC which enable OTG support, but it was previously selected directly in the target kernel config so lets enable it to keep the functionality identical. Signed-off-by: Robert Marko --- target/linux/gemini/modules.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/linux/gemini/modules.mk b/target/linux/gemini/modules.mk index 29a3266f517..30f3884e10d 100644 --- a/target/linux/gemini/modules.mk +++ b/target/linux/gemini/modules.mk @@ -1,8 +1,10 @@ define KernelPackage/usb-fotg210 TITLE:=Support for FOTG210 USB host and device controllers DEPENDS:=@USB_SUPPORT @TARGET_gemini - KCONFIG:=CONFIG_USB_FOTG210 \ - CONFIG_USB_FOTG210_HCD=y + KCONFIG:= \ + CONFIG_USB_FOTG210 \ + CONFIG_USB_FOTG210_HCD=y \ + CONFIG_USB_FOTG210_UDC=y FILES:=$(LINUX_DIR)/drivers/usb/fotg210/fotg210.ko AUTOLOAD:=$(call AutoLoad,50,1) $(call AddDepends/usb) From 67c6be5d3b15a952f449800a80d9078af31c77a1 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 8 Nov 2023 13:08:55 +0100 Subject: [PATCH 15/46] gemini: dont select USB driver as module via config The FOTG210 USB driver is currently being selected as a module directly via the target kernel config which should not be done and via kmod as well. So, lets drop the driver selection in the target kernel module as kmod is sufficient. Fixes: 585360f0c0ec ("gemini: refresh kernel config") Signed-off-by: Robert Marko --- target/linux/gemini/config-6.1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/gemini/config-6.1 b/target/linux/gemini/config-6.1 index d4b3e66a5d9..ae0922f5dc8 100644 --- a/target/linux/gemini/config-6.1 +++ b/target/linux/gemini/config-6.1 @@ -422,8 +422,7 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_UNWINDER_ARM=y CONFIG_USB_COMMON=y -CONFIG_USB_FOTG210=m -CONFIG_USB_FOTG210_UDC=y +# CONFIG_USB_FOTG210 is not set CONFIG_USB_GADGET=y CONFIG_USB_GPIO_VBUS=y CONFIG_USB_PHY=y From 7e87e2f83dba6def1b9be2ffc4299743bddcf78b Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 8 Nov 2023 13:23:09 +0100 Subject: [PATCH 16/46] gemini: usb-fotg210: add missing module name to AutoLoad AutoLoad expects the module name to be present after the load index. Signed-off-by: Robert Marko --- target/linux/gemini/modules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/gemini/modules.mk b/target/linux/gemini/modules.mk index 30f3884e10d..7b7e70d0699 100644 --- a/target/linux/gemini/modules.mk +++ b/target/linux/gemini/modules.mk @@ -6,7 +6,7 @@ define KernelPackage/usb-fotg210 CONFIG_USB_FOTG210_HCD=y \ CONFIG_USB_FOTG210_UDC=y FILES:=$(LINUX_DIR)/drivers/usb/fotg210/fotg210.ko - AUTOLOAD:=$(call AutoLoad,50,1) + AUTOLOAD:=$(call AutoLoad,50,fotg210,1) $(call AddDepends/usb) endef From a78c4e0c5700441ec4ffb2c611e224ff9d59161e Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 8 Nov 2023 13:24:37 +0100 Subject: [PATCH 17/46] gemini: usb-fotg210: remove uneeded dependency on @USB_SUPPORT $(call AddDepends/usb) will add the dependency on @USB_SUPPORT so there is no need to duplicate it. Signed-off-by: Robert Marko --- target/linux/gemini/modules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/gemini/modules.mk b/target/linux/gemini/modules.mk index 7b7e70d0699..5f544d12c78 100644 --- a/target/linux/gemini/modules.mk +++ b/target/linux/gemini/modules.mk @@ -1,6 +1,6 @@ define KernelPackage/usb-fotg210 TITLE:=Support for FOTG210 USB host and device controllers - DEPENDS:=@USB_SUPPORT @TARGET_gemini + DEPENDS:=@TARGET_gemini KCONFIG:= \ CONFIG_USB_FOTG210 \ CONFIG_USB_FOTG210_HCD=y \ From d6a06acaa530398b19af6e62f400520f914f89e5 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 28 Oct 2023 00:27:12 +0100 Subject: [PATCH 18/46] arm-trusted-firmware-mediatek: update to release 2023-10-13 Drop local patches now upstream. Signed-off-by: Daniel Golle --- .../arm-trusted-firmware-mediatek/Makefile | 8 +++--- .../patches/001-mt7988-enable-2p5g-phy.patch | 11 -------- ...mt7622-move-wdt-init-after-dram-init.patch | 28 ------------------- 3 files changed, 4 insertions(+), 43 deletions(-) delete mode 100644 package/boot/arm-trusted-firmware-mediatek/patches/001-mt7988-enable-2p5g-phy.patch delete mode 100644 package/boot/arm-trusted-firmware-mediatek/patches/002-mt7622-move-wdt-init-after-dram-init.patch diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile index 50ca21e60f5..f0b7ba548e3 100644 --- a/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=arm-trusted-firmware-mediatek -PKG_RELEASE:=2 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git -PKG_SOURCE_DATE:=2023-07-24 -PKG_SOURCE_VERSION:=00ac6db375b76e57e1f5e9e9bffa033e907c3581 -PKG_MIRROR_HASH:=74fc18395532c4292f530da8d00fa1873ada4e05e600c0077a7b7f85ace0d913 +PKG_SOURCE_DATE:=2023-10-13 +PKG_SOURCE_VERSION:=0ea67d76ae8be127c91caa3fcdf449b1fe533175 +PKG_MIRROR_HASH:=b102f6ffaa7cd2202161c44cab4d27f426d9d74c311ea9eb4d2f371ea2af4a2e PKG_MAINTAINER:=Daniel Golle diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/001-mt7988-enable-2p5g-phy.patch b/package/boot/arm-trusted-firmware-mediatek/patches/001-mt7988-enable-2p5g-phy.patch deleted file mode 100644 index d377bd8433c..00000000000 --- a/package/boot/arm-trusted-firmware-mediatek/patches/001-mt7988-enable-2p5g-phy.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/plat/mediatek/mt7988/bl2/bl2_plat_init.c -+++ b/plat/mediatek/mt7988/bl2/bl2_plat_init.c -@@ -90,6 +90,8 @@ static void mtk_i2p5g_phy_init(void) - * clear bit 22 to use external MDIO. - */ - mmio_setbits_32(GBE_TOP_REG, I2P5G_MDIO); -+ /* Internal 2.5Gphy power on sequence */ -+ eth_2p5g_phy_mtcmos_ctrl(true); - } - - static void mt7988_i2c_init(void) diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/002-mt7622-move-wdt-init-after-dram-init.patch b/package/boot/arm-trusted-firmware-mediatek/patches/002-mt7622-move-wdt-init-after-dram-init.patch deleted file mode 100644 index 4a4d252bebe..00000000000 --- a/package/boot/arm-trusted-firmware-mediatek/patches/002-mt7622-move-wdt-init-after-dram-init.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9e8cb08bc64530e7511b86a131cfad1ae0199586 Mon Sep 17 00:00:00 2001 -From: Daniel Golle -Date: Sun, 10 Sep 2023 23:35:47 +0100 -Subject: [PATCH] mt7622: move wdt init after dram init - -resolves hang on reboot ---- - plat/mediatek/mt7622/bl2/bl2_plat_init.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/plat/mediatek/mt7622/bl2/bl2_plat_init.c -+++ b/plat/mediatek/mt7622/bl2/bl2_plat_init.c -@@ -40,7 +40,6 @@ bool plat_is_my_cpu_primary(void) - const struct initcall bl2_initcalls[] = { - INITCALL(plat_mt_cpuxgpt_init), - INITCALL(generic_delay_timer_init), -- INITCALL(mtk_wdt_init), - INITCALL(mtk_print_cpu), - INITCALL(mtk_pin_init), - #ifndef IMAGE_BL2PL -@@ -49,6 +48,7 @@ const struct initcall bl2_initcalls[] = - INITCALL(mtk_pwrap_init), - INITCALL(mtk_pmic_init), - INITCALL(mtk_mem_init), -+ INITCALL(mtk_wdt_init), - - INITCALL(NULL) - }; From c63e3c98e81dff254d4313880d4e231464bb3642 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 9 Nov 2023 11:14:59 +0000 Subject: [PATCH 19/46] fstools: bump to git HEAD 3a07943 block: support skipping uuid check 56a9b4e block: consider currently mounted root device first 9cd09d4 block: try to find the root device on both / and /rom c1a8d95 block: support extroot on already mounted overlay Signed-off-by: Daniel Golle --- package/system/fstools/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/system/fstools/Makefile b/package/system/fstools/Makefile index 379f5d8c9da..7e3779e61e5 100644 --- a/package/system/fstools/Makefile +++ b/package/system/fstools/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/fstools.git -PKG_MIRROR_HASH:=4ec370a1cdc9fa69131f1403b064d2e05d54ee865411917410d7540454265319 -PKG_SOURCE_DATE:=2023-02-28 -PKG_SOURCE_VERSION:=bfe882d5ff4eeebb8f57c8a0f9b9e767a57870d8 +PKG_MIRROR_HASH:=e9953b038a2c2ed2c4783b66d1c0d0cea0deab2f2bfa6712929243e3197c3bdd +PKG_SOURCE_DATE:=2023-05-28 +PKG_SOURCE_VERSION:=3a07943e1e60699ba952e605f0cf23c82de356cb CMAKE_INSTALL:=1 PKG_LICENSE:=GPL-2.0 From 551963662b3c2d4a740a447855da410c0f217152 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 9 Nov 2023 12:40:22 +0100 Subject: [PATCH 20/46] ucode: update to Git HEAD (2023-11-07) 0352a33 uloop: support new interval and signal APIs 1468cc4 syntax: don't treat `as` and `from` as reserved keywords Signed-off-by: Jo-Philipp Wich --- package/utils/ucode/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile index b62633492aa..067e56e02de 100644 --- a/package/utils/ucode/Makefile +++ b/package/utils/ucode/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/jow-/ucode.git -PKG_SOURCE_DATE:=2023-11-02 -PKG_SOURCE_VERSION:=cfb24ea4f12131dcefe4f1ede2f51d3d16b88dec -PKG_MIRROR_HASH:=f515a23ab438f92be5788c42b9f614a82e670de2df1c01cd63143cdc77fa24fe +PKG_SOURCE_DATE:=2023-11-07 +PKG_SOURCE_VERSION:=a6e75e02528e36f3610a7f0073453018336def2e +PKG_MIRROR_HASH:=e1a0f98ba865ed5911d5db3bfca55a2f1b825992bf5f7c7e324928d9412d7ae2 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC From a82c9699c43d185af4420a013ffb976e85652f46 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 4 Nov 2023 09:57:48 +0100 Subject: [PATCH 21/46] tools/mkimage: update to 2023.10 Update to latest version. Remove "100-increase-tmpfile-name-length-limit.patch" because project is now using limits.h with PATH_MAX [0]. Automatically refreshed: - 030-allow-to-use-different-magic.patch [0] - https://github.com/u-boot/u-boot/commit/99d430f344bfdb0641022fd3efa26c29c957df02 Signed-off-by: Nick Hainke --- tools/mkimage/Makefile | 4 ++-- .../patches/030-allow-to-use-different-magic.patch | 4 ++-- .../100-increase-tmpfile-name-length-limit.patch | 11 ----------- 3 files changed, 4 insertions(+), 15 deletions(-) delete mode 100644 tools/mkimage/patches/100-increase-tmpfile-name-length-limit.patch diff --git a/tools/mkimage/Makefile b/tools/mkimage/Makefile index a6d54f5eff2..5dceb9a4717 100644 --- a/tools/mkimage/Makefile +++ b/tools/mkimage/Makefile @@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mkimage -PKG_VERSION:=2023.04 +PKG_VERSION:=2023.10 PKG_SOURCE:=u-boot-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ https://mirror.cyberbits.eu/u-boot \ https://ftp.denx.de/pub/u-boot \ ftp://ftp.denx.de/pub/u-boot -PKG_HASH:=e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341 +PKG_HASH:=e00e6c6f014e046101739d08d06f328811cebcf5ae101348f409cbbd55ce6900 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/u-boot-$(PKG_VERSION) diff --git a/tools/mkimage/patches/030-allow-to-use-different-magic.patch b/tools/mkimage/patches/030-allow-to-use-different-magic.patch index c33b0f4327a..3689fcb5315 100644 --- a/tools/mkimage/patches/030-allow-to-use-different-magic.patch +++ b/tools/mkimage/patches/030-allow-to-use-different-magic.patch @@ -50,7 +50,7 @@ This patch makes it possible to set a custom image magic. break; --- a/tools/default_image.c +++ b/tools/default_image.c -@@ -63,7 +63,7 @@ static int image_verify_header(unsigned +@@ -68,7 +68,7 @@ static int image_verify_header(unsigned */ memcpy(hdr, ptr, sizeof(struct legacy_img_hdr)); @@ -59,7 +59,7 @@ This patch makes it possible to set a custom image magic. debug("%s: Bad Magic Number: \"%s\" is no valid image\n", params->cmdname, params->imagefile); return -FDT_ERR_BADMAGIC; -@@ -142,7 +142,7 @@ static void image_set_header(void *ptr, +@@ -147,7 +147,7 @@ static void image_set_header(void *ptr, } /* Build new header */ diff --git a/tools/mkimage/patches/100-increase-tmpfile-name-length-limit.patch b/tools/mkimage/patches/100-increase-tmpfile-name-length-limit.patch deleted file mode 100644 index aae89356012..00000000000 --- a/tools/mkimage/patches/100-increase-tmpfile-name-length-limit.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/tools/mkimage.h -+++ b/tools/mkimage.h -@@ -44,7 +44,7 @@ static inline ulong map_to_sysmem(void * - #define ALLOC_CACHE_ALIGN_BUFFER(type, name, size) type name[size] - - #define MKIMAGE_TMPFILE_SUFFIX ".tmp" --#define MKIMAGE_MAX_TMPFILE_LEN 256 -+#define MKIMAGE_MAX_TMPFILE_LEN 1024 - #define MKIMAGE_DEFAULT_DTC_OPTIONS "-I dts -O dtb -p 500" - #define MKIMAGE_MAX_DTC_CMDLINE_LEN 2 * MKIMAGE_MAX_TMPFILE_LEN + 35 - From 033c6001c73906b5e530609894218f856a8c5398 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 7 Nov 2023 14:48:41 +0100 Subject: [PATCH 22/46] qualcommax: backport missing SMEM ID-s for SSDK SSDK has switched to using the upstream SMEM helper to get the SoC ID and then look it up in the QCA SMEM ID header, so we need these in order for SSDK to compile as they are currently undefined. Signed-off-by: Robert Marko --- ...qcom-ids-Add-IDs-for-IPQ5332-and-its.patch | 27 +++++++++++++++ ...qcom-ids-Add-IDs-for-IPQ9574-and-its.patch | 33 +++++++++++++++++++ ...qcom-ids-add-SoC-ID-for-IPQ5312-and-.patch | 28 ++++++++++++++++ ...-arm-qcom-ids-add-SoC-ID-for-IPQ5300.patch | 25 ++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 target/linux/qualcommax/patches-6.1/0029-v6.3-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ5332-and-its.patch create mode 100644 target/linux/qualcommax/patches-6.1/0030-v6.4-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ9574-and-its.patch create mode 100644 target/linux/qualcommax/patches-6.1/0031-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5312-and-.patch create mode 100644 target/linux/qualcommax/patches-6.1/0032-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5300.patch diff --git a/target/linux/qualcommax/patches-6.1/0029-v6.3-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ5332-and-its.patch b/target/linux/qualcommax/patches-6.1/0029-v6.3-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ5332-and-its.patch new file mode 100644 index 00000000000..61bb3f6c374 --- /dev/null +++ b/target/linux/qualcommax/patches-6.1/0029-v6.3-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ5332-and-its.patch @@ -0,0 +1,27 @@ +From c0877a26b7ee54ef30d16ffdcdd37f2bcffe518e Mon Sep 17 00:00:00 2001 +From: Kathiravan T +Date: Wed, 8 Feb 2023 11:27:08 +0530 +Subject: [PATCH] dt-bindings: arm: qcom,ids: Add IDs for IPQ5332 and its + variant + +Add SOC ID for Qualcomm IPQ5332 and IPQ5322 variants. + +Signed-off-by: Kathiravan T +Acked-by: Krzysztof Kozlowski +Signed-off-by: Bjorn Andersson +Link: https://lore.kernel.org/r/20230208055709.13162-2-quic_kathirav@quicinc.com +--- + include/dt-bindings/arm/qcom,ids.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/include/dt-bindings/arm/qcom,ids.h ++++ b/include/dt-bindings/arm/qcom,ids.h +@@ -143,6 +143,8 @@ + #define QCOM_ID_SC7280 487 + #define QCOM_ID_SC7180P 495 + #define QCOM_ID_SM6375 507 ++#define QCOM_ID_IPQ5332 592 ++#define QCOM_ID_IPQ5322 593 + + /* + * The board type and revision information, used by Qualcomm bootloaders and diff --git a/target/linux/qualcommax/patches-6.1/0030-v6.4-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ9574-and-its.patch b/target/linux/qualcommax/patches-6.1/0030-v6.4-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ9574-and-its.patch new file mode 100644 index 00000000000..7d80e4c1fdd --- /dev/null +++ b/target/linux/qualcommax/patches-6.1/0030-v6.4-dt-bindings-arm-qcom-ids-Add-IDs-for-IPQ9574-and-its.patch @@ -0,0 +1,33 @@ +From 725352e15e1d030885611a546eb1f2884851a407 Mon Sep 17 00:00:00 2001 +From: Varadarajan Narayanan +Date: Tue, 14 Mar 2023 11:43:33 +0530 +Subject: [PATCH] dt-bindings: arm: qcom,ids: Add IDs for IPQ9574 and its + variants + +Add SOC ID for Qualcomm IPQ9574, IPQ9570, IPQ9554, IPQ9550, +IPQ9514 and IPQ9510 + +Signed-off-by: Varadarajan Narayanan +Acked-by: Krzysztof Kozlowski +Reviewed-by: Kathiravan T +Signed-off-by: Bjorn Andersson +Link: https://lore.kernel.org/r/1678774414-14414-2-git-send-email-quic_varada@quicinc.com +--- + include/dt-bindings/arm/qcom,ids.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/include/dt-bindings/arm/qcom,ids.h ++++ b/include/dt-bindings/arm/qcom,ids.h +@@ -143,6 +143,12 @@ + #define QCOM_ID_SC7280 487 + #define QCOM_ID_SC7180P 495 + #define QCOM_ID_SM6375 507 ++#define QCOM_ID_IPQ9514 510 ++#define QCOM_ID_IPQ9550 511 ++#define QCOM_ID_IPQ9554 512 ++#define QCOM_ID_IPQ9570 513 ++#define QCOM_ID_IPQ9574 514 ++#define QCOM_ID_IPQ9510 521 + #define QCOM_ID_IPQ5332 592 + #define QCOM_ID_IPQ5322 593 + diff --git a/target/linux/qualcommax/patches-6.1/0031-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5312-and-.patch b/target/linux/qualcommax/patches-6.1/0031-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5312-and-.patch new file mode 100644 index 00000000000..ad70e7b6c9e --- /dev/null +++ b/target/linux/qualcommax/patches-6.1/0031-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5312-and-.patch @@ -0,0 +1,28 @@ +From 614c778cf0d570642c50715adfa0b70930d8cf29 Mon Sep 17 00:00:00 2001 +From: Kathiravan T +Date: Tue, 9 May 2023 09:05:30 +0530 +Subject: [PATCH] dt-bindings: arm: qcom,ids: add SoC ID for IPQ5312 and + IPQ5302 + +Add the SoC ID for IPQ5312 and IPQ5302, which belong to the family of +IPQ5332 SoC. + +Reviewed-by: Krzysztof Kozlowski +Signed-off-by: Kathiravan T +Signed-off-by: Bjorn Andersson +Link: https://lore.kernel.org/r/20230509033531.21468-2-quic_kathirav@quicinc.com +--- + include/dt-bindings/arm/qcom,ids.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/include/dt-bindings/arm/qcom,ids.h ++++ b/include/dt-bindings/arm/qcom,ids.h +@@ -151,6 +151,8 @@ + #define QCOM_ID_IPQ9510 521 + #define QCOM_ID_IPQ5332 592 + #define QCOM_ID_IPQ5322 593 ++#define QCOM_ID_IPQ5312 594 ++#define QCOM_ID_IPQ5302 595 + + /* + * The board type and revision information, used by Qualcomm bootloaders and diff --git a/target/linux/qualcommax/patches-6.1/0032-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5300.patch b/target/linux/qualcommax/patches-6.1/0032-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5300.patch new file mode 100644 index 00000000000..7925a0994d8 --- /dev/null +++ b/target/linux/qualcommax/patches-6.1/0032-v6.5-dt-bindings-arm-qcom-ids-add-SoC-ID-for-IPQ5300.patch @@ -0,0 +1,25 @@ +From b3c72f2795467e3d43ee429b0ebd5f523ec08f60 Mon Sep 17 00:00:00 2001 +From: Kathiravan T +Date: Mon, 5 Jun 2023 13:35:28 +0530 +Subject: [PATCH] dt-bindings: arm: qcom,ids: add SoC ID for IPQ5300 + +Add the SoC ID for IPQ5300, which belong to the family of IPQ5332 SoC. + +Acked-by: Krzysztof Kozlowski +Signed-off-by: Kathiravan T +Signed-off-by: Bjorn Andersson +Link: https://lore.kernel.org/r/20230605080531.3879-2-quic_kathirav@quicinc.com +--- + include/dt-bindings/arm/qcom,ids.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/dt-bindings/arm/qcom,ids.h ++++ b/include/dt-bindings/arm/qcom,ids.h +@@ -153,6 +153,7 @@ + #define QCOM_ID_IPQ5322 593 + #define QCOM_ID_IPQ5312 594 + #define QCOM_ID_IPQ5302 595 ++#define QCOM_ID_IPQ5300 624 + + /* + * The board type and revision information, used by Qualcomm bootloaders and From eea264feadcf01682fbe57bec8e251e841d309b3 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 7 Nov 2023 14:47:15 +0100 Subject: [PATCH 23/46] kernel: qca-ssdk: update to 12.4 Update SSDK version to 12.4, this fixes weird SFP port link up/downs while there is no SFP module plugged in. Signed-off-by: Robert Marko --- package/kernel/qca-ssdk/Makefile | 6 ++-- ...7x-add-a-LED-quirk-for-Xiaomi-AX9000.patch | 34 +++++++++---------- ...7x-add-a-LED-quirk-for-Xiaomi-AX3600.patch | 22 ++++++------ ...enable-invoking-fdb-del-function-for.patch | 30 ++++++++++++++++ 4 files changed, 60 insertions(+), 32 deletions(-) create mode 100644 package/kernel/qca-ssdk/patches/0003-Revert-qca-ssdk-enable-invoking-fdb-del-function-for.patch diff --git a/package/kernel/qca-ssdk/Makefile b/package/kernel/qca-ssdk/Makefile index f8359a98c56..f5d82605034 100644 --- a/package/kernel/qca-ssdk/Makefile +++ b/package/kernel/qca-ssdk/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-06-06 -PKG_SOURCE_VERSION:=74caf88aa3b6793c300f676e4fb1c62da7507be9 -PKG_MIRROR_HASH:=6bdb90919b773f5fb432c8b374c9419feac32ba6583ad82dfec5e41628a32dd9 +PKG_SOURCE_DATE:=2023-10-04 +PKG_SOURCE_VERSION:=23a5aa4a4d5834da7a07efb58baebfbee91786b0 +PKG_MIRROR_HASH:=9d169ce924a46a4e530031061d3183b92f23c7f46b3106f0b9ba3587846a73ee PKG_FLAGS:=nonshared PKG_BUILD_FLAGS:=no-lto diff --git a/package/kernel/qca-ssdk/patches/0001-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch b/package/kernel/qca-ssdk/patches/0001-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch index da5387dafc3..c627c828987 100644 --- a/package/kernel/qca-ssdk/patches/0001-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch +++ b/package/kernel/qca-ssdk/patches/0001-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch @@ -1,7 +1,7 @@ -From cdcafa28c857e4d04c9210feb54dc84e427061fe Mon Sep 17 00:00:00 2001 +From 1d37f4ee9b9588a62bfc87419c8a6d9ef989aa9c Mon Sep 17 00:00:00 2001 From: Robert Marko -Date: Tue, 11 Jan 2022 00:28:42 +0100 -Subject: [PATCH 1/2] qca807x: add a LED quirk for Xiaomi AX9000 +Date: Tue, 7 Nov 2023 12:23:09 +0100 +Subject: [PATCH 1/3] qca807x: add a LED quirk for Xiaomi AX9000 Xiaomi AX9000 has a single LED for each of 4 gigabit ethernet ports that are connected to QCA8075, and that LED is connected to the 100M LED pin. @@ -16,9 +16,9 @@ as well. Signed-off-by: Robert Marko --- - include/hsl/phy/malibu_phy.h | 2 ++ - src/hsl/phy/malibu_phy.c | 11 +++++++++++ - 2 files changed, 13 insertions(+) + include/hsl/phy/malibu_phy.h | 2 ++ + src/hsl/phy/malibu_phy.c | 9 +++++++++ + 2 files changed, 11 insertions(+) --- a/include/hsl/phy/malibu_phy.h +++ b/include/hsl/phy/malibu_phy.h @@ -49,19 +49,17 @@ Signed-off-by: Robert Marko #include "sw.h" #include "fal_port_ctrl.h" #include "hsl_api.h" -@@ -2716,6 +2718,15 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ - led_status |= MALIBU_LED_1000_CTRL1_100_10_MASK; - malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, - MALIBU_PHY_MMD7_LED_1000_CTRL1, led_status); +@@ -1809,6 +1811,13 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ + hsl_phy_modify_mmd(dev_id, phy_addr, A_FALSE, MALIBU_PHY_MMD7_NUM, + MALIBU_PHY_MMD7_LED_1000_CTRL1, MALIBU_LED_1000_CTRL1_100_10_MASK, + MALIBU_LED_1000_CTRL1_100_10_MASK); + if (of_machine_is_compatible("xiaomi,ax9000")) { + /* add 1000M link LED behavior for Xiaomi AX9000 */ -+ led_status = malibu_phy_mmd_read(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, -+ MALIBU_PHY_MMD7_LED_100_CTRL1); -+ led_status &= ~MALIBU_LED_100_CTRL1_1000_MASK; -+ led_status |= MALIBU_LED_100_CTRL1_1000_MASK; -+ malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, -+ MALIBU_PHY_MMD7_LED_100_CTRL1, led_status); ++ hsl_phy_modify_mmd(dev_id, phy_addr, A_FALSE, MALIBU_PHY_MMD7_NUM, ++ MALIBU_PHY_MMD7_LED_100_CTRL1, ++ MALIBU_LED_100_CTRL1_1000_MASK, ++ MALIBU_LED_100_CTRL1_1000_MASK); + } /*disable Extended next page*/ - phy_data = malibu_phy_reg_read(dev_id, phy_addr, MALIBU_AUTONEG_ADVERT); - phy_data &= ~MALIBU_EXTENDED_NEXT_PAGE_EN; + hsl_phy_modify_mii(dev_id, phy_addr, MALIBU_AUTONEG_ADVERT, + MALIBU_EXTENDED_NEXT_PAGE_EN, 0); diff --git a/package/kernel/qca-ssdk/patches/0002-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch b/package/kernel/qca-ssdk/patches/0002-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch index 9d456b23990..cfbb6cc7713 100644 --- a/package/kernel/qca-ssdk/patches/0002-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch +++ b/package/kernel/qca-ssdk/patches/0002-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch @@ -1,7 +1,7 @@ -From a750e569aeb4f7b454dbde18cd6d0f2bb1875dfa Mon Sep 17 00:00:00 2001 +From 957ee476ddec289973e0af07917da7bfee660af0 Mon Sep 17 00:00:00 2001 From: Robert Marko -Date: Wed, 26 Jan 2022 14:47:33 +0100 -Subject: [PATCH 2/2] qca807x: add a LED quirk for Xiaomi AX3600 +Date: Tue, 7 Nov 2023 12:24:17 +0100 +Subject: [PATCH 2/3] qca807x: add a LED quirk for Xiaomi AX3600 AX3600 requires the same LED quirk so that PHY LED-s will blink even once Linux resets the PHY. @@ -15,15 +15,15 @@ Signed-off-by: Robert Marko --- a/src/hsl/phy/malibu_phy.c +++ b/src/hsl/phy/malibu_phy.c -@@ -2718,8 +2718,9 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ - led_status |= MALIBU_LED_1000_CTRL1_100_10_MASK; - malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, - MALIBU_PHY_MMD7_LED_1000_CTRL1, led_status); +@@ -1811,8 +1811,9 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ + hsl_phy_modify_mmd(dev_id, phy_addr, A_FALSE, MALIBU_PHY_MMD7_NUM, + MALIBU_PHY_MMD7_LED_1000_CTRL1, MALIBU_LED_1000_CTRL1_100_10_MASK, + MALIBU_LED_1000_CTRL1_100_10_MASK); - if (of_machine_is_compatible("xiaomi,ax9000")) { - /* add 1000M link LED behavior for Xiaomi AX9000 */ -+ /* add 1000M link LED behavior for Xiaomi boards */ + if (of_machine_is_compatible("xiaomi,ax9000") || + of_machine_is_compatible("xiaomi,ax3600")) { - led_status = malibu_phy_mmd_read(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, - MALIBU_PHY_MMD7_LED_100_CTRL1); - led_status &= ~MALIBU_LED_100_CTRL1_1000_MASK; ++ /* add 1000M link LED behavior for Xiaomi boards */ + hsl_phy_modify_mmd(dev_id, phy_addr, A_FALSE, MALIBU_PHY_MMD7_NUM, + MALIBU_PHY_MMD7_LED_100_CTRL1, + MALIBU_LED_100_CTRL1_1000_MASK, diff --git a/package/kernel/qca-ssdk/patches/0003-Revert-qca-ssdk-enable-invoking-fdb-del-function-for.patch b/package/kernel/qca-ssdk/patches/0003-Revert-qca-ssdk-enable-invoking-fdb-del-function-for.patch new file mode 100644 index 00000000000..e69edbd3a31 --- /dev/null +++ b/package/kernel/qca-ssdk/patches/0003-Revert-qca-ssdk-enable-invoking-fdb-del-function-for.patch @@ -0,0 +1,30 @@ +From 73c0992a36bc13e9bb373f98ba246dfc1e29a393 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Tue, 7 Nov 2023 14:21:43 +0100 +Subject: [PATCH 3/3] Revert "[qca-ssdk]: enable invoking fdb del function for + kernel6.1" + +This reverts commit a86765ee6a87145f64344f4872cfe8c5e629dd62. + +Upstream kernel does not have this call present at all, we currently +also dont use it, so revert the commit enabling it. + +Signed-off-by: Robert Marko +--- + src/ref/ref_acl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/src/ref/ref_acl.c ++++ b/src/ref/ref_acl.c +@@ -229,7 +229,11 @@ _ref_acl_mac_entry_create_rule(a_uint32_ + eth_dev = dev_get_by_name(&init_net, entry->ifname); + if (eth_dev) + { ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ // TODO: replace with corresponding ver ++#else + br_fdb_delete_by_netdev(eth_dev, entry->src_mac.uc, 0); ++#endif + dev_put(eth_dev); + } + } From 1070fbce6e496da2dacf17c6e842a4369c4be71b Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 8 Nov 2023 16:44:38 +0100 Subject: [PATCH 24/46] mac80211: fix not set noscan option for wpa_supplicant noscan option was changed to hostapd_noscan but the entry in wpa_supplicant was never updated resulting in the noscan option actually never set. Signed-off-by: Christian Marangi --- package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 860609305f4..1bf4db6e5f0 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -940,7 +940,7 @@ mac80211_setup_supplicant() { if [ "$mode" = "sta" ]; then wpa_supplicant_add_network "$ifname" else - wpa_supplicant_add_network "$ifname" "$freq" "$htmode" "$noscan" + wpa_supplicant_add_network "$ifname" "$freq" "$htmode" "$hostapd_noscan" fi wpa_supplicant_add_interface "$ifname" "$mode" From 1b5ea2e199fcf391f88afd0322de449459399be4 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 8 Nov 2023 16:46:12 +0100 Subject: [PATCH 25/46] hostapd: fix broke noscan option for mesh noscan option for mesh was broken and actually never applied. This is caused by a typo where ssid->noscan value is check instead of conf->noscan resulting in the logic swapped and broken. Signed-off-by: Christian Marangi --- package/network/services/hostapd/Makefile | 2 +- .../network/services/hostapd/patches/301-mesh-noscan.patch | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 73ec5e198da..f46c6275ef6 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=hostapd -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE_URL:=http://w1.fi/hostap.git PKG_SOURCE_PROTO:=git diff --git a/package/network/services/hostapd/patches/301-mesh-noscan.patch b/package/network/services/hostapd/patches/301-mesh-noscan.patch index 6b5416f0ea5..0e654febd57 100644 --- a/package/network/services/hostapd/patches/301-mesh-noscan.patch +++ b/package/network/services/hostapd/patches/301-mesh-noscan.patch @@ -24,8 +24,8 @@ frequency); goto out_free; } -+ if (ssid->noscan) -+ conf->noscan = 1; ++ if (conf->noscan) ++ ssid->noscan = 1; if (ssid->mesh_basic_rates == NULL) { /* From b1c7b1bd67ca40289dfb7acd03e12ce43618d548 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 8 Nov 2023 16:48:05 +0100 Subject: [PATCH 26/46] hostapd: permit also channel 7 for 2.5GHz to be set to HT40PLUS Also channel 7 for 2.4GHz can be set to HT40PLUS. Permit this and add it to the list of the channels. Signed-off-by: Christian Marangi --- package/network/services/hostapd/patches/301-mesh-noscan.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/network/services/hostapd/patches/301-mesh-noscan.patch b/package/network/services/hostapd/patches/301-mesh-noscan.patch index 0e654febd57..c50ffa8490c 100644 --- a/package/network/services/hostapd/patches/301-mesh-noscan.patch +++ b/package/network/services/hostapd/patches/301-mesh-noscan.patch @@ -45,7 +45,7 @@ unsigned int j; static const int ht40plus[] = { - 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157, 165, 173, -+ 1, 2, 3, 4, 5, 6, 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157, 165, 173, ++ 1, 2, 3, 4, 5, 6, 7, 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157, 165, 173, 184, 192 }; int ht40 = -1; From 6c9ac57d58ab0d2c71fb51120a2166b7e0bd7183 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 8 Nov 2023 16:48:57 +0100 Subject: [PATCH 27/46] hostapd: permit 40MHz in 802.1s only also for 2.4GHz g/n with noscan Currently for 802.1s only, for wifi 2.4GHz in g/n mode, 40MHz is never permitted. This is probably due to the complexity of setting periodic check for the intolerant bit. When noscan option is set, we ignore the presence of the intoleran bit in near AP, so we can enable 40MHz and ignore any complex logic for checking. Fixes: #13112 Signed-off-by: Christian Marangi --- .../services/hostapd/patches/301-mesh-noscan.patch | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/package/network/services/hostapd/patches/301-mesh-noscan.patch b/package/network/services/hostapd/patches/301-mesh-noscan.patch index c50ffa8490c..ceb6d0c161f 100644 --- a/package/network/services/hostapd/patches/301-mesh-noscan.patch +++ b/package/network/services/hostapd/patches/301-mesh-noscan.patch @@ -58,6 +58,15 @@ u8 channel; bool is_6ghz; bool dfs_enabled = wpa_s->conf->country[0] && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_RADAR); +@@ -3080,6 +3080,8 @@ void ibss_mesh_setup_freq(struct wpa_sup + freq->he_enabled = ibss_mesh_can_use_he(wpa_s, ssid, mode, + ieee80211_mode); + freq->channel = channel; ++ if (mode->mode == HOSTAPD_MODE_IEEE80211G && ssid->noscan) ++ ibss_mesh_select_40mhz(wpa_s, ssid, mode, freq, obss_scan, dfs_enabled); + /* Setup higher BW only for 5 GHz */ + if (mode->mode == HOSTAPD_MODE_IEEE80211A) { + ibss_mesh_select_40mhz(wpa_s, ssid, mode, freq, obss_scan, dfs_enabled); --- a/wpa_supplicant/config_ssid.h +++ b/wpa_supplicant/config_ssid.h @@ -1035,6 +1035,8 @@ struct wpa_ssid { From 05e516b12d4463e40df6d97a03bc6aa621c245f5 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 9 Nov 2023 16:07:55 +0100 Subject: [PATCH 28/46] hostapd: refresh patches Refresh patches for hostapd using make package/hostapd/refresh. Signed-off-by: Christian Marangi --- .../hostapd/patches/310-rescan_immediately.patch | 2 +- ...plicant-add-new-config-params-to-be-used-with.patch | 2 +- .../services/hostapd/patches/600-ubus_support.patch | 6 +++--- .../services/hostapd/patches/601-ucode_support.patch | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package/network/services/hostapd/patches/310-rescan_immediately.patch b/package/network/services/hostapd/patches/310-rescan_immediately.patch index e12b2059b3e..6e0244bca29 100644 --- a/package/network/services/hostapd/patches/310-rescan_immediately.patch +++ b/package/network/services/hostapd/patches/310-rescan_immediately.patch @@ -1,6 +1,6 @@ --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -5767,7 +5767,7 @@ wpa_supplicant_alloc(struct wpa_supplica +@@ -5769,7 +5769,7 @@ wpa_supplicant_alloc(struct wpa_supplica if (wpa_s == NULL) return NULL; wpa_s->scan_req = INITIAL_SCAN_REQ; diff --git a/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch b/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch index c6fe54efed0..dc19553e26e 100644 --- a/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch +++ b/package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch @@ -174,7 +174,7 @@ Signed-hostap: Antonio Quartulli * macsec_policy - Determines the policy for MACsec secure session --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -4175,6 +4175,12 @@ static void wpas_start_assoc_cb(struct w +@@ -4177,6 +4177,12 @@ static void wpas_start_assoc_cb(struct w params.beacon_int = ssid->beacon_int; else params.beacon_int = wpa_s->conf->beacon_int; diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch index bc80ef0e813..a6ccf83331f 100644 --- a/package/network/services/hostapd/patches/600-ubus_support.patch +++ b/package/network/services/hostapd/patches/600-ubus_support.patch @@ -348,7 +348,7 @@ CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c -@@ -7593,6 +7593,8 @@ struct wpa_supplicant * wpa_supplicant_a +@@ -7595,6 +7595,8 @@ struct wpa_supplicant * wpa_supplicant_a } #endif /* CONFIG_P2P */ @@ -357,7 +357,7 @@ return wpa_s; } -@@ -7619,6 +7621,8 @@ int wpa_supplicant_remove_iface(struct w +@@ -7621,6 +7623,8 @@ int wpa_supplicant_remove_iface(struct w struct wpa_supplicant *parent = wpa_s->parent; #endif /* CONFIG_MESH */ @@ -366,7 +366,7 @@ /* Remove interface from the global list of interfaces */ prev = global->ifaces; if (prev == wpa_s) { -@@ -7965,8 +7969,12 @@ int wpa_supplicant_run(struct wpa_global +@@ -7967,8 +7971,12 @@ int wpa_supplicant_run(struct wpa_global eloop_register_signal_terminate(wpa_supplicant_terminate, global); eloop_register_signal_reconfig(wpa_supplicant_reconfig, global); diff --git a/package/network/services/hostapd/patches/601-ucode_support.patch b/package/network/services/hostapd/patches/601-ucode_support.patch index de182b985d9..23f535b6852 100644 --- a/package/network/services/hostapd/patches/601-ucode_support.patch +++ b/package/network/services/hostapd/patches/601-ucode_support.patch @@ -196,7 +196,7 @@ #ifdef CONFIG_BGSCAN if (state == WPA_COMPLETED && wpa_s->current_ssid != wpa_s->bgscan_ssid) -@@ -7594,6 +7595,7 @@ struct wpa_supplicant * wpa_supplicant_a +@@ -7596,6 +7597,7 @@ struct wpa_supplicant * wpa_supplicant_a #endif /* CONFIG_P2P */ wpas_ubus_add_bss(wpa_s); @@ -204,7 +204,7 @@ return wpa_s; } -@@ -7621,6 +7623,7 @@ int wpa_supplicant_remove_iface(struct w +@@ -7623,6 +7625,7 @@ int wpa_supplicant_remove_iface(struct w struct wpa_supplicant *parent = wpa_s->parent; #endif /* CONFIG_MESH */ @@ -212,7 +212,7 @@ wpas_ubus_free_bss(wpa_s); /* Remove interface from the global list of interfaces */ -@@ -7931,6 +7934,7 @@ struct wpa_global * wpa_supplicant_init( +@@ -7933,6 +7936,7 @@ struct wpa_global * wpa_supplicant_init( eloop_register_timeout(WPA_SUPPLICANT_CLEANUP_INTERVAL, 0, wpas_periodic, global, NULL); @@ -220,7 +220,7 @@ return global; } -@@ -7969,12 +7973,8 @@ int wpa_supplicant_run(struct wpa_global +@@ -7971,12 +7975,8 @@ int wpa_supplicant_run(struct wpa_global eloop_register_signal_terminate(wpa_supplicant_terminate, global); eloop_register_signal_reconfig(wpa_supplicant_reconfig, global); @@ -233,7 +233,7 @@ return 0; } -@@ -8007,6 +8007,8 @@ void wpa_supplicant_deinit(struct wpa_gl +@@ -8009,6 +8009,8 @@ void wpa_supplicant_deinit(struct wpa_gl wpas_notify_supplicant_deinitialized(global); From 3763a6a0752cec6e9d7a7d71d9c0cbdfcd35a2e7 Mon Sep 17 00:00:00 2001 From: Isaev Ruslan Date: Thu, 2 Nov 2023 06:08:53 +0300 Subject: [PATCH 29/46] ipq807x: add support for Yuncore AX880 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SPECIFICATION: - Chipset: IPQ8072A +QCN5054+QCN5024+QCA8081*2 - Flash NOR-8MB AND NAND-128MB - RAM 1Gb DDR - IEEE 802.11: 802.11ax/ac/b/g/n - 4*4 2.4G Wi-Fi standard 802.11b/g/n/ax - 4*4 5.8G Wi-Fi Standard 802.11 a/n/ac/ax - 2x 1 Gbps Ethernet (QCA8081) with 802.3at PoE input support - 1x Reset - 1x Bluetooth(optional) - 1x DC Port 12V 3A - 4x Antenna IPEX Connector, 3dBi omni antennas - Data Rate: 3657Mbps ( 2.4G: 1182Mbps (11ax 4x4); 5.8G: 2475Mbps (11ax 4x4)) - RF Power: 2.4g ≤ 20dBm; 5.8g ≤ 19dBm - LED light: Sys; 5.8G wifi; 2.4G wifi; WAN; LAN - Max Power Consumption: ≤ 22W - Size: 198mm * 198mm * 41.02mm BACKUP YOUR STOCK FIRMWARE: ``` export device=ax880 mkdir -p /tmp/fw_dump_$device cd /tmp/fw_dump_$device dmesg > dmesg_$device.log dtc -I fs /sys/firmware/devicetree/base > $device.dts cat /proc/device-tree/model > model cat /proc/mtd > proc_mtd while read p; do mtd_dev=$(echo $p | cut -d: -f1) echo $mtd_dev dd if=/dev/$mtd_dev of=$mtd_dev done < proc_mtd md5sum * > md5sum.log tar -cvzf ../$device.tar.gz . export sum=$(md5sum /tmp/$device.tar.gz | cut -d' ' -f1) mv ../$device.tar.gz /tmp/${device}_${sum}.tar.gz echo fw backup saved to: /tmp/${device}_${sum}.tar.gz ``` Upload your backup via tftp to the safe place. INSTALLATION: 1. stock firmware web ui Rename factory.bin fw image file to factory.ubin. Flash this image like ordinary stock fw upgrade. 2. stock firmware telnet method Enter telnet cli (login: root, password: 476t*_f0%g09y) and upload factory.bin fw image and rename it to factory.ubin `cd /tmp && wget /factory.ubin` `sysupgrade factory.ubin 3. initramfs method Put openwrt-ipq807x-generic-yuncore_ax880-initramfs-uImage.itb to your TFTP server and rename it to ax880.initram Enable serial console and enter to the u-boot cli. Exec these commands: `tftpboot :ax880.initram` `dhcp` When downloading is finished: `bootm` After booting the device, you need to upload to the device factory.ubi fw image. ``` cd /tmp && wget /factory.ubi` export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1) export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1) ubiformat /dev/${rootfs} -y -f factory.ubi ubiformat /dev/${rootfs_1} -y -f factory.ubi reboot ``` 4. u-boot factory.ubi image method Put openwrt-ipq807x-generic-yuncore_ax880-squashfs-factory.ubi to your TFTP server and rename it to ax880.ubi Enter u-boot cli and exec these commands: `tftpboot :ax880.ubi` `dhcp` After downloading is finished: `flash rootfs` `flash rootfs_1` `reset` 5. u-boot factory.bin method Put openwrt-ipq807x-generic-yuncore_ax880-squashfs-factory.bin to your TFTP server and rename it to ax880.bin Enter u-boot cli and exec these commands: `tftpboot :ax880.bin` `dhcp` After downloading is finished: `imgaddr=$fileaddr && nand device 0` Erase rootfs memory: `nand erase 0x00000000 0x03400000` Write rootfs: `nand write $fileaddr 0x00000000 $filesize` Erase rootfs_1 memory: `nand erase 0x3c00000 0x3400000` Write rootfs_1 `nand write $fileaddr 0x3c00000 $filesize` `reset` STOCK FIRMWARE RECOVERY: Boot initramfs image. Upload your rootfs mtd partition to the device using scp or download it from the device using wget. Enter device ssh cli and exec: ``` cd /tmp && wget /mtd21` export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1) export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1) ubiformat /dev/${rootfs} -y -f /tmp/mtd21 ubiformat /dev/${rootfs_1} -y -f /tmp/mtd21 reboot ``` Signed-off-by: Isaev Ruslan Reviewed-by: Robert Marko --- package/firmware/ipq-wifi/Makefile | 8 +- .../arm64/boot/dts/qcom/ipq8072-ax880.dts | 370 ++++++++++++++++++ target/linux/qualcommax/image/ipq807x.mk | 16 + .../ipq807x/base-files/etc/board.d/02_network | 3 +- .../etc/hotplug.d/firmware/11-ath11k-caldata | 1 + .../ipq807x/base-files/etc/init.d/bootcount | 3 +- .../base-files/lib/upgrade/platform.sh | 12 + 7 files changed, 408 insertions(+), 5 deletions(-) create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 1d7dcfef867..8736a1a5839 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -6,9 +6,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git -PKG_SOURCE_DATE:=2023-10-12 -PKG_SOURCE_VERSION:=cd04ab7f984fe28613276c01fd0ac7afbe5516d5 -PKG_MIRROR_HASH:=857ae436fd09785749411a665b31c82cec84b68b1e096f69ebb6c2a0efb5583f +PKG_SOURCE_DATE:=2023-11-02 +PKG_SOURCE_VERSION:=371d4dce9b9a4b4dfd59bc902bb216f7133743cb +PKG_MIRROR_HASH:=9c309f81cb1e464580ccdacc3f7a660df8a5a07a8b87f71e9d00f630ac0412ad PKG_FLAGS:=nonshared @@ -44,6 +44,7 @@ ALLWIFIBOARDS:= \ xiaomi_ax3600 \ xiaomi_ax9000 \ yyets_le1 \ + yuncore_ax880 \ zte_mf289f \ zte_mf287 \ zte_mf287plus \ @@ -151,6 +152,7 @@ $(eval $(call generate-ipq-wifi-package,wallys_dr40x9,Wallys DR40X9)) $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600)) $(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000)) $(eval $(call generate-ipq-wifi-package,yyets_le1,YYeTs LE1)) +$(eval $(call generate-ipq-wifi-package,yuncore_ax880,Yuncore AX880)) $(eval $(call generate-ipq-wifi-package,zte_mf289f,ZTE MF289F)) $(eval $(call generate-ipq-wifi-package,zte_mf287,ZTE MF287)) $(eval $(call generate-ipq-wifi-package,zte_mf287plus,ZTE MF287Plus)) diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts new file mode 100644 index 00000000000..1aefa2c9243 --- /dev/null +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts @@ -0,0 +1,370 @@ +// SPDX-License-Identifier: MIT, GPL-2.0 or later +/* Copyright (c) 2023, Ruslan Isaev */ + +/dts-v1/; + +#include "ipq8074.dtsi" +#include "ipq8074-hk-cpu.dtsi" +#include "ipq8074-ess.dtsi" +#include +#include + +/ { + model = "Yuncore AX880"; + compatible = "yuncore,ax880", "qcom,ipq8074", "qcom,ipq8074-hk09"; + + aliases { + serial0 = &blsp1_uart5; + serial1 = &blsp1_uart3; + led-boot = &led_system; + led-failsafe = &led_system; + led-running = &led_system; + led-upgrade = &led_system; + /* Aliases as required by u-boot to patch MAC addresses */ + ethernet0 = &dp5_syn; + ethernet1 = &dp6_syn; + label-mac-device = &dp5_syn; + }; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs-append = " root=/dev/ubiblock0_1"; + }; + + keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + reset { + label = "reset"; + gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_system: system { + label = "system"; + color = "red"; + gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; + }; + + wlan2g { + label = "wlan2g"; + color = "green"; + linux,default-trigger = "phy0tpt"; + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; + }; + + wlan5g { + label = "wlan5g"; + color = "blue"; + linux,default-trigger = "phy1tpt"; + gpios = <&tlmm 9 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&tlmm { + mdio_pins: mdio-pins { + mdc { + pins = "gpio68"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio { + pins = "gpio69"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + button_pins: button_pins { + reset_button { + pins = "gpio57"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&blsp1_spi1 { + status = "okay"; + + flash@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "0:sbl1"; + reg = <0x0 0x50000>; + read-only; + }; + + partition@50000 { + label = "0:mibib"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "0:bootconfig"; + reg = <0x60000 0x20000>; + read-only; + }; + + partition@80000 { + label = "0:bootconfig1"; + reg = <0x80000 0x20000>; + read-only; + }; + + partition@a0000 { + label = "0:qsee_1"; + reg = <0xa0000 0x180000>; + read-only; + }; + + partition@220000 { + label = "0:qsee"; + reg = <0x220000 0x180000>; + read-only; + }; + + partition@3a0000 { + label = "0:devcfg"; + reg = <0x3a0000 0x10000>; + read-only; + }; + + partition@3b0000 { + label = "0:devcfg_1"; + reg = <0x3b0000 0x10000>; + read-only; + }; + + partition@3c0000 { + label = "0:apdp"; + reg = <0x3c0000 0x10000>; + read-only; + }; + + partition@3d0000 { + label = "0:apdp_1"; + reg = <0x3d0000 0x10000>; + read-only; + }; + + partition@3e0000 { + label = "0:rpm_1"; + reg = <0x3e0000 0x40000>; + read-only; + }; + + partition@420000 { + label = "0:rpm"; + reg = <0x420000 0x40000>; + read-only; + }; + + partition@460000 { + label = "0:cdt_1"; + reg = <0x460000 0x10000>; + read-only; + }; + + partition@470000 { + label = "0:cdt"; + reg = <0x470000 0x10000>; + read-only; + }; + + partition@480000 { + label = "0:appsblenv"; + reg = <0x480000 0x10000>; + }; + + partition@490000 { + label = "0:appsbl_1"; + reg = <0x490000 0xa0000>; + read-only; + }; + + partition@550000 { + label = "0:appsbl"; + reg = <0x530000 0xa0000>; + read-only; + }; + + partition@610000 { + label = "0:art"; + reg = <0x5d0000 0x40000>; + read-only; + }; + + partition@650000 { + label = "0:ethphyfw"; + reg = <0x610000 0x80000>; + read-only; + }; + + }; + }; +}; + +//serial interface +&blsp1_uart3 { + status = "okay"; +}; + +&blsp1_uart5 { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&prng { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&qusb_phy_0 { + status = "okay"; +}; + +&ssphy_0 { + status = "okay"; +}; + +&usb_0 { + status = "okay"; +}; + +&qpic_nand { + status = "okay"; + + nand@0 { + reg = <0>; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "rootfs_1"; + reg = <0x0000000 0x3400000>; + }; + + partition@3400000 { + label = "0:wififw"; + reg = <0x3400000 0x800000>; + read-only; + }; + + rootfs: partition@3c00000 { + label = "rootfs"; + reg = <0x3c00000 0x3400000>; + }; + + partition@7000000 { + label = "0:wififw_1"; + reg = <0x7000000 0x800000>; + read-only; + }; + }; + }; +}; + +&mdio { + status = "okay"; + + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + + qca8081_24: ethernet-phy@24 { + compatible = "ethernet-phy-id004d.d101"; + reg = <24>; + reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + }; + + qca8081_28: ethernet-phy@28 { + compatible = "ethernet-phy-id004d.d101"; + reg = <28>; + reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; + }; +}; + +&switch { + status = "okay"; + + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x3e>; /* lan port bitmap */ + switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_mac_mode = <0xff>; /* mac mode for uniphy instance0*/ + switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ + switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/ + bm_tick_mode = <0>; /* bm tick mode */ + tm_tick_mode = <0>; /* tm tick mode */ + + qcom,port_phyinfo { + port@4 { + port_id = <5>; + phy_address = <24>; + port_mac_sel = "QGMAC_PORT"; + }; + port@5 { + port_id = <6>; + phy_address = <28>; + port_mac_sel = "QGMAC_PORT"; + }; + }; +}; + +&edma { + status = "okay"; +}; + +&dp5_syn { + status = "okay"; + phy-handle = <&qca8081_24>; + label = "wan"; +}; + +&dp6_syn { + status = "okay"; + phy-handle = <&qca8081_28>; + label = "lan"; +}; + +&wifi { + status = "okay"; + qcom,ath11k-calibration-variant = "Yuncore-AX880"; +}; diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index 0be17333b2a..ee7707540b7 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -253,3 +253,19 @@ define Device/zyxel_nbg7815 kmod-bluetooth endef TARGET_DEVICES += zyxel_nbg7815 + +define Device/yuncore_ax880 + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_VENDOR := Yuncore + DEVICE_MODEL := AX880 + BLOCKSIZE := 128k + PAGESIZE := 2048 + DEVICE_DTS_CONFIG := config@hk09 + SOC := ipq8072 + DEVICE_PACKAGES := ipq-wifi-yuncore_ax880 + IMAGES += factory.bin + IMAGE/factory.bin := append-ubi | qsdk-ipq-factory-nand +endef +TARGET_DEVICES += yuncore_ax880 + diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network index 11101794c34..95f1ab4bdf5 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network +++ b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network @@ -16,7 +16,8 @@ ipq807x_setup_interfaces() xiaomi,ax9000) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" ;; - edgecore,eap102) + edgecore,eap102|\ + yuncore,ax880) ucidef_set_interfaces_lan_wan "lan" "wan" ;; edimax,cax1800) diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index 394c22d0213..f427009669e 100644 --- a/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -22,6 +22,7 @@ case "$FIRMWARE" in redmi,ax6|\ xiaomi,ax3600|\ xiaomi,ax9000|\ + yuncore,ax880|\ zyxel,nbg7815) caldata_extract "0:art" 0x1000 0x20000 ;; diff --git a/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount index 6917446a9bb..84f826b3b84 100755 --- a/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount +++ b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount @@ -4,7 +4,8 @@ START=99 boot() { case $(board_name) in - edgecore,eap102) + edgecore,eap102|\ + yuncore,ax880) fw_setenv upgrade_available 0 # Unset changed flag after sysupgrade complete fw_setenv changed diff --git a/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh index e2c713c3db8..19bd54cf4e4 100644 --- a/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh +++ b/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh @@ -113,6 +113,18 @@ platform_do_upgrade() { CI_ROOT_UBIPART="rootfs" nand_do_upgrade "$1" ;; + yuncore,ax880) + active="$(fw_printenv -n active)" + if [ "$active" -eq "1" ]; then + CI_UBIPART="rootfs_1" + else + CI_UBIPART="rootfs" + fi + # force altbootcmd which handles partition change in u-boot + fw_setenv bootcount 3 + fw_setenv upgrade_available 1 + nand_do_upgrade "$1" + ;; *) default_do_upgrade "$1" ;; From 3b6320844306786b23176257408f983b1386cc7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 7 Nov 2023 13:54:14 +0100 Subject: [PATCH 30/46] treewide: disable CONFIG_SLUB_DEBUG in target configs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From the symbol help message: > SLUB has extensive debug support features. Disabling these can result > in significant savings in code size. There seems to be no need to enable those debugging features for standard use. Signed-off-by: Rafał Miłecki --- target/linux/layerscape/armv7/config-5.15 | 1 - target/linux/layerscape/armv7/config-6.1 | 2 -- target/linux/oxnas/config-5.15 | 1 - target/linux/qoriq/config-5.15 | 1 - target/linux/rockchip/armv8/config-5.15 | 1 - target/linux/rockchip/armv8/config-6.1 | 2 -- target/linux/sifiveu/config-6.1 | 2 -- 7 files changed, 10 deletions(-) diff --git a/target/linux/layerscape/armv7/config-5.15 b/target/linux/layerscape/armv7/config-5.15 index b5df343f4eb..121151f58ff 100644 --- a/target/linux/layerscape/armv7/config-5.15 +++ b/target/linux/layerscape/armv7/config-5.15 @@ -562,7 +562,6 @@ CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y CONFIG_SGL_ALLOC=y CONFIG_SG_POOL=y -CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y CONFIG_SMSC_PHY=y diff --git a/target/linux/layerscape/armv7/config-6.1 b/target/linux/layerscape/armv7/config-6.1 index 0ff16d346eb..d60e5824db3 100644 --- a/target/linux/layerscape/armv7/config-6.1 +++ b/target/linux/layerscape/armv7/config-6.1 @@ -580,7 +580,6 @@ CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y CONFIG_SGL_ALLOC=y CONFIG_SG_POOL=y -CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y CONFIG_SMSC_PHY=y @@ -626,7 +625,6 @@ CONFIG_SQUASHFS_ZLIB=y CONFIG_SRAM=y CONFIG_SRAM_EXEC=y CONFIG_SRCU=y -CONFIG_STACKDEPOT=y CONFIG_STACKTRACE=y CONFIG_STAGING_BOARD=y # CONFIG_STRIP_ASM_SYMS is not set diff --git a/target/linux/oxnas/config-5.15 b/target/linux/oxnas/config-5.15 index 9540a76774f..0cf06ee5809 100644 --- a/target/linux/oxnas/config-5.15 +++ b/target/linux/oxnas/config-5.15 @@ -245,7 +245,6 @@ CONFIG_SERIO=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_SERPORT=y CONFIG_SGL_ALLOC=y -CONFIG_SLUB_DEBUG=y CONFIG_SOCK_DIAG=y CONFIG_SPARSE_IRQ=y CONFIG_SPLIT_PTLOCK_CPUS=999999 diff --git a/target/linux/qoriq/config-5.15 b/target/linux/qoriq/config-5.15 index 3f5fd63ad03..39796daf1d7 100644 --- a/target/linux/qoriq/config-5.15 +++ b/target/linux/qoriq/config-5.15 @@ -351,7 +351,6 @@ CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SG_POOL=y -CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_SOC_BUS=y diff --git a/target/linux/rockchip/armv8/config-5.15 b/target/linux/rockchip/armv8/config-5.15 index 1fc2fcbfb31..54fad098dd1 100644 --- a/target/linux/rockchip/armv8/config-5.15 +++ b/target/linux/rockchip/armv8/config-5.15 @@ -528,7 +528,6 @@ CONFIG_SERIO=y CONFIG_SERIO_AMBAKMI=y CONFIG_SERIO_LIBPS2=y CONFIG_SG_POOL=y -CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_SPARSEMEM=y diff --git a/target/linux/rockchip/armv8/config-6.1 b/target/linux/rockchip/armv8/config-6.1 index 59b343b23b0..0f9a89f596b 100644 --- a/target/linux/rockchip/armv8/config-6.1 +++ b/target/linux/rockchip/armv8/config-6.1 @@ -570,7 +570,6 @@ CONFIG_SERIO=y CONFIG_SERIO_AMBAKMI=y CONFIG_SERIO_LIBPS2=y CONFIG_SG_POOL=y -CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_SOFTIRQ_ON_OWN_STACK=y @@ -594,7 +593,6 @@ CONFIG_SQUASHFS_FILE_CACHE=y # CONFIG_SQUASHFS_FILE_DIRECT is not set CONFIG_SRAM=y CONFIG_SRCU=y -CONFIG_STACKDEPOT=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_PER_TASK=y CONFIG_STACKPROTECTOR_STRONG=y diff --git a/target/linux/sifiveu/config-6.1 b/target/linux/sifiveu/config-6.1 index ee97677d784..2bcbcffeda5 100644 --- a/target/linux/sifiveu/config-6.1 +++ b/target/linux/sifiveu/config-6.1 @@ -333,7 +333,6 @@ CONFIG_SERIO_SERPORT=y CONFIG_SG_POOL=y CONFIG_SIFIVE_CCACHE=y CONFIG_SIFIVE_PLIC=y -CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y # CONFIG_SOC_MICROCHIP_POLARFIRE is not set @@ -348,7 +347,6 @@ CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y CONFIG_SPI_SIFIVE=y CONFIG_SRCU=y -CONFIG_STACKDEPOT=y CONFIG_STACKTRACE=y CONFIG_SWIOTLB=y CONFIG_SWPHY=y From 4fb8e68bc40d7f6f898477c5570b317f50b7b069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 7 Nov 2023 23:25:52 +0100 Subject: [PATCH 31/46] kernel: provide better control & help for SLUB configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow selecting KERNEL_SLUB_DEBUG and KERNEL_SLUB_DEBUG_ON manually and provide detailed help for both. Signed-off-by: Rafał Miłecki --- config/Config-kernel.in | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index a1209d82f3a..4c43190e40d 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -682,10 +682,23 @@ config KERNEL_PRINTK_TIME default y config KERNEL_SLUB_DEBUG - bool + bool "Enable SLUB debugging support" + help + This enables various debugging features: + - Accepts "slub_debug" kernel parameter + - Provides caches debugging options (e.g. tracing, validating) + - Adds /sys/kernel/slab/ attrs for reading amounts of *objects* + - Enables /proc/slabinfo support + - Prints info when running out of memory + + Enabling this can result in a significant increase of code size. config KERNEL_SLUB_DEBUG_ON - bool + depends on KERNEL_SLUB_DEBUG + bool "Boot kernel with basic caches debugging enabled" + help + This enables by default sanity_checks, red_zone, poison and store_user + debugging options for all caches. config KERNEL_SLABINFO select KERNEL_SLUB_DEBUG From a7a94bc4f035dc4e82e01d19e6b6c2bb85d6c8bc Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Tue, 7 Nov 2023 20:54:51 +0200 Subject: [PATCH 32/46] toolchain/gdb: update to 13.2 Update the toolchain gdb to version 13.2. Signed-off-by: Hannu Nyman --- toolchain/gdb/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile index 474a18e95ff..71b16139345 100644 --- a/toolchain/gdb/Makefile +++ b/toolchain/gdb/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gdb -PKG_VERSION:=12.1 +PKG_VERSION:=13.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/gdb -PKG_HASH:=0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed +PKG_HASH:=fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a PKG_CPE_ID:=cpe:/a:gnu:gdb GDB_DIR:=$(PKG_NAME)-$(PKG_VERSION) From f79de8ec6576fdb0949d424126f67d440a95f44a Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Tue, 7 Nov 2023 20:55:58 +0200 Subject: [PATCH 33/46] gdb: Update to 13.2 Update the devel/gdb package to version 13.2 * Remove the upstreamed patch 001-Add-support-for-readline-8.2.patch * Adjust 130-gdb-ctrl-c.patch to upstream changes Signed-off-by: Hannu Nyman --- package/devel/gdb/Makefile | 6 ++-- .../001-Add-support-for-readline-8.2.patch | 31 ------------------- .../devel/gdb/patches/110-shared_libgcc.patch | 12 +++---- .../devel/gdb/patches/130-gdb-ctrl-c.patch | 12 +++---- 4 files changed, 15 insertions(+), 46 deletions(-) delete mode 100644 package/devel/gdb/patches/001-Add-support-for-readline-8.2.patch diff --git a/package/devel/gdb/Makefile b/package/devel/gdb/Makefile index 4c0d6469a2f..20a40eb8bbe 100644 --- a/package/devel/gdb/Makefile +++ b/package/devel/gdb/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gdb -PKG_VERSION:=12.1 -PKG_RELEASE:=3 +PKG_VERSION:=13.2 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/gdb -PKG_HASH:=0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed +PKG_HASH:=fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 diff --git a/package/devel/gdb/patches/001-Add-support-for-readline-8.2.patch b/package/devel/gdb/patches/001-Add-support-for-readline-8.2.patch deleted file mode 100644 index eb93c7f2907..00000000000 --- a/package/devel/gdb/patches/001-Add-support-for-readline-8.2.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1add37b567a7dee39d99f37b37802034c3fce9c4 Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Sun, 20 Mar 2022 14:01:54 +0100 -Subject: [PATCH] Add support for readline 8.2 - -In readline 8.2 the type of rl_completer_word_break_characters changed to -include const. ---- - gdb/completer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/gdb/completer.c -+++ b/gdb/completer.c -@@ -36,7 +36,7 @@ - calling a hook instead so we eliminate the CLI dependency. */ - #include "gdbcmd.h" - --/* Needed for rl_completer_word_break_characters() and for -+/* Needed for rl_completer_word_break_characters and for - rl_filename_completion_function. */ - #include "readline/readline.h" - -@@ -2011,7 +2011,7 @@ gdb_completion_word_break_characters_thr - rl_basic_quote_characters = NULL; - } - -- return rl_completer_word_break_characters; -+ return (char *) rl_completer_word_break_characters; - } - - char * diff --git a/package/devel/gdb/patches/110-shared_libgcc.patch b/package/devel/gdb/patches/110-shared_libgcc.patch index f1602bc6950..44d4ffa77f3 100644 --- a/package/devel/gdb/patches/110-shared_libgcc.patch +++ b/package/devel/gdb/patches/110-shared_libgcc.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -1314,13 +1314,13 @@ if test -z "$LD"; then +@@ -1435,13 +1435,13 @@ if test -z "$LD"; then fi fi @@ -17,7 +17,7 @@ AC_LANG_PUSH(C++) AC_LINK_IFELSE([AC_LANG_SOURCE([ #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) -@@ -1719,7 +1719,7 @@ AC_ARG_WITH(stage1-ldflags, +@@ -1838,7 +1838,7 @@ AC_ARG_WITH(stage1-ldflags, # trust that they are doing what they want. if test "$with_static_standard_libraries" = yes -a "$stage1_libs" = "" \ -a "$have_static_libs" = yes; then @@ -26,7 +26,7 @@ fi]) AC_SUBST(stage1_ldflags) -@@ -1748,7 +1748,7 @@ AC_ARG_WITH(boot-ldflags, +@@ -1867,7 +1867,7 @@ AC_ARG_WITH(boot-ldflags, # statically. But if the user explicitly specified the libraries to # use, trust that they are doing what they want. if test "$poststage1_libs" = ""; then @@ -37,7 +37,7 @@ --- a/configure +++ b/configure -@@ -5275,14 +5275,14 @@ if test -z "$LD"; then +@@ -5442,14 +5442,14 @@ if test -z "$LD"; then fi fi @@ -56,7 +56,7 @@ ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -@@ -6167,7 +6167,7 @@ else +@@ -8440,7 +8440,7 @@ else # trust that they are doing what they want. if test "$with_static_standard_libraries" = yes -a "$stage1_libs" = "" \ -a "$have_static_libs" = yes; then @@ -65,7 +65,7 @@ fi fi -@@ -6203,7 +6203,7 @@ else +@@ -8476,7 +8476,7 @@ else # statically. But if the user explicitly specified the libraries to # use, trust that they are doing what they want. if test "$poststage1_libs" = ""; then diff --git a/package/devel/gdb/patches/130-gdb-ctrl-c.patch b/package/devel/gdb/patches/130-gdb-ctrl-c.patch index f793a71cae0..8650ce844c7 100644 --- a/package/devel/gdb/patches/130-gdb-ctrl-c.patch +++ b/package/devel/gdb/patches/130-gdb-ctrl-c.patch @@ -24,12 +24,12 @@ Signed-off-by: Khem Raj --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc -@@ -5496,7 +5496,7 @@ linux_process_target::request_interrupt +@@ -5467,7 +5467,7 @@ linux_process_target::request_interrupt { /* Send a SIGINT to the process group. This acts just like the user typed a ^C on the controlling terminal. */ -- ::kill (-signal_pid, SIGINT); -+ ::kill (signal_pid, SIGINT); - } - - bool +- int res = ::kill (-signal_pid, SIGINT); ++ int res = ::kill (signal_pid, SIGINT); + if (res == -1) + warning (_("Sending SIGINT to process group of pid %ld failed: %s"), + signal_pid, safe_strerror (errno)); From 1714087442bb61591fe60a375f39b39abd657e25 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 9 Nov 2023 15:10:03 +0100 Subject: [PATCH 34/46] netifd: update to Git HEAD (2023-11-09) 841b05fbb91e system-linux: fix compilation error if IFLA_DSA_MASTER is not supported 5c9ecc1ff74f system-linux: make system_if_get_master_ifindex static 2dc7f450f3a2 system-linux: add option to configure DSA conduit device 838f815db5ef system-linux: add support for configurable GRO option Signed-off-by: Christian Marangi --- package/network/config/netifd/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 0655adbf3d1..0209bb9ed92 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=netifd -PKG_RELEASE:=2 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2023-11-07 -PKG_SOURCE_VERSION:=516ab774cc16d4b04b3b17a067cbf2649f1adaeb -PKG_MIRROR_HASH:=76dcc7988d8ade7e8a80af8a79e9b509093c5eea9e785b0e5f7aef845787118a +PKG_SOURCE_DATE:=2023-11-09 +PKG_SOURCE_VERSION:=841b05fbb91eb7076ec3170756693bd4f1e9708e +PKG_MIRROR_HASH:=b09afa32692c397284f739c9989892697628f82b2f2a10cca78e3358dc140998 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 From da7ad229311e6c68b023550f383d932dfd62d13b Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 9 Nov 2023 15:11:50 +0100 Subject: [PATCH 35/46] base-files: generalize ucidef_set_network_device Generalize ucidef_set_network_device functions to use a more generic _ucidef_set_network_device_common that takes as args the option and the value to apply instead of hardcoding. This is to reduce duplicated code in preparation for addition of additional option for board.d usage. Signed-off-by: Christian Marangi --- .../base-files/files/lib/functions/uci-defaults.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 6f395ec24b2..d40f4354ad5 100644 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -106,20 +106,20 @@ ucidef_set_bridge_mac() { json_select .. } -ucidef_set_network_device_mac() { +_ucidef_set_network_device_common() { json_select_object "network_device" json_select_object "${1}" - json_add_string macaddr "${2}" + json_add_string "${2}" "${3}" json_select .. json_select .. } +ucidef_set_network_device_mac() { + _ucidef_set_network_device_common $1 macaddr $2 +} + ucidef_set_network_device_path() { - json_select_object "network_device" - json_select_object "$1" - json_add_string path "$2" - json_select .. - json_select .. + _ucidef_set_network_device_common $1 path $2 } _ucidef_add_switch_port() { From 01d675687ca34aa1eb5b05ad8268a130dc2e2b5a Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 9 Nov 2023 15:18:39 +0100 Subject: [PATCH 36/46] base-files: add additional uci-defaults function for GRO and conduit Add additional uci-defaults function for configuring GRO settings and conduit for network devices. Tweaking the GRO values might increase performance on some low spec device that lack some offload feature on gmac. Tweaking conduit interface is specific to DSA based devices and is useful for multi-CPU scenario where one CPU is dedicated to one single port. Signed-off-by: Christian Marangi --- package/base-files/files/lib/functions/uci-defaults.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index d40f4354ad5..a75bd116525 100644 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -122,6 +122,14 @@ ucidef_set_network_device_path() { _ucidef_set_network_device_common $1 path $2 } +ucidef_set_network_device_gro() { + _ucidef_set_network_device_common $1 gro $2 +} + +ucidef_set_network_device_conduit() { + _ucidef_set_network_device_common $1 conduit $2 +} + _ucidef_add_switch_port() { # inherited: $num $device $need_tag $want_untag $role $index $prev_role # inherited: $n_cpu $n_ports $n_vlan $cpu0 $cpu1 $cpu2 $cpu3 $cpu4 $cpu5 From 4fdd5530a7ffba356ea9768769ed1713beb7445a Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 9 Nov 2023 15:29:39 +0100 Subject: [PATCH 37/46] ipq806x: setup DSA port conduit in board.d Now that netifd and uci-defaults.sh supports a way to setup DSA port conduit without using iproute2 tool, set DSA port conduit directly in board.d, that will fill board.d and will instruct netifd to setup the port. Drop special init.d qca8k_set_port script and ip-tiny from target dep as they are not required anymore. Signed-off-by: Christian Marangi --- target/linux/ipq806x/Makefile | 2 +- .../ipq806x/base-files/etc/board.d/02_network | 7 +++ .../base-files/etc/init.d/qca8k_set_port | 45 ------------------- 3 files changed, 8 insertions(+), 46 deletions(-) delete mode 100755 target/linux/ipq806x/base-files/etc/init.d/qca8k_set_port diff --git a/target/linux/ipq806x/Makefile b/target/linux/ipq806x/Makefile index 1bcea1fa80f..74a0007a4e0 100644 --- a/target/linux/ipq806x/Makefile +++ b/target/linux/ipq806x/Makefile @@ -21,6 +21,6 @@ DEFAULT_PACKAGES += \ kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \ kmod-phy-qcom-ipq806x-usb kmod-usb3 kmod-usb-dwc3-qcom \ kmod-ath10k-ct wpad-basic-mbedtls \ - uboot-envtools ip-tiny + uboot-envtools $(eval $(call BuildTarget)) diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network index a4316272e9e..7fdda7cfec4 100644 --- a/target/linux/ipq806x/base-files/etc/board.d/02_network +++ b/target/linux/ipq806x/base-files/etc/board.d/02_network @@ -34,10 +34,17 @@ ipq806x_setup_interfaces() tplink,ad7200 |\ zyxel,nbg6817) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan" + ucidef_set_network_device_conduit "lan1" "eth1" + ucidef_set_network_device_conduit "lan2" "eth1" + ucidef_set_network_device_conduit "lan3" "eth1" + ucidef_set_network_device_conduit "lan4" "eth1" + ucidef_set_network_device_conduit "wan" "eth0" ;; asus,onhub |\ tplink,onhub) ucidef_set_interfaces_lan_wan "lan1" "wan" + ucidef_set_network_device_conduit "lan1" "eth1" + ucidef_set_network_device_conduit "wan" "eth0" ;; edgecore,ecw5410 |\ extreme,ap3935) diff --git a/target/linux/ipq806x/base-files/etc/init.d/qca8k_set_port b/target/linux/ipq806x/base-files/etc/init.d/qca8k_set_port deleted file mode 100755 index bf14907b8fb..00000000000 --- a/target/linux/ipq806x/base-files/etc/init.d/qca8k_set_port +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=15 - -set_qca8k_port() { - local port=$1 - local master=$2 - - ip link set $port type dsa conduit $master -} - -boot() { - # Restore original implementation where the eth1 (port 6) was used - # for the lan port and the eth0 (port 0) was used for the wan port - case $(board_name) in - askey,rt4230w-rev6 |\ - asrock,g10 |\ - buffalo,wxr-2533dhp |\ - compex,wpq864 |\ - nec,wg2600hp |\ - nec,wg2600hp3 |\ - netgear,d7800 |\ - netgear,r7500 |\ - netgear,r7500v2 |\ - netgear,r7800 |\ - netgear,xr450 |\ - netgear,xr500 |\ - nokia,ac400i |\ - tplink,ad7200 |\ - tplink,c2600 |\ - tplink,vr2600v |\ - zyxel,nbg6817) - set_qca8k_port lan1 eth1 - set_qca8k_port lan2 eth1 - set_qca8k_port lan3 eth1 - set_qca8k_port lan4 eth1 - set_qca8k_port wan eth0 - ;; - asus,onhub |\ - tplink,onhub) - set_qca8k_port lan1 eth1 - set_qca8k_port wan eth0 - ;; - esac -} From 07b5b3978d1c7ae01318c1532d871b0d3eb36d40 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 10 Nov 2023 13:20:31 +0100 Subject: [PATCH 38/46] ipq-wifi: update to Git HEAD (2023-11-10) 0c2e810e71ed qcn9074: fix prpl Foundation Haze BDF for old mac80211 version Signed-off-by: Christian Marangi --- package/firmware/ipq-wifi/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 8736a1a5839..8da2ac4e1f3 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -6,9 +6,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git -PKG_SOURCE_DATE:=2023-11-02 -PKG_SOURCE_VERSION:=371d4dce9b9a4b4dfd59bc902bb216f7133743cb -PKG_MIRROR_HASH:=9c309f81cb1e464580ccdacc3f7a660df8a5a07a8b87f71e9d00f630ac0412ad +PKG_SOURCE_DATE:=2023-11-10 +PKG_SOURCE_VERSION:=0c2e810e71ed0a59fb00246c7fa2c236ff67a0ee +PKG_MIRROR_HASH:=fc6016540bd2c67484952d0e4432d740f0e022d9b688e851bb6321def8d36844 PKG_FLAGS:=nonshared From d45d72a6da004a557a2b39793c84174b33f0500c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 10 Nov 2023 15:37:32 +0100 Subject: [PATCH 39/46] netifd: update to the latest version eee02ccca8c8 device: add support to configure eee bb28f6a291d9 wireless: fix sign comparison warning 35facc8306f5 wireless: fix premature removal of hotplug devices due to down state Signed-off-by: Felix Fietkau --- package/network/config/netifd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 0209bb9ed92..826889aca6c 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2023-11-09 -PKG_SOURCE_VERSION:=841b05fbb91eb7076ec3170756693bd4f1e9708e -PKG_MIRROR_HASH:=b09afa32692c397284f739c9989892697628f82b2f2a10cca78e3358dc140998 +PKG_SOURCE_DATE:=2023-11-10 +PKG_SOURCE_VERSION:=35facc8306f590a7330789ab6d5785c0d43073ef +PKG_MIRROR_HASH:=4f73591ae1873e18df235349e478f2196ca0d3123c313a04149dc9d5e2bfb403 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 From 573c8c3d78cdf494156f763c7182c0f16a8d7263 Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 8 Nov 2023 15:50:55 -0500 Subject: [PATCH 40/46] kernel: bump 5.15 to 5.15.138 Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.138 Removed upstreamed: generic/backport-5.15/819-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch[1] generic/backport-5.15/819-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch[2] generic/backport-5.15/819-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch[3] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.138&id=6e22bf6f00d593b0a7e0b2f418fde89317424671 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.138&id=6efd498009b987a92f57f3bdae476f0503364fb7 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.138&id=6e22bf6f00d593b0a7e0b2f418fde89317424671 Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia --- include/kernel-5.15 | 4 +-- .../900-unaligned_access_hacks.patch | 2 +- ...nvmem-imx-correct-nregs-for-i.MX6SLL.patch | 28 ------------------- ...-nvmem-imx-correct-nregs-for-i.MX6UL.patch | 28 ------------------- ...nvmem-imx-correct-nregs-for-i.MX6ULL.patch | 28 ------------------- ...-r8152-add-LED-configuration-from-OF.patch | 8 +++--- .../810-pci_disable_common_quirks.patch | 6 ++-- .../0001-MIPS-lantiq-add-pcie-driver.patch | 2 +- ...move-drivers-from-strlcpy-to-strscpy.patch | 2 +- ...r-Gateworks-PLX-PEX860x-switch-with-.patch | 2 +- 10 files changed, 13 insertions(+), 97 deletions(-) delete mode 100644 target/linux/generic/backport-5.15/819-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch delete mode 100644 target/linux/generic/backport-5.15/819-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch delete mode 100644 target/linux/generic/backport-5.15/819-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 47db849241d..6c2be5b3546 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .137 -LINUX_KERNEL_HASH-5.15.137 = 9749b21609f9e7ad9c46160c2c107db823b99cef77fa6cb080b6c2dc685fb2f7 +LINUX_VERSION-5.15 = .138 +LINUX_KERNEL_HASH-5.15.138 = af84e54164e1c01f59764ba528448ed36b377d22aafbd81b4b0cf47792ef4aaa diff --git a/target/linux/ath79/patches-5.15/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.15/900-unaligned_access_hacks.patch index 47216bee71f..84723add3b8 100644 --- a/target/linux/ath79/patches-5.15/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.15/900-unaligned_access_hacks.patch @@ -750,7 +750,7 @@ SVN-Revision: 35130 EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4170,14 +4170,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -4171,14 +4171,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/generic/backport-5.15/819-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch b/target/linux/generic/backport-5.15/819-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch deleted file mode 100644 index 8901a41a644..00000000000 --- a/target/linux/generic/backport-5.15/819-v6.6-0018-nvmem-imx-correct-nregs-for-i.MX6SLL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 414a98abbefd82d591f4e2d1efd2917bcd3b6f6d Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Fri, 13 Oct 2023 13:49:02 +0100 -Subject: [PATCH] nvmem: imx: correct nregs for i.MX6SLL - -The nregs for i.MX6SLL should be 80 per fuse map, correct it. - -Fixes: 6da27821a6f5 ("nvmem: imx-ocotp: add support for imx6sll") -Cc: Stable@vger.kernel.org -Signed-off-by: Peng Fan -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20231013124904.175782-2-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/imx-ocotp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/nvmem/imx-ocotp.c -+++ b/drivers/nvmem/imx-ocotp.c -@@ -499,7 +499,7 @@ static const struct ocotp_params imx6sl_ - }; - - static const struct ocotp_params imx6sll_params = { -- .nregs = 128, -+ .nregs = 80, - .bank_address_words = 0, - .set_timing = imx_ocotp_set_imx6_timing, - .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, diff --git a/target/linux/generic/backport-5.15/819-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch b/target/linux/generic/backport-5.15/819-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch deleted file mode 100644 index db6b951d245..00000000000 --- a/target/linux/generic/backport-5.15/819-v6.6-0019-nvmem-imx-correct-nregs-for-i.MX6UL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7d6e10f5d254681983b53d979422c8de3fadbefb Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Fri, 13 Oct 2023 13:49:03 +0100 -Subject: [PATCH] nvmem: imx: correct nregs for i.MX6UL - -The nregs for i.MX6UL should be 144 per fuse map, correct it. - -Fixes: 4aa2b4802046 ("nvmem: octop: Add support for imx6ul") -Cc: Stable@vger.kernel.org -Signed-off-by: Peng Fan -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20231013124904.175782-3-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/imx-ocotp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/nvmem/imx-ocotp.c -+++ b/drivers/nvmem/imx-ocotp.c -@@ -513,7 +513,7 @@ static const struct ocotp_params imx6sx_ - }; - - static const struct ocotp_params imx6ul_params = { -- .nregs = 128, -+ .nregs = 144, - .bank_address_words = 0, - .set_timing = imx_ocotp_set_imx6_timing, - .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, diff --git a/target/linux/generic/backport-5.15/819-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch b/target/linux/generic/backport-5.15/819-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch deleted file mode 100644 index 10ce7cd9f28..00000000000 --- a/target/linux/generic/backport-5.15/819-v6.6-0020-nvmem-imx-correct-nregs-for-i.MX6ULL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2382c1b044231fd49eaf9aa82bc7113fc55487b8 Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Fri, 13 Oct 2023 13:49:04 +0100 -Subject: [PATCH] nvmem: imx: correct nregs for i.MX6ULL - -The nregs for i.MX6ULL should be 80 per fuse map, correct it. - -Fixes: ffbc34bf0e9c ("nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support") -Cc: Stable@vger.kernel.org -Signed-off-by: Peng Fan -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20231013124904.175782-4-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/imx-ocotp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/nvmem/imx-ocotp.c -+++ b/drivers/nvmem/imx-ocotp.c -@@ -520,7 +520,7 @@ static const struct ocotp_params imx6ul_ - }; - - static const struct ocotp_params imx6ull_params = { -- .nregs = 64, -+ .nregs = 80, - .bank_address_words = 0, - .set_timing = imx_ocotp_set_imx6_timing, - .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, diff --git a/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch index 383dfe397ff..96525089ef5 100644 --- a/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -6889,6 +6890,22 @@ static void rtl_tally_reset(struct r8152 +@@ -6896,6 +6897,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -6930,6 +6947,8 @@ static void r8152b_init(struct r8152 *tp +@@ -6937,6 +6954,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7070,6 +7089,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7077,6 +7096,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7152,6 +7173,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7159,6 +7180,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/pending-5.15/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-5.15/810-pci_disable_common_quirks.patch index 7edbd94f762..153b5d06cfd 100644 --- a/target/linux/generic/pending-5.15/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-5.15/810-pci_disable_common_quirks.patch @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos /* * The Mellanox Tavor device gives false positive parity errors. Disable * parity error reporting. -@@ -3363,6 +3364,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -3365,6 +3366,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * To work around this, query the size it should be configured to by the -@@ -3388,6 +3391,8 @@ static void quirk_intel_ntb(struct pci_d +@@ -3390,6 +3393,8 @@ static void quirk_intel_ntb(struct pci_d DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); @@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos /* * Some BIOS implementations leave the Intel GPU interrupts enabled, even * though no one is handling them (e.g., if the i915 driver is never -@@ -3426,6 +3431,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3428,6 +3433,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch index b0995cbccf5..bf3d848f41d 100644 --- a/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5535,7 +5535,7 @@ Signed-off-by: John Crispin unsigned long type); --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h -@@ -1085,6 +1085,12 @@ +@@ -1086,6 +1086,12 @@ #define PCI_DEVICE_ID_SGI_IOC3 0x0003 #define PCI_DEVICE_ID_SGI_LITHIUM 0x1002 diff --git a/target/linux/mediatek/patches-5.15/850-v6.0-i2c-move-drivers-from-strlcpy-to-strscpy.patch b/target/linux/mediatek/patches-5.15/850-v6.0-i2c-move-drivers-from-strlcpy-to-strscpy.patch index e3ccef44036..0d9fa0550b2 100644 --- a/target/linux/mediatek/patches-5.15/850-v6.0-i2c-move-drivers-from-strlcpy-to-strscpy.patch +++ b/target/linux/mediatek/patches-5.15/850-v6.0-i2c-move-drivers-from-strlcpy-to-strscpy.patch @@ -72,7 +72,7 @@ Signed-off-by: Wolfram Sang idev->adapter.dev.parent = &pdev->dev; --- a/drivers/i2c/busses/i2c-aspeed.c +++ b/drivers/i2c/busses/i2c-aspeed.c -@@ -1027,7 +1027,7 @@ static int aspeed_i2c_probe_bus(struct p +@@ -1028,7 +1028,7 @@ static int aspeed_i2c_probe_bus(struct p bus->adap.algo = &aspeed_i2c_algo; bus->adap.dev.parent = &pdev->dev; bus->adap.dev.of_node = pdev->dev.of_node; diff --git a/target/linux/octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch index 842bed4c427..05eaa9aedfe 100644 --- a/target/linux/octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch +++ b/target/linux/octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch @@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey #include #include #include -@@ -5856,3 +5857,34 @@ static void nvidia_ion_ahci_fixup(struct +@@ -5858,3 +5859,34 @@ static void nvidia_ion_ahci_fixup(struct pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); From 4196a4b5ae63b5cd84712bfe895b21e28e9d66be Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 8 Nov 2023 14:38:58 -0500 Subject: [PATCH 41/46] kernel: bump 6.1 to 6.1.62 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.62 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia --- include/kernel-6.1 | 4 ++-- .../760-net-usb-r8152-add-LED-configuration-from-OF.patch | 8 ++++---- ...ilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch | 2 +- .../pending-6.1/810-pci_disable_common_quirks.patch | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/kernel-6.1 b/include/kernel-6.1 index 7b4865b1616..1dd947e7bc0 100644 --- a/include/kernel-6.1 +++ b/include/kernel-6.1 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.1 = .61 -LINUX_KERNEL_HASH-6.1.61 = ad2c9d12fc36e2dde4796a3eec8f4ddca2e278098f4e555b6e6f5f03ef6964ce +LINUX_VERSION-6.1 = .62 +LINUX_KERNEL_HASH-6.1.62 = b9fd616facd6becfceef88b9be718d0f16625cab3fe81d11384802a7091e85ec diff --git a/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch index 96525089ef5..7b7fcca11f4 100644 --- a/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -6896,6 +6897,22 @@ static void rtl_tally_reset(struct r8152 +@@ -6903,6 +6904,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -6937,6 +6954,8 @@ static void r8152b_init(struct r8152 *tp +@@ -6944,6 +6961,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7077,6 +7096,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7084,6 +7103,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7159,6 +7180,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7166,6 +7187,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index 6e913bbaf68..6a651a04f7f 100644 --- a/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -7876,7 +7876,7 @@ static int nft_register_flowtable_net_ho +@@ -7882,7 +7882,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.1/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-6.1/810-pci_disable_common_quirks.patch index 33d2c625479..68ac12f996d 100644 --- a/target/linux/generic/pending-6.1/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-6.1/810-pci_disable_common_quirks.patch @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos /* * The Mellanox Tavor device gives false positive parity errors. Disable * parity error reporting. -@@ -3388,6 +3389,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -3390,6 +3391,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * To work around this, query the size it should be configured to by the -@@ -3413,6 +3416,8 @@ static void quirk_intel_ntb(struct pci_d +@@ -3415,6 +3418,8 @@ static void quirk_intel_ntb(struct pci_d DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); @@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos /* * Some BIOS implementations leave the Intel GPU interrupts enabled, even * though no one is handling them (e.g., if the i915 driver is never -@@ -3451,6 +3456,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3453,6 +3458,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); From d83231603c60a1df7d0530c8766f0b71c6553b44 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Fri, 10 Nov 2023 09:01:56 +0100 Subject: [PATCH 42/46] wolfssl: update to 5.6.4 Releae Notes: https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.4-stable Remove upstreamed patch: - 001-fix-detection-of-cut-tool-in-configure.ac.patch Signed-off-by: Nick Hainke --- package/libs/wolfssl/Makefile | 4 +-- ...etection-of-cut-tool-in-configure.ac.patch | 25 ------------------- 2 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 package/libs/wolfssl/patches/001-fix-detection-of-cut-tool-in-configure.ac.patch diff --git a/package/libs/wolfssl/Makefile b/package/libs/wolfssl/Makefile index ae802e210e7..6451dca68d2 100644 --- a/package/libs/wolfssl/Makefile +++ b/package/libs/wolfssl/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wolfssl -PKG_VERSION:=5.6.3-stable +PKG_VERSION:=5.6.4-stable PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION) -PKG_HASH:=2e74a397fa797c2902d7467d500de904907666afb4ff80f6464f6efd5afb114a +PKG_HASH:=031691906794ff45e1e792561cf31759f5d29ac74936bc8dffb8b14f16d820b4 PKG_FIXUP:=libtool libtool-abiver PKG_INSTALL:=1 diff --git a/package/libs/wolfssl/patches/001-fix-detection-of-cut-tool-in-configure.ac.patch b/package/libs/wolfssl/patches/001-fix-detection-of-cut-tool-in-configure.ac.patch deleted file mode 100644 index 0d0c8b54236..00000000000 --- a/package/libs/wolfssl/patches/001-fix-detection-of-cut-tool-in-configure.ac.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 41d248461bd9ad44193a4806ecb5361513e8944e Mon Sep 17 00:00:00 2001 -From: jordan -Date: Tue, 27 Jun 2023 13:18:25 -0500 -Subject: [PATCH] fix detection of cut tool in configure.ac - ---- - configure.ac | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/configure.ac -+++ b/configure.ac -@@ -8723,10 +8723,11 @@ echo "extern \"C\" {" >> $OPTION_FILE - echo "#endif" >> $OPTION_FILE - echo "" >> $OPTION_FILE - --# check for supported command to trim option with -+# Check for supported command to trim option with. -+# note: cut requires an argument to exit with success. - if colrm >/dev/null 2>&1 /dev/null 2>&1 /dev/null 2>&1 Date: Fri, 10 Nov 2023 18:38:34 +0100 Subject: [PATCH 43/46] ipq807x: fix wrong define for LAN and WAN ess mask switch_lan_bmp and switch_wan_bmp have wrong values and now cause problems with the new version of the qca-ssdk. Fix the wrong entry and drop the redundant switch_cpu_bmp. Also introduce some convenient define to better understand values in this map. Fixes: eea264feadcf ("kernel: qca-ssdk: update to 12.4") Signed-off-by: Christian Marangi Tested-by: Robert Marko # Dynalink AX3600 and Qnap 301W Reviewed by: Robert Marko --- .../arch/arm64/boot/dts/qcom/ipq8070-cax1800.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi | 9 ++------- .../arch/arm64/boot/dts/qcom/ipq8071-eap102.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8072-301w.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8072-ax880.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8072-haze.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8072-wax218.dts | 4 +--- .../arch/arm64/boot/dts/qcom/ipq8072-wax620.dts | 4 +--- .../arch/arm64/boot/dts/qcom/ipq8072-wpq873.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8074-ess.dtsi | 6 ++++-- .../arch/arm64/boot/dts/qcom/ipq8074-nbg7815.dts | 5 ++--- .../arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts | 4 ++-- .../arch/arm64/boot/dts/qcom/ipq8074-wax630.dts | 7 +++---- .../arm64/boot/dts/qcom/ipq8074-wxr-5950ax12.dts | 5 ++--- .../files/include/dt-bindings/net/qcom-ipq-ess.h | 15 +++++++++++++++ 17 files changed, 48 insertions(+), 51 deletions(-) create mode 100644 target/linux/qualcommax/files/include/dt-bindings/net/qcom-ipq-ess.h diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8070-cax1800.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8070-cax1800.dts index 2c9cbd5b3cd..3f19e4fee99 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8070-cax1800.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8070-cax1800.dts @@ -271,9 +271,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x20>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi index c18cef52f39..82a981b5faa 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dtsi @@ -235,9 +235,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x20>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ @@ -245,10 +244,6 @@ tm_tick_mode = <0>; /* tm tick mode */ qcom,port_phyinfo { - port@0 { - port_id = <1>; - phy_address = <0>; - }; port@1 { port_id = <2>; phy_address = <1>; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-eap102.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-eap102.dts index 357b6368d9d..e373af1ba82 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-eap102.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-eap102.dts @@ -343,9 +343,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x3e>; /* lan port bitmap */ - switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_lan_bmp = ; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0xff>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-301w.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-301w.dts index 5521a480b8a..ce82f24ae8a 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-301w.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-301w.dts @@ -321,9 +321,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x3e>; /* lan port bitmap */ - switch_wan_bmp = <0xc0>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xd>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts index 1aefa2c9243..4551e7b6b3c 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts @@ -325,9 +325,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x3e>; /* lan port bitmap */ - switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_lan_bmp = ; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0xff>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts index 801aa056045..338051ef48a 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts @@ -382,9 +382,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x20>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xc>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts index 5468e9e1fb8..165d788a4f6 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts @@ -169,9 +169,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x3e>; /* lan port bitmap */ - switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xc>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-haze.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-haze.dts index 8a5200b4ebf..81e647582ac 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-haze.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-haze.dts @@ -186,9 +186,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x60>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xe>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax218.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax218.dts index 5bfcdcc8ca3..68be7b27783 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax218.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax218.dts @@ -89,9 +89,7 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; - switch_lan_bmp = <0x3e>; - switch_wan_bmp = <0x40>; + switch_wan_bmp = ; switch_mac_mode = <0x00>; switch_mac_mode1 = <0xff>; switch_mac_mode2 = <0x0f>; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax620.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax620.dts index d1c3245c8ba..6adf3933883 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax620.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wax620.dts @@ -117,9 +117,7 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x01>; - switch_lan_bmp = <0x3e>; - switch_wan_bmp = <0x40>; + switch_wan_bmp = ; switch_mac_mode = <0x00>; switch_mac_mode1 = <0xff>; switch_mac_mode2 = <0x0f>; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wpq873.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wpq873.dts index 9779070725b..8d1c3725a18 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wpq873.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-wpq873.dts @@ -388,9 +388,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x3e>; /* lan port bitmap */ - switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0x0f>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0x0f>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-ess.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-ess.dtsi index 129266c50d1..597f7f1ff98 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-ess.dtsi +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-ess.dtsi @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only +#include + &clocks { bias_pll_cc_clk { compatible = "fixed-clock"; @@ -19,8 +21,8 @@ compatible = "qcom,ess-switch-ipq807x"; reg = <0x3a000000 0x1000000>; switch_access_mode = "local bus"; - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_inner_bmp = <0x80>; /*inner port bitmap*/ + switch_cpu_bmp = ; /* cpu port bitmap */ + switch_inner_bmp = ; /*inner port bitmap*/ clocks = <&gcc GCC_CMN_12GPLL_AHB_CLK>, <&gcc GCC_CMN_12GPLL_SYS_CLK>, <&gcc GCC_UNIPHY0_AHB_CLK>, diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-nbg7815.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-nbg7815.dts index d113b233ecf..62e256b4252 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-nbg7815.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-nbg7815.dts @@ -298,9 +298,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; - switch_lan_bmp = <0x3e>; - switch_wan_bmp = <0x40>; + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; + switch_wan_bmp = ; switch_mac_mode = <0x0>; switch_mac_mode1 = <0xf>; switch_mac_mode2 = <0xd>; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts index 188ad03fe04..4e756867f29 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rax120v2.dts @@ -195,8 +195,8 @@ &switch { status = "okay"; - switch_lan_bmp = <0x3e>; /* lan port bitmap */ - switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; /* lan port bitmap */ + switch_wan_bmp = ; /* wan port bitmap */ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/ diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wax630.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wax630.dts index f2498837de5..e28810fa3dc 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wax630.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wax630.dts @@ -150,10 +150,9 @@ &switch { status = "okay"; - - switch_cpu_bmp = <0x01>; - switch_lan_bmp = <0x3e>; - switch_wan_bmp = <0x40>; + + switch_lan_bmp = ; + switch_wan_bmp = ; switch_mac_mode = <0x00>; switch_mac_mode1 = <0xff>; switch_mac_mode2 = <0x0d>; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wxr-5950ax12.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wxr-5950ax12.dts index 32386dc93e0..51af034c344 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wxr-5950ax12.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wxr-5950ax12.dts @@ -267,9 +267,8 @@ &switch { status = "okay"; - switch_cpu_bmp = <0x1>; - switch_lan_bmp = <0x3e>; - switch_wan_bmp = <0x40>; + switch_lan_bmp = <(ESS_PORT1 | ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; + switch_wan_bmp = ; switch_mac_mode = <0xb>; switch_mac_mode1 = <0xd>; switch_mac_mode2 = <0xd>; diff --git a/target/linux/qualcommax/files/include/dt-bindings/net/qcom-ipq-ess.h b/target/linux/qualcommax/files/include/dt-bindings/net/qcom-ipq-ess.h new file mode 100644 index 00000000000..0ecadb35c6d --- /dev/null +++ b/target/linux/qualcommax/files/include/dt-bindings/net/qcom-ipq-ess.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef _DT_BINDINGS_NET_QCOM_IPQ_ESS_H +#define _DT_BINDINGS_NET_QCOM_IPQ_ESS_H + +#define ESS_PORT0 0x1 +#define ESS_PORT1 0x2 +#define ESS_PORT2 0x4 +#define ESS_PORT3 0x8 +#define ESS_PORT4 0x10 +#define ESS_PORT5 0x20 +#define ESS_PORT6 0x40 +#define ESS_PORT7 0x80 + +#endif /* _DT_BINDINGS_NET_QCOM_IPQ_ESS_H */ From 8376eaaa2805c6ea41ca88a4cc2304731c91798e Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 8 Nov 2023 23:09:44 +0100 Subject: [PATCH 44/46] dtc: add option for a static build I find myself manually compiling dtc as a staticly linked binary rather often while porting a new device to OpenWrt as dtc is rarely included in various vendor modifications of OpenWrt. So, since dtc offers a convenient meson option to build it as staticaly linked binary, lets make it a compile time option. Signed-off-by: Robert Marko --- package/utils/dtc/Makefile | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/package/utils/dtc/Makefile b/package/utils/dtc/Makefile index dc10e9c5195..afec6fbae54 100644 --- a/package/utils/dtc/Makefile +++ b/package/utils/dtc/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dtc PKG_VERSION:=1.7.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_HASH:=29edce3d302a15563d8663198bbc398c5a0554765c83830d0d4c0409d21a16c4 @@ -35,6 +35,17 @@ define Package/dtc/description format for booting kernels on embedded systems. endef +define Package/dtc/config + config DTC_STATIC_BUILD + depends on PACKAGE_dtc + bool "Build dtc as static binary" + default n + help + Builds dtc as a static binary. + This is usefull in order to export live DTS from a device running + various vendor modified OpenWrt versions. +endef + define Package/dtc/install $(INSTALL_DIR) $(1)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/dtc $(1)/usr/bin @@ -80,7 +91,8 @@ MESON_ARGS += \ -Dtools=true \ -Dyaml=disabled \ -Dvalgrind=disabled \ - -Dpython=disabled + -Dpython=disabled \ + -Dstatic-build=$(if $(CONFIG_DTC_STATIC_BUILD),true,false) define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib From 79ee0d2ceead54edae002c3bd0460d3abc645ce0 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 10 Nov 2023 21:14:29 +0100 Subject: [PATCH 45/46] debugcc: add new package to debug IPQ based SoC clocks Add new package to debug IPQ clocks using debug regs and hardware oscillator. Signed-off-by: Christian Marangi --- package/utils/debugcc/Makefile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 package/utils/debugcc/Makefile diff --git a/package/utils/debugcc/Makefile b/package/utils/debugcc/Makefile new file mode 100644 index 00000000000..961c041047b --- /dev/null +++ b/package/utils/debugcc/Makefile @@ -0,0 +1,29 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=debugcc +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL=https://github.com/linux-msm/debugcc.git +PKG_SOURCE_DATE:=2023-11-10 +PKG_SOURCE_VERSION:=d15bea7c05f224a85dd1fcec24b0f153dbad9f6e +PKG_MIRROR_HASH:=b6bd181db4992cf429343cd7d0fdde0f937a8f1811f5fe9e7855a0d76b0d88a0 + +PKG_MAINTAINER:=Christian Marangi + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/meson.mk + +define Package/debugcc + SECTION:=utils + CATEGORY:=Utilities + TITLE:=QCOM debugcc utility + DEPENDS:=@KERNEL_DEVMEM @(TARGET_qualcommax||TARGET_ipq806x||TARGET_ipq40xx) +endef + +define Package/debugcc/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(MESON_BUILD_DIR)/debugcc $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,debugcc)) From b7cf706539eb3a788441c8a8debaa8c36e5c54cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Fri, 10 Nov 2023 21:42:34 +0000 Subject: [PATCH 46/46] debugcc: add licensing information MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Information about package license is important, so lets add it. Fixes: 79ee0d2ceead ("debugcc: add new package to debug IPQ based SoC clocks") Signed-off-by: Petr Štetiar --- package/utils/debugcc/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/utils/debugcc/Makefile b/package/utils/debugcc/Makefile index 961c041047b..2a72f177306 100644 --- a/package/utils/debugcc/Makefile +++ b/package/utils/debugcc/Makefile @@ -9,6 +9,9 @@ PKG_SOURCE_DATE:=2023-11-10 PKG_SOURCE_VERSION:=d15bea7c05f224a85dd1fcec24b0f153dbad9f6e PKG_MIRROR_HASH:=b6bd181db4992cf429343cd7d0fdde0f937a8f1811f5fe9e7855a0d76b0d88a0 +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE + PKG_MAINTAINER:=Christian Marangi include $(INCLUDE_DIR)/package.mk