From 890293c13cc0c7e23577cb92c36edcc9911b4400 Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Sat, 22 Feb 2025 12:06:10 +0100 Subject: [PATCH 01/26] realtek: add PoE enable line to Netgear GS310TP By switching to the new RTL8231 driver in commit b7af54d5c18c ("realtek: Simple conversions to RTL8231 MFD driver"), the bootloader state of the RTL8231's pins is now maintained. As the bootloader de-asserts the PoE enable signal, this means PoE output is no longer available. Add a gpio-hog with high output, restoring the line value from when the pin was configured (by default) as an input with a pull-up resistor. This will hard-enable the PoE output, but the individual ports can still be administratively disabled by realtek-poe or a similar tool. Signed-off-by: Sander Vanheule --- target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts b/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts index a6f7181c11..9d58b3028a 100644 --- a/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts +++ b/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts @@ -8,6 +8,15 @@ }; +&gpio1 { + poe-enable { + gpio-hog; + gpios = <10 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "poe-enable"; + }; +}; + &firmware { openwrt,ih-magic = <0x4e474335>; }; From 9df4a88e603169d7c9bd31b00d4f498ac9f0f7f0 Mon Sep 17 00:00:00 2001 From: Chukun Pan Date: Fri, 21 Feb 2025 22:01:05 +0800 Subject: [PATCH 02/26] sunxi: enable usbgadget feature The USB of most sunxi devices works in otg or peripheral mode. Enable this feature to use usbgadget. Tested on OrangePi Zero3. Signed-off-by: Chukun Pan Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250221140105.250920-1-amadeus@jmu.edu.cn/ Signed-off-by: Hauke Mehrtens --- target/linux/sunxi/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile index d91e5c5a3e..193383e940 100644 --- a/target/linux/sunxi/Makefile +++ b/target/linux/sunxi/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk ARCH:=arm BOARD:=sunxi BOARDNAME:=Allwinner ARM SoCs -FEATURES:=usb ext4 display rootfs-part rtc squashfs +FEATURES:=ext4 display rootfs-part rtc squashfs usb usbgadget SUBTARGETS:=cortexa8 cortexa7 cortexa53 KERNEL_PATCHVER:=6.6 From 6df4e4663b9e2b41b320630681b7692e0d3f8861 Mon Sep 17 00:00:00 2001 From: Jan Hoffmann Date: Thu, 6 Feb 2025 23:54:24 +0100 Subject: [PATCH 03/26] ltq-vdsl-vr11-mei: fix field-spanning write warning Since the update to kernel 6.1, a warning like this appears in the kernel log: [ 49.773953] ------------[ cut here ]------------ [ 49.773998] WARNING: CPU: 3 PID: 2349 at target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/dsl_cpe_mei-ugw_8.5.2.10/src/drv_mei_cpe_msg_process.c:3570 MEI_IoctlCmdMsgWrite+0x290/0x2c8 [drv_mei_cpe] [ 49.777670] memcpy: detected field-spanning write (size 4) of single field "pDestPtr" at target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/dsl_cpe_mei-ugw_8.5.2.10/src/drv_mei_cpe_msg_process.c:3570 (size 2) ... [ 50.087078] ---[ end trace 0000000000000000 ]--- The variable "pDestPtr" points to the field "header.index" in a CMV_STD_MESSAGE_T struct (header is a CMV_STD_MESSAGE_HEADER_T struct). The offending code intentionally copies data beyond this field, which is followed by "header.length" and "payload". To fix this, change the assignment of "pDestPtr" to use the pointer to the message plus the offset of the "header.index" field. This way, the compiler knows about the size and thus the false positive warning disappears. While at it, also adjust all places where similar code is used to copy from a CMV_STD_MESSAGE_T struct. Also mark all related structs as packed, because the code (and the driver in general) seems to rely on that anyway. Fixes: https://github.com/openwrt/openwrt/issues/17142 Signed-off-by: Jan Hoffmann Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250206225444.2521817-1-jan@3e8.eu/ Signed-off-by: Hauke Mehrtens --- .../kernel/lantiq/ltq-vdsl-vr11-mei/Makefile | 2 +- ...ld-spanning-write-mei-mailbox-packed.patch | 179 ++++++++++++++++++ 2 files changed, 180 insertions(+), 1 deletion(-) create mode 100644 package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/131-fix-field-spanning-write-mei-mailbox-packed.patch diff --git a/package/kernel/lantiq/ltq-vdsl-vr11-mei/Makefile b/package/kernel/lantiq/ltq-vdsl-vr11-mei/Makefile index 3e01ee6373..b91854558e 100644 --- a/package/kernel/lantiq/ltq-vdsl-vr11-mei/Makefile +++ b/package/kernel/lantiq/ltq-vdsl-vr11-mei/Makefile @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ltq-vdsl-vr11-mei PKG_VERSION:=1.11.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_BASE_NAME:=dsl_cpe_mei UGW_VERSION=8.5.2.10 diff --git a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/131-fix-field-spanning-write-mei-mailbox-packed.patch b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/131-fix-field-spanning-write-mei-mailbox-packed.patch new file mode 100644 index 0000000000..202a7d63f8 --- /dev/null +++ b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/131-fix-field-spanning-write-mei-mailbox-packed.patch @@ -0,0 +1,179 @@ +--- a/src/cmv_message_format.h ++++ b/src/cmv_message_format.h +@@ -308,7 +308,7 @@ typedef struct cmv_std_message_header_s + unsigned short index; + /** CMV length */ + unsigned short length; +-} CMV_STD_MESSAGE_HEADER_T; ++} __attribute__((packed)) CMV_STD_MESSAGE_HEADER_T; + + /** + CMV payload paramaters (8, 16, 32 Bit) +@@ -318,7 +318,7 @@ typedef union cmv_std_message_payload_s + unsigned char params_8Bit[CMV_USED_PAYLOAD_8BIT_SIZE]; + unsigned short params_16Bit[CMV_USED_PAYLOAD_16BIT_SIZE]; + unsigned int params_32Bit[CMV_USED_PAYLOAD_32BIT_SIZE]; +-} CMV_STD_MESSAGE_PAYLOAD_T; ++} __attribute__((packed)) CMV_STD_MESSAGE_PAYLOAD_T; + + /** + CMV Standard message. +@@ -327,7 +327,7 @@ typedef struct cmv_std_message_s + { + CMV_STD_MESSAGE_HEADER_T header; + CMV_STD_MESSAGE_PAYLOAD_T payload; +-} CMV_STD_MESSAGE_T; ++} __attribute__((packed)) CMV_STD_MESSAGE_T; + + + /* ============================================================================ +@@ -341,7 +341,7 @@ typedef struct cmv_message_modem_rdy_s + { + CMV_STD_MESSAGE_HEADER_T header; + CMV_STD_MESSAGE_PAYLOAD_T modemRdyParams; +-} CMV_MESSAGE_MODEM_RDY_T; ++} __attribute__((packed)) CMV_MESSAGE_MODEM_RDY_T; + + + /* ============================================================================ +@@ -358,7 +358,7 @@ typedef struct cmv_message_modem_rdy_s + typedef struct cmv_message_cs_static_params_s + { + unsigned short pageIdx[MEI_CMV_CODESWAP_MAX_PAGES]; +-} CMV_MESSAGE_CS_STATIC_PARAMS_T; ++} __attribute__((packed)) CMV_MESSAGE_CS_STATIC_PARAMS_T; + + + typedef struct cmv_dyn_codeswap_page_info_s +@@ -366,7 +366,7 @@ typedef struct cmv_dyn_codeswap_page_inf + unsigned short pageIdx; + unsigned short h_destAddr; + unsigned short l_destAddr; +-} CMV_DYN_CODESWAP_PAGE_INFO_T; ++} __attribute__((packed)) CMV_DYN_CODESWAP_PAGE_INFO_T; + + /** + CMV codeswap message payload (dynamic). +@@ -374,7 +374,7 @@ typedef struct cmv_dyn_codeswap_page_inf + typedef struct cmv_message_cs_dyn_params_s + { + CMV_DYN_CODESWAP_PAGE_INFO_T pageInfo[MEI_CMV_CODESWAP_MAX_PAGES]; +-} CMV_MESSAGE_CS_DYN_PARAMS_T; ++} __attribute__((packed)) CMV_MESSAGE_CS_DYN_PARAMS_T; + + + /** +@@ -388,7 +388,7 @@ typedef struct cmv_message_cs_s + CMV_MESSAGE_CS_STATIC_PARAMS_T csStaticParams; + CMV_MESSAGE_CS_DYN_PARAMS_T csDynParams; + } params; +-} CMV_MESSAGE_CS_T; ++} __attribute__((packed)) CMV_MESSAGE_CS_T; + + /* ============================================================================ + CMV Fast Read request message definitions +@@ -406,7 +406,7 @@ typedef struct cmv_fast_read_params_s + unsigned short addrMSW; + unsigned short addrLSW; + unsigned short size_16bit; +-} CMV_FAST_READ_PARAMS_T; ++} __attribute__((packed)) CMV_FAST_READ_PARAMS_T; + + /** + CMV fast read message payload. +@@ -414,7 +414,7 @@ typedef struct cmv_fast_read_params_s + typedef struct cmv_message_fast_rd_params_s + { + unsigned short fastRdpage[MEI_CMV_FAST_READ_MAX_PAGES]; +-} CMV_MESSAGE_FAST_RD_PARAMS_T; ++} __attribute__((packed)) CMV_MESSAGE_FAST_RD_PARAMS_T; + + /** + CMV codeswap message. +@@ -423,7 +423,7 @@ typedef struct cmv_message_fast_rd_s + { + CMV_STD_MESSAGE_HEADER_T header; + CMV_MESSAGE_FAST_RD_PARAMS_T fastRdParams; +-} CMV_MESSAGE_FAST_RD_T; ++} __attribute__((packed)) CMV_MESSAGE_FAST_RD_T; + + /** + CMV messages +@@ -435,7 +435,7 @@ typedef union cmv_message_all_s + CMV_MESSAGE_CS_T codeSwap; + CMV_MESSAGE_FAST_RD_T fastRd; + unsigned short rawMsg[CMV_HEADER_16BIT_SIZE + CMV_USED_PAYLOAD_16BIT_SIZE]; +-} CMV_MESSAGE_ALL_T; ++} __attribute__((packed)) CMV_MESSAGE_ALL_T; + + + +--- a/src/drv_mei_cpe_mailbox.h ++++ b/src/drv_mei_cpe_mailbox.h +@@ -202,7 +202,7 @@ typedef union MEI_cmv_mailbox_s + CMV_MESSAGE_CS_T codeSwap; + /** CMV Fast Read message */ + CMV_MESSAGE_FAST_RD_T fastRd; +-} MEI_CMV_MAILBOX_T; ++} __attribute__((packed)) MEI_CMV_MAILBOX_T; + + + /** +@@ -211,7 +211,7 @@ typedef union MEI_cmv_mailbox_s + typedef struct MEI_mei_mailbox_raw_s + { + IFX_uint16_t rawMsg[CMV_HEADER_16BIT_SIZE + CMV_USED_PAYLOAD_16BIT_SIZE]; +-} MEI_MEI_MAILBOX_RAW_T; ++} __attribute__((packed)) MEI_MEI_MAILBOX_RAW_T; + + + /** +@@ -223,7 +223,7 @@ typedef union MEI_mei_mailbox_s + MEI_MEI_MAILBOX_RAW_T mbRaw; + /** CMV message type */ + MEI_CMV_MAILBOX_T mbCmv; +-} MEI_MEI_MAILBOX_T; ++} __attribute__((packed)) MEI_MEI_MAILBOX_T; + + + #ifdef __cplusplus +--- a/src/drv_mei_cpe_msg_process.c ++++ b/src/drv_mei_cpe_msg_process.c +@@ -2215,7 +2215,7 @@ MEI_STATIC IFX_int32_t MEI_ModemNfcRead( + Return IFX/modem message + - index and length fields becomes part of the appl. payload + */ +- pSource = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pSource = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + /* size field contains number of 16 bit payload elements of the message */ + paylSize_byte = (CMV_MSGHDR_PAYLOAD_SIZE_GET(pMailbox->mbCmv.cmv)) << CMV_MSG_BIT_SIZE_16BIT; +@@ -3551,7 +3551,7 @@ IFX_int32_t MEI_IoctlCmdMsgWrite( + */ + cmvMbSize = CMV_HEADER_8BIT_SIZE + + pUserMsg->paylSize_byte - (sizeof(IFX_uint16_t) * 2); +- pDestPtr = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pDestPtr = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + if ( cmvMbSize > (int)(sizeof(MEI_CMV_MAILBOX_T)) ) + { +@@ -3665,7 +3665,7 @@ IFX_int32_t MEI_IoctlAckMsgRead( + Return IFX/modem message + - index and length fields becomes part of the appl. payload + */ +- pSource = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pSource = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + /* size field contains number of 16 bit payload elements of the message */ + paylSize_byte = (CMV_MSGHDR_PAYLOAD_SIZE_GET(pMailbox->mbCmv.cmv)) << CMV_MSG_BIT_SIZE_16BIT; +--- a/src/drv_mei_cpe_msg_process_ar9.c ++++ b/src/drv_mei_cpe_msg_process_ar9.c +@@ -1385,7 +1385,7 @@ MEI_STATIC IFX_int32_t MEI_ModemNfcRead( + Return IFX/modem message + - index and length fields becomes part of the appl. payload + */ +- pSource = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pSource = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + /* size field contains number of 16 bit payload elements of the message */ + paylSize_byte = (CMV_MSGHDR_PAYLOAD_SIZE_GET(pMailbox->mbCmv.cmv)) << CMV_MSG_BIT_SIZE_16BIT; From a9b4d1f4b904d47a304e1806bd9f363d3335554d Mon Sep 17 00:00:00 2001 From: Jan Hoffmann Date: Thu, 6 Feb 2025 23:54:25 +0100 Subject: [PATCH 04/26] ltq-vdsl-vr9-mei: avoid unnecessary usage of unsafe_memcpy Commit 7bc487c12eef ("kernel: ltq-vdsl-vr9-mei: fix warning about field-spanning write") patched the driver to use unsafe_memcpy in MEI_IoctlCmdMsgWrite. However, this is not actually necessary. The assignment of the variable "pDestPtr" can be modified so that the compiler knows about the correct size. This way, the check in the fortified memcpy works correctly. While at it, also adjust all places where similar code is used to copy from a CMV_STD_MESSAGE_T struct. Also mark all related structs as packed, because the code (and the driver in general) seems to rely on that anyway. Signed-off-by: Jan Hoffmann Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250206225444.2521817-2-jan@3e8.eu/ Signed-off-by: Hauke Mehrtens --- .../kernel/lantiq/ltq-vdsl-vr9-mei/Makefile | 2 +- ...ld-spanning-write-mei-mailbox-packed.patch | 179 ++++++++++++++++++ ...for-intentional-field-spanning-write.patch | 15 -- 3 files changed, 180 insertions(+), 16 deletions(-) create mode 100644 package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-fix-field-spanning-write-mei-mailbox-packed.patch delete mode 100644 package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-use-unsafe_memcpy-for-intentional-field-spanning-write.patch diff --git a/package/kernel/lantiq/ltq-vdsl-vr9-mei/Makefile b/package/kernel/lantiq/ltq-vdsl-vr9-mei/Makefile index 9b3dac299f..2576355bd1 100644 --- a/package/kernel/lantiq/ltq-vdsl-vr9-mei/Makefile +++ b/package/kernel/lantiq/ltq-vdsl-vr9-mei/Makefile @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ltq-vdsl-vr9-mei PKG_VERSION:=1.5.17.6 -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_BASE_NAME:=drv_mei_cpe PKG_SOURCE:=$(PKG_BASE_NAME)-$(PKG_VERSION).tar.gz diff --git a/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-fix-field-spanning-write-mei-mailbox-packed.patch b/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-fix-field-spanning-write-mei-mailbox-packed.patch new file mode 100644 index 0000000000..549411b78e --- /dev/null +++ b/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-fix-field-spanning-write-mei-mailbox-packed.patch @@ -0,0 +1,179 @@ +--- a/src/cmv_message_format.h ++++ b/src/cmv_message_format.h +@@ -308,7 +308,7 @@ typedef struct cmv_std_message_header_s + unsigned short index; + /** CMV length */ + unsigned short length; +-} CMV_STD_MESSAGE_HEADER_T; ++} __attribute__((packed)) CMV_STD_MESSAGE_HEADER_T; + + /** + CMV payload paramaters (8, 16, 32 Bit) +@@ -318,7 +318,7 @@ typedef union cmv_std_message_payload_s + unsigned char params_8Bit[CMV_USED_PAYLOAD_8BIT_SIZE]; + unsigned short params_16Bit[CMV_USED_PAYLOAD_16BIT_SIZE]; + unsigned int params_32Bit[CMV_USED_PAYLOAD_32BIT_SIZE]; +-} CMV_STD_MESSAGE_PAYLOAD_T; ++} __attribute__((packed)) CMV_STD_MESSAGE_PAYLOAD_T; + + /** + CMV Standard message. +@@ -327,7 +327,7 @@ typedef struct cmv_std_message_s + { + CMV_STD_MESSAGE_HEADER_T header; + CMV_STD_MESSAGE_PAYLOAD_T payload; +-} CMV_STD_MESSAGE_T; ++} __attribute__((packed)) CMV_STD_MESSAGE_T; + + + /* ============================================================================ +@@ -341,7 +341,7 @@ typedef struct cmv_message_modem_rdy_s + { + CMV_STD_MESSAGE_HEADER_T header; + CMV_STD_MESSAGE_PAYLOAD_T modemRdyParams; +-} CMV_MESSAGE_MODEM_RDY_T; ++} __attribute__((packed)) CMV_MESSAGE_MODEM_RDY_T; + + + /* ============================================================================ +@@ -358,7 +358,7 @@ typedef struct cmv_message_modem_rdy_s + typedef struct cmv_message_cs_static_params_s + { + unsigned short pageIdx[MEI_CMV_CODESWAP_MAX_PAGES]; +-} CMV_MESSAGE_CS_STATIC_PARAMS_T; ++} __attribute__((packed)) CMV_MESSAGE_CS_STATIC_PARAMS_T; + + + typedef struct cmv_dyn_codeswap_page_info_s +@@ -366,7 +366,7 @@ typedef struct cmv_dyn_codeswap_page_inf + unsigned short pageIdx; + unsigned short h_destAddr; + unsigned short l_destAddr; +-} CMV_DYN_CODESWAP_PAGE_INFO_T; ++} __attribute__((packed)) CMV_DYN_CODESWAP_PAGE_INFO_T; + + /** + CMV codeswap message payload (dynamic). +@@ -374,7 +374,7 @@ typedef struct cmv_dyn_codeswap_page_inf + typedef struct cmv_message_cs_dyn_params_s + { + CMV_DYN_CODESWAP_PAGE_INFO_T pageInfo[MEI_CMV_CODESWAP_MAX_PAGES]; +-} CMV_MESSAGE_CS_DYN_PARAMS_T; ++} __attribute__((packed)) CMV_MESSAGE_CS_DYN_PARAMS_T; + + + /** +@@ -388,7 +388,7 @@ typedef struct cmv_message_cs_s + CMV_MESSAGE_CS_STATIC_PARAMS_T csStaticParams; + CMV_MESSAGE_CS_DYN_PARAMS_T csDynParams; + } params; +-} CMV_MESSAGE_CS_T; ++} __attribute__((packed)) CMV_MESSAGE_CS_T; + + /* ============================================================================ + CMV Fast Read request message definitions +@@ -406,7 +406,7 @@ typedef struct cmv_fast_read_params_s + unsigned short addrMSW; + unsigned short addrLSW; + unsigned short size_16bit; +-} CMV_FAST_READ_PARAMS_T; ++} __attribute__((packed)) CMV_FAST_READ_PARAMS_T; + + /** + CMV fast read message payload. +@@ -414,7 +414,7 @@ typedef struct cmv_fast_read_params_s + typedef struct cmv_message_fast_rd_params_s + { + unsigned short fastRdpage[MEI_CMV_FAST_READ_MAX_PAGES]; +-} CMV_MESSAGE_FAST_RD_PARAMS_T; ++} __attribute__((packed)) CMV_MESSAGE_FAST_RD_PARAMS_T; + + /** + CMV codeswap message. +@@ -423,7 +423,7 @@ typedef struct cmv_message_fast_rd_s + { + CMV_STD_MESSAGE_HEADER_T header; + CMV_MESSAGE_FAST_RD_PARAMS_T fastRdParams; +-} CMV_MESSAGE_FAST_RD_T; ++} __attribute__((packed)) CMV_MESSAGE_FAST_RD_T; + + /** + CMV messages +@@ -435,7 +435,7 @@ typedef union cmv_message_all_s + CMV_MESSAGE_CS_T codeSwap; + CMV_MESSAGE_FAST_RD_T fastRd; + unsigned short rawMsg[CMV_HEADER_16BIT_SIZE + CMV_USED_PAYLOAD_16BIT_SIZE]; +-} CMV_MESSAGE_ALL_T; ++} __attribute__((packed)) CMV_MESSAGE_ALL_T; + + + +--- a/src/drv_mei_cpe_mailbox.h ++++ b/src/drv_mei_cpe_mailbox.h +@@ -197,7 +197,7 @@ typedef union MEI_cmv_mailbox_s + CMV_MESSAGE_CS_T codeSwap; + /** CMV Fast Read message */ + CMV_MESSAGE_FAST_RD_T fastRd; +-} MEI_CMV_MAILBOX_T; ++} __attribute__((packed)) MEI_CMV_MAILBOX_T; + + + /** +@@ -206,7 +206,7 @@ typedef union MEI_cmv_mailbox_s + typedef struct MEI_mei_mailbox_raw_s + { + IFX_uint16_t rawMsg[CMV_HEADER_16BIT_SIZE + CMV_USED_PAYLOAD_16BIT_SIZE]; +-} MEI_MEI_MAILBOX_RAW_T; ++} __attribute__((packed)) MEI_MEI_MAILBOX_RAW_T; + + + /** +@@ -218,7 +218,7 @@ typedef union MEI_mei_mailbox_s + MEI_MEI_MAILBOX_RAW_T mbRaw; + /** CMV message type */ + MEI_CMV_MAILBOX_T mbCmv; +-} MEI_MEI_MAILBOX_T; ++} __attribute__((packed)) MEI_MEI_MAILBOX_T; + + + #ifdef __cplusplus +--- a/src/drv_mei_cpe_msg_process.c ++++ b/src/drv_mei_cpe_msg_process.c +@@ -2172,7 +2172,7 @@ MEI_STATIC IFX_int32_t MEI_ModemNfcRead( + Return IFX/modem message + - index and length fields becomes part of the appl. payload + */ +- pSource = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pSource = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + /* size field contains number of 16 bit payload elements of the message */ + paylSize_byte = (CMV_MSGHDR_PAYLOAD_SIZE_GET(pMailbox->mbCmv.cmv)) << CMV_MSG_BIT_SIZE_16BIT; +@@ -3508,7 +3508,7 @@ IFX_int32_t MEI_IoctlCmdMsgWrite( + */ + cmvMbSize = CMV_HEADER_8BIT_SIZE + + pUserMsg->paylSize_byte - (sizeof(IFX_uint16_t) * 2); +- pDestPtr = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pDestPtr = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + if ( cmvMbSize > (int)(sizeof(MEI_CMV_MAILBOX_T)) ) + { +@@ -3622,7 +3622,7 @@ IFX_int32_t MEI_IoctlAckMsgRead( + Return IFX/modem message + - index and length fields becomes part of the appl. payload + */ +- pSource = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pSource = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + /* size field contains number of 16 bit payload elements of the message */ + paylSize_byte = (CMV_MSGHDR_PAYLOAD_SIZE_GET(pMailbox->mbCmv.cmv)) << CMV_MSG_BIT_SIZE_16BIT; +--- a/src/drv_mei_cpe_msg_process_ar9.c ++++ b/src/drv_mei_cpe_msg_process_ar9.c +@@ -1385,7 +1385,7 @@ MEI_STATIC IFX_int32_t MEI_ModemNfcRead( + Return IFX/modem message + - index and length fields becomes part of the appl. payload + */ +- pSource = (unsigned char *)&pMailbox->mbCmv.cmv.header.index; ++ pSource = (unsigned char *)&pMailbox->mbCmv.cmv + offsetof(CMV_STD_MESSAGE_T, header.index); + + /* size field contains number of 16 bit payload elements of the message */ + paylSize_byte = (CMV_MSGHDR_PAYLOAD_SIZE_GET(pMailbox->mbCmv.cmv)) << CMV_MSG_BIT_SIZE_16BIT; diff --git a/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-use-unsafe_memcpy-for-intentional-field-spanning-write.patch b/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-use-unsafe_memcpy-for-intentional-field-spanning-write.patch deleted file mode 100644 index 1542ace44f..0000000000 --- a/package/kernel/lantiq/ltq-vdsl-vr9-mei/patches/401-use-unsafe_memcpy-for-intentional-field-spanning-write.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/src/drv_mei_cpe_msg_process.c -+++ b/src/drv_mei_cpe_msg_process.c -@@ -3524,7 +3524,12 @@ IFX_int32_t MEI_IoctlCmdMsgWrite( - { - if (bInternCall) - { -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,19,0)) - memcpy(pDestPtr, pUserMsg->pPayload, pUserMsg->paylSize_byte); -+#else -+ unsafe_memcpy(pDestPtr, pUserMsg->pPayload, pUserMsg->paylSize_byte, -+ /* field-spanning writing is used here intentionally */); -+#endif - } - else - { From 03bbd36e67e5f4cc9fa838c7d773077c05f6ce16 Mon Sep 17 00:00:00 2001 From: Jan Hoffmann Date: Thu, 30 Jan 2025 11:19:29 +0100 Subject: [PATCH 05/26] ltq-vdsl-vr11: add option for L3 request without retry on failure This allows to attempt an orderly shutdown via L3 request while avoiding excessive delay in the failure case (up to 6 seconds with the currently hard-coded 3 attempts). Signed-off-by: Jan Hoffmann Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250130102108.1606919-2-jan@3e8.eu/ Signed-off-by: Hauke Mehrtens --- package/kernel/lantiq/ltq-vdsl-vr11/Makefile | 2 +- .../patches/300-l3-request-no-retry.patch | 46 +++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 package/kernel/lantiq/ltq-vdsl-vr11/patches/300-l3-request-no-retry.patch diff --git a/package/kernel/lantiq/ltq-vdsl-vr11/Makefile b/package/kernel/lantiq/ltq-vdsl-vr11/Makefile index 99d6e35376..50432986e2 100644 --- a/package/kernel/lantiq/ltq-vdsl-vr11/Makefile +++ b/package/kernel/lantiq/ltq-vdsl-vr11/Makefile @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ltq-vdsl-vr11 PKG_VERSION:=4.23.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_BASE_NAME:=dsl_cpe_api UGW_VERSION=8.5.2.10 diff --git a/package/kernel/lantiq/ltq-vdsl-vr11/patches/300-l3-request-no-retry.patch b/package/kernel/lantiq/ltq-vdsl-vr11/patches/300-l3-request-no-retry.patch new file mode 100644 index 0000000000..818f676b32 --- /dev/null +++ b/package/kernel/lantiq/ltq-vdsl-vr11/patches/300-l3-request-no-retry.patch @@ -0,0 +1,46 @@ +Add option for L3 request without retry on failure + +This allows to attempt an orderly shutdown via L3 request while avoiding +excessive delay in the failure case (up to 6 seconds with the currently +hard-coded 3 attempts). +--- a/src/g997/drv_dsl_cpe_api_g997_vrx.c ++++ b/src/g997/drv_dsl_cpe_api_g997_vrx.c +@@ -1053,6 +1053,7 @@ DSL_Error_t DSL_DRV_DEV_G997_PowerManage + { + DSL_Error_t nErrCode = DSL_SUCCESS, nRet = DSL_SUCCESS; + DSL_int_t nAttempt = 0, i = 0; ++ DSL_int_t nAttemptCount = DSL_LX_TO_L3_ATTEMPT_COUNT; + const DSL_int_t nMaxRetry = DSL_LX_TO_L3_TIMEOUT/DSL_L3_WAIT_INTERVAL; + DSL_G997_PowerManagementStatusData_t PmStatus = {DSL_G997_PMS_NA}; + DSL_VRX_L3RequestStatus_t L3RequestStatus = DSL_VRX_L3_STATUS_NA; +@@ -1095,11 +1096,15 @@ DSL_Error_t DSL_DRV_DEV_G997_PowerManage + nErrCode = DSL_ERR_NOT_SUPPORTED_BY_DEVICE; + break; + ++ case DSL_G997_PMSF_LX_TO_L3_NO_RETRY: ++ nAttemptCount = 1; ++ fallthrough; ++ + case DSL_G997_PMSF_LX_TO_L3: + if (PmStatus.nPowerManagementStatus != DSL_G997_PMS_L3) + { + /* retry it DSL_LX_TO_L3_ATTEMPT_COUNT times */ +- for (nAttempt = 0; nAttempt < DSL_LX_TO_L3_ATTEMPT_COUNT; nAttempt++) ++ for (nAttempt = 0; nAttempt < nAttemptCount; nAttempt++) + { + /* L3 shutdown request*/ + nErrCode = DSL_DRV_VRX_SendMsgShutdownRequest(pContext); +--- a/src/include/drv_dsl_cpe_api_g997.h ++++ b/src/include/drv_dsl_cpe_api_g997.h +@@ -1199,7 +1199,10 @@ typedef enum + procedure. After reaching the L3 state, the line shall remain in the L3 idle + state until it is forced into another state through this configuration + parameter. */ +- DSL_G997_PMSF_LX_TO_L3 = 3 ++ DSL_G997_PMSF_LX_TO_L3 = 3, ++ /** ++ Same as above, but does not retry in case of failure. */ ++ DSL_G997_PMSF_LX_TO_L3_NO_RETRY = 4 + } DSL_G997_PowerManagementStateForce_t; + + /** From 4baf162d832498b791b9c7af7669f49d52b76577 Mon Sep 17 00:00:00 2001 From: Jan Hoffmann Date: Thu, 30 Jan 2025 11:19:30 +0100 Subject: [PATCH 06/26] ltq-vdsl-vr11-app: exit more quickly if orderly shutdown fails On exit, the app tries to do an orderly shutdown of the DSL connection before it is stopped forcibly. Since the driver does 3 attempts with a timeout of 2 seconds each, this might take about 6 seconds in the worst case. This is problematic on sysupgrade, because any process that doesn't exit within 4 seconds is killed. This means that the DSL connection might not be stopped at all before the actual system upgrade begins. To avoid this, use the newly added option in the driver to not retry the L3 request on failure. Signed-off-by: Jan Hoffmann Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250130102108.1606919-3-jan@3e8.eu/ Signed-off-by: Hauke Mehrtens --- package/network/config/ltq-vdsl-vr11-app/Makefile | 2 +- .../config/ltq-vdsl-vr11-app/patches/201-orderly-shutdown.patch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/config/ltq-vdsl-vr11-app/Makefile b/package/network/config/ltq-vdsl-vr11-app/Makefile index f1782db285..2aacbbd785 100644 --- a/package/network/config/ltq-vdsl-vr11-app/Makefile +++ b/package/network/config/ltq-vdsl-vr11-app/Makefile @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ltq-vdsl-vr11-app PKG_VERSION:=4.23.1 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_BASE_NAME:=dsl_cpe_control UGW_VERSION=8.5.2.10 diff --git a/package/network/config/ltq-vdsl-vr11-app/patches/201-orderly-shutdown.patch b/package/network/config/ltq-vdsl-vr11-app/patches/201-orderly-shutdown.patch index eabeaaedcb..201b963fa0 100644 --- a/package/network/config/ltq-vdsl-vr11-app/patches/201-orderly-shutdown.patch +++ b/package/network/config/ltq-vdsl-vr11-app/patches/201-orderly-shutdown.patch @@ -45,7 +45,7 @@ is stopped on exit. { + memset(&sPowerManagementStateForcedTrigger, 0x0, + sizeof(DSL_G997_PowerManagementStateForcedTrigger_t)); -+ sPowerManagementStateForcedTrigger.data.nPowerManagementState = DSL_G997_PMSF_LX_TO_L3; ++ sPowerManagementStateForcedTrigger.data.nPowerManagementState = DSL_G997_PMSF_LX_TO_L3_NO_RETRY; + + nRet = (DSL_Error_t)DSL_CPE_Ioctl( + DSL_CPE_GetGlobalContext()->fd[nDevice], From aba52e092c703023aa35cd9d280e6c56f11851b7 Mon Sep 17 00:00:00 2001 From: Dominick Grift Date: Thu, 16 Jan 2025 10:23:12 +0100 Subject: [PATCH 07/26] selinux-policy: update to version v2.1 Rebased onto dssp5-base. Baseline is: ss, tc, stubby, irqbalance, usbutils, ethtool, tcpdump, mtr, bmon, zram-swap, parted, e2fsprogs, gdisk, block-mount, kmod-fs-ext4, kmod-fs-f2fs, kmod-usb-storage, f2fs-tools-selinux, kmod-usb-storage-uas, kmod-usb3, wireguard-tools, openssh-sftp-server, luci-light, resolveip, blockd Changes since v2.0: 3dcc957 three issues: 434bad8 /new_root related 04d18a5 README armsr combined-efi 506d8c1 /efi is not a thing in armsr combined-efi c0db1ed efivarfs remove these filecons 4eb35b7 adds efivars noseclabelfs for armsr combined-efi bbc6a6b adds /dev/ttyS3 to tty serialtermdev 1467206 README local logins 6ae3185 rename eficapsulemiscnodedev d43ded0 rename to vportserialtermdev a47d2f8 fixes virtio port serialtermdev 03aec70 blockmount: make it a bit more robust 70f1ed3 hotplugcall not sure what config triggers this 3338764 boarddetect: i was expecting this d97548a deal with /dev/tty and /dev/vcs c6ba4a5 adds virtio block device d03e216 adds virtio vport serialtermdev for qemu guest agent 2dc0291 validatefirmwareimage: allow getattr of *all* dev chr files fdfb3a7 adds /dev/efi_capsule_loader for armsr combined target b129fb9 validatefirmwareimage ordering b5e81b4 validatefirmwareimage clean up 0932dc5 README typo fixes a1f88f0 README fix e6c68be README typo fixes a232c21 hvcloginserialtermdev: macro not used d7edd95 support /usr/local and update README c0d2947 validatefirmwareimage comment 7dbc9b3 validatefirmwareimage: allow find to getattr of dev.except char f647175 platformtmpfile: elaborate a bit in comment 52f32c1 reintroduce misc.cil 320d77f validatefirmwareimage: /lib/upgrade/platform.sh 365fc65 deal with /efi for combined images 183b412 adds hvc logserialtermdev 20cd42a sshdsysagent: limited support for legacy scp -O with firmware images 1ccee8d validatefirmwareimages: some events related to "combined" images 9b47fc3 jshn reads /dev/urandom f86def7 adds /tmp/log/apk.log f1247b3 these are relative to the current namespace 32c0cc8 hotplugcall qemu virtio-console-helper 5cc41f5 uclient-fetch for manually downloading sysupgrade related c8140bd cgi-io creates firmware and backup atomically edf517b factoryreset deal with firstboot compatibility f5116b5 pppd: redundant, is implied with shell client type 86be72c updates README 8c08ca1 luci-mod-system: a bit of speculation here 417f4a5 adds /dev/autofs 1ed537c misc.cil: remove 01d014a selinuxsecfile: be more specific 53fca71 rename blockd module b4c9b15 ttyloginserialtermdev: ordering 016c3c1 sysagent traversal of /root is enough d0d7c91 hotplugcall: net/00-sysctl 2821746 adds ttyAMA0 and some incomplete rules for board-detect Run-tested: ilogic-openwrt_one, ipq40xx-generic-linksys_mr8300 Tested-by: Stefan Hellermann Signed-off-by: Dominick Grift Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250116092312.1350223-1-dominick.grift@defensec.nl/ Signed-off-by: Hauke Mehrtens --- package/system/selinux-policy/Makefile | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/package/system/selinux-policy/Makefile b/package/system/selinux-policy/Makefile index 2834e94cc5..8b5e556da3 100644 --- a/package/system/selinux-policy/Makefile +++ b/package/system/selinux-policy/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=selinux-policy PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://git.defensec.nl/selinux-policy.git -PKG_VERSION:=1.2.5 -PKG_MIRROR_HASH:=0b485aefed7ecc1ba3c5f5843cb3b10e9d7c55c09b361cd56933081c0dbdc223 +PKG_VERSION:=2.1 +PKG_MIRROR_HASH:=8ab9f734d2a81c8d396afb4f6783c67d31b76c0334bf8e564eb050f98356655b PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_BUILD_DEPENDS:=secilc/host policycoreutils/host @@ -44,10 +44,14 @@ endef define Package/selinux-policy/install $(INSTALL_DIR) $(1)/etc/selinux/$(PKG_NAME)/contexts/files/ $(INSTALL_DIR) $(1)/etc/selinux/$(PKG_NAME)/policy/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/customizable_types $(1)/etc/selinux/$(PKG_NAME)/contexts/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/file_contexts.subs_dist $(1)/etc/selinux/$(PKG_NAME)/contexts/files/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/file_contexts $(1)/etc/selinux/$(PKG_NAME)/contexts/files/ $(INSTALL_CONF) $(PKG_BUILD_DIR)/policy.* $(1)/etc/selinux/$(PKG_NAME)/policy/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/customizable_types $(1)/etc/selinux/$(PKG_NAME)/contexts/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/default_contexts $(1)/etc/selinux/$(PKG_NAME)/contexts/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/default_type $(1)/etc/selinux/$(PKG_NAME)/contexts/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/failsafe_context $(1)/etc/selinux/$(PKG_NAME)/contexts/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/file_contexts $(1)/etc/selinux/$(PKG_NAME)/contexts/files/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/file_contexts.subs_dist $(1)/etc/selinux/$(PKG_NAME)/contexts/files/ + $(INSTALL_DATA) $(PKG_BUILD_DIR)/seusers $(1)/etc/selinux/$(PKG_NAME)/ $(INSTALL_DATA) ./files/selinux-config $(1)/etc/selinux/config endef From cb5fb841a535848274f2ed6668a426cfc55db876 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 21 Feb 2025 18:20:20 +0100 Subject: [PATCH 08/26] iproute2: update to 6.13 Update iproute2 to 6.13. Release notes: https://lwn.net/ml/all/20250120194053.3744d96b@hermes.local/ Allows us to drop multiple upstreamed patches: package/network/utils/iproute2/patches/013-endian.h.patch package/network/utils/iproute2/patches/014-basename.patch package/network/utils/iproute2/patches/015-limits.h.patch package/network/utils/iproute2/patches/016-limits.h.patch package/network/utils/iproute2/patches/017-linux-limits.patch package/network/utils/iproute2/patches/018-linux-limits.patch Link: https://github.com/openwrt/openwrt/pull/18067 Signed-off-by: Robert Marko --- package/network/utils/iproute2/Makefile | 6 +- .../utils/iproute2/patches/013-endian.h.patch | 22 --- .../utils/iproute2/patches/014-basename.patch | 29 --- .../utils/iproute2/patches/015-limits.h.patch | 84 --------- .../utils/iproute2/patches/016-limits.h.patch | 26 --- .../iproute2/patches/017-linux-limits.patch | 178 ------------------ .../iproute2/patches/018-linux-limits.patch | 37 ---- .../utils/iproute2/patches/170-ip_tiny.patch | 4 +- 8 files changed, 5 insertions(+), 381 deletions(-) delete mode 100644 package/network/utils/iproute2/patches/013-endian.h.patch delete mode 100644 package/network/utils/iproute2/patches/014-basename.patch delete mode 100644 package/network/utils/iproute2/patches/015-limits.h.patch delete mode 100644 package/network/utils/iproute2/patches/016-limits.h.patch delete mode 100644 package/network/utils/iproute2/patches/017-linux-limits.patch delete mode 100644 package/network/utils/iproute2/patches/018-linux-limits.patch diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index ca6793d49b..8cf77b36ab 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.12.0 -PKG_RELEASE:=2 +PKG_VERSION:=6.13.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=bbd141ef7b5d0127cc2152843ba61f274dc32814fa3e0f13e7d07a080bef53d9 +PKG_HASH:=a43aa43338d882b44d01e549f3f105a92ae9feea32a82fae45a88e7a49302819 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/iproute2/patches/013-endian.h.patch b/package/network/utils/iproute2/patches/013-endian.h.patch deleted file mode 100644 index a81c3b5eec..0000000000 --- a/package/network/utils/iproute2/patches/013-endian.h.patch +++ /dev/null @@ -1,22 +0,0 @@ -From c8b3ecc22ed0edaf0259eaf7d1a5c04f300ad6e4 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 11:24:18 -0800 -Subject: [PATCH] libnetlink: add missing endian.h - -Need endian.h to get htobe64 with musl. - -Signed-off-by: Stephen Hemminger ---- - include/libnetlink.h | 1 + - 1 file changed, 1 insertion(+) - ---- a/include/libnetlink.h -+++ b/include/libnetlink.h -@@ -4,6 +4,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/package/network/utils/iproute2/patches/014-basename.patch b/package/network/utils/iproute2/patches/014-basename.patch deleted file mode 100644 index f98238ec65..0000000000 --- a/package/network/utils/iproute2/patches/014-basename.patch +++ /dev/null @@ -1,29 +0,0 @@ -From fa3949b792e275f75d7d6200dc2036ef7fff8816 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 11:21:56 -0800 -Subject: [PATCH] rdma: add missing header for basename - -The function basename prototype is in libgen.h -Fixes build on musl - -Signed-off-by: Stephen Hemminger ---- - rdma/rdma.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/rdma/rdma.h -+++ b/rdma/rdma.h -@@ -10,11 +10,12 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include - #include --#include - #include - - #include "list.h" diff --git a/package/network/utils/iproute2/patches/015-limits.h.patch b/package/network/utils/iproute2/patches/015-limits.h.patch deleted file mode 100644 index e212b88ebd..0000000000 --- a/package/network/utils/iproute2/patches/015-limits.h.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 7e23da91fca6e5dedeb32a7d308cf20982e897c3 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Tue, 10 Dec 2024 13:38:08 -0800 -Subject: [PATCH] ip: rearrange and prune header files - -The recent report of issues with missing limits.h impacting musl -suggested looking at what files are and are not included in ip code. - -The standard practice is to put standard headers first, then system, -then local headers. Used iwyu to get suggestions about missing -and extraneous headers. - -Signed-off-by: Stephen Hemminger ---- - ip/iplink.c | 13 +++++-------- - ip/ipnetns.c | 19 +++++++++---------- - 2 files changed, 14 insertions(+), 18 deletions(-) - ---- a/ip/iplink.c -+++ b/ip/iplink.c -@@ -11,17 +11,14 @@ - #include - #include - #include -+#include -+#include -+#include -+ - #include -+#include - #include --#include - #include --#include --#include --#include --#include --#include --#include --#include - - #include "rt_names.h" - #include "utils.h" ---- a/ip/ipnetns.c -+++ b/ip/ipnetns.c -@@ -1,21 +1,21 @@ - /* SPDX-License-Identifier: GPL-2.0 */ - #define _ATFILE_SOURCE --#include --#include --#include --#include --#include --#include --#include -+ - #include -+#include - #include --#include - #include - #include - #include - #include - #include --#include -+#include -+ -+#include -+#include -+#include -+#include -+#include - - #include - -@@ -23,7 +23,6 @@ - #include "list.h" - #include "ip_common.h" - #include "namespace.h" --#include "json_print.h" - - static int usage(void) - { diff --git a/package/network/utils/iproute2/patches/016-limits.h.patch b/package/network/utils/iproute2/patches/016-limits.h.patch deleted file mode 100644 index c20404f6fd..0000000000 --- a/package/network/utils/iproute2/patches/016-limits.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f982f30e166a02e09097de05129449031ba51f76 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 11:29:44 -0800 -Subject: [PATCH] cg_map: use limits.h - -Prefer limits.h from system headers over linux/limits.h -Fixes build with musl. - -Signed-off-by: Stephen Hemminger ---- - lib/cg_map.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/lib/cg_map.c -+++ b/lib/cg_map.c -@@ -9,8 +9,9 @@ - #include - #include - #include -+#include -+ - #include --#include - #include - - #include "cg_map.h" diff --git a/package/network/utils/iproute2/patches/017-linux-limits.patch b/package/network/utils/iproute2/patches/017-linux-limits.patch deleted file mode 100644 index 0c5d138402..0000000000 --- a/package/network/utils/iproute2/patches/017-linux-limits.patch +++ /dev/null @@ -1,178 +0,0 @@ -From ac547ad027e3d4e283202ecb487cf54707234491 Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 14:15:59 -0800 -Subject: [PATCH] flower: replace XATTR_SIZE_MAX - -The flower tc parser was using XATTR_SIZE_MAX from linux/limits.h, -but this constant is intended to before extended filesystem attributes -not for TC. Replace it with a local define. - -This fixes issue on systems with musl and XATTR_SIZE_MAX is not -defined in limits.h there. - -Signed-off-by: Stephen Hemminger ---- - tc/f_flower.c | 37 ++++++++++++++++++++----------------- - 1 file changed, 20 insertions(+), 17 deletions(-) - ---- a/tc/f_flower.c -+++ b/tc/f_flower.c -@@ -10,7 +10,7 @@ - #include - #include - #include --#include -+ - #include - #include - #include -@@ -22,6 +22,9 @@ - #include "tc_util.h" - #include "rt_names.h" - -+/* maximum length of options string */ -+#define FLOWER_OPTS_MAX 4096 -+ - #ifndef IPPROTO_L2TP - #define IPPROTO_L2TP 115 - #endif -@@ -1252,7 +1255,7 @@ static int flower_check_enc_opt_key(char - - static int flower_parse_enc_opts_geneve(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - int data_len, key_len, mask_len, err; - char *token, *slash; - struct rtattr *nest; -@@ -1265,7 +1268,7 @@ static int flower_parse_enc_opts_geneve( - if (slash) - *slash = '\0'; - -- if ((key_len + strlen(token) > XATTR_SIZE_MAX) || -+ if ((key_len + strlen(token) > FLOWER_OPTS_MAX) || - flower_check_enc_opt_key(token)) - return -1; - -@@ -1275,7 +1278,7 @@ static int flower_parse_enc_opts_geneve( - - if (!slash) { - /* Pad out mask when not provided */ -- if (mask_len + strlen(token) > XATTR_SIZE_MAX) -+ if (mask_len + strlen(token) > FLOWER_OPTS_MAX) - return -1; - - data_len = strlen(rindex(token, ':')); -@@ -1288,7 +1291,7 @@ static int flower_parse_enc_opts_geneve( - continue; - } - -- if (mask_len + strlen(slash + 1) > XATTR_SIZE_MAX) -+ if (mask_len + strlen(slash + 1) > FLOWER_OPTS_MAX) - return -1; - - strcpy(&mask[mask_len], slash + 1); -@@ -1318,7 +1321,7 @@ static int flower_parse_enc_opts_geneve( - - static int flower_parse_enc_opts_vxlan(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1326,14 +1329,14 @@ static int flower_parse_enc_opts_vxlan(c - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else { - strcpy(mask, "0xffffffff"); - } - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - -@@ -1355,7 +1358,7 @@ static int flower_parse_enc_opts_vxlan(c - - static int flower_parse_enc_opts_erspan(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1364,7 +1367,7 @@ static int flower_parse_enc_opts_erspan( - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else { -@@ -1376,7 +1379,7 @@ static int flower_parse_enc_opts_erspan( - strcpy(mask + index, ":0xffffffff:0xff:0xff"); - } - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - -@@ -1398,7 +1401,7 @@ static int flower_parse_enc_opts_erspan( - - static int flower_parse_enc_opts_gtp(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1406,13 +1409,13 @@ static int flower_parse_enc_opts_gtp(cha - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else - strcpy(mask, "ff:ff"); - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - -@@ -1433,7 +1436,7 @@ static int flower_parse_enc_opts_gtp(cha - - static int flower_parse_enc_opts_pfcp(char *str, struct nlmsghdr *n) - { -- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; -+ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; - struct rtattr *nest; - char *slash; - int err; -@@ -1442,14 +1445,14 @@ static int flower_parse_enc_opts_pfcp(ch - slash = strchr(str, '/'); - if (slash) { - *slash++ = '\0'; -- if (strlen(slash) > XATTR_SIZE_MAX) -+ if (strlen(slash) > FLOWER_OPTS_MAX) - return -1; - strcpy(mask, slash); - } else { - strcpy(mask, "ff:ffffffffffffffff"); - } - -- if (strlen(str) > XATTR_SIZE_MAX) -+ if (strlen(str) > FLOWER_OPTS_MAX) - return -1; - strcpy(key, str); - diff --git a/package/network/utils/iproute2/patches/018-linux-limits.patch b/package/network/utils/iproute2/patches/018-linux-limits.patch deleted file mode 100644 index 8c2669acd9..0000000000 --- a/package/network/utils/iproute2/patches/018-linux-limits.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 458dce5d0431f0589aca1bc841904b5d1db3bbce Mon Sep 17 00:00:00 2001 -From: Stephen Hemminger -Date: Thu, 12 Dec 2024 14:18:35 -0800 -Subject: [PATCH] uapi: remove no longer used linux/limits.h - -Code is now using limits.h instead. - -Signed-off-by: Stephen Hemminger ---- - include/uapi/linux/limits.h | 21 --------------------- - 1 file changed, 21 deletions(-) - delete mode 100644 include/uapi/linux/limits.h - ---- a/include/uapi/linux/limits.h -+++ /dev/null -@@ -1,21 +0,0 @@ --/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ --#ifndef _LINUX_LIMITS_H --#define _LINUX_LIMITS_H -- --#define NR_OPEN 1024 -- --#define NGROUPS_MAX 65536 /* supplemental group IDs are available */ --#define ARG_MAX 131072 /* # bytes of args + environ for exec() */ --#define LINK_MAX 127 /* # links a file may have */ --#define MAX_CANON 255 /* size of the canonical input queue */ --#define MAX_INPUT 255 /* size of the type-ahead buffer */ --#define NAME_MAX 255 /* # chars in a file name */ --#define PATH_MAX 4096 /* # chars in a path name including nul */ --#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ --#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ --#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ --#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ -- --#define RTSIG_MAX 32 -- --#endif diff --git a/package/network/utils/iproute2/patches/170-ip_tiny.patch b/package/network/utils/iproute2/patches/170-ip_tiny.patch index 149bcd2afc..fb95550630 100644 --- a/package/network/utils/iproute2/patches/170-ip_tiny.patch +++ b/package/network/utils/iproute2/patches/170-ip_tiny.patch @@ -25,7 +25,7 @@ sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ --- a/ip/ip.c +++ b/ip/ip.c -@@ -61,11 +61,17 @@ static void usage(void) +@@ -59,11 +59,17 @@ static void usage(void) fprintf(stderr, "Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n" " ip [ -force ] -batch filename\n" @@ -43,7 +43,7 @@ " OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n" " -h[uman-readable] | -iec | -j[son] | -p[retty] |\n" " -f[amily] { inet | inet6 | mpls | bridge | link } |\n" -@@ -88,37 +94,49 @@ static const struct cmd { +@@ -86,37 +92,49 @@ static const struct cmd { int (*func)(int argc, char **argv); } cmds[] = { { "address", do_ipaddr }, From ce67f0844987a9c3aac2ed510de9ddaaa1ed612f Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Fri, 21 Feb 2025 21:12:23 +0800 Subject: [PATCH 09/26] tools: zstd: update to 1.5.7 This new version has some performance enhancements. Changelog: https://github.com/facebook/zstd/releases/tag/v1.5.7 Upstreamed patch: 001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch[1] [1] https://github.com/facebook/zstd/commit/f1f1ae369a4cefd3474b3528e8d1847b18750605 Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/18064 Signed-off-by: Robert Marko --- tools/zstd/Makefile | 4 +- ...pkg-config-file-for-multi-threaded-s.patch | 126 ------------------ 2 files changed, 2 insertions(+), 128 deletions(-) delete mode 100644 tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch diff --git a/tools/zstd/Makefile b/tools/zstd/Makefile index e1d36c59cf..88a961f323 100644 --- a/tools/zstd/Makefile +++ b/tools/zstd/Makefile @@ -1,11 +1,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=zstd -PKG_VERSION:=1.5.6 +PKG_VERSION:=1.5.7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/facebook/zstd/releases/download/v$(PKG_VERSION) -PKG_HASH:=8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1 +PKG_HASH:=eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch b/tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch deleted file mode 100644 index 1bbcaf4c8a..0000000000 --- a/tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch +++ /dev/null @@ -1,126 +0,0 @@ -From f1f1ae369a4cefd3474b3528e8d1847b18750605 Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Sat, 6 Apr 2024 14:41:54 +0200 -Subject: [PATCH] Provide variant pkg-config file for multi-threaded static lib - -Multi-threaded static library require -pthread to correctly link and works. -The pkg-config we provide tho only works with dynamic multi-threaded library -and won't provide the correct libs and cflags values if lib-mt is used. - -To handle this, introduce an env variable MT to permit advanced user to -install and generate a correct pkg-config file for lib-mt or detect if -lib-mt target is called. - -With MT env set on calling make install-pc, libzstd.pc.in is a -pkg-config file for a multi-threaded static library. - -On calling make lib-mt, a libzstd.pc is generated for a multi-threaded -static library as it's what asked by the user by forcing it. - -libzstd.pc is changed to PHONY to force regeneration of it on calling -lib targets or install-pc to handle case where the same directory is -used for mixed compilation. - -This was notice while migrating from meson to make build system where -meson generates a correct .pc file while make doesn't. - -Signed-off-by: Christian Marangi ---- - lib/Makefile | 20 +++++++++++++++++++- - lib/README.md | 4 ++++ - lib/libzstd.pc.in | 4 ++-- - 3 files changed, 25 insertions(+), 3 deletions(-) - ---- a/lib/Makefile -+++ b/lib/Makefile -@@ -63,6 +63,8 @@ CPPFLAGS_DYNLIB += -DZSTD_MULTITHREAD # - LDFLAGS_DYNLIB += -pthread - CPPFLAGS_STATICLIB += # static library build defaults to single-threaded - -+# pkg-config Libs.private points to LDFLAGS_DYNLIB -+PCLIB := $(LDFLAGS_DYNLIB) - - ifeq ($(findstring GCC,$(CCVER)),GCC) - decompress/zstd_decompress_block.o : CFLAGS+=-fno-tree-vectorize -@@ -186,12 +188,15 @@ lib : libzstd.a libzstd - %-mt : CPPFLAGS_DYNLIB := -DZSTD_MULTITHREAD - %-mt : CPPFLAGS_STATICLIB := -DZSTD_MULTITHREAD - %-mt : LDFLAGS_DYNLIB := -pthread -+%-mt : PCLIB := -+%-mt : PCMTLIB := $(LDFLAGS_DYNLIB) - %-mt : % - @echo multi-threaded build completed - - %-nomt : CPPFLAGS_DYNLIB := - %-nomt : LDFLAGS_DYNLIB := - %-nomt : CPPFLAGS_STATICLIB := -+%-nomt : PCLIB := - %-nomt : % - @echo single-threaded build completed - -@@ -292,6 +297,14 @@ PCLIBPREFIX := $(if $(findstring $(LIBDI - # to PREFIX, rather than as a resolved value. - PCEXEC_PREFIX := $(if $(HAS_EXPLICIT_EXEC_PREFIX),$(EXEC_PREFIX),$${prefix}) - -+ -+ifneq ($(MT),) -+ PCLIB := -+ PCMTLIB := $(LDFLAGS_DYNLIB) -+else -+ PCLIB := $(LDFLAGS_DYNLIB) -+endif -+ - ifneq (,$(filter $(UNAME),FreeBSD NetBSD DragonFly)) - PKGCONFIGDIR ?= $(PREFIX)/libdata/pkgconfig - else -@@ -308,6 +321,10 @@ INSTALL_PROGRAM ?= $(INSTALL) - INSTALL_DATA ?= $(INSTALL) -m 644 - - -+# pkg-config library define. -+# For static single-threaded library declare -pthread in Libs.private -+# For static multi-threaded library declare -pthread in Libs and Cflags -+.PHONY: libzstd.pc - libzstd.pc: libzstd.pc.in - @echo creating pkgconfig - @sed \ -@@ -316,7 +333,8 @@ libzstd.pc: libzstd.pc.in - -e 's|@INCLUDEDIR@|$(PCINCPREFIX)$(PCINCDIR)|' \ - -e 's|@LIBDIR@|$(PCLIBPREFIX)$(PCLIBDIR)|' \ - -e 's|@VERSION@|$(VERSION)|' \ -- -e 's|@LIBS_PRIVATE@|$(LDFLAGS_DYNLIB)|' \ -+ -e 's|@LIBS_MT@|$(PCMTLIB)|' \ -+ -e 's|@LIBS_PRIVATE@|$(PCLIB)|' \ - $< >$@ - - .PHONY: install ---- a/lib/README.md -+++ b/lib/README.md -@@ -27,12 +27,16 @@ Enabling multithreading requires 2 condi - - For convenience, we provide a build target to generate multi and single threaded libraries: - - Force enable multithreading on both dynamic and static libraries by appending `-mt` to the target, e.g. `make lib-mt`. -+ Note that the `.pc` generated on calling `make lib-mt` will already include the require Libs and Cflags. - - Force disable multithreading on both dynamic and static libraries by appending `-nomt` to the target, e.g. `make lib-nomt`. - - By default, as mentioned before, dynamic library is multithreaded, and static library is single-threaded, e.g. `make lib`. - - When linking a POSIX program with a multithreaded version of `libzstd`, - note that it's necessary to invoke the `-pthread` flag during link stage. - -+The `.pc` generated from `make install` or `make install-pc` always assume a single-threaded static library -+is compiled. To correctly generate a `.pc` for the multi-threaded static library, set `MT=1` as ENV variable. -+ - Multithreading capabilities are exposed - via the [advanced API defined in `lib/zstd.h`](https://github.com/facebook/zstd/blob/v1.4.3/lib/zstd.h#L351). - ---- a/lib/libzstd.pc.in -+++ b/lib/libzstd.pc.in -@@ -11,6 +11,6 @@ Name: zstd - Description: fast lossless compression algorithm library - URL: https://facebook.github.io/zstd/ - Version: @VERSION@ --Libs: -L${libdir} -lzstd -+Libs: -L${libdir} -lzstd @LIBS_MT@ - Libs.private: @LIBS_PRIVATE@ --Cflags: -I${includedir} -+Cflags: -I${includedir} @LIBS_MT@ From d664d7466958d3c70e1be9258280d39825ba9ba8 Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 21 Feb 2025 09:14:57 -0500 Subject: [PATCH 10/26] kernel: bump 6.6 to 6.6.79 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.79 Manually rebased: ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch All other patches automatically rebased. Build system: x86/64 Build-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Run-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/18066 Signed-off-by: Nick Hainke --- include/kernel-6.6 | 4 ++-- .../105-uart-add-en7523-support.patch | 2 +- ...roup-Disable-cgroup-memory-by-default.patch | 8 ++++---- .../950-0087-Add-dwc_otg-driver.patch | 2 +- ...el-command-line-to-disable-memory-cgr.patch | 8 ++++---- ...e-kernel-command-line-to-disable-memo.patch | 2 +- ...cklog-NAPI-to-clean-up-the-defer_list.patch | 2 +- ...t-create-a-dummy-net_device-allocator.patch | 2 +- .../780-usb-net-MeigLink_modem_support.patch | 4 ++-- ...ing-with-source-address-failed-policy.patch | 18 +++++++++--------- .../811-pci_disable_usb_common_quirks.patch | 2 +- .../patches-6.6/410-bt-mtk-serial-fix.patch | 2 +- .../810-uvc-add-iPassion-iP2970-support.patch | 18 +++++++++--------- ...itialize-pad-delay-and-drive-strength.patch | 8 ++++---- ...rt-8250-Add-dw-auto-flow-ctrl-support.patch | 2 +- 15 files changed, 42 insertions(+), 42 deletions(-) diff --git a/include/kernel-6.6 b/include/kernel-6.6 index a22eb0f6f9..2e70a47f1d 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .78 -LINUX_KERNEL_HASH-6.6.78 = 5aa39a9bd555133ad741058f9908a277e6b36bb928481e747d885b50aaaa93ed +LINUX_VERSION-6.6 = .79 +LINUX_KERNEL_HASH-6.6.79 = 07a6f904470da1a099aa1683e3025a999dd82f2438f78b006b80c6ae2e9dfe8d diff --git a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch index 80b6550be3..80723bd5af 100644 --- a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch +++ b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch @@ -122,7 +122,7 @@ }; /* Uart divisor latch read */ -@@ -2881,6 +2889,12 @@ serial8250_do_set_termios(struct uart_po +@@ -2889,6 +2897,12 @@ serial8250_do_set_termios(struct uart_po serial8250_set_divisor(port, baud, quot, frac); diff --git a/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch index 5f2d80b697..5600e85734 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -6063,6 +6063,9 @@ int __init cgroup_init_early(void) +@@ -6059,6 +6059,9 @@ int __init cgroup_init_early(void) return 0; } @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /** * cgroup_init - cgroup initialization * -@@ -6096,6 +6099,12 @@ int __init cgroup_init(void) +@@ -6092,6 +6095,12 @@ int __init cgroup_init(void) cgroup_unlock(); @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6736,6 +6745,10 @@ static int __init cgroup_disable(char *s +@@ -6740,6 +6749,10 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6754,6 +6767,31 @@ static int __init cgroup_disable(char *s +@@ -6758,6 +6771,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch index 3da9f4230b..82e969138e 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch @@ -1189,7 +1189,7 @@ Signed-off-by: Alexander Winkowski } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5712,7 +5712,7 @@ static void port_event(struct usb_hub *h +@@ -5722,7 +5722,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); diff --git a/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch b/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch index 61dec89382..b1ceaad71d 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch @@ -148,7 +148,7 @@ Signed-off-by: Maíra Canal --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -6063,9 +6063,6 @@ int __init cgroup_init_early(void) +@@ -6059,9 +6059,6 @@ int __init cgroup_init_early(void) return 0; } @@ -158,7 +158,7 @@ Signed-off-by: Maíra Canal /** * cgroup_init - cgroup initialization * -@@ -6099,12 +6096,6 @@ int __init cgroup_init(void) +@@ -6095,12 +6092,6 @@ int __init cgroup_init(void) cgroup_unlock(); @@ -171,7 +171,7 @@ Signed-off-by: Maíra Canal for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6745,10 +6736,6 @@ static int __init cgroup_disable(char *s +@@ -6749,10 +6740,6 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -182,7 +182,7 @@ Signed-off-by: Maíra Canal static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6782,7 +6769,7 @@ static int __init cgroup_enable(char *st +@@ -6786,7 +6773,7 @@ static int __init cgroup_enable(char *st strcmp(token, ss->legacy_name)) continue; diff --git a/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch b/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch index 8c4a1c3a3e..b3a73945f6 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -6769,11 +6769,19 @@ static int __init cgroup_enable(char *st +@@ -6773,11 +6773,19 @@ static int __init cgroup_enable(char *st strcmp(token, ss->legacy_name)) continue; diff --git a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch index 82b83552d3..9af345002a 100644 --- a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch +++ b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch @@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -3300,6 +3300,7 @@ static inline void dev_xmit_recursion_de +@@ -3306,6 +3306,7 @@ static inline void dev_xmit_recursion_de __this_cpu_dec(softnet_data.xmit.recursion); } diff --git a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch index c6718c8e22..8b562a0f61 100644 --- a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch +++ b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch @@ -37,7 +37,7 @@ Signed-off-by: David S. Miller --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -4561,6 +4561,9 @@ static inline void netif_addr_unlock_bh( +@@ -4567,6 +4567,9 @@ static inline void netif_addr_unlock_bh( void ether_setup(struct net_device *dev); diff --git a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch index 222633058a..bbd73b1e60 100644 --- a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch @@ -44,7 +44,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1162,6 +1167,11 @@ static const struct usb_device_id option +@@ -1153,6 +1158,11 @@ static const struct usb_device_id option { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, @@ -56,7 +56,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), -@@ -1203,6 +1213,11 @@ static const struct usb_device_id option +@@ -1194,6 +1204,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index e239d20409..9b76c82a6f 100644 --- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -4546,6 +4565,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -4551,6 +4570,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -5037,7 +5067,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -5042,7 +5072,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6299,6 +6330,8 @@ static int ip6_route_dev_notify(struct n +@@ -6304,6 +6335,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6310,6 +6343,7 @@ static int ip6_route_dev_notify(struct n +@@ -6315,6 +6348,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6510,6 +6544,8 @@ static int __net_init ip6_route_net_init +@@ -6515,6 +6549,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6520,11 +6556,21 @@ static int __net_init ip6_route_net_init +@@ -6525,11 +6561,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6551,6 +6597,8 @@ out: +@@ -6556,6 +6602,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6570,6 +6618,7 @@ static void __net_exit ip6_route_net_exi +@@ -6575,6 +6623,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6653,6 +6702,9 @@ void __init ip6_route_init_special_entri +@@ -6658,6 +6707,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch index e91d1ef6b2..7ac5347031 100644 --- a/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -1283,3 +1298,4 @@ static void quirk_usb_early_handoff(stru +@@ -1292,3 +1307,4 @@ static void quirk_usb_early_handoff(stru } DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff); diff --git a/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch index 206dad7f23..1a67286e61 100644 --- a/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2775,6 +2775,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2783,6 +2783,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0; diff --git a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch index dc4f2ecd9a..56b638aa36 100644 --- a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -3269,6 +3269,18 @@ static const struct usb_device_id uvc_id +@@ -3287,6 +3287,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, @@ -62,9 +62,9 @@ Signed-off-by: John Crispin +#include +#include + #include #include - -@@ -1296,9 +1301,149 @@ static void uvc_video_decode_data(struct +@@ -1321,9 +1326,149 @@ static void uvc_video_decode_data(struct uvc_urb->async_operations++; } @@ -214,7 +214,7 @@ Signed-off-by: John Crispin /* Mark the buffer as done if the EOF marker is set. */ if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n"); -@@ -1880,6 +2025,8 @@ static int uvc_init_video_isoc(struct uv +@@ -1905,6 +2050,8 @@ static int uvc_init_video_isoc(struct uv if (npackets == 0) return -ENOMEM; @@ -225,16 +225,16 @@ Signed-off-by: John Crispin for_each_uvc_urb(uvc_urb, stream) { --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h -@@ -76,6 +76,8 @@ - #define UVC_QUIRK_NO_RESET_RESUME 0x00004000 +@@ -77,6 +77,8 @@ #define UVC_QUIRK_DISABLE_AUTOSUSPEND 0x00008000 #define UVC_QUIRK_INVALID_DEVICE_SOF 0x00010000 -+#define UVC_QUIRK_MOTION 0x00020000 -+#define UVC_QUIRK_SINGLE_ISO 0x00040000 + #define UVC_QUIRK_MJPEG_NO_EOF 0x00020000 ++#define UVC_QUIRK_MOTION 0x00040000 ++#define UVC_QUIRK_SINGLE_ISO 0x00080000 /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 -@@ -586,6 +588,7 @@ struct uvc_device { +@@ -587,6 +589,7 @@ struct uvc_device { struct input_dev *input; char input_phys[64]; diff --git a/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch b/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch index c3d13932ef..7fd7b3af43 100644 --- a/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch +++ b/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch @@ -22,7 +22,7 @@ Signed-off-by: Shiji Yang #define PAD_DS_TUNE 0x188 #define PAD_CMD_TUNE 0x18c #define EMMC51_CFG0 0x204 -@@ -400,6 +404,7 @@ struct mtk_mmc_compatible { +@@ -402,6 +406,7 @@ struct mtk_mmc_compatible { bool enhance_rx; bool support_64g; bool use_internal_cd; @@ -30,7 +30,7 @@ Signed-off-by: Shiji Yang }; struct msdc_tune_para { -@@ -537,6 +542,7 @@ static const struct mtk_mmc_compatible m +@@ -539,6 +544,7 @@ static const struct mtk_mmc_compatible m .stop_clk_fix = false, .enhance_rx = false, .use_internal_cd = true, @@ -38,7 +38,7 @@ Signed-off-by: Shiji Yang }; static const struct mtk_mmc_compatible mt7622_compat = { -@@ -1729,9 +1735,11 @@ static void msdc_init_hw(struct msdc_hos +@@ -1731,9 +1737,11 @@ static void msdc_init_hw(struct msdc_hos } writel(0, host->base + MSDC_IOCON); sdr_set_field(host->base + MSDC_IOCON, MSDC_IOCON_DDLSEL, 0); @@ -53,7 +53,7 @@ Signed-off-by: Shiji Yang sdr_set_bits(host->base + EMMC50_CFG0, EMMC50_CFG_CFCSTS_SEL); if (host->dev_comp->stop_clk_fix) { -@@ -1795,6 +1803,18 @@ static void msdc_init_hw(struct msdc_hos +@@ -1797,6 +1805,18 @@ static void msdc_init_hw(struct msdc_hos MSDC_PAD_TUNE_RXDLYSEL); } diff --git a/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch b/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch index ec6130b7ce..4fd92a46dc 100644 --- a/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch +++ b/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch @@ -67,7 +67,7 @@ Signed-off-by: Minda Chen } /* -@@ -2814,7 +2827,6 @@ serial8250_do_set_termios(struct uart_po +@@ -2822,7 +2835,6 @@ serial8250_do_set_termios(struct uart_po if (termios->c_cflag & CRTSCTS) up->mcr |= UART_MCR_AFE; } From 3ffe54a1e19fa0f26c158e8fc7d2af2b8e409ba4 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Fri, 21 Feb 2025 21:18:22 +0800 Subject: [PATCH 11/26] tools: xz: update to 5.6.4 The serious liblzma backdoor vulnerability (CVE-2024-3094) has been fixed since v5.6.2. It's time to bump this tool to the latest version. This patch also added a new GitHub package URL. Changelogs: https://github.com/tukaani-project/xz/releases/tag/v5.6.2 https://github.com/tukaani-project/xz/releases/tag/v5.6.3 https://github.com/tukaani-project/xz/releases/tag/v5.6.4 Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/18063 Signed-off-by: Nick Hainke --- tools/xz/Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/xz/Makefile b/tools/xz/Makefile index a90cec86bf..97a47041d2 100644 --- a/tools/xz/Makefile +++ b/tools/xz/Makefile @@ -7,12 +7,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xz -PKG_VERSION:=5.4.6 +PKG_VERSION:=5.6.4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=@SF/lzmautils \ +PKG_SOURCE_URL:=https://github.com/tukaani-project/xz/releases/download/v$(PKG_VERSION) \ + @SF/lzmautils \ http://tukaani.org/xz -PKG_HASH:=913851b274e8e1d31781ec949f1c23e8dbcf0ecf6e73a2436dc21769dd3e6f49 +PKG_HASH:=176d510c30d80a23b8050bbc048f2ecaacb823ae48b6821727ed6591f0df9200 PKG_CPE_ID:=cpe:/a:tukaani:xz HOST_BUILD_PARALLEL:=1 From 8b3c845835a02677cc6bf0e225752406a569b8d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= Date: Sat, 22 Feb 2025 11:11:20 +0100 Subject: [PATCH 12/26] realtek: ONTi ONT-S508CL-8S is a relabeled XikeStor SKS8300-8X MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both hardware and firmware of these devices appears identical except for the manufacturers logo and device name. The documented XikeStor SKS8300-8X installation method is verified to work on the ONTi ONT-S508CL-8S using Openwrt images made for the XikeStor SKS8300-8X. This includes the OEM boot loader magic password phrases. Signed-off-by: Bjørn Mork Link: https://github.com/openwrt/openwrt/pull/18071 Signed-off-by: Sander Vanheule --- target/linux/realtek/image/rtl930x.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/realtek/image/rtl930x.mk b/target/linux/realtek/image/rtl930x.mk index 8aff7d52f6..50c7249435 100644 --- a/target/linux/realtek/image/rtl930x.mk +++ b/target/linux/realtek/image/rtl930x.mk @@ -9,6 +9,8 @@ define Device/xikestor_sks8300-8x SOC := rtl9303 DEVICE_VENDOR := XikeStor DEVICE_MODEL := SKS8300-8X + DEVICE_ALT0_VENDOR := ONTi + DEVICE_ALT0_MODEL := ONT-S508CL-8S BLOCKSIZE := 64k KERNEL_SIZE := 8192k IMAGE_SIZE := 30720k From f4f0a847a43498ae203daf247b6c48333b360414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Tue, 9 Apr 2024 18:57:58 +0200 Subject: [PATCH 13/26] kernel: modules: bluetooth: creating a new Bluetooth menu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move Bluetooth modules to new Bluetooth menu from Other menu. Signed-off-by: Paweł Owoc Link: https://github.com/openwrt/openwrt/pull/15118 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/bluetooth.mk | 121 ++++++++++++++++++++++ package/kernel/linux/modules/other.mk | 114 -------------------- 2 files changed, 121 insertions(+), 114 deletions(-) create mode 100644 package/kernel/linux/modules/bluetooth.mk diff --git a/package/kernel/linux/modules/bluetooth.mk b/package/kernel/linux/modules/bluetooth.mk new file mode 100644 index 0000000000..52827e76a4 --- /dev/null +++ b/package/kernel/linux/modules/bluetooth.mk @@ -0,0 +1,121 @@ +# +# Copyright (C) 2006-2025 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +BLUETOOTH_MENU:=Bluetooth Support + +define KernelPackage/bluetooth + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=Bluetooth support + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh + KCONFIG:= \ + CONFIG_BT \ + CONFIG_BT_BREDR=y \ + CONFIG_BT_DEBUGFS=n \ + CONFIG_BT_LE=y \ + CONFIG_BT_RFCOMM \ + CONFIG_BT_BNEP \ + CONFIG_BT_HCIBTUSB \ + CONFIG_BT_HCIBTUSB_BCM=n \ + CONFIG_BT_HCIBTUSB_MTK=y \ + CONFIG_BT_HCIBTUSB_RTL=y \ + CONFIG_BT_HCIUART \ + CONFIG_BT_HCIUART_BCM=n \ + CONFIG_BT_HCIUART_INTEL=n \ + CONFIG_BT_HCIUART_H4 \ + CONFIG_BT_HCIUART_NOKIA=n \ + CONFIG_BT_HIDP + $(call AddDepends/rfkill) + FILES:= \ + $(LINUX_DIR)/net/bluetooth/bluetooth.ko \ + $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \ + $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \ + $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \ + $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \ + $(LINUX_DIR)/drivers/bluetooth/btusb.ko \ + $(LINUX_DIR)/drivers/bluetooth/btintel.ko \ + $(LINUX_DIR)/drivers/bluetooth/btrtl.ko \ + $(LINUX_DIR)/drivers/bluetooth/btmtk.ko + AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb) +endef + +define KernelPackage/bluetooth/description + Kernel support for Bluetooth devices +endef + +$(eval $(call KernelPackage,bluetooth)) + +define KernelPackage/ath3k + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=ATH3K Kernel Module support + DEPENDS:=+kmod-bluetooth +ar3k-firmware + KCONFIG:= \ + CONFIG_BT_ATH3K \ + CONFIG_BT_HCIUART_ATH3K=y + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/ath3k.ko + AUTOLOAD:=$(call AutoProbe,ath3k) +endef + +define KernelPackage/ath3k/description + Kernel support for ATH3K Module +endef + +$(eval $(call KernelPackage,ath3k)) + + +define KernelPackage/bluetooth-6lowpan + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=Bluetooth 6LoWPAN support + DEPENDS:=+kmod-6lowpan +kmod-bluetooth + KCONFIG:=CONFIG_BT_6LOWPAN + FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko + AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan) +endef + +define KernelPackage/bluetooth-6lowpan/description + Kernel support for 6LoWPAN over Bluetooth Low Energy devices +endef + +$(eval $(call KernelPackage,bluetooth-6lowpan)) + + +define KernelPackage/btmrvl + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=Marvell Bluetooth Kernel Module support + DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware + KCONFIG:= \ + CONFIG_BT_MRVL \ + CONFIG_BT_MRVL_SDIO + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \ + $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko + AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio) +endef + +define KernelPackage/btmrvl/description + Kernel support for Marvell SDIO Bluetooth Module +endef + +$(eval $(call KernelPackage,btmrvl)) + + +define KernelPackage/btsdio + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=Bluetooth HCI SDIO driver + DEPENDS:=+kmod-bluetooth +kmod-mmc + KCONFIG:= \ + CONFIG_BT_HCIBTSDIO + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/btsdio.ko + AUTOLOAD:=$(call AutoProbe,btsdio) +endef + +define KernelPackage/btsdio/description + Kernel support for Bluetooth device with SDIO interface +endef + +$(eval $(call KernelPackage,btsdio)) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 7b64985fd6..35e442aa24 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -27,120 +27,6 @@ endef $(eval $(call KernelPackage,6lowpan)) -define KernelPackage/bluetooth - SUBMENU:=$(OTHER_MENU) - TITLE:=Bluetooth support - DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh - KCONFIG:= \ - CONFIG_BT \ - CONFIG_BT_BREDR=y \ - CONFIG_BT_DEBUGFS=n \ - CONFIG_BT_LE=y \ - CONFIG_BT_RFCOMM \ - CONFIG_BT_BNEP \ - CONFIG_BT_HCIBTUSB \ - CONFIG_BT_HCIBTUSB_BCM=n \ - CONFIG_BT_HCIBTUSB_MTK=y \ - CONFIG_BT_HCIBTUSB_RTL=y \ - CONFIG_BT_HCIUART \ - CONFIG_BT_HCIUART_BCM=n \ - CONFIG_BT_HCIUART_INTEL=n \ - CONFIG_BT_HCIUART_H4 \ - CONFIG_BT_HCIUART_NOKIA=n \ - CONFIG_BT_HIDP - $(call AddDepends/rfkill) - FILES:= \ - $(LINUX_DIR)/net/bluetooth/bluetooth.ko \ - $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \ - $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \ - $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \ - $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \ - $(LINUX_DIR)/drivers/bluetooth/btusb.ko \ - $(LINUX_DIR)/drivers/bluetooth/btintel.ko \ - $(LINUX_DIR)/drivers/bluetooth/btrtl.ko \ - $(LINUX_DIR)/drivers/bluetooth/btmtk.ko - AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb) -endef - -define KernelPackage/bluetooth/description - Kernel support for Bluetooth devices -endef - -$(eval $(call KernelPackage,bluetooth)) - -define KernelPackage/ath3k - SUBMENU:=$(OTHER_MENU) - TITLE:=ATH3K Kernel Module support - DEPENDS:=+kmod-bluetooth +ar3k-firmware - KCONFIG:= \ - CONFIG_BT_ATH3K \ - CONFIG_BT_HCIUART_ATH3K=y - FILES:= \ - $(LINUX_DIR)/drivers/bluetooth/ath3k.ko - AUTOLOAD:=$(call AutoProbe,ath3k) -endef - -define KernelPackage/ath3k/description - Kernel support for ATH3K Module -endef - -$(eval $(call KernelPackage,ath3k)) - - -define KernelPackage/bluetooth-6lowpan - SUBMENU:=$(OTHER_MENU) - TITLE:=Bluetooth 6LoWPAN support - DEPENDS:=+kmod-6lowpan +kmod-bluetooth - KCONFIG:=CONFIG_BT_6LOWPAN - FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko - AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan) -endef - -define KernelPackage/bluetooth-6lowpan/description - Kernel support for 6LoWPAN over Bluetooth Low Energy devices -endef - -$(eval $(call KernelPackage,bluetooth-6lowpan)) - - -define KernelPackage/btmrvl - SUBMENU:=$(OTHER_MENU) - TITLE:=Marvell Bluetooth Kernel Module support - DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware - KCONFIG:= \ - CONFIG_BT_MRVL \ - CONFIG_BT_MRVL_SDIO - FILES:= \ - $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \ - $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko - AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio) -endef - -define KernelPackage/btmrvl/description - Kernel support for Marvell SDIO Bluetooth Module -endef - -$(eval $(call KernelPackage,btmrvl)) - - -define KernelPackage/btsdio - SUBMENU:=$(OTHER_MENU) - TITLE:=Bluetooth HCI SDIO driver - DEPENDS:=+kmod-bluetooth +kmod-mmc - KCONFIG:= \ - CONFIG_BT_HCIBTSDIO - FILES:= \ - $(LINUX_DIR)/drivers/bluetooth/btsdio.ko - AUTOLOAD:=$(call AutoProbe,btsdio) -endef - -define KernelPackage/btsdio/description - Kernel support for Bluetooth device with SDIO interface -endef - -$(eval $(call KernelPackage,btsdio)) - - define KernelPackage/dma-buf SUBMENU:=$(OTHER_MENU) TITLE:=DMA shared buffer support From 1c42a0be3619e0cab7265996a424a5adfd537fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Sat, 4 Jan 2025 22:48:01 +0100 Subject: [PATCH 14/26] kernel: modules: bluetooth: separating UART and USB drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not all devices need Bluetooth UART and USB drivers to be installed together. Three separate drivers have been created: - kmod-bluetooth - kmod-hci-uart - kmod-btusb Signed-off-by: Paweł Owoc Link: https://github.com/openwrt/openwrt/pull/15118 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/bluetooth.mk | 69 +++++++++++++++++------ 1 file changed, 51 insertions(+), 18 deletions(-) diff --git a/package/kernel/linux/modules/bluetooth.mk b/package/kernel/linux/modules/bluetooth.mk index 52827e76a4..a498c31e0b 100644 --- a/package/kernel/linux/modules/bluetooth.mk +++ b/package/kernel/linux/modules/bluetooth.mk @@ -10,7 +10,7 @@ BLUETOOTH_MENU:=Bluetooth Support define KernelPackage/bluetooth SUBMENU:=$(BLUETOOTH_MENU) TITLE:=Bluetooth support - DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh + DEPENDS:=+kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh KCONFIG:= \ CONFIG_BT \ CONFIG_BT_BREDR=y \ @@ -18,28 +18,14 @@ define KernelPackage/bluetooth CONFIG_BT_LE=y \ CONFIG_BT_RFCOMM \ CONFIG_BT_BNEP \ - CONFIG_BT_HCIBTUSB \ - CONFIG_BT_HCIBTUSB_BCM=n \ - CONFIG_BT_HCIBTUSB_MTK=y \ - CONFIG_BT_HCIBTUSB_RTL=y \ - CONFIG_BT_HCIUART \ - CONFIG_BT_HCIUART_BCM=n \ - CONFIG_BT_HCIUART_INTEL=n \ - CONFIG_BT_HCIUART_H4 \ - CONFIG_BT_HCIUART_NOKIA=n \ CONFIG_BT_HIDP $(call AddDepends/rfkill) FILES:= \ $(LINUX_DIR)/net/bluetooth/bluetooth.ko \ $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \ $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \ - $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \ - $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \ - $(LINUX_DIR)/drivers/bluetooth/btusb.ko \ - $(LINUX_DIR)/drivers/bluetooth/btintel.ko \ - $(LINUX_DIR)/drivers/bluetooth/btrtl.ko \ - $(LINUX_DIR)/drivers/bluetooth/btmtk.ko - AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb) + $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko + AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp) endef define KernelPackage/bluetooth/description @@ -48,10 +34,57 @@ endef $(eval $(call KernelPackage,bluetooth)) + +define KernelPackage/hci-uart + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=Bluetooth HCI UART support + DEPENDS:=+kmod-bluetooth + KCONFIG:= \ + CONFIG_BT_HCIUART \ + CONFIG_BT_HCIUART_BCM=n \ + CONFIG_BT_HCIUART_INTEL=n \ + CONFIG_BT_HCIUART_H4 \ + CONFIG_BT_HCIUART_NOKIA=n + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko + AUTOLOAD:=$(call AutoProbe,hci_uart) +endef + +define KernelPackage/hci-uart/description + Kernel support for Bluetooth HCI UART devices +endef + +$(eval $(call KernelPackage,hci-uart)) + + +define KernelPackage/btusb + SUBMENU:=$(BLUETOOTH_MENU) + TITLE:=Bluetooth HCI USB support + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-bluetooth + KCONFIG:= \ + CONFIG_BT_HCIBTUSB \ + CONFIG_BT_HCIBTUSB_BCM=n \ + CONFIG_BT_HCIBTUSB_MTK=y \ + CONFIG_BT_HCIBTUSB_RTL=y + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/btusb.ko \ + $(LINUX_DIR)/drivers/bluetooth/btintel.ko \ + $(LINUX_DIR)/drivers/bluetooth/btrtl.ko \ + $(LINUX_DIR)/drivers/bluetooth/btmtk.ko + AUTOLOAD:=$(call AutoProbe,btusb) +endef + +define KernelPackage/btusb/description + Kernel support for USB Bluetooth HCI USB devices +endef + +$(eval $(call KernelPackage,btusb)) + + define KernelPackage/ath3k SUBMENU:=$(BLUETOOTH_MENU) TITLE:=ATH3K Kernel Module support - DEPENDS:=+kmod-bluetooth +ar3k-firmware + DEPENDS:=+kmod-hci-uart +kmod-btusb +ar3k-firmware KCONFIG:= \ CONFIG_BT_ATH3K \ CONFIG_BT_HCIUART_ATH3K=y From 3b7a92754e81432024b232c7cd7fe32593891ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Sun, 5 Jan 2025 11:35:18 +0100 Subject: [PATCH 15/26] linux: use packages kmod-hci-uart and kmod-btusb instead of kmod-bluetooth MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use Bluetooth UART and USB packages separetly. Signed-off-by: Paweł Owoc Link: https://github.com/openwrt/openwrt/pull/15118 Signed-off-by: Hauke Mehrtens --- target/linux/bcm53xx/image/Makefile | 2 +- target/linux/ipq40xx/image/generic.mk | 6 +++--- target/linux/qualcommax/image/ipq807x.mk | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index 5a0b2c07a7..08ed88382d 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -398,7 +398,7 @@ TARGET_DEVICES += meraki_mr26 define Device/meraki_mr32 DEVICE_VENDOR := Meraki DEVICE_MODEL := MR32 - DEVICE_PACKAGES := $(B43) kmod-leds-pwm kmod-hwmon-ina2xx kmod-bluetooth + DEVICE_PACKAGES := $(B43) kmod-leds-pwm kmod-hwmon-ina2xx kmod-hci-uart DEVICE_DTS := bcm53016-meraki-mr32 # Meraki FW r23 tries to resize the part.safe partition before it will # flash the image. This is a bit of a problem, since resizing will fail diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index 2071059444..393bb991f1 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -739,7 +739,7 @@ define Device/linksys_whw03 IMAGE_SIZE := 131072k IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | linksys-image type=WHW03 - DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-leds-pca963x kmod-spi-dev kmod-bluetooth \ + DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-leds-pca963x kmod-spi-dev kmod-hci-uart \ kmod-fs-ext4 e2fsprogs kmod-fs-f2fs mkf2fs losetup ipq-wifi-linksys_whw03 endef TARGET_DEVICES += linksys_whw03 @@ -758,7 +758,7 @@ define Device/linksys_whw03v2 UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF IMAGES += factory.bin IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=WHW03v2 - DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-leds-pca963x kmod-spi-dev kmod-bluetooth + DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-leds-pca963x kmod-spi-dev kmod-hci-uart endef TARGET_DEVICES += linksys_whw03v2 @@ -1127,7 +1127,7 @@ define Device/teltonika_rutx10 PAGESIZE := 2048 FILESYSTEMS := squashfs IMAGE/factory.ubi := append-ubi | qsdk-ipq-factory-nand | append-rutx-metadata - DEVICE_PACKAGES := kmod-bluetooth + DEVICE_PACKAGES := kmod-btusb endef # Missing DSA Setup #TARGET_DEVICES += teltonika_rutx10 diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk index 4477e10505..48dd7f7a39 100644 --- a/target/linux/qualcommax/image/ipq807x.mk +++ b/target/linux/qualcommax/image/ipq807x.mk @@ -208,7 +208,7 @@ define Device/linksys_mx4200v1 $(call Device/linksys_mx4x00) DEVICE_MODEL := MX4200 DEVICE_VARIANT := v1 - DEVICE_PACKAGES += kmod-bluetooth + DEVICE_PACKAGES += kmod-hci-uart endef TARGET_DEVICES += linksys_mx4200v1 @@ -241,7 +241,7 @@ define Device/linksys_mx8500 $(call Device/linksys_mx) DEVICE_MODEL := MX8500 DEVICE_PACKAGES += ipq-wifi-linksys_mx8500 kmod-ath11k-pci \ - ath11k-firmware-qcn9074 kmod-bluetooth + ath11k-firmware-qcn9074 kmod-hci-uart endef TARGET_DEVICES += linksys_mx8500 @@ -507,6 +507,6 @@ define Device/zyxel_nbg7815 DEVICE_DTS_CONFIG := config@nbg7815 SOC := ipq8074 DEVICE_PACKAGES := kmod-fs-f2fs f2fs-tools ipq-wifi-zyxel_nbg7815 kmod-ath11k-pci \ - kmod-bluetooth kmod-hwmon-tmp103 + kmod-hci-uart kmod-hwmon-tmp103 endef TARGET_DEVICES += zyxel_nbg7815 From d787839afaaa4f49feb657cd3f930d8e436e76fe Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Sat, 25 May 2024 08:13:21 +0200 Subject: [PATCH 16/26] ltq-vdsl-vr11-mei: remove support for older kernel versions There's only v6.6 in-tree, remove anything older. Signed-off-by: Andre Heider Link: https://github.com/openwrt/openwrt/pull/18056 Signed-off-by: Hauke Mehrtens --- .../lantiq/ltq-vdsl-vr11-mei/patches/100-compat.patch | 4 +--- .../ltq-vdsl-vr11-mei/patches/130-support-kernel-6.6.patch | 7 ++----- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/100-compat.patch b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/100-compat.patch index 74e88894d8..58df61a0cb 100644 --- a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/100-compat.patch +++ b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/100-compat.patch @@ -10,13 +10,11 @@ --- a/src/drv_mei_cpe_linux.h +++ b/src/drv_mei_cpe_linux.h -@@ -110,6 +110,10 @@ typedef irqreturn_t (*usedIsrHandler_t)( +@@ -110,6 +110,8 @@ typedef irqreturn_t (*usedIsrHandler_t)( # endif #endif -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)) +#define PDE_DATA pde_data -+#endif + /** Function typedef for the Linux request_threaded_irq() diff --git a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/130-support-kernel-6.6.patch b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/130-support-kernel-6.6.patch index 407afc9bf2..f09fbd4284 100644 --- a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/130-support-kernel-6.6.patch +++ b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/130-support-kernel-6.6.patch @@ -1,14 +1,11 @@ --- a/src/drv_mei_cpe_linux.c +++ b/src/drv_mei_cpe_linux.c -@@ -2779,7 +2779,11 @@ static int MEI_InitModuleRegCharDev(cons +@@ -2779,7 +2779,7 @@ static int MEI_InitModuleRegCharDev(cons ("Using major number %d" MEI_DRV_CRLF, MAJOR(mei_devt))); } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) - mei_class = class_create(THIS_MODULE, devName); -+#else +- mei_class = class_create(THIS_MODULE, devName); + mei_class = class_create(devName); -+#endif if (IS_ERR(mei_class)) { PRN_DBG_USR_NL( MEI_DRV,MEI_DRV_PRN_LEVEL_HIGH, From 4aea0689e750151e32a9408dec232a8625b8474d Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Tue, 29 Aug 2023 15:48:56 +0200 Subject: [PATCH 17/26] ltq-vdsl-vr11-mei: remove static linking This removes -static compile option. The -static option tells GCC to link this statically with the libc, which we do not want in OpenWrt. We want to link everything dynamically to the libc. This fixes a compile problem with glibc. References: 71bdff91 "ltq-vdsl-mei: Remove static linking" Signed-off-by: Andre Heider Link: https://github.com/openwrt/openwrt/pull/18056 Signed-off-by: Hauke Mehrtens --- .../patches/030-no-static-linking.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/030-no-static-linking.patch diff --git a/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/030-no-static-linking.patch b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/030-no-static-linking.patch new file mode 100644 index 0000000000..ad998429dd --- /dev/null +++ b/package/kernel/lantiq/ltq-vdsl-vr11-mei/patches/030-no-static-linking.patch @@ -0,0 +1,47 @@ +This removes -static compile option. The -static option tells GCC to +link this statically with the libc, which we do not want in OpenWrt. We +want to link everything dynamically to the libc. This fixes a compile +problem with glibc. + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -198,10 +198,10 @@ AM_CFLAGS = -Wall -Wimplicit -Wunused -W + + if IFXOS_ENABLE + AM_LDFLAGS= \ +- -Bstatic -dn -static @IFXOS_LIBRARY_PATH@ ++ -Bstatic -dn @IFXOS_LIBRARY_PATH@ + else + AM_LDFLAGS= \ +- -Bstatic -dn -static ++ -Bstatic -dn + endif + + # +@@ -302,7 +302,7 @@ mei_cpe_appl_ldflags= $(ADD_APPL_LDFLAGS + else + if TARGET_ADM5120_MIPSEL + mei_cpe_appl_cflags = -O1 -g +-mei_cpe_appl_ldflags = -static ++mei_cpe_appl_ldflags = + else + mei_cpe_appl_cflags = -DPPC + endif +@@ -335,7 +335,7 @@ endif + mei_cpe_drv_test_CFLAGS = $(mei_cpe_app_common_cflags) \ + $(mei_cpe_appl_cflags) $(MEI_DRV_TARGET_OPTIONS) + +-mei_cpe_drv_test_LDFLAGS = $(mei_cpe_appl_ldflags) -Bstatic -dn -static @IFXOS_LIBRARY_PATH@ \ ++mei_cpe_drv_test_LDFLAGS = $(mei_cpe_appl_ldflags) -Bstatic -dn @IFXOS_LIBRARY_PATH@ \ + $(dsl_cpe_mei_LDFLAGS) + + mei_cpe_drv_test_LDADD = -lifxos $(dsl_cpe_mei_LDADD) +@@ -356,7 +356,7 @@ endif + + mei_cpe_drv_dbg_strm_dmp_CFLAGS = $(mei_cpe_app_common_cflags) \ + $(mei_cpe_appl_cflags) $(MEI_DRV_TARGET_OPTIONS) +-mei_cpe_drv_dbg_strm_dmp_LDFLAGS = $(mei_cpe_appl_ldflags) -Bstatic -dn -static @IFXOS_LIBRARY_PATH@ \ ++mei_cpe_drv_dbg_strm_dmp_LDFLAGS = $(mei_cpe_appl_ldflags) -Bstatic -dn @IFXOS_LIBRARY_PATH@ \ + $(dsl_cpe_mei_LDFLAGS) + mei_cpe_drv_dbg_strm_dmp_LDADD = -lifxos $(dsl_cpe_mei_LDADD) + From da2cc98458f46745de95e88b6066620fbd02b190 Mon Sep 17 00:00:00 2001 From: Rudy Andram Date: Wed, 12 Feb 2025 19:28:49 +0000 Subject: [PATCH 18/26] wireless-regdb: Update to version 2025.02.20 b43aeb5 wireless-regdb: assert and correct maximum bandwidth within frequency difference 68588bf wireless-regdb: Update regulatory info for Syria (SY) for 2020 0dda57e wireless-regdb: Update regulatory info for Moldova (MD) on 6GHz for 2022 b19ab0b wireless-regdb: Update regulatory info for Azerbaijan (AZ) on 6GHz for 2024 f67f40d wireless-regdb: Update regulatory info for Oman (OM) bd70876 wireless-regdb: Update regulatory rules for Armenia (AM) on 2.4 and 5 GHz 6c7cbcc wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band in ETSI/CEPT f9f6b30 wireless-regdb: Update regulatory rules for Austria (AT) 39b47ea wireless-regdb: Update regulatory info for Cayman Islands (KY) for 2024 3dd7ceb wireless-regdb: allow NO-INDOOR flag in db.txt 4d754a1 wireless-regdb: Update regulatory rules for Iran (IR) on both 2.4 and 5Ghz for 2021 8c8308a wireless-regdb: Update frequency range with NO-INDOOR for Oman (OM) c2f11e2 wireless-regdb: update regulatory database based on preceding changes Signed-off-by: Rudy Andram Link: https://github.com/openwrt/openwrt/pull/17957 Signed-off-by: Hauke Mehrtens --- package/firmware/wireless-regdb/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index 7d4cf63c47..7055b12bfa 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb -PKG_VERSION:=2024.10.07 +PKG_VERSION:=2025.02.20 PKG_RELEASE:=1 PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ -PKG_HASH:=f76f2bd79a653e9f9dd50548d99d03a4a4eb157da056dfd5892f403ec28fb3d5 +PKG_HASH:=57f8e7721cf5a880c13ae0c202edbb21092a060d45f9e9c59bcd2a8272bfa456 PKG_MAINTAINER:=Felix Fietkau From 3a7467ffde413677de5465dde78a62dfa8d6774f Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 12 Feb 2025 04:21:22 +0000 Subject: [PATCH 19/26] ethtool: work-around ETHTOOL_GRSSH/ETHTOOL_SRSSH ABI breakage ethtool since version 6.9 introduced support for getting/setting RSS input transformation supported in Linux since version 6.8. The now changed kernel ioctl ABI, however, cannot be detected from userland, and ethtool since version 6.9 simply assumes that a previously reserved field is now used to set the input transformation. Unfortunately the default value RXH_XFRM_NO_CHANGE (0xff) used by ethtool userland creates an incompatibility with older kernels which cannot be resolved easily without introducing even more ABI breakage. Work-around the issue and fix support for --set-rxfh and --set-rxfh-indir ethtool userland tool commands by making the support for input_xfrm conditional on compile time, and keep it disabled for Linux 6.6. Fixes: 8c2dcd1518 ("ethtool: update to 6.10") Signed-off-by: Daniel Golle --- package/network/utils/ethtool/Makefile | 5 ++ ...building-for-RSS-input-xfrm-optional.patch | 67 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 package/network/utils/ethtool/patches/0001-ethtool-make-building-for-RSS-input-xfrm-optional.patch diff --git a/package/network/utils/ethtool/Makefile b/package/network/utils/ethtool/Makefile index 893fcc1eda..5da65273ca 100644 --- a/package/network/utils/ethtool/Makefile +++ b/package/network/utils/ethtool/Makefile @@ -57,6 +57,11 @@ else CONFIGURE_ARGS += --disable-netlink --disable-pretty-dump endif +# enable support for input_xfrm with kernels newer than 6.6 +ifeq ($(CONFIG_LINUX_6_6),) +CONFIGURE_ARGS += --enable-rss-input-xfrm +endif + define Package/ethtool/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/ethtool $(1)/usr/sbin diff --git a/package/network/utils/ethtool/patches/0001-ethtool-make-building-for-RSS-input-xfrm-optional.patch b/package/network/utils/ethtool/patches/0001-ethtool-make-building-for-RSS-input-xfrm-optional.patch new file mode 100644 index 0000000000..4c8403dcbc --- /dev/null +++ b/package/network/utils/ethtool/patches/0001-ethtool-make-building-for-RSS-input-xfrm-optional.patch @@ -0,0 +1,67 @@ +From c88eb6f4e9b2d8f71f3391db2bf0ec82ecccae81 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Wed, 12 Feb 2025 04:12:42 +0000 +Subject: [PATCH] ethtool: make building for RSS input xfrm optional + +Unfortunately there is no way to detect at runtime if the kernel the +support for RSS input transformation, and the default value +RXH_XFRM_NO_CHANGE (0xff) used by newer ethtool results in breakage +with older kernels. +As a stop-gap solution simply don't compile with support for input +xfrm by default. + +Signed-off-by: Daniel Golle +--- + configure.ac | 10 ++++++++++ + ethtool.c | 10 ++++++++++ + 2 files changed, 20 insertions(+) + +--- a/configure.ac ++++ b/configure.ac +@@ -45,6 +45,16 @@ if test x$enable_pretty_dump = xyes; the + fi + AM_CONDITIONAL([ETHTOOL_ENABLE_PRETTY_DUMP], [test x$enable_pretty_dump = xyes]) + ++AC_ARG_ENABLE(rss-input-xfrm, ++ [ --enable-rss-input-xfrm build with support for RSS input transformation (disabled by default)], ++ , ++ enable_rss_input_xfrm=no) ++if test x$enable_rss_input_xfrm = xyes; then ++ AC_DEFINE(ETHTOOL_ENABLE_RSS_INPUT_XFRM, 1, ++ [Define this to enable building with support for RSS input transformation.]) ++fi ++AM_CONDITIONAL([ETHTOOL_ENABLE_RSS_INPUT_XFRM], [test x$enable_rss_input_xfrm = xyes]) ++ + AC_ARG_WITH([bash-completion-dir], + AS_HELP_STRING([--with-bash-completion-dir[=PATH]], + [Install the bash-completion script in this directory. @<:@default=yes@:>@]), +--- a/ethtool.c ++++ b/ethtool.c +@@ -4109,9 +4109,11 @@ static int do_grxfh(struct cmd_context * + (const char *)hfuncs->data + i * ETH_GSTRING_LEN, + (rss->hfunc & (1 << i)) ? "on" : "off"); + ++#ifdef ETHTOOL_ENABLE_RSS_INPUT_XFRM + printf("RSS input transformation:\n"); + printf(" symmetric-xor: %s\n", + (rss->input_xfrm & RXH_XFRM_SYM_XOR) ? "on" : "off"); ++#endif + + out: + free(hfuncs); +@@ -4431,7 +4433,15 @@ static int do_srxfh(struct cmd_context * + rss->cmd = ETHTOOL_SRSSH; + rss->rss_context = rss_context; + rss->hfunc = req_hfunc; ++#ifdef ETHTOOL_ENABLE_RSS_INPUT_XFRM + rss->input_xfrm = req_input_xfrm; ++#else ++ if (req_input_xfrm != 0xff) { ++ perror("Compiled for kernel without support for input transformation"); ++ err = 1; ++ goto free; ++ } ++#endif + if (delete) { + rss->indir_size = rss->key_size = 0; + } else { From 00e4b23e27bd4ed3e0370b9b474ec53f72bd1282 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 24 Feb 2025 12:26:01 +0100 Subject: [PATCH 20/26] kernel: fix IPv6 TCP GSO segmentation with NAT Add missing checksum update Fixes: https://github.com/openwrt/openwrt/issues/15857 Signed-off-by: Felix Fietkau --- ...v6-fix-TCP-GSO-segmentation-with-NAT.patch | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 target/linux/generic/pending-6.6/686-net-ipv6-fix-TCP-GSO-segmentation-with-NAT.patch diff --git a/target/linux/generic/pending-6.6/686-net-ipv6-fix-TCP-GSO-segmentation-with-NAT.patch b/target/linux/generic/pending-6.6/686-net-ipv6-fix-TCP-GSO-segmentation-with-NAT.patch new file mode 100644 index 0000000000..9591e16ec9 --- /dev/null +++ b/target/linux/generic/pending-6.6/686-net-ipv6-fix-TCP-GSO-segmentation-with-NAT.patch @@ -0,0 +1,54 @@ +From: Felix Fietkau +Date: Mon, 24 Feb 2025 12:18:23 +0100 +Subject: [PATCH] net: ipv6: fix TCP GSO segmentation with NAT + +When updating the source/destination address, the TCP/UDP checksum needs to +be updated as well. + +Fixes: bee88cd5bd83 ("net: add support for segmenting TCP fraglist GSO packets") +Signed-off-by: Felix Fietkau +--- + +--- a/net/ipv6/tcpv6_offload.c ++++ b/net/ipv6/tcpv6_offload.c +@@ -112,24 +112,36 @@ static struct sk_buff *__tcpv6_gso_segme + struct sk_buff *seg; + struct tcphdr *th2; + struct ipv6hdr *iph2; ++ bool addr_equal; + + seg = segs; + th = tcp_hdr(seg); + iph = ipv6_hdr(seg); + th2 = tcp_hdr(seg->next); + iph2 = ipv6_hdr(seg->next); ++ addr_equal = ipv6_addr_equal(&iph->saddr, &iph2->saddr) && ++ ipv6_addr_equal(&iph->daddr, &iph2->daddr); + + if (!(*(const u32 *)&th->source ^ *(const u32 *)&th2->source) && +- ipv6_addr_equal(&iph->saddr, &iph2->saddr) && +- ipv6_addr_equal(&iph->daddr, &iph2->daddr)) ++ addr_equal) + return segs; + + while ((seg = seg->next)) { + th2 = tcp_hdr(seg); + iph2 = ipv6_hdr(seg); + +- iph2->saddr = iph->saddr; +- iph2->daddr = iph->daddr; ++ if (!addr_equal) { ++ inet_proto_csum_replace16(&th2->check, seg, ++ iph2->saddr.s6_addr32, ++ iph->saddr.s6_addr32, ++ true); ++ inet_proto_csum_replace16(&th2->check, seg, ++ iph2->daddr.s6_addr32, ++ iph->daddr.s6_addr32, ++ true); ++ iph2->saddr = iph->saddr; ++ iph2->daddr = iph->daddr; ++ } + __tcpv6_gso_segment_csum(seg, &th2->source, th->source); + __tcpv6_gso_segment_csum(seg, &th2->dest, th->dest); + } From 87f3365d9010c754d79593a59c91e4d2619be68c Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 24 Feb 2025 12:27:47 +0100 Subject: [PATCH 21/26] Revert "tools/automake: bump to 1.17" This reverts commit b930ce3bf7aa350cf0252dbf95c9447e51be4de9. Bump to 1.17 broke SDK portability as it partially reverted commit ("automake: portability fixes") which made Perl PATH "/usr/bin/env perl" as that is portable, as otherwise automake will set the absolute path to the Perl binary and this will then fail when using SDK on a different system as that PATH is not present. So, since fixing this would require backport of upstream commit ("configure: make perl path with whitespace a warning, not error.") which requires autoreconf to be done in order for configure to get regenerated we cannot do it because at that time we do not have automake built. So, for now revert the bump until upstream makes a new release. Signed-off-by: Robert Marko --- tools/automake/Makefile | 8 ++++---- tools/automake/patches/000-relocatable.patch | 12 +++++------- .../100-aclocal-skip-not-existing-directories.patch | 2 +- .../automake/patches/101-do-not-require-files.patch | 6 +++--- .../patches/200-other-V-values-for-verbosity.patch | 4 ++-- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/tools/automake/Makefile b/tools/automake/Makefile index dddc0a148f..7f129c1d83 100644 --- a/tools/automake/Makefile +++ b/tools/automake/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=automake PKG_CPE_ID:=cpe:/a:gnu:automake -PKG_VERSION:=1.17 +PKG_VERSION:=1.16.5 PKG_API_VERSION:=$(word 2,$(subst ., ,$(PKG_VERSION))) -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/automake -PKG_HASH:=8920c1fc411e13b90bf704ef9db6f29d540e76d232cb3b2c9f4dc4cc599bd990 +PKG_HASH:=07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605 include $(INCLUDE_DIR)/host-build.mk @@ -21,7 +21,7 @@ HOST_CONFIGURE_ARGS += \ --disable-silent-rules HOST_CONFIGURE_VARS += \ - PERL="$(shell command -v perl)" \ + PERL="/usr/bin/env perl" \ am_cv_prog_PERL_ithreads=no define Host/Configure diff --git a/tools/automake/patches/000-relocatable.patch b/tools/automake/patches/000-relocatable.patch index 5dcda2829e..0b61eaeb45 100644 --- a/tools/automake/patches/000-relocatable.patch +++ b/tools/automake/patches/000-relocatable.patch @@ -11,7 +11,7 @@ # We need at least this version for CLONE support. --- a/bin/aclocal.in +++ b/bin/aclocal.in -@@ -23,10 +23,12 @@ use 5.006; +@@ -23,9 +23,11 @@ use 5.006; use strict; use warnings FATAL => 'all'; @@ -20,23 +20,21 @@ BEGIN { - unshift (@INC, '@datadir@/@PACKAGE@-@APIVERSION@') -- unless $ENV{AUTOMAKE_UNINSTALLED}; + unshift (@INC, ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/@PACKAGE@-@APIVERSION@' : '@datadir@/@PACKAGE@-@APIVERSION@')) -+ unless $ENV{AUTOMAKE_UNINSTALLED}; + unless $ENV{AUTOMAKE_UNINSTALLED}; } - use File::Basename; @@ -65,8 +67,8 @@ $perl_threads = 0; - # --aclocal-path option/ACLOCAL_PATH environment variable, and reset - # with the '--system-acdir' option. + # ACLOCAL_PATH environment variable, and reset with the '--system-acdir' + # option. my @user_includes = (); -my @automake_includes = ('@datadir@/aclocal-' . $APIVERSION); -my @system_includes = ('@datadir@/aclocal'); +my @automake_includes = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . "/share/aclocal-$APIVERSION" : "@datadir@/aclocal-$APIVERSION"); +my @system_includes = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/aclocal' : '@datadir@/aclocal'); - my $aclocal_path = ''; # Whether we should copy M4 file in $user_includes[0]. + my $install = 0; --- a/bin/automake.in +++ b/bin/automake.in @@ -26,9 +26,11 @@ use 5.006; diff --git a/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch b/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch index 6fa23c49e8..a0d04e21e5 100644 --- a/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch +++ b/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch @@ -1,6 +1,6 @@ --- a/bin/aclocal.in +++ b/bin/aclocal.in -@@ -372,6 +372,12 @@ sub scan_m4_dirs ($$@) +@@ -371,6 +371,12 @@ sub scan_m4_dirs ($$@) foreach my $m4dir (@dirlist) { diff --git a/tools/automake/patches/101-do-not-require-files.patch b/tools/automake/patches/101-do-not-require-files.patch index 26847bc680..3a8c9fcb47 100644 --- a/tools/automake/patches/101-do-not-require-files.patch +++ b/tools/automake/patches/101-do-not-require-files.patch @@ -1,6 +1,6 @@ --- a/bin/automake.in +++ b/bin/automake.in -@@ -4552,7 +4552,7 @@ sub handle_gettext () +@@ -4513,7 +4513,7 @@ sub handle_gettext () && grep ($_ eq 'intl', @subdirs)); } @@ -9,7 +9,7 @@ } # Emit makefile footer. -@@ -5677,7 +5677,7 @@ sub check_gnu_standards () +@@ -5641,7 +5641,7 @@ sub check_gnu_standards () # otherwise require non-.md. my $required = (! -f $file && -f "$file.md") ? "$file.md" : $file; @@ -18,7 +18,7 @@ } # Accept one of these three licenses; default to COPYING. -@@ -5691,7 +5691,7 @@ sub check_gnu_standards () +@@ -5655,7 +5655,7 @@ sub check_gnu_standards () last; } } diff --git a/tools/automake/patches/200-other-V-values-for-verbosity.patch b/tools/automake/patches/200-other-V-values-for-verbosity.patch index 8a5a2d31bd..1ea9d38b0e 100644 --- a/tools/automake/patches/200-other-V-values-for-verbosity.patch +++ b/tools/automake/patches/200-other-V-values-for-verbosity.patch @@ -9,8 +9,8 @@ Subject: [PATCH] Allow other V values for verbosity --- a/m4/silent.m4 +++ b/m4/silent.m4 -@@ -53,7 +53,7 @@ case $enable_silent_rules in @%:@ ((( - esac +@@ -43,7 +43,7 @@ else + fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' From c43c816afcee151939fc4d30eb9638eaa1442b23 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Fri, 21 Feb 2025 19:52:01 +0800 Subject: [PATCH 22/26] zlib: switch to git source Switch to the git repository source so that we can use zstd compression algorithm to create smaller package tarball. This patch also corrected the license file name[1] and the CPE ID[2]. [1] https://github.com/madler/zlib/commit/352cb28d12baf02863ff5d4d96be0587ced419a1 [2] https://nvd.nist.gov/products/cpe/detail/95C64A3E-A897-4D55-B74A-D2285440D164 Suggested-by: Christian Marangi Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/17880 Signed-off-by: Robert Marko --- package/libs/zlib/Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/package/libs/zlib/Makefile b/package/libs/zlib/Makefile index 2559fbba0d..2156554964 100644 --- a/package/libs/zlib/Makefile +++ b/package/libs/zlib/Makefile @@ -11,13 +11,14 @@ PKG_NAME:=zlib PKG_VERSION:=1.3.1 PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=https://github.com/madler/zlib/releases/download/v$(PKG_VERSION) -PKG_HASH:=38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/madler/zlib +PKG_SOURCE_VERSION:=51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf +PKG_MIRROR_HASH:=6558577038f4839057fad93afb295bf32e84dc9bd2c33512d40a5eab6d4889ef PKG_LICENSE:=Zlib -PKG_LICENSE_FILES:=README -PKG_CPE_ID:=cpe:/a:gnu:zlib +PKG_LICENSE_FILES:=LICENSE +PKG_CPE_ID:=cpe:/a:zlib:zlib PKG_CONFIG_DEPENDS:= CONFIG_ZLIB_OPTIMIZE_SPEED From 06c6481e7fedeaea316823f93d3a918200fb8ed4 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Fri, 21 Feb 2025 19:52:01 +0800 Subject: [PATCH 23/26] tools: zlib: switch to git source Switch to the git repository source so that we can use zstd compression algorithm to create smaller package tarball. This patch also corrected the license file name[1]. [1] https://github.com/madler/zlib/commit/352cb28d12baf02863ff5d4d96be0587ced419a1 Suggested-by: Christian Marangi Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/17880 Signed-off-by: Robert Marko --- tools/zlib/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/zlib/Makefile b/tools/zlib/Makefile index b1307ef2af..09c0aa6f71 100644 --- a/tools/zlib/Makefile +++ b/tools/zlib/Makefile @@ -11,12 +11,13 @@ PKG_NAME:=zlib PKG_VERSION:=1.3.1 PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/madler/zlib/releases/download/v$(PKG_VERSION) -PKG_HASH:=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/madler/zlib +PKG_SOURCE_VERSION:=51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf +PKG_MIRROR_HASH:=6558577038f4839057fad93afb295bf32e84dc9bd2c33512d40a5eab6d4889ef PKG_LICENSE:=Zlib -PKG_LICENSE_FILES:=README +PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:zlib:zlib HOST_BUILD_PARALLEL:=1 From 15c27ce9f0a86635ec336c89fcb11c1d02e46613 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 24 Feb 2025 13:30:36 +0100 Subject: [PATCH 24/26] ucode-mod-uline: fix prompt after set_hint with string bigger than the window size Redraw the prompt after the hint instead of trying to move backwards Signed-off-by: Felix Fietkau --- package/utils/ucode-mod-uline/src/uline.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/package/utils/ucode-mod-uline/src/uline.c b/package/utils/ucode-mod-uline/src/uline.c index 4bee2597c3..26cea6fa24 100644 --- a/package/utils/ucode-mod-uline/src/uline.c +++ b/package/utils/ucode-mod-uline/src/uline.c @@ -880,7 +880,14 @@ void uline_set_hint(struct uline_state *s, const char *str, size_t len) pos_add_string(s, &s->cursor_pos, str, len); } - set_cursor(s, prev_pos); + if (s->cursor_pos.y >= s->rows) { + if (s->cursor_pos.x > 0) + vt100_next_line(s->output); + s->cursor_pos = (struct pos){}; + s->full_update = true; + } else { + set_cursor(s, prev_pos); + } fflush(s->output); } From e03676a9ba3a7bb82a0a5d27d7bdb974ce3633e1 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sat, 22 Feb 2025 18:47:52 +0200 Subject: [PATCH 25/26] tools/autoconf: Fix relocatable patch Fix the 000-relocatable.patch broken by e0f5ce9. The patch segment about detecting STAGING_DIR_HOST was erroneously removed, as upstream had deleted the previous bin/autoconf.as and had implemented it in perl in bin/autoconf.in. Re-create the previous functionality in that. Fixes: #18059 Fixes: e0f5ce974 ("tools/autoconf: bump to 2.72") Signed-off-by: Hannu Nyman Link: https://github.com/openwrt/openwrt/pull/18073 Signed-off-by: Robert Marko --- tools/autoconf/patches/000-relocatable.patch | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tools/autoconf/patches/000-relocatable.patch b/tools/autoconf/patches/000-relocatable.patch index bc8a2d1b7c..21b7f14f7f 100644 --- a/tools/autoconf/patches/000-relocatable.patch +++ b/tools/autoconf/patches/000-relocatable.patch @@ -1,3 +1,34 @@ +--- a/bin/autoconf.in ++++ b/bin/autoconf.in +@@ -29,7 +29,10 @@ use warnings FATAL => 'all'; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR_HOST'} ? ++ $ENV{'STAGING_DIR_HOST'} . '/share/autoconf' : ++ '@pkgdatadir@'); + unshift @INC, $pkgdatadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell +@@ -44,8 +47,14 @@ use Autom4te::Channels qw(msg); + use Autom4te::General; + + # Lib files. +-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; +-my $trailer_m4 = $ENV{'trailer_m4'} || '@pkgdatadir@/autoconf/trailer.m4'; ++my $autom4te = $ENV{'AUTOM4TE'} || ++ ($ENV{'STAGING_DIR_HOST'} ? ++ $ENV{'STAGING_DIR_HOST'} . '/bin/@autom4te-name@' : ++ '@bindir@/@autom4te-name@'); ++my $trailer_m4 = $ENV{'trailer_m4'} || ++ ($ENV{'STAGING_DIR_HOST'} ? ++ $ENV{'STAGING_DIR_HOST'} . '/share/autoconf/autoconf/trailer.m4' : ++ '@pkgdatadir@/autoconf/trailer.m4'); + + # $HELP + # ----- --- a/bin/autoheader.in +++ b/bin/autoheader.in @@ -30,9 +30,12 @@ use 5.006; From 7a9a646c72b5c1ed0cbab931d209c8b9fa1a3803 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Thu, 20 Feb 2025 17:00:56 +0000 Subject: [PATCH 26/26] linux-firmware: update to 20250211 Changes since 20241110: bb591083 i915: Update Xe2LPD DMC to v2.28 68eeb2a5 ASoC: tas2781: Add regbin firmware by index for single device 31e5b6b0 WHENCE: qca: add missing version information e6e52fde WHENCE: qca: add missing version information 920ec27d WHENCE: split generic QCA section into USB and serial sections bb5d129b rtl_bt: Update RTL8852B BT USB FW to 0x0474_842D 608fdf4c iwlwifi: add Bz/gl FW for core93-123 release c1252c30 iwlwifi: update ty/So/Ma firmwares for core93-123 release 69e83a8d iwlwifi: update cc/Qu/QuZ firmwares for core93-82 release 5b217397 ASoC: tas2781: Add dsp firmware for new projects 24625a79 amdgpu: DMCUB update for DCN401 99720d02 ath12k: WCN7850 hw2.0: update board-2.bin a3f44afe ath12k: QCN9274 hw2.0: update to WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1 94a1e6ed ath12k: QCN9274 hw2.0: update board-2.bin 3a44e641 ath11k: WCN6750 hw1.0: update board-2.bin ccc21e6c ath11k: QCN9074 hw1.0: update to WLAN.HK.2.9.0.1-02146-QCAHKSWPL_SILICONZ-1 73718ee7 ath11k: QCA6698AQ hw2.1: add to WLAN.HSP.1.1-04479-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1 06fe00a9 ath11k: QCA6698AQ hw2.1: add board-2.bin bc502ac3 ath11k: QCA6390 hw2.0: update board-2.bin 7003cdef ath11k: QCA2066 hw2.1: update to WLAN.HSP.1.1-03926.13-QCAHSPSWPL_V2_SILICONZ_CE-2.52297.6 8cd06dd2 ath11k: QCA2066 hw2.1: update board-2.bin 0dba9647 ath11k: IPQ8074 hw2.0: update to WLAN.HK.2.9.0.1-02146-QCAHKSWPL_SILICONZ-1 bd0511af ath11k: IPQ6018 hw1.0: update to WLAN.HK.2.7.0.1-02409-QCAHKSWPL_SILICONZ-1 51f77040 copy-firmware: Fix 'No such file or directory' error. e38da104 ath11k: add device-specific firmware for QCM6490 boards 6b12b964 qca: add more WCN3950 1.3 NVM files 42101764 qca: add firmware for WCN3950 chips 93160a02 qca: move QCA6390 firmware to separate section 03087bcd qca: restore licence information for WCN399x firmware 61d257d5 amdgpu: DMCUB updates for various ASICs a204b433 amdgpu: DMCUB updates forvarious AMDGPU ASICs 7db7f79e qca: Update Bluetooth WCN6750 1.1.0-00476 firmware to 1.1.3-00069 bba19e40 qcom:x1e80100: Support for Lenovo T14s G6 Qualcomm platform b3553788 qcom:x1e80100: Support for Lenovo T14s G6 Qualcomm platform 211fbc28 linux-firmware: Update FW files for MRVL SD8997 chips 4f91bc37 i915: Update Xe2LPD DMC to v2.27 0ff5d857 qca: Update Bluetooth WCN6856 firmware 2.1.0-00642 to 2.1.0-00650 9c2bf7af rtl_bt: Update RTL8852B BT USB FW to 0x049B_5037 8f070131 amdgpu: Update ISP FW for isp v4.1.1 84e4027f trivial: contrib: wrap the process in try/except to catch server issues e75caebf trivial: contrib: use python-magic to detect encoding of emails 52e96183 QCA: Add Bluetooth firmware for QCA6698 0e16f416 amdgpu: revert DMCUB 3.1.4 firmware 7c07d2d2 amlogic: update firmware for w265s2 634d0a0a mediatek MT7925: update bluetooth firmware to 20250113153307 3b6b1cba linux-firmware: update firmware for MT7925 WiFi device a6cc7472 amdgpu: update psp 13.0.10 firmware 133355e8 amdgpu: update gc 11.0.3 firmware ed8de441 amdgpu: update psp 13.0.8 firmware 11ec4d49 amdgpu: update psp 13.0.5 firmware 78caaee2 amdgpu: update vcn 4.0.0 firmware d9f8cb2a amdgpu: update psp 13.0.0 firmware 29761144 amdgpu: update gc 11.0.0 firmware 9ac860c0 amdgpu: update beige goby firmware f959a13f amdgpu: update dimgrey cavefish firmware 8e978d08 amdgpu: update navy flounder firmware a4b34d9c amdgpu: update sienna cichlid firmware 7b211e6a amdgpu: update navi14 firmware 4ea4ad03 amdgpu: update smu 14.0.3 firmware d3547493 amdgpu: update psp 14.0.3 firmware 0ca6b708 amdgpu: update gc 12.0.1 firmware 367fe221 amdgpu: update navi12 firmware 5d6d3f3e amdgpu: update smu 14.0.2 firmware 70482da5 amdgpu: update psp 14.0.2 firmware 95bfb9ef amdgpu: update gc 12.0.0 firmware 64e0a082 amdgpu: update gc 9.4.3 firmware dcb68fd8 amdgpu: update navi10 firmware 7718769c amdgpu: update vcn 4.0.4 firmware 02d16372 amdgpu: update psp 13.0.7 firmware f0f3895c amdgpu: update gc 11.0.2 firmware 73c7a2bd amdgpu: update yellow carp firmware f07c3754 qcom: correct licence information for SA8775P binaries efa7a4c2 qcom: update SLPI firmware for RB5 board 6dca3000 amdgpu: DMCUB updates for various AMDGPU ASICs dfc33728 qcom: add DSP firmware for SA8775p platform f5dae710 qcom: correct venus firmware versions dd5f35ba qcom: add missing version information dcc4a069 linux-firmware: Update firmware (v10) for mt7988 internal fd01e808 iwlwifi: add Bz FW for core90-93 release ee800d83 linux-firmware: wilc3000: add firmware for WILC3000 WiFi device d36d77d5 rtw89: 8852b: update fw to v0.29.29.8 b93e274c rtw89: 8852c: update fw to v0.27.122.0 6d24ab23 rtw89: 8922a: update fw to v0.35.54.0 9dbec479 rtw89: 8922a: update fw to v0.35.52.1 and stuffs 882976ea rtw89: 8852bt: update fw to v0.29.110.0 20cace1a rtw89: 8852b: update fw to v0.29.29.7 b3049665 amdgpu: DMCUB updates for various AMDGPU ASICs 5d60a596 amdgpu: update sdma 6.0.3 firmware a071c69c amdgpu: update psp 13.0.10 firmware 17dce2a9 amdgpu: update gc 11.0.3 firmware 256dd4b1 amdgpu: update sdma 4.4.5 firmware 9ecdd733 amdgpu: update psp 13.0.14 firmware c380f294 amdgpu: update gc 9.4.4 firmware df61f757 amdgpu: update psp 13.0.5 firmware 9e98368a amdgpu: update vega20 firmware 3f7b0107 amdgpu: update vega12 firmware 8253e1ba amdgpu: update vega10 firmware f46e1c5e amdgpu: update vcn 4.0.0 firmware 3822f749 amdgpu: update psp 13.0.0 firmware ca765ac8 amdgpu: update gc 11.0.0 firmware e3d76647 amdgpu: update picasso firmware 5ade735e amdgpu: update beige goby firmware ab3f55cb amdgpu: update vangogh firmware dcae23bb amdgpu: update dimgrey cavefish firmware 81afa06d amdgpu: update navy flounder firmware 38f582b0 amdgpu: update psp 13.0.11 firmware 2a6b035e amdgpu: update gc 11.0.4 firmware a3010763 amdgpu: update vcn 4.0.2 firmware 5f1d715f amdgpu: update psp 13.0.4 firmware 29110540 amdgpu: update gc 11.0.1 firmware 28cfd823 amdgpu: update sienna cichlid firmware 52d598fe amdgpu: update vcn 4.0.6 firmware 521a4cd3 amdgpu: update psp 14.0.1 firmware 28f84675 amdgpu: update vcn 4.0.5 firmware 1e70894c amdgpu: update gc 11.5.0 firmware 44e3c3ba amdgpu: update vcn 5.0.0 firmware f96ec199 amdgpu: update smu 14.0.3 firmware 572e86af amdgpu: update psp 14.0.3 firmware ffbb5c05 amdgpu: update gc 12.0.1 firmware 42fe6fa0 amdgpu: update navi14 firmware 67e008dc amdgpu: update arcturus firmware 2f09a8e7 amdgpu: update renoir firmware c795a0cc amdgpu: update smu 14.0.2 firmware b255f18f amdgpu: update psp 14.0.2 firmware 335a3d30 amdgpu: update gc 12.0.0 firmware 0910afb8 amdgpu: update navi12 firmware 210ed963 amdgpu: update vcn 4.0.3 firmware 45612237 amdgpu: update sdma 4.4.2 firmware e7a51c79 amdgpu: update psp 13.0.6 firmware 32114486 amdgpu: update gc 9.4.3 firmware a76f74a1 amdgpu: update yellow carp firmware cd6cef46 amdgpu: update vcn 4.0.4 firmware 3320119d amdgpu: update psp 13.0.7 firmware 80802ba0 amdgpu: update gc 11.0.2 firmware 39332647 amdgpu: update navi10 firmware 4f47e84d amdgpu: update aldebaran firmware 5e1e0ae5 cirrus: cs35l56: Correct some links to address the correct amp instance 7ccc69cf linux-firmware: Update firmware file for Intel Bluetooth Magnetar core 35f74899 linux-firmware: Update firmware file for Intel BlazarU core 127ac452 linux-firmware: Update firmware file for Intel Bluetooth Solar core 838bf587 cirrus: cs35l41: Add Firmware for Ayaneo system 1f660105 af598a3f Fix has_gnu_parallel function e39831b1 rtl_bt: Add separate config for RLT8723CS Bluetooth part 804b3e69 amdgpu: revert VCN 3.1.2 firmware 599deec0 amdgpu: revert yellow carp VCN firmware 95867e92 amdgpu: revert sienna cichlid VCN firmware 81ca4929 amdgpu: revert navy flounder VCN firmware 382f95f0 amdgpu: revert dimgrey cavefish VCN firmware 0f3495ac WHENCE: Link the Raspberry Pi CM5 and 500 to the 4B 729c0c8e copy-firmware.sh: Fix typo in error message. 2b781910 Add support to install files/symlinks in parallel. c170fc69 Makefile: Remove obsolete/broken reference. a100ea55 check_whence.py: Use a more portable shebang. bf3697e4 rtl_bt: Update RTL8852B BT USB FW to 0x04BE_1F5E 9cf329b3 cnm: update chips&media wave521c firmware. c92f98b8 WHENCE: Add "Info:" tag to text that's clearly not part of the license e1e114f8 rtl_nic: add firmware rtl8125bp-2 891a8d4f qcom: venus-5.4: update firmware binary for sc7180 and qcs615 bd491523 cirrus: cs35l56: Correct filenames of SSID 17aa3832 9c46d10f cirrus: cs35l56: Add and update firmware for various Cirrus CS35L54 and CS35L56 laptops 2cb303e7 cirrus: cs35l56: Correct SSID order for 103c8d01 103c8d08 10431f43 16329652 rtl_nic: add firmware rtl8125d-2 7012ac97 linux-firmware: Update firmware file for Intel BlazarU core 209c18b0 amdgpu: update dmcub 0.0.246.0 firmware 27272156 Add top level license file. f5aeeb47 amdgpu: update raven firmware 1363a0ea amdgpu: update gc 11.0.3 firmware a69ccec7 amdgpu: update psp 13.0.14 firmware be80726a amdgpu: update vcn 3.1.2 firmware 0269927e amdgpu: update vpe 6.1.3 firmware 66a1d205 amdgpu: update psp 14.0.4 firmware 929c0891 amdgpu: update gc 11.5.2 firmware 39ba34e6 amdgpu: update vcn 4.0.0 firmware 53c443d3 amdgpu: update gc 11.0.0 firmware 63dcba16 amdgpu: update picasso firmware 0985337b amdgpu: update beige goby firmware 6c7f2c6a amdgpu: update vangogh firmware 7f87800c amdgpu: update dimgrey cavefish firmware 3b1a3e06 amdgpu: update navy flounder firmware 1fa991ad amdgpu: update gc 11.0.4 firmware c6d3af09 amdgpu: update green sardine firmware 32de3dbc amdgpu: update vcn 4.0.2 firmware d4e69c52 amdgpu: update gc 11.0.1 firmware 9ae22572 amdgpu: update sienna cichlid firmware 923200c8 amdgpu: update vcn 4.0.6 firmware 0599265e amdgpu: update gc 11.5.1 firmware 0dc221f2 amdgpu: update vcn 4.0.5 firmware f6295215 amdgpu: update psp 14.0.0 firmware dd3f6661 amdgpu: add vcn 5.0.0 firmware 614375e1 amdgpu: add smu 14.0.3 firmware 664fb29d amdgpu: add sdma 7.0.1 firmware 54a0aa85 amdgpu: add psp 14.0.3 firmware 72eda6ac amdgpu: add gc 12.0.1 firmware 90fcc01f amdgpu: update navi14 firmware e264aa6f amdgpu: update renoir firmware 141c3088 amdgpu: add smu 14.0.2 firmware 49612d12 amdgpu: add sdma 7.0.0 firmware 95f3ca63 amdgpu: add psp 14.0.2 firmware c852aecc amdgpu: add gc 12.0.0 firmware 51744331 amdgpu: update navi12 firmware 308d5f14 amdgpu: update psp 13.0.6 firmware 252ffc5b amdgpu: update yellow carp firmware f3d0f0ba amdgpu: update vcn 4.0.4 firmware eb22099a amdgpu: update gc 11.0.2 firmware c3eccd75 amdgpu: update navi10 firmware f367a87d amdgpu: update aldebaran firmware 52a3bca7 upstream amdnpu firmware 7f116580 QCA: Add Bluetooth nvm files for WCN785x ea71da6f i915: Update Xe2LPD DMC to v2.24 3f08f270 cirrus: cs35l56: Add firmware for Cirrus CS35L56 for various Dell laptops 42b01d49 iwlwifi: add Bz-gf FW for core89-91 release 16414d8b QCA: Update Bluetooth WCN785x firmware to 2.0.0-00515-2 113d0f19 amdgpu: update smu 13.0.10 firmware a956cc9c amdgpu: update sdma 6.0.3 firmware 72809ef1 amdgpu: update psp 13.0.10 firmware cce4f155 amdgpu: update gc 11.0.3 firmware b015f2e6 amdgpu: add smu 13.0.14 firmware 3b20eb12 amdgpu: add sdma 4.4.5 firmware e736a04b amdgpu: add psp 13.0.14 firmware 4017dd0e amdgpu: add gc 9.4.4 firmware ad211a73 amdgpu: update vcn 3.1.2 firmware 821595b4 amdgpu: update psp 13.0.5 firmware ebdbabc2 amdgpu: update psp 13.0.8 firmware f665d459 amdgpu: update vega20 firmware d0e86e75 amdgpu: update vega12 firmware 1c720ff4 amdgpu: update psp 14.0.4 firmware cc7d01ee amdgpu: update gc 11.5.2 firmware ac83d136 amdgpu: update vega10 firmware 92cfa0cc amdgpu: update vcn 4.0.0 firmware b3848445 amdgpu: update smu 13.0.0 firmware ed656376 amdgpu: update psp 13.0.0 firmware f5e2c676 amdgpu: update gc 11.0.0 firmware 54d70b86 amdgpu: update beige goby firmware 7416c173 amdgpu: update vangogh firmware 169ab504 amdgpu: update dimgrey cavefish firmware 3e78bb66 amdgpu: update navy flounder firmware c770f5bb amdgpu: update psp 13.0.11 firmware 7508bcff amdgpu: update gc 11.0.4 firmware 95091a45 amdgpu: update vcn 4.0.2 firmware 9ae39887 amdgpu: update psp 13.0.4 firmware bfca88ab amdgpu: update gc 11.0.1 firmware c9244523 amdgpu: update sienna cichlid firmware 5bce792a amdgpu: update vpe 6.1.1 firmware 398e526f amdgpu: update vcn 4.0.6 firmware 4a172771 amdgpu: update psp 14.0.1 firmware d316e650 amdgpu: update gc 11.5.1 firmware 0109c8f4 amdgpu: update vcn 4.0.5 firmware 9fdafc63 amdgpu: update psp 14.0.0 firmware cca5bb4a amdgpu: update gc 11.5.0 firmware 50bd1edb amdgpu: update navi14 firmware 78829a1a amdgpu: update arcturus firmware 0b20421f amdgpu: update renoir firmware e790f175 amdgpu: update navi12 firmware 93116bb7 amdgpu: update sdma 4.4.2 firmware d9e052f0 amdgpu: update psp 13.0.6 firmware 8d6dc052 amdgpu: update gc 9.4.3 firmware 799542f9 amdgpu: update vcn 4.0.4 firmware bca51065 amdgpu: update psp 13.0.7 firmware ce9cd47f amdgpu: update gc 11.0.2 firmware f9e90ac1 amdgpu: update navi10 firmware 9a186727 amdgpu: update aldebaran firmware 508d770e ice: update ice DDP wireless_edge package to 1.3.20.0 1db0dc9f ice: update ice DDP comms package to 1.3.52.0 b0cdbcef ice: update ice DDP package to ice-1.3.41.0 b94113ee amdgpu: update DMCUB to v9.0.10.0 for DCN314 60f838aa amdgpu: update DMCUB to v9.0.10.0 for DCN351 48bb90cc linux-firmware: Update AMD cpu microcode 00643cab xe: Update GUC to v70.36.0 for BMG, LNL 36d0c646 i915: Update GUC to v70.36.0 for ADL-P, DG1, DG2, MTL, TGL 60cdfe18 iwlwifi: add Bz-gf FW for core91-69 release 1e7f6588 qcom: venus-5.4: add venus firmware file for qcs615 aeede7af qcom: update venus firmware file for SC7280 77a11ffc QCA: Add 22 bluetooth firmware nvm files for QCA2066 4023ed0b mediatek MT7922: update bluetooth firmware to 20241106163512 ff344a7f mediatek MT7921: update bluetooth firmware to 20241106151414 862cd742 linux-firmware: update firmware for MT7922 WiFi device 45c98412 linux-firmware: update firmware for MT7921 WiFi device 01842da4 qcom: Add QDU100 firmware image files. af7f6e4f qcom: Update aic100 firmware files af70c9d5 dedup-firmware.sh: fix infinite loop for --verbose Signed-off-by: Daniel Golle --- package/firmware/linux-firmware/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile index 433ff03a21..bb5d14e04f 100644 --- a/package/firmware/linux-firmware/Makefile +++ b/package/firmware/linux-firmware/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linux-firmware -PKG_VERSION:=20241110 +PKG_VERSION:=20250211 PKG_RELEASE:=1 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=32e6d3eb5c7fcb69fe5d58976c6deafa0d6552719c6e74835064aff049d25bd7 +PKG_HASH:=2de1345897bf839d532c5de0fdb348770ca2a5f4edfb21971582597abb45297d PKG_MAINTAINER:=Felix Fietkau