kiddin9 10 月之前
父节点
当前提交
cbc8a3b72c
共有 100 个文件被更改,包括 1441 次插入3256 次删除
  1. 16 16
      .github/workflows/Openwrt-AutoBuild.yml
  2. 2 2
      .github/workflows/repo-dispatcher.yml
  3. 8 2
      devices/amlogic_meson8b/diy.sh
  4. 35 0
      devices/amlogic_meson8b/gen_aml_emmc_img.sh
  5. 15 3
      devices/amlogic_meson8b/patches/onecloud.patch
  6. 1 1
      devices/amlogic_mesongx/diy.sh
  7. 0 3
      devices/armsr_armv8/.config
  8. 0 9
      devices/armsr_armv8/patches/enable_wifi.patch
  9. 1 1
      devices/armsr_armv8/patches/rootfs.patch
  10. 0 1
      devices/ath79_nand/.config
  11. 1 4
      devices/ath79_nand/diy.sh
  12. 2 2
      devices/bcm27xx_bcm2708/.config
  13. 2 7
      devices/bcm27xx_bcm2709/.config
  14. 2 2
      devices/bcm27xx_bcm2710/.config
  15. 2 4
      devices/bcm27xx_bcm2711/.config
  16. 0 3
      devices/bcm27xx_bcm2712/.config
  17. 1 1
      devices/bcm27xx_bcm2712/diy.sh
  18. 0 3
      devices/bcm53xx/.config
  19. 29 18
      devices/common/.config
  20. 9 22
      devices/common/diy.sh
  21. 0 73
      devices/common/diy/package/network/utils/iptables/patches/900-bcm-fullconenat.patch
  22. 1 1
      devices/common/kernel_6.1.sh
  23. 1 1
      devices/common/kernel_6.6.sh
  24. 1 1
      devices/common/patches/default-packages.patch
  25. 26 31
      devices/common/patches/ebpf.patch
  26. 0 55
      devices/common/patches/ebpf.patch.main
  27. 40 19
      devices/common/patches/imagebuilder.patch
  28. 1 12
      devices/common/patches/kernel_version.patch
  29. 3 3
      devices/common/patches/luci_mk.patch
  30. 0 0
      devices/common/patches/nonshared.patch
  31. 0 21
      devices/common/patches/qca-ssdk.patch.main
  32. 2 2
      devices/common/patches/usb-audio.patch
  33. 0 2
      devices/ipq40xx_generic/.config
  34. 1 1
      devices/ipq40xx_generic/diy.sh
  35. 2 2
      devices/ipq40xx_generic/patches/cm520.patch
  36. 0 2
      devices/ipq50xx_arm/.config
  37. 2 2
      devices/ipq50xx_arm/diy.sh
  38. 3 3
      devices/ipq50xx_arm/patches/ipq50xx.patch
  39. 0 1
      devices/ipq806x_generic/.config
  40. 3 18
      devices/ipq806x_generic/patches/xiaomi_r3d.patch
  41. 0 13
      devices/ipq807x_generic/.config
  42. 0 2
      devices/ipq807x_generic/diy.sh
  43. 0 122
      devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dts
  44. 0 90
      devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts
  45. 0 568
      devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts
  46. 0 86
      devices/ipq807x_generic/patches/04-stock.patch
  47. 0 103
      devices/ipq807x_generic/patches/zte_mf269.patch
  48. 0 2
      devices/mediatek_filogic/.config
  49. 1 1
      devices/mediatek_filogic/diy.sh
  50. 259 0
      devices/mediatek_filogic/diy/target/linux/mediatek/dts/mt7981b-cmcc-mr3000d-ciq-256m.dts
  51. 4 4
      devices/mediatek_filogic/patches/08-cmcc_rax3000m.patch
  52. 0 0
      devices/mediatek_filogic/patches/22-netcore-n60.patch
  53. 0 0
      devices/mediatek_filogic/patches/23-ax3000t.patch
  54. 0 0
      devices/mediatek_filogic/patches/24-nradio-c8-660.patch
  55. 0 0
      devices/mediatek_filogic/patches/25-platform.patch
  56. 0 0
      devices/mediatek_filogic/patches/26-ruijie-rg-x60-pro.patch
  57. 0 0
      devices/mediatek_filogic/patches/27-tplink-tl-xdr.patch
  58. 114 0
      devices/mediatek_filogic/patches/33-cmcc-mr3000d-ciq-256m.patch
  59. 0 5
      devices/mediatek_mt7622/.config
  60. 0 5
      devices/mvebu_cortexa9/.config
  61. 6 0
      devices/qualcommax_ipq50xx/.config
  62. 8 0
      devices/qualcommax_ipq50xx/diy.sh
  63. 0 3
      devices/qualcommax_ipq60xx/.config
  64. 1 1
      devices/qualcommax_ipq60xx/README.md
  65. 4 15
      devices/qualcommax_ipq60xx/diy.sh
  66. 二进制
      devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-jdc_ax1800-pro.ipq6018
  67. 0 11
      devices/qualcommax_ipq60xx/patches/01-zn-m2.patch
  68. 4 11
      devices/qualcommax_ipq807x/.config
  69. 1 5
      devices/qualcommax_ipq807x/diy.sh
  70. 0 0
      devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8070-rm2-6.dts
  71. 0 0
      devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts
  72. 0 0
      devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts
  73. 271 0
      devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-nss.dtsi
  74. 0 0
      devices/qualcommax_ipq807x/diy/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
  75. 60 0
      devices/qualcommax_ipq807x/diy/target/linux/qualcommax/patches-6.6/0102-arm64-dts-ipq8074-add-reserved-memory-nodes.patch
  76. 23 30
      devices/qualcommax_ipq807x/patches/04-stock.patch
  77. 21 22
      devices/qualcommax_ipq807x/patches/ap8220.patch
  78. 0 2
      devices/ramips_mt7620/.config
  79. 1 0
      devices/ramips_mt7620/diy.sh
  80. 6 6
      devices/ramips_mt7620/patches/mir3.patch
  81. 0 3
      devices/ramips_mt7621/.config
  82. 4 0
      devices/ramips_mt7621/diy.sh
  83. 92 0
      devices/ramips_mt7621/diy/target/linux/ramips/dts/mt7621_ht-jsh_0211.dts
  84. 0 176
      devices/ramips_mt7621/diy/target/linux/ramips/dts/mt7621_openfi_5pro.dts
  85. 212 0
      devices/ramips_mt7621/diy/target/linux/ramips/dts/mt7621_zte_e8820s.dts
  86. 0 47
      devices/ramips_mt7621/patches/03-4a-breed-fix.patch
  87. 0 29
      devices/ramips_mt7621/patches/11-openfi-5pro.patch
  88. 0 373
      devices/ramips_mt7621/patches/c-life_xg1.patch
  89. 0 613
      devices/ramips_mt7621/patches/gateboard-one.patch
  90. 6 144
      devices/ramips_mt7621/patches/ht-jsh_0211.patch
  91. 0 101
      devices/ramips_mt7621/patches/re-cp-02.patch
  92. 0 194
      devices/ramips_mt7621/patches/zte_e8820s.patch
  93. 0 2
      devices/ramips_mt76x8/.config
  94. 2 0
      devices/ramips_mt76x8/diy.sh
  95. 0 9
      devices/rockchip_armv8/.config
  96. 12 22
      devices/rockchip_armv8/diy.sh
  97. 104 0
      devices/rockchip_armv8/patches/Photonicat_wireless.patch
  98. 13 0
      devices/rockchip_armv8/patches/fix.patch
  99. 0 76
      devices/rockchip_armv8/patches/r3s.patch
  100. 0 6
      devices/sunxi_cortexa53/.config

+ 16 - 16
.github/workflows/Openwrt-AutoBuild.yml

@@ -69,13 +69,13 @@ jobs:
         elif [ ${{matrix.target}} == "x86_generic" ]; then
         elif [ ${{matrix.target}} == "x86_generic" ]; then
             echo "ARCH=linux/amd32" >> $GITHUB_ENV
             echo "ARCH=linux/amd32" >> $GITHUB_ENV
             echo "MTARGET=x86_generic" >> $GITHUB_ENV
             echo "MTARGET=x86_generic" >> $GITHUB_ENV
-        elif [[ ${{matrix.target}} =~ (armsr_armv8|ipq807x_generic|mediatek_mt7622|mediatek_mt7981|mediatek_filogic|bcm27xx_bcm2710|qualcommax_ipq60xx|bcm4908_generic|sunxi_cortexa53) ]]; then
+        elif [[ ${{matrix.target}} =~ (armsr_armv8|qualcommax_ipq807x|mediatek_mt7622|mediatek_mt7981|mediatek_filogic|bcm27xx_bcm2710|qualcommax_ipq60xx|bcm4908_generic|sunxi_cortexa53) ]]; then
             echo "MTARGET=aarch64_cortex-a53" >> $GITHUB_ENV
             echo "MTARGET=aarch64_cortex-a53" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} =~ (ramips_mt7621|ramips_mt7620|ramips_mt76x8) ]]; then
         elif [[ ${{matrix.target}} =~ (ramips_mt7621|ramips_mt7620|ramips_mt76x8) ]]; then
             echo "MTARGET=mipsel_24kc" >> $GITHUB_ENV
             echo "MTARGET=mipsel_24kc" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} == "ath79_nand" ]]; then
         elif [[ ${{matrix.target}} == "ath79_nand" ]]; then
             echo "MTARGET=mips_24kc" >> $GITHUB_ENV
             echo "MTARGET=mips_24kc" >> $GITHUB_ENV
-        elif [[ ${{matrix.target}} =~ (ipq40xx_generic|bcm27xx_bcm2709|sunxi_cortexa7|ipq50xx_arm) ]]; then
+        elif [[ ${{matrix.target}} =~ (ipq40xx_generic|bcm27xx_bcm2709|sunxi_cortexa7|qualcommax_ipq50xx) ]]; then
             echo "MTARGET=arm_cortex-a7_neon-vfpv4" >> $GITHUB_ENV
             echo "MTARGET=arm_cortex-a7_neon-vfpv4" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} == "amlogic_meson8b" ]]; then
         elif [[ ${{matrix.target}} == "amlogic_meson8b" ]]; then
             echo "MTARGET=arm_cortex-a5_vfpv4" >> $GITHUB_ENV
             echo "MTARGET=arm_cortex-a5_vfpv4" >> $GITHUB_ENV
@@ -98,8 +98,9 @@ jobs:
 
 
     - name: Trigger Packages Update
     - name: Trigger Packages Update
       continue-on-error: true
       continue-on-error: true
+      if: contains(github.event.action, 'pkg')
       run: |
       run: |
-        status=$(curl -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }} -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status')
+        status=$(curl -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status')
         if [[ "$status" == "completed" ]]; then
         if [[ "$status" == "completed" ]]; then
           curl -X POST https://api.github.com/repos/kiddin9/kwrt-packages/dispatches \
           curl -X POST https://api.github.com/repos/kiddin9/kwrt-packages/dispatches \
             -H "Accept: application/vnd.github.everest-preview+json" \
             -H "Accept: application/vnd.github.everest-preview+json" \
@@ -153,19 +154,25 @@ jobs:
         if [[ $(( ($(date +%s) - $(date -d "$TAG_DATE" +%s)) / 86400 )) -lt 30 ]]; then
         if [[ $(( ($(date +%s) - $(date -d "$TAG_DATE" +%s)) / 86400 )) -lt 30 ]]; then
         REPO_BRANCH="$( echo ${TAG_INFO} | jq -r '.data.repository.refs.nodes[].name' | grep v23 | head -n 1)"
         REPO_BRANCH="$( echo ${TAG_INFO} | jq -r '.data.repository.refs.nodes[].name' | grep v23 | head -n 1)"
         else
         else
-        REPO_BRANCH="openwrt-23.05"
+        REPO_BRANCH="openwrt-24.10"
         fi
         fi
-        #echo "CONFIG_VERSION_REPO=\"https://dl.openwrt.ai/`echo $REPO_BRANCH  | cut -d . -f 1,2 | sed -e 's/^v//'`\"">>devices/common/.config
-        echo "CONFIG_VERSION_REPO=\"https://dl.openwrt.ai/23.05\"">>devices/common/.config
+        #echo "CONFIG_VERSION_REPO=\"https://dl.openwrt.ai/releases/`echo $REPO_BRANCH  | cut -d . -f 1,2 | sed -e 's/^v//'`\"">>devices/common/.config
+        echo "CONFIG_VERSION_REPO=\"https://dl.openwrt.ai/releases/24.10\"">>devices/common/.config
         if [[ ! "${{ env.REPO_BRANCH }}" && "$REPO_URL" == "https://github.com/openwrt/openwrt" ]]; then
         if [[ ! "${{ env.REPO_BRANCH }}" && "$REPO_URL" == "https://github.com/openwrt/openwrt" ]]; then
             git clone $REPO_URL -b $REPO_BRANCH openwrt
             git clone $REPO_URL -b $REPO_BRANCH openwrt
         elif [[ ! "${{ env.REPO_BRANCH }}" ]]; then
         elif [[ ! "${{ env.REPO_BRANCH }}" ]]; then
             git clone $REPO_URL openwrt
             git clone $REPO_URL openwrt
         else
         else
-            git clone $REPO_URL -b ${{ env.REPO_BRANCH }} openwrt
-            echo "git clone $REPO_URL -b ${{ env.REPO_BRANCH }} openwrt"
+            REPO_BRANCH="${{env.REPO_BRANCH}}"
+            if [[ ${#REPO_BRANCH} -lt 10 ]]; then
+                git clone $REPO_URL -b ${REPO_BRANCH} openwrt
+            else
+                git clone $REPO_URL openwrt
+                cd openwrt
+                git checkout ${REPO_BRANCH}
+            fi
         fi
         fi
-    
+
     - name: Free up disk space
     - name: Free up disk space
       env:
       env:
         DEBIAN_FRONTEND: noninteractive
         DEBIAN_FRONTEND: noninteractive
@@ -252,13 +259,6 @@ jobs:
         fi
         fi
         cat .config
         cat .config
 
 
-    - name: Download package
-      id: package
-      run: |
-        cd openwrt
-        make download -j$(($(nproc)+1)) &
-        sleep 5
-
     - name: Cache
     - name: Cache
       uses: stupidloud/cachewrtbuild@main
       uses: stupidloud/cachewrtbuild@main
       with:
       with:

+ 2 - 2
.github/workflows/repo-dispatcher.yml

@@ -122,7 +122,7 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
-          -d '{"event_type": "ipq50xx_arm ${{ github.event.inputs.param }}", "client_payload": {"target": "ipq50xx_arm"}}'
+          -d '{"event_type": "qualcommax_ipq50xx ${{ github.event.inputs.param }}", "client_payload": {"target": "qualcommax_ipq50xx"}}'
           curl \
           curl \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Accept: application/vnd.github.everest-preview+json" \
@@ -142,7 +142,7 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
-          -d '{"event_type": "ipq807x_generic ${{ github.event.inputs.param }}", "client_payload": {"target": "ipq807x_generic"}}'
+          -d '{"event_type": "qualcommax_ipq807x ${{ github.event.inputs.param }}", "client_payload": {"target": "qualcommax_ipq807x"}}'
           curl \
           curl \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Accept: application/vnd.github.everest-preview+json" \

+ 8 - 2
devices/amlogic_meson8b/diy.sh

@@ -10,10 +10,16 @@ SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
 #git_clone_path c640f7b93736621b4d56627e4f6ab824093f9c3d https://github.com/openwrt/openwrt package/kernel/mac80211
 #git_clone_path c640f7b93736621b4d56627e4f6ab824093f9c3d https://github.com/openwrt/openwrt package/kernel/mac80211
 
 
-git_clone_path main https://github.com/shiyu1314/openwrt-onecloud kernel/amlogic && mv -f kernel/amlogic target/linux/
 
 
-sed -i "s/CPU_SUBTYPE:=neon-vfpv4/CPU_SUBTYPE:=vfpv4/" target/linux/amlogic/meson8b/target.mk
+git_clone_path main https://github.com/lxiaya/openwrt-onecloud target/linux/amlogic
+
+mv -f gen_aml_emmc_img.sh target/linux/amlogic/image/
+
+chmod +x target/linux/amlogic/image/gen_aml_emmc_img.sh
 
 
 sed -i "s/wpad-openssl/wpad-basic-mbedtls/" target/linux/amlogic/image/Makefile
 sed -i "s/wpad-openssl/wpad-basic-mbedtls/" target/linux/amlogic/image/Makefile
 
 
+sed -i "s/neon-vfpv4/vfpv4/" target/linux/amlogic/meson8b/target.mk
+
+rm -rf package/feeds/routing/batman-adv
 
 

+ 35 - 0
devices/amlogic_meson8b/gen_aml_emmc_img.sh

@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# 检查参数数量
+if [ "$#" -ne 5 ]; then
+    echo "Usage: $0 <output_image> <boot_partition_image> <rootfs_image>"
+    exit 1
+fi
+
+OUTPUT_IMAGE=$1
+BOOT_PARTITION_IMAGE=$2
+ROOTFS_IMAGE=$3
+
+
+# 下载并准备工具
+ver="v0.3.1"
+[ -f AmlImg ] || curl -L -o ./AmlImg https://github.com/hzyitc/AmlImg/releases/download/$ver/AmlImg_${ver}_linux_amd64
+chmod +x ./AmlImg
+[ -f uboot.img ] || curl -L -o ./uboot.img https://github.com/hzyitc/u-boot-onecloud/releases/download/build-20221028-0940/eMMC.burn.img
+./AmlImg unpack ./uboot.img burn/
+
+# 转换镜像格式
+img2simg ${BOOT_PARTITION_IMAGE} burn/boot.simg
+img2simg ${ROOTFS_IMAGE} burn/rootfs.simg
+
+# 创建命令文件
+cat <<EOF >>burn/commands.txt
+PARTITION:boot:sparse:boot.simg
+PARTITION:rootfs:sparse:rootfs.simg
+EOF
+
+# 打包生成最终镜像
+./AmlImg pack ${OUTPUT_IMAGE} burn/
+
+# 清理临时文件夹
+rm -rf burn

+ 15 - 3
devices/amlogic_meson8b/patches/onecloud.patch

@@ -1,12 +1,24 @@
 --- a/target/linux/amlogic/image/Makefile
 --- a/target/linux/amlogic/image/Makefile
 +++ b/target/linux/amlogic/image/Makefile
 +++ b/target/linux/amlogic/image/Makefile
-@@ -49,7 +49,8 @@ endef
+@@ -36,7 +36,7 @@ endef
+ ### Devices ###
+ define Device/Default
+   FILESYSTEMS := ext4
+-  IMAGES := emmc.img
++  IMAGES := emmc_burn.img
+   KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
+   KERNEL_LOADADDR := 0x01080000
+   KERNEL_NAME := Image
+@@ -46,9 +46,10 @@ endef
  
  
  define Device/thunder-onecloud
  define Device/thunder-onecloud
-   DEVICE_DTS := meson8b-onecloud
+   DEVICE_DTS := amlogic/meson8b-onecloud
 -  DEVICE_TITLE := Thunder OneCloud
 -  DEVICE_TITLE := Thunder OneCloud
 +  DEVICE_TITLE := OneCloud 玩客云
 +  DEVICE_TITLE := OneCloud 玩客云
 +  DEVICE_PACKAGES += kmod-usb-net-rtl8152
 +  DEVICE_PACKAGES += kmod-usb-net-rtl8152
    KERNEL_LOADADDR := 0x00208000
    KERNEL_LOADADDR := 0x00208000
-   IMAGE/emmc_burn.img := boot-script onecloud | emmc-common $$(DEVICE_NAME)
+-  IMAGE/emmc.img := boot-script onecloud | emmc-common $$(DEVICE_NAME)
++  IMAGE/emmc_burn.img := boot-script onecloud | emmc-common $$(DEVICE_NAME)
  endef
  endef
+ ifeq ($(SUBTARGET),meson8b)
+   TARGET_DEVICES += thunder-onecloud

+ 1 - 1
devices/amlogic_mesongx/diy.sh

@@ -4,7 +4,7 @@ shopt -s extglob
 
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-bash $SHELL_FOLDER/../common/kernel_6.1.sh
+#bash $SHELL_FOLDER/../common/kernel_6.1.sh
 
 
 git_clone_path master https://github.com/coolsnowwolf/lede target/linux/amlogic package/boot/uboot-amlogic
 git_clone_path master https://github.com/coolsnowwolf/lede target/linux/amlogic package/boot/uboot-amlogic
 
 

+ 0 - 3
devices/armsr_armv8/.config

@@ -8,9 +8,6 @@ CONFIG_TARGET_ROOTFS_TARGZ=y
 CONFIG_TARGET_ROOTFS_EXT4FS=y
 CONFIG_TARGET_ROOTFS_EXT4FS=y
 CONFIG_TARGET_ROOTFS_SQUASHFS=n
 CONFIG_TARGET_ROOTFS_SQUASHFS=n
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
-
 CONFIG_PACKAGE_kmod-switch-ar8xxx=n
 CONFIG_PACKAGE_kmod-switch-ar8xxx=n
 
 
 
 

+ 0 - 9
devices/armsr_armv8/patches/enable_wifi.patch

@@ -1,9 +0,0 @@
---- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
-+++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
-@@ -213,5 +213,6 @@ detect_mac80211() {
- 			set wireless.default_${name}.encryption=none
- EOF
- 		uci -q commit wireless
-+		wifi reload
- 	done
- }

+ 1 - 1
devices/armsr_armv8/patches/rootfs.patch

@@ -50,7 +50,7 @@
 +  if [ "$(PROFILE_SANITIZED)" == "box" ]; then \
 +  if [ "$(PROFILE_SANITIZED)" == "box" ]; then \
 +  	export BIN_DIR=$(BIN_DIR); \
 +  	export BIN_DIR=$(BIN_DIR); \
 +  	export DATE=$(DATE); \
 +  	export DATE=$(DATE); \
-+  	export MORE=$(MORE); \
++  	export MORE="$(MORE)"; \
 +	export ROOTFS_PARTSIZE=$(shell echo $$(($(ROOTFS_PARTSIZE)/1024/1024))); \
 +	export ROOTFS_PARTSIZE=$(shell echo $$(($(ROOTFS_PARTSIZE)/1024/1024))); \
 +  	cd /data/packit/amlogic-s9xxx-openwrt; \
 +  	cd /data/packit/amlogic-s9xxx-openwrt; \
 +  	. ~/packit/packit_amlogic.sh; \
 +  	. ~/packit/packit_amlogic.sh; \

+ 0 - 1
devices/ath79_nand/.config

@@ -17,7 +17,6 @@ CONFIG_TARGET_DEVICE_ath79_nand_DEVICE_zte_mf286=y
 CONFIG_TARGET_DEVICE_ath79_nand_DEVICE_zte_mf281=y
 CONFIG_TARGET_DEVICE_ath79_nand_DEVICE_zte_mf281=y
 CONFIG_TARGET_DEVICE_ath79_nand_DEVICE_domywifi_dw33d=y
 CONFIG_TARGET_DEVICE_ath79_nand_DEVICE_domywifi_dw33d=y
 
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
 
 
 
 
 
 

+ 1 - 4
devices/ath79_nand/diy.sh

@@ -4,7 +4,4 @@ shopt -s extglob
 
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-
-
-
-
+sed -i '/# start dockerd/,/# end dockerd/d' .config

+ 2 - 2
devices/bcm27xx_bcm2708/.config

@@ -4,8 +4,8 @@ CONFIG_TARGET_bcm27xx_bcm2708=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_DEVICE_bcm27xx_bcm2708_DEVICE_rpi=y
 CONFIG_TARGET_DEVICE_bcm27xx_bcm2708_DEVICE_rpi=y
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
+CONFIG_PACKAGE_kmod-codec-bcm2835=n
+CONFIG_PACKAGE_kmod-isp-bcm2835=n
 
 
 
 
 
 

+ 2 - 7
devices/bcm27xx_bcm2709/.config

@@ -3,10 +3,5 @@ CONFIG_TARGET_bcm27xx=y
 CONFIG_TARGET_bcm27xx_bcm2709=y
 CONFIG_TARGET_bcm27xx_bcm2709=y
 CONFIG_TARGET_bcm27xx_bcm2709_DEVICE_rpi-2=y
 CONFIG_TARGET_bcm27xx_bcm2709_DEVICE_rpi-2=y
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
-
-CONFIG_PACKAGE_kmod-pcie_mhi=m
-
-
-
+CONFIG_PACKAGE_kmod-codec-bcm2835=n
+CONFIG_PACKAGE_kmod-isp-bcm2835=n

+ 2 - 2
devices/bcm27xx_bcm2710/.config

@@ -3,8 +3,8 @@ CONFIG_TARGET_bcm27xx=y
 CONFIG_TARGET_bcm27xx_bcm2710=y
 CONFIG_TARGET_bcm27xx_bcm2710=y
 CONFIG_TARGET_bcm27xx_bcm2710_DEVICE_rpi-3=y
 CONFIG_TARGET_bcm27xx_bcm2710_DEVICE_rpi-3=y
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
+CONFIG_PACKAGE_kmod-codec-bcm2835=n
+CONFIG_PACKAGE_kmod-isp-bcm2835=n
 
 
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 
 

+ 2 - 4
devices/bcm27xx_bcm2711/.config

@@ -3,10 +3,8 @@ CONFIG_TARGET_bcm27xx=y
 CONFIG_TARGET_bcm27xx_bcm2711=y
 CONFIG_TARGET_bcm27xx_bcm2711=y
 CONFIG_TARGET_bcm27xx_bcm2711_DEVICE_rpi-4=y
 CONFIG_TARGET_bcm27xx_bcm2711_DEVICE_rpi-4=y
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
-
-CONFIG_PACKAGE_kmod-of-mdio=n
+CONFIG_PACKAGE_kmod-codec-bcm2835=n
+CONFIG_PACKAGE_kmod-isp-bcm2835=n
 
 
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 
 

+ 0 - 3
devices/bcm27xx_bcm2712/.config

@@ -3,9 +3,6 @@ CONFIG_TARGET_bcm27xx=y
 CONFIG_TARGET_bcm27xx_bcm2712=y
 CONFIG_TARGET_bcm27xx_bcm2712=y
 CONFIG_TARGET_bcm27xx_bcm2712_DEVICE_rpi-5=y
 CONFIG_TARGET_bcm27xx_bcm2712_DEVICE_rpi-5=y
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
-
 CONFIG_PACKAGE_kmod-of-mdio=n
 CONFIG_PACKAGE_kmod-of-mdio=n
 
 
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 CONFIG_PACKAGE_kmod-pcie_mhi=m

+ 1 - 1
devices/bcm27xx_bcm2712/diy.sh

@@ -2,6 +2,6 @@
 
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-bash $SHELL_FOLDER/../common/kernel_6.6.sh
+#bash $SHELL_FOLDER/../common/kernel_6.6.sh
 
 
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152/' target/linux/bcm27xx/Makefile
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152/' target/linux/bcm27xx/Makefile

+ 0 - 3
devices/bcm53xx/.config

@@ -6,12 +6,9 @@ CONFIG_TARGET_DEVICE_bcm53xx_generic_DEVICE_phicomm_k3=y
 CONFIG_TARGET_DEVICE_bcm53xx_generic_DEVICE_asus_rt-ac88u=y
 CONFIG_TARGET_DEVICE_bcm53xx_generic_DEVICE_asus_rt-ac88u=y
 CONFIG_TARGET_DEVICE_bcm53xx_generic_DEVICE_dlink_dir-885l=y
 CONFIG_TARGET_DEVICE_bcm53xx_generic_DEVICE_dlink_dir-885l=y
 
 
-CONFIG_PACKAGE_perf=n
-
 CONFIG_KERNEL_DEVMEM=y
 CONFIG_KERNEL_DEVMEM=y
 CONFIG_BUSYBOX_CONFIG_ARPING=y
 CONFIG_BUSYBOX_CONFIG_ARPING=y
 
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
 
 
 
 
 
 

+ 29 - 18
devices/common/.config

@@ -8,14 +8,13 @@ CONFIG_LUCI_CSSTIDY=n
 CONFIG_SIGNED_PACKAGES=n
 CONFIG_SIGNED_PACKAGES=n
 CONFIG_SIGNATURE_CHECK=n
 CONFIG_SIGNATURE_CHECK=n
 
 
-CONFIG_PACKAGE_kmod-switch-rtl8367b=n
-CONFIG_PACKAGE_kmod-aic8800=n
-
 # 设置固件大小:
 # 设置固件大小:
 CONFIG_TARGET_ROOTFS_PARTSIZE=1004
 CONFIG_TARGET_ROOTFS_PARTSIZE=1004
 
 
 CONFIG_ALL_NONSHARED=y
 CONFIG_ALL_NONSHARED=y
 
 
+CONFIG_USE_APK=n
+
 CONFIG_IB=y
 CONFIG_IB=y
 CONFIG_IB_STANDALONE=y
 CONFIG_IB_STANDALONE=y
 CONFIG_JSON_OVERVIEW_IMAGE_INFO=y
 CONFIG_JSON_OVERVIEW_IMAGE_INFO=y
@@ -42,6 +41,9 @@ CONFIG_PACKAGE_dnsmasq-full=y
 CONFIG_PACKAGE_dnsmasq_full_dhcp=y
 CONFIG_PACKAGE_dnsmasq_full_dhcp=y
 CONFIG_PACKAGE_dnsmasq_full_ipset=y
 CONFIG_PACKAGE_dnsmasq_full_ipset=y
 
 
+CONFIG_PACKAGE_firewall=m
+CONFIG_PACKAGE_miniupnpd-iptables=m
+
 CONFIG_NGINX_DAV=y
 CONFIG_NGINX_DAV=y
 CONFIG_PACKAGE_luci-base=y
 CONFIG_PACKAGE_luci-base=y
 CONFIG_PACKAGE_luci-compat=y
 CONFIG_PACKAGE_luci-compat=y
@@ -74,24 +76,12 @@ CONFIG_BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
 CONFIG_BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
 CONFIG_BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
 CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG_INFO=y
 CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG_INFO=y
 
 
+CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
+
 CONFIG_PACKAGE_bash=y
 CONFIG_PACKAGE_bash=y
 CONFIG_PACKAGE_ca-bundle=y
 CONFIG_PACKAGE_ca-bundle=y
 
 
-CONFIG_KERNEL_CGROUP_DEVICE=y
-CONFIG_KERNEL_CGROUP_FREEZER=y
-CONFIG_KERNEL_NET_CLS_CGROUP=y
-CONFIG_KERNEL_CGROUP_NET_PRIO=y
-CONFIG_KERNEL_MEMCG_SWAP_ENABLED=y
-CONFIG_KERNEL_CFQ_GROUP_IOSCHED=y
-CONFIG_KERNEL_CGROUP_PERF=y
-CONFIG_KERNEL_CGROUP_HUGETLB=y
-CONFIG_KERNEL_EXT4_FS_POSIX_ACL=y
-CONFIG_KERNEL_EXT4_FS_SECURITY=y
-CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y
-
-
-CONFIG_PACKAGE_kmod-sprd_pcie=n
-CONFIG_PACKAGE_kmod-drm-nouveau=n
+CONFIG_PACKAGE_wifi-scripts=m
 
 
 CONFIG_PACKAGE_kmod-pcie_mhi=n
 CONFIG_PACKAGE_kmod-pcie_mhi=n
 
 
@@ -106,3 +96,24 @@ CONFIG_VERSION_CODE_FILENAMES=n
 
 
 CONFIG_BPF_TOOLCHAIN_HOST=y
 CONFIG_BPF_TOOLCHAIN_HOST=y
 CONFIG_BPF_TOOLCHAIN_NONE=n
 CONFIG_BPF_TOOLCHAIN_NONE=n
+
+CONFIG_ZLIB_OPTIMIZE_SPEED=y
+CONFIG_ZSTD_OPTIMIZE_O3=y
+
+CONFIG_BUILD_PATENTED=y
+
+
+# start dockerd
+CONFIG_KERNEL_CGROUP_DEVICE=y
+CONFIG_KERNEL_CGROUP_FREEZER=y
+CONFIG_KERNEL_NET_CLS_CGROUP=y
+CONFIG_KERNEL_CGROUP_NET_PRIO=y
+CONFIG_KERNEL_MEMCG_SWAP_ENABLED=y
+CONFIG_KERNEL_CFQ_GROUP_IOSCHED=y
+CONFIG_KERNEL_CGROUP_PERF=y
+CONFIG_KERNEL_CGROUP_HUGETLB=y
+CONFIG_KERNEL_EXT4_FS_POSIX_ACL=y
+CONFIG_KERNEL_EXT4_FS_SECURITY=y
+CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y
+# end dockerd
+

+ 9 - 22
devices/common/diy.sh

@@ -18,7 +18,7 @@ mv -f feeds/kiddin9/base-files package/
 
 
 echo "$(date +"%s")" >version.date
 echo "$(date +"%s")" >version.date
 sed -i '/$(curdir)\/compile:/c\$(curdir)/compile: package/opkg/host/compile' package/Makefile
 sed -i '/$(curdir)\/compile:/c\$(curdir)/compile: package/opkg/host/compile' package/Makefile
-sed -i "s/DEFAULT_PACKAGES:=/DEFAULT_PACKAGES:=luci-app-advancedplus luci-app-firewall luci-app-opkg luci-app-upnp \
+sed -i "s/DEFAULT_PACKAGES:=/DEFAULT_PACKAGES:=luci-app-advancedplus luci-app-firewall luci-app-package-manager luci-app-upnp luci-app-syscontrol \
 luci-app-wizard luci-base luci-compat luci-lib-ipkg luci-lib-fs \
 luci-app-wizard luci-base luci-compat luci-lib-ipkg luci-lib-fs \
 coremark wget-ssl curl autocore htop nano zram-swap kmod-lib-zstd kmod-tcp-bbr bash openssh-sftp-server block-mount resolveip ds-lite swconfig luci-app-fan luci-app-fileassistant /" include/target.mk
 coremark wget-ssl curl autocore htop nano zram-swap kmod-lib-zstd kmod-tcp-bbr bash openssh-sftp-server block-mount resolveip ds-lite swconfig luci-app-fan luci-app-fileassistant /" include/target.mk
 
 
@@ -35,8 +35,6 @@ while [[ "$status" == "in_progress" || "$status" == "queued" ]];do
 	status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status')
 	status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kiddin9/kwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status')
 done
 done
 
 
-rm -rf package/feeds/packages/v4l2loopback package/feeds/kiddin9/accel-ppp
-
 mv -f feeds/kiddin9/r81* tmp/
 mv -f feeds/kiddin9/r81* tmp/
 
 
 wget -N https://raw.githubusercontent.com/openwrt/packages/master/lang/golang/golang/Makefile -P feeds/packages/lang/golang/golang/
 wget -N https://raw.githubusercontent.com/openwrt/packages/master/lang/golang/golang/Makefile -P feeds/packages/lang/golang/golang/
@@ -45,26 +43,12 @@ sed -i "s/192.168.1/10.0.0/" package/base-files/files/bin/config_generate
 
 
 #sed -i "/call Build\/check-size,\$\$(KERNEL_SIZE)/d" include/image.mk
 #sed -i "/call Build\/check-size,\$\$(KERNEL_SIZE)/d" include/image.mk
 
 
-wget -N https://raw.githubusercontent.com/coolsnowwolf/lede/master/package/kernel/linux/modules/video.mk -P package/kernel/linux/modules/
-
-git_clone_path master https://github.com/coolsnowwolf/lede target/linux/generic/hack-5.15
-wget -N https://raw.githubusercontent.com/coolsnowwolf/lede/master/target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch -P target/linux/generic/pending-5.15/
-
-sed -i "s/CONFIG_WERROR=y/CONFIG_WERROR=n/" target/linux/generic/config-5.15
-
-sed -i "s/no-lto,$/no-lto no-mold,$/" include/package.mk
+wget -N https://github.com/openwrt/openwrt/raw/refs/heads/main/package/kernel/linux/modules/video.mk -P package/kernel/linux/modules/
 
 
-[ -d package/kernel/mt76 ] && {
-wget -N https://raw.githubusercontent.com/immortalwrt/immortalwrt/master/package/kernel/mt76/patches/0001-mt76-allow-VHT-rate-on-2.4GHz.patch -P package/kernel/mt76/patches/
-}
+git_clone_path master https://github.com/coolsnowwolf/lede mv target/linux/generic/hack-6.6
+rm -rf target/linux/generic/hack-6.6/929-Revert-genetlink*
+wget -N https://raw.githubusercontent.com/coolsnowwolf/lede/master/target/linux/generic/pending-6.6/613-netfilter_optional_tcp_window_check.patch -P target/linux/generic/pending-6.6/
 
 
-grep -q 'PKG_RELEASE:=9' package/libs/openssl/Makefile && {
-sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/a48d0bdb77eb93f7fba6e055dace125c72755b6a.patch | patch -d './' -p1 --forward"
-}
-
-sed -i "/wireless.\${name}.disabled/d" package/kernel/mac80211/files/lib/wifi/mac80211.sh
-
-sed -i 's/Os/O2/g' include/target.mk
 sed -i "/mediaurlbase/d" package/feeds/*/luci-theme*/root/etc/uci-defaults/*
 sed -i "/mediaurlbase/d" package/feeds/*/luci-theme*/root/etc/uci-defaults/*
 sed -i 's/=bbr/=cubic/' package/kernel/linux/files/sysctl-tcp-bbr.conf
 sed -i 's/=bbr/=cubic/' package/kernel/linux/files/sysctl-tcp-bbr.conf
 
 
@@ -78,6 +62,9 @@ sed -i 's/$$(call concat_cmd,$$(KERNEL_INITRAMFS))/-$$(call concat_cmd,$$(KERNEL
 date=`date +%m.%d.%Y`
 date=`date +%m.%d.%Y`
 sed -i -e "/\(# \)\?REVISION:=/c\REVISION:=$date" -e '/VERSION_CODE:=/c\VERSION_CODE:=$(REVISION)' include/version.mk
 sed -i -e "/\(# \)\?REVISION:=/c\REVISION:=$date" -e '/VERSION_CODE:=/c\VERSION_CODE:=$(REVISION)' include/version.mk
 
 
+sed -i 's/option timeout 30/option timeout 60/g' package/system/rpcd/files/rpcd.config
+sed -i 's#20) \* 1000#60) \* 1000#g' feeds/luci/modules/luci-base/htdocs/luci-static/resources/rpc.js
+
 sed -i \
 sed -i \
 	-e "s/+\(luci\|luci-ssl\|uhttpd\)\( \|$\)/\2/" \
 	-e "s/+\(luci\|luci-ssl\|uhttpd\)\( \|$\)/\2/" \
 	-e "s/+nginx\( \|$\)/+nginx-ssl\1/" \
 	-e "s/+nginx\( \|$\)/+nginx-ssl\1/" \
@@ -85,4 +72,4 @@ sed -i \
 	-e 's?../../lang?$(TOPDIR)/feeds/packages/lang?' \
 	-e 's?../../lang?$(TOPDIR)/feeds/packages/lang?' \
 	package/feeds/kiddin9/*/Makefile
 	package/feeds/kiddin9/*/Makefile
 
 
-sed -i "s/OpenWrt/Kwrt/g" package/base-files/files/bin/config_generate package/base-files/image-config.in config/Config-images.in Config.in include/u-boot.mk include/version.mk package/network/config/wifi-scripts/files/lib/wifi/mac80211.sh package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh || true
+sed -i "s/OpenWrt/Kwrt/g" package/base-files/files/bin/config_generate package/base-files/image-config.in config/Config-images.in Config.in include/u-boot.mk include/version.mk || true

+ 0 - 73
devices/common/diy/package/network/utils/iptables/patches/900-bcm-fullconenat.patch

@@ -1,73 +0,0 @@
---- a/extensions/libipt_MASQUERADE.c
-+++ b/extensions/libipt_MASQUERADE.c
-@@ -11,6 +11,7 @@
- enum {
- 	O_TO_PORTS = 0,
- 	O_RANDOM,
-+	O_MODE,
- 	O_RANDOM_FULLY,
- };
- 
-@@ -23,13 +24,16 @@ static void MASQUERADE_help(void)
- " --random\n"
- "				Randomize source port.\n"
- " --random-fully\n"
--"				Fully randomize source port.\n");
-+"				Fully randomize source port.\n"
-+" --mode <fullcone|symmetric>\n"
-+"				NAT mode.\n");
- }
- 
- static const struct xt_option_entry MASQUERADE_opts[] = {
- 	{.name = "to-ports", .id = O_TO_PORTS, .type = XTTYPE_STRING},
- 	{.name = "random", .id = O_RANDOM, .type = XTTYPE_NONE},
- 	{.name = "random-fully", .id = O_RANDOM_FULLY, .type = XTTYPE_NONE},
-+	{.name = "mode", .id = O_MODE, .type = XTTYPE_STRING},
- 	XTOPT_TABLEEND,
- };
- 
-@@ -90,6 +94,8 @@ static void MASQUERADE_parse(struct xt_o
- 	else
- 		portok = 0;
- 
-+	mr->range[0].min_ip = 0;
-+
- 	xtables_option_parse(cb);
- 	switch (cb->entry->id) {
- 	case O_TO_PORTS:
-@@ -104,6 +110,15 @@ static void MASQUERADE_parse(struct xt_o
- 	case O_RANDOM_FULLY:
- 		mr->range[0].flags |=  NF_NAT_RANGE_PROTO_RANDOM_FULLY;
- 		break;
-+	case O_MODE:
-+		if (strcasecmp(cb->arg, "fullcone") == 0)
-+			mr->range[0].min_ip = 1;
-+		else if (strcasecmp(cb->arg, "symmetric") == 0)
-+			mr->range[0].min_ip = 0;
-+		else
-+			xtables_error(PARAMETER_PROBLEM,
-+				   "Unknown mode %s", cb->arg);
-+		break;
- 	}
- }
- 
-@@ -126,6 +141,9 @@ MASQUERADE_print(const void *ip, const s
- 
- 	if (r->flags & NF_NAT_RANGE_PROTO_RANDOM_FULLY)
- 		printf(" random-fully");
-+
-+	if (r->min_ip == 1)
-+		printf(" mode: fullcone");
- }
- 
- static void
-@@ -145,6 +163,9 @@ MASQUERADE_save(const void *ip, const st
- 
- 	if (r->flags & NF_NAT_RANGE_PROTO_RANDOM_FULLY)
- 		printf(" --random-fully");
-+
-+	if (r->min_ip == 1)
-+		printf(" --mode fullcone");
- }
- 
- static int MASQUERADE_xlate(struct xt_xlate *xl,

+ 1 - 1
devices/common/kernel_6.1.sh

@@ -8,7 +8,7 @@ mkdir new; cp -rf .git new/.git
 cd new
 cd new
 git reset --hard origin/master
 git reset --hard origin/master
 
 
-cp -rf --parents target/linux package/kernel package/boot package/firmware include/kernel* config/Config-images.in config/Config-kernel.in include/image*.mk include/trusted-firmware-a.mk include/bpf.mk scripts/ubinize-image.sh package/utils/bcm27xx-utils package/devel/perf package/network/config/qosify ../
+cp -rf --parents target/linux package/kernel package/boot package/firmware include/kernel* config/Config-images.in config/Config-kernel.in include/image*.mk include/trusted-firmware-a.mk include/bpf.mk scripts/ubinize-image.sh scripts/target-metadata.pl package/utils/bcm27xx-utils package/devel/perf package/network/config/qosify ../
 cd -
 cd -
 
 
 sed -i "s/^.*vermagic$/\techo '1' > \$(LINUX_DIR)\/.vermagic/" include/kernel-defaults.mk
 sed -i "s/^.*vermagic$/\techo '1' > \$(LINUX_DIR)\/.vermagic/" include/kernel-defaults.mk

+ 1 - 1
devices/common/kernel_6.6.sh

@@ -3,7 +3,7 @@
 shopt -s extglob
 shopt -s extglob
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-bash $SHELL_FOLDER/../common/kernel_6.1.sh
+#bash $SHELL_FOLDER/../common/kernel_6.1.sh
 
 
 git_clone_path master https://github.com/coolsnowwolf/lede target/linux/generic/hack-6.6
 git_clone_path master https://github.com/coolsnowwolf/lede target/linux/generic/hack-6.6
 rm -rf target/linux/generic/hack-6.6/767-net-phy-realtek*
 rm -rf target/linux/generic/hack-6.6/767-net-phy-realtek*

+ 1 - 1
devices/common/patches/default-packages.patch

@@ -11,4 +11,4 @@
 -	kmod-nft-offload \
 -	kmod-nft-offload \
  	odhcp6c \
  	odhcp6c \
  	odhcpd-ipv6only \
  	odhcpd-ipv6only \
- 	ppp \
+ 	ppp \

+ 26 - 31
devices/common/patches/ebpf.patch

@@ -1,36 +1,31 @@
 --- a/config/Config-kernel.in
 --- a/config/Config-kernel.in
 +++ b/config/Config-kernel.in
 +++ b/config/Config-kernel.in
-@@ -364,6 +364,7 @@ config KERNEL_DEBUG_INFO
- config KERNEL_DEBUG_INFO_BTF
+@@ -426,6 +426,7 @@ config KERNEL_DEBUG_INFO
  
  
+ config KERNEL_DEBUG_INFO_BTF
  	bool "Enable additional BTF type information"
  	bool "Enable additional BTF type information"
-+	default y if (TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_ipq807x || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64)
++	default y if (TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64) && BUILDBOT
  	depends on !HOST_OS_MACOS
  	depends on !HOST_OS_MACOS
  	depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
  	depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
  	select DWARVES
  	select DWARVES
-@@ -374,9 +375,20 @@ config KERNEL_DEBUG_INFO_BTF
- 
- 	  Required to run BPF CO-RE applications.
- 
-+config KERNEL_MODULE_ALLOW_BTF_MISMATCH
-+	bool "Allow loading modules with non-matching BTF type info"
-+	depends on KERNEL_DEBUG_INFO_BTF
+@@ -443,6 +444,7 @@ config KERNEL_DEBUG_INFO_BTF_MODULES
+ config KERNEL_MODULE_ALLOW_BTF_MISMATCH
+ 	bool "Allow loading modules with non-matching BTF type info"
+ 	depends on KERNEL_DEBUG_INFO_BTF_MODULES
 +	default y
 +	default y
-+	help
-+	  For modules whose split BTF does not match vmlinux, load without
-+	  BTF rather than refusing to load. The default behavior with
-+	  module BTF enabled is to reject modules with such mismatches;
-+	  this option will still load module BTF where possible but ignore
-+	  it when a mismatch is found.
-+
+ 	help
+ 	  For modules whose split BTF does not match vmlinux, load without
+ 	  BTF rather than refusing to load. The default behavior with
+@@ -452,7 +454,7 @@ config KERNEL_MODULE_ALLOW_BTF_MISMATCH
+ 
  config KERNEL_DEBUG_INFO_REDUCED
  config KERNEL_DEBUG_INFO_REDUCED
  	bool "Reduce debugging information"
  	bool "Reduce debugging information"
 -	default y
 -	default y
-+	default y if !(TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_ipq807x || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64)
++	default y if !(TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64) || !BUILDBOT
  	depends on KERNEL_DEBUG_INFO
  	depends on KERNEL_DEBUG_INFO
  	help
  	help
  	  If you say Y here gcc is instructed to generate less debugging
  	  If you say Y here gcc is instructed to generate less debugging
-@@ -464,17 +476,28 @@ config KERNEL_KPROBE_EVENTS
+@@ -540,6 +542,7 @@ config KERNEL_KPROBE_EVENTS
  config KERNEL_BPF_EVENTS
  config KERNEL_BPF_EVENTS
  	bool "Compile the kernel with BPF event support"
  	bool "Compile the kernel with BPF event support"
  	select KERNEL_KPROBES
  	select KERNEL_KPROBES
@@ -38,16 +33,7 @@
  	help
  	help
  	  Allows to attach BPF programs to kprobe, uprobe and tracepoint events.
  	  Allows to attach BPF programs to kprobe, uprobe and tracepoint events.
  	  This is required to use BPF maps of type BPF_MAP_TYPE_PERF_EVENT_ARRAY
  	  This is required to use BPF maps of type BPF_MAP_TYPE_PERF_EVENT_ARRAY
- 	  for sending data from BPF programs to user-space for post-processing
- 	  or logging.
- 
-+config KERNEL_PROBE_EVENTS_BTF_ARGS
-+	bool
-+	depends on KERNEL_KPROBE_EVENTS && KERNEL_DEBUG_INFO_BTF
-+	default n
-+
- config KERNEL_BPF_KPROBE_OVERRIDE
- 	bool
+@@ -555,6 +558,20 @@ config KERNEL_BPF_KPROBE_OVERRIDE
  	depends on KERNEL_KPROBES
  	depends on KERNEL_KPROBES
  	default n
  	default n
  
  
@@ -55,15 +41,24 @@
 +	bool "Allow a TCP stream parser to be used with BPF_MAP_TYPE_SOCKMAP"
 +	bool "Allow a TCP stream parser to be used with BPF_MAP_TYPE_SOCKMAP"
 +	depends on KERNEL_CGROUP_BPF
 +	depends on KERNEL_CGROUP_BPF
 +	default y if KERNEL_DEBUG_INFO_BTF
 +	default y if KERNEL_DEBUG_INFO_BTF
++
++config KERNEL_NETKIT
++	bool "Compile the kernel with BPF-programmable network device support"
++	default y if KERNEL_DEBUG_INFO_BTF
++	help
++	  The netkit device is a virtual networking device where BPF programs
++	  can be attached to the device(s) transmission routine in order to
++	  implement the driver's internal logic. The device can be configured
++	  to operate in L3 or L2 mode.
 +
 +
  config KERNEL_AIO
  config KERNEL_AIO
  	bool "Compile the kernel with asynchronous IO support"
  	bool "Compile the kernel with asynchronous IO support"
  	default y if !SMALL_FLASH
  	default y if !SMALL_FLASH
-@@ -1100,6 +1123,7 @@ config KERNEL_NET_L3_MASTER_DEV
+@@ -1195,6 +1212,7 @@ config KERNEL_NET_L3_MASTER_DEV
  
  
  config KERNEL_XDP_SOCKETS
  config KERNEL_XDP_SOCKETS
  	bool "XDP sockets support"
  	bool "XDP sockets support"
 +	default y if KERNEL_DEBUG_INFO_BTF
 +	default y if KERNEL_DEBUG_INFO_BTF
  	help
  	help
  	  XDP sockets allows a channel between XDP programs and
  	  XDP sockets allows a channel between XDP programs and
- 	  userspace applications.
+ 	  userspace applications.

+ 0 - 55
devices/common/patches/ebpf.patch.main

@@ -1,55 +0,0 @@
---- a/config/Config-kernel.in
-+++ b/config/Config-kernel.in
-@@ -426,6 +426,7 @@ config KERNEL_DEBUG_INFO
- 
- config KERNEL_DEBUG_INFO_BTF
- 	bool "Enable additional BTF type information"
-+ 	default y if (TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64)
- 	depends on !HOST_OS_MACOS
- 	depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
- 	select DWARVES
-@@ -443,6 +444,7 @@ config KERNEL_DEBUG_INFO_BTF_MODULES
- config KERNEL_MODULE_ALLOW_BTF_MISMATCH
- 	bool "Allow loading modules with non-matching BTF type info"
- 	depends on KERNEL_DEBUG_INFO_BTF_MODULES
-+ 	default y
- 	help
- 	  For modules whose split BTF does not match vmlinux, load without
- 	  BTF rather than refusing to load. The default behavior with
-@@ -452,7 +454,7 @@ config KERNEL_MODULE_ALLOW_BTF_MISMATCH
- 
- config KERNEL_DEBUG_INFO_REDUCED
- 	bool "Reduce debugging information"
--	default y
-+	default y if !(TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64)
- 	depends on KERNEL_DEBUG_INFO
- 	help
- 	  If you say Y here gcc is instructed to generate less debugging
-@@ -540,6 +542,7 @@ config KERNEL_KPROBE_EVENTS
- config KERNEL_BPF_EVENTS
- 	bool "Compile the kernel with BPF event support"
- 	select KERNEL_KPROBES
-+ 	default y if KERNEL_DEBUG_INFO_BTF
- 	help
- 	  Allows to attach BPF programs to kprobe, uprobe and tracepoint events.
- 	  This is required to use BPF maps of type BPF_MAP_TYPE_PERF_EVENT_ARRAY
-@@ -555,6 +558,11 @@ config KERNEL_BPF_KPROBE_OVERRIDE
- 	depends on KERNEL_KPROBES
- 	default n
- 
-+config KERNEL_BPF_STREAM_PARSER
-+	bool "Allow a TCP stream parser to be used with BPF_MAP_TYPE_SOCKMAP"
-+	depends on KERNEL_CGROUP_BPF
-+	default y if KERNEL_DEBUG_INFO_BTF
-+
- config KERNEL_AIO
- 	bool "Compile the kernel with asynchronous IO support"
- 	default y if !SMALL_FLASH
-@@ -1193,6 +1201,7 @@ config KERNEL_NET_L3_MASTER_DEV
- 
- config KERNEL_XDP_SOCKETS
- 	bool "XDP sockets support"
-+ 	default y if KERNEL_DEBUG_INFO_BTF
- 	help
- 	  XDP sockets allows a channel between XDP programs and
- 	  userspace applications.

+ 40 - 19
devices/common/patches/imagebuilder.patch

@@ -58,29 +58,36 @@
 
 
 --- a/target/imagebuilder/Makefile
 --- a/target/imagebuilder/Makefile
 +++ b/target/imagebuilder/Makefile
 +++ b/target/imagebuilder/Makefile
-@@ -38,13 +38,15 @@ $(BIN_DIR)/$(IB_NAME).tar.xz: clean
- 		./files/repositories.conf \
+@@ -39,7 +39,8 @@ $(BIN_DIR)/$(IB_NAME).tar.zst: clean
+ 		./files/Makefile \
  		$(TMP_DIR)/.targetinfo \
  		$(TMP_DIR)/.targetinfo \
  		$(TMP_DIR)/.packageinfo \
  		$(TMP_DIR)/.packageinfo \
 -		$(PKG_BUILD_DIR)/
 -		$(PKG_BUILD_DIR)/
 +		$(TOPDIR)/files \
 +		$(TOPDIR)/files \
 +		$(PKG_BUILD_DIR)/ || true
 +		$(PKG_BUILD_DIR)/ || true
  
  
--ifeq ($(CONFIG_IB_STANDALONE),)
+ 	$(INSTALL_DIR) $(PKG_BUILD_DIR)/packages
+ 
+@@ -52,12 +53,13 @@ ifneq ($(CONFIG_USE_APK),)
+ 
+ 	$(INSTALL_DATA) ./files/README.apk.md $(PKG_BUILD_DIR)/packages/README.md
+ else
+-  ifeq ($(CONFIG_IB_STANDALONE),)
  	echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
  	echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
- 	$(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf)
+ 	$(call FeedSourcesAppendOPKG,$(PKG_BUILD_DIR)/repositories.conf)
  	$(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf
  	$(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf
--endif
+ 
+-  endif
 +	$(SED) 's/^src\/gz \(.*\) https.*ai\/\(.*packages.*\)/src \1 file:\/\/www\/wwwroot\/dl.openwrt.ai\/\2/' $(PKG_BUILD_DIR)/repositories.conf
 +	$(SED) 's/^src\/gz \(.*\) https.*ai\/\(.*packages.*\)/src \1 file:\/\/www\/wwwroot\/dl.openwrt.ai\/\2/' $(PKG_BUILD_DIR)/repositories.conf
 +	$(SED) 's/^src\/gz \(.*\) https.*ai\/\(.*targets.*\)/src \1 file:\/\/www\/wwwroot\/dl.openwrt.ai\/\2/' $(PKG_BUILD_DIR)/repositories.conf
 +	$(SED) 's/^src\/gz \(.*\) https.*ai\/\(.*targets.*\)/src \1 file:\/\/www\/wwwroot\/dl.openwrt.ai\/\2/' $(PKG_BUILD_DIR)/repositories.conf
 +	$(SED) '/openwrt_core/d' $(PKG_BUILD_DIR)/repositories.conf
 +	$(SED) '/openwrt_core/d' $(PKG_BUILD_DIR)/repositories.conf
  
  
- 	$(INSTALL_DIR) $(PKG_BUILD_DIR)/packages
  	# create an empty package index so `opkg` doesn't report an error
  	# create an empty package index so `opkg` doesn't report an error
+ 	touch $(PKG_BUILD_DIR)/packages/Packages
 
 
 --- a/target/imagebuilder/files/Makefile
 --- a/target/imagebuilder/files/Makefile
 +++ b/target/imagebuilder/files/Makefile
 +++ b/target/imagebuilder/files/Makefile
-@@ -131,6 +131,26 @@ BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel)
+@@ -142,6 +142,26 @@ BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel)
  # "-pkgname" in the package list means remove "pkgname" from the package list
  # "-pkgname" in the package list means remove "pkgname" from the package list
  BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
  BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
  BUILD_PACKAGES:=$(USER_PACKAGES) $(BUILD_PACKAGES)
  BUILD_PACKAGES:=$(USER_PACKAGES) $(BUILD_PACKAGES)
@@ -107,7 +114,7 @@
  BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
  BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
  PACKAGES:=
  PACKAGES:=
  
  
-@@ -146,6 +166,8 @@ _call_image: staging_dir/host/.prereq-build
+@@ -157,6 +177,8 @@ _call_image: staging_dir/host/.prereq-build
  	$(MAKE) -s build_image
  	$(MAKE) -s build_image
  	$(MAKE) -s json_overview_image_info
  	$(MAKE) -s json_overview_image_info
  	$(MAKE) -s checksum
  	$(MAKE) -s checksum
@@ -116,15 +123,15 @@
  
  
  _call_manifest: FORCE
  _call_manifest: FORCE
  	rm -rf $(TARGET_DIR)
  	rm -rf $(TARGET_DIR)
-@@ -184,9 +206,17 @@ package_list: FORCE
- package_install: FORCE
+@@ -224,9 +246,17 @@ package_install: FORCE
  	@echo
  	@echo
  	@echo Installing packages...
  	@echo Installing packages...
+ ifeq ($(CONFIG_USE_APK),)
 +	$(eval $(call add_zh_cn_packages))
 +	$(eval $(call add_zh_cn_packages))
  	$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk))
  	$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk))
  	$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
  	$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
 -	$(OPKG) install $(BUILD_PACKAGES)
 -	$(OPKG) install $(BUILD_PACKAGES)
-+	$(OPKG) install $(BUILD_PACKAGES) luci-i18n-base-zh-cn || true
++	$(OPKG) install --force-maintainer $(BUILD_PACKAGES) luci-i18n-base-zh-cn || true
 +	$(if $(USER_FILES), \
 +	$(if $(USER_FILES), \
 +	find $(USER_FILES) -name "*.ipk" -print0 | \
 +	find $(USER_FILES) -name "*.ipk" -print0 | \
 +	while IFS= read -r -d '' ipk; do \
 +	while IFS= read -r -d '' ipk; do \
@@ -132,12 +139,21 @@
 +	done; \
 +	done; \
 +	)
 +	)
 +	$(OPKG) install --force-maintainer --force-reinstall my-default-settings
 +	$(OPKG) install --force-maintainer --force-reinstall my-default-settings
- 
- prepare_rootfs: FORCE
+ else
+ 	$(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc-*.apk))
+ 	$(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/kernel-*.apk $(PACKAGE_DIR)/kernel-*.apk))
+@@ -237,7 +267,7 @@ prepare_rootfs: FORCE
  	@echo
  	@echo
-@@ -200,12 +230,15 @@ prepare_rootfs: FORCE
- 		) \
+ 	@echo Finalizing root filesystem...
+ 
+-	$(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG)
++	mkdir -p "$(TARGET_DIR_ORIG)" && (tar -C "$(TARGET_DIR)" -cf - .) | pv -trab --buffer-size 100M | (tar -C "$(TARGET_DIR_ORIG)" -xf - .)
+ ifeq ($(CONFIG_USE_APK),)
+ 	$(if $(CONFIG_SIGNATURE_CHECK), \
+ 		$(if $(ADD_LOCAL_KEY), \
+@@ -254,16 +284,19 @@ else
  	)
  	)
+ endif
  	$(call prepare_rootfs,$(TARGET_DIR),$(USER_FILES),$(DISABLED_SERVICES))
  	$(call prepare_rootfs,$(TARGET_DIR),$(USER_FILES),$(DISABLED_SERVICES))
 +	$(if $(SMALL_FLASH), \
 +	$(if $(SMALL_FLASH), \
 +			$(shell echo "`grep kwrt_kiddin9 $(TOPDIR)/repositories.conf | sed -e 's/kiddin9/small_flash/g'`" >>$(BUILD_DIR)/root-*/etc/opkg/distfeeds.conf) \
 +			$(shell echo "`grep kwrt_kiddin9 $(TOPDIR)/repositories.conf | sed -e 's/kiddin9/small_flash/g'`" >>$(BUILD_DIR)/root-*/etc/opkg/distfeeds.conf) \
@@ -147,8 +163,13 @@
  	@echo
  	@echo
  	@echo Building images...
  	@echo Building images...
  	rm -rf $(BUILD_DIR)/json_info_files/
  	rm -rf $(BUILD_DIR)/json_info_files/
--	$(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
-+	nice -n 19 $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
- 		$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)")
+ 	if [ -d "target/linux/feeds/$(BOARD)" ]; then \
+-		$(NO_TRACE_MAKE) -C target/linux/feeds/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
++		nice $(NO_TRACE_MAKE) -C target/linux/feeds/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
+ 			$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)"); \
+ 	else \
+-		$(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
++		nice $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
+ 			$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)"); \
+ 	fi
  
  
- $(BIN_DIR)/profiles.json: FORCE

+ 1 - 12
devices/common/patches/kernel_version.patch

@@ -14,17 +14,6 @@
              "val.DEFAULT_PACKAGES",
              "val.DEFAULT_PACKAGES",
              "val.ARCH_PACKAGES",
              "val.ARCH_PACKAGES",
 +            "val.LINUX_VERSION",
 +            "val.LINUX_VERSION",
+             "V=s",
          ],
          ],
          stdout=PIPE,
          stdout=PIPE,
-         stderr=PIPE,
-
---- a/scripts/json_add_image_info.py
-+++ b/scripts/json_add_image_info.py
-@@ -55,6 +55,7 @@ def get_titles():
-     "profiles": {
-         device_id: {
-             "image_prefix": getenv("DEVICE_IMG_PREFIX"),
-+            "image_initramfs": getenv("KERNEL_INITRAMFS_IMAGE"),
-             "images": [
-                 {
-                     "type": getenv("FILE_TYPE"),

+ 3 - 3
devices/common/patches/luci_mk.patch

@@ -1,14 +1,14 @@
 --- a/feeds/luci/luci.mk
 --- a/feeds/luci/luci.mk
 +++ b/feeds/luci/luci.mk
 +++ b/feeds/luci/luci.mk
-@@ -82,7 +82,7 @@ define findrev
+@@ -84,7 +84,7 @@ define findrev
        set -- $$(git log -1 --format="%ct %h" --abbrev=7 -- $(if $(1),. ':(exclude)po',po)); \
        set -- $$(git log -1 --format="%ct %h" --abbrev=7 -- $(if $(1),. ':(exclude)po',po)); \
        if [ -n "$$1" ]; then
        if [ -n "$$1" ]; then
          secs="$$(($$1 % 86400))"; \
          secs="$$(($$1 % 86400))"; \
 -        yday="$$(date --utc --date="@$$1" "+%y.%j")"; \
 -        yday="$$(date --utc --date="@$$1" "+%y.%j")"; \
 +        yday="$$(date --utc --date="@$$(($$1 + 365*24*60*60))" "+%y.%j")"; \
 +        yday="$$(date --utc --date="@$$(($$1 + 365*24*60*60))" "+%y.%j")"; \
-         printf 'git-%s.%05d-%s' "$$yday" "$$secs" "$$2"; \
+         printf '%s.%05d~%s' "$$yday" "$$secs" "$$2"; \
        else \
        else \
-         echo "unknown"; \
+         echo "0"; \
 @@ -207,9 +207,20 @@ define Package/$(PKG_NAME)/install
 @@ -207,9 +207,20 @@ define Package/$(PKG_NAME)/install
  	$(call Build/Install/Default)
  	$(call Build/Install/Default)
  	$(CP) $(PKG_INSTALL_DIR)/* $(1)/
  	$(CP) $(PKG_INSTALL_DIR)/* $(1)/

+ 0 - 0
devices/common/patches/nonshared.patch.main → devices/common/patches/nonshared.patch


+ 0 - 21
devices/common/patches/qca-ssdk.patch.main

@@ -1,21 +0,0 @@
---- a/package/kernel/qca-ssdk/Makefile
-+++ b/package/kernel/qca-ssdk/Makefile
-@@ -32,11 +32,17 @@ endef
- 
- GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
- 
-+ifdef CONFIG_TOOLCHAIN_BIN_PATH
-+TOOLCHAIN_BIN_PATH=$(CONFIG_TOOLCHAIN_BIN_PATH)
-+else
-+TOOLCHAIN_BIN_PATH=$(TOOLCHAIN_DIR)/bin
-+endif
-+
- LNX_CONFIG_OPTS = LNX_MAKEOPTS='$(KERNEL_MAKEOPTS)' PRJ_PATH=$(PKG_BUILD_DIR) MODULE_TYPE=KSLIB modules
- 
- MAKE_FLAGS+= \
- 	TARGET_NAME=$(CONFIG_TARGET_NAME) \
--	TOOL_PATH=$(firstword $(TOOLCHAIN_BIN_DIRS)) \
-+	TOOL_PATH=$(TOOLCHAIN_BIN_PATH) \
- 	SYS_PATH=$(LINUX_DIR) \
- 	TOOLPREFIX=$(TARGET_CROSS) \
- 	KVER=$(LINUX_VERSION) \

+ 2 - 2
devices/common/patches/usb-audio.patch

@@ -4,7 +4,7 @@
  	CONFIG_SND_USB_AUDIO
  	CONFIG_SND_USB_AUDIO
    $(call AddDepends/usb)
    $(call AddDepends/usb)
    $(call AddDepends/sound)
    $(call AddDepends/sound)
-+  DEPENDS += +LINUX_6_1:kmod-media-core +LINUX_6_6:kmod-media-core
++  DEPENDS+=+kmod-media-controller
    FILES:= \
    FILES:= \
  	$(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
  	$(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
- 	$(LINUX_DIR)/sound/usb/snd-usb-audio.ko
+ 	$(LINUX_DIR)/sound/usb/snd-usb-audio.ko

+ 0 - 2
devices/ipq40xx_generic/.config

@@ -17,7 +17,5 @@ CONFIG_TARGET_DEVICE_ipq40xx_generic_DEVICE_linksys_mr8300=y
 CONFIG_TARGET_DEVICE_ipq40xx_generic_DEVICE_mobipromo_cm520-79f=y
 CONFIG_TARGET_DEVICE_ipq40xx_generic_DEVICE_mobipromo_cm520-79f=y
 CONFIG_TARGET_DEVICE_ipq40xx_generic_DEVICE_zte_mf289f=y
 CONFIG_TARGET_DEVICE_ipq40xx_generic_DEVICE_zte_mf289f=y
 
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
 
 
 
 

+ 1 - 1
devices/ipq40xx_generic/diy.sh

@@ -6,6 +6,6 @@ SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
 #sh -c "curl -sfL https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/10778.patch | git apply -p1"
 #sh -c "curl -sfL https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/10778.patch | git apply -p1"
 
 
-wget -N https://raw.githubusercontent.com/coolsnowwolf/lede/master/target/linux/ipq40xx/patches-5.10/999-ipq40xx-unlock-cpu-frequency.patch -P target/linux/ipq40xx/patches-5.15/
+wget -N https://github.com/immortalwrt/immortalwrt/raw/refs/heads/openwrt-24.10/target/linux/ipq40xx/patches-6.6/991-ipq40xx-unlock-cpu-frequency.patch -P target/linux/ipq40xx/patches-6.6/
 
 
 
 

+ 2 - 2
devices/ipq40xx_generic/patches/cm520.patch

@@ -1,5 +1,5 @@
---- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts
-+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts
+--- a/target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4019-cm520-79f.dts
++++ b/target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4019-cm520-79f.dts
 @@ -9,6 +9,10 @@
 @@ -9,6 +9,10 @@
  	model = "MobiPromo CM520-79F";
  	model = "MobiPromo CM520-79F";
  	compatible = "mobipromo,cm520-79f";
  	compatible = "mobipromo,cm520-79f";

+ 0 - 2
devices/ipq50xx_arm/.config

@@ -2,5 +2,3 @@ CONFIG_TARGET_ipq50xx=y
 CONFIG_TARGET_ipq50xx_arm=y
 CONFIG_TARGET_ipq50xx_arm=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_ALL_PROFILES=y
 CONFIG_TARGET_ALL_PROFILES=y
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务

+ 2 - 2
devices/ipq50xx_arm/diy.sh

@@ -4,8 +4,8 @@ shopt -s extglob
 
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-rm -rf package/kernel/qca-* package/boot/uboot-envtools package/firmware/ipq-wifi package/firmware/ath11k-firmware package/kernel/mac80211
+rm -rf package/kernel/qca-* package/boot/uboot-envtools package/firmware/ipq-wifi package/firmware/ath11k-firmware
 
 
-git_clone_path ipq50xx-mainline-kernel-5.15-openwrt-23.05 https://github.com/hzyitc/openwrt-redmi-ax3000 target/linux/ipq50xx package/firmware/ipq-wifi package/firmware/ath11k-firmware package/kernel/mac80211 package/boot/uboot-envtools package/kernel/qca-nss-dp package/kernel/qca-ssdk
+git_clone_path ipq50xx-mainline-kernel-5.15-openwrt-23.05 https://github.com/hzyitc/openwrt-redmi-ax3000 target/linux/ipq50xx package/firmware/ipq-wifi package/firmware/ath11k-firmware package/boot/uboot-envtools
 
 
 sed -i "s/wpad-basic-wolfssl/wpad-basic-mbedtls/" target/linux/ipq50xx/Makefile
 sed -i "s/wpad-basic-wolfssl/wpad-basic-mbedtls/" target/linux/ipq50xx/Makefile

+ 3 - 3
devices/ipq50xx_arm/patches/ipq50xx.patch

@@ -1,11 +1,11 @@
 --- a/package/kernel/linux/modules/netsupport.mk
 --- a/package/kernel/linux/modules/netsupport.mk
 +++ b/package/kernel/linux/modules/netsupport.mk
 +++ b/package/kernel/linux/modules/netsupport.mk
-@@ -1535,7 +1535,7 @@ $(eval $(call KernelPackage,qrtr-tun))
+@@ -1604,7 +1604,7 @@ $(eval $(call KernelPackage,qrtr-tun))
  define KernelPackage/qrtr-smd
  define KernelPackage/qrtr-smd
    SUBMENU:=$(NETWORK_SUPPORT_MENU)
    SUBMENU:=$(NETWORK_SUPPORT_MENU)
    TITLE:=SMD IPC Router channels
    TITLE:=SMD IPC Router channels
--  DEPENDS:=+kmod-qrtr @TARGET_ipq807x
-+  DEPENDS:=+kmod-qrtr @(TARGET_ipq50xx||TARGET_ipq807x)
+-  DEPENDS:=+kmod-qrtr @TARGET_qualcommax
++  DEPENDS:=+kmod-qrtr @(TARGET_ipq50xx||TARGET_qualcommax)
    KCONFIG:=CONFIG_QRTR_SMD
    KCONFIG:=CONFIG_QRTR_SMD
    FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
    FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
    AUTOLOAD:=$(call AutoProbe,qrtr-smd)
    AUTOLOAD:=$(call AutoProbe,qrtr-smd)

+ 0 - 1
devices/ipq806x_generic/.config

@@ -19,7 +19,6 @@ CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y
 
 
 CONFIG_PACKAGE_kmod-ipsec=n
 CONFIG_PACKAGE_kmod-ipsec=n
 
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
 
 
 
 
 
 

+ 3 - 18
devices/ipq806x_generic/patches/xiaomi_r3d.patch

@@ -37,7 +37,7 @@ MAC addresses as verified by stock firmware:
  target/linux/ipq806x/image/generic.mk         |  17 +
  target/linux/ipq806x/image/generic.mk         |  17 +
  8 files changed, 963 insertions(+), 1 deletion(-)
  8 files changed, 963 insertions(+), 1 deletion(-)
  create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/xiaomi.sh
  create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/xiaomi.sh
- create mode 100644 target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-r3d.dts
+ create mode 100644 target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom-ipq8064-r3d.dts
 
 
 diff --git a/package/boot/uboot-envtools/files/ipq806x b/package/boot/uboot-envtools/files/ipq806x
 diff --git a/package/boot/uboot-envtools/files/ipq806x b/package/boot/uboot-envtools/files/ipq806x
 index 01a86c7b19fca..c0a781c1e21b4 100644
 index 01a86c7b19fca..c0a781c1e21b4 100644
@@ -62,21 +62,6 @@ index 01a86c7b19fca..c0a781c1e21b4 100644
 +config_foreach ubootenv_add_app_config
 +config_foreach ubootenv_add_app_config
  
  
  exit 0
  exit 0
-diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network
-index 8dd52452b1739..df27cbde7c5d8 100644
---- a/target/linux/ipq806x/base-files/etc/board.d/02_network
-+++ b/target/linux/ipq806x/base-files/etc/board.d/02_network
-@@ -89,6 +89,10 @@ nokia,ac400i |\
- ubnt,unifi-ac-hd)
- 	ucidef_set_interface_lan "eth0 eth1"
- 	;;
-+xiaomi,r3d)
-+	ucidef_add_switch "switch0" \
-+		"1:lan:3" "2:lan:2" "3:lan:1" "6@eth1" "5:wan" "0@eth0"
-+	;;
- zyxel,nbg6817)
- 	hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
- 	ucidef_add_switch "switch0" \
 diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
 diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
 index 4c5019cf5bd24..aa8ed06aae4b3 100644
 index 4c5019cf5bd24..aa8ed06aae4b3 100644
 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -580,11 +565,11 @@ index 0000000000000..9246e8f867e3f
 +
 +
 +	nand_do_upgrade "$XIAOMI_FW_FILE"
 +	nand_do_upgrade "$XIAOMI_FW_FILE"
 +}
 +}
-diff --git a/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-r3d.dts b/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-r3d.dts
+diff --git a/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-r3d.dts b/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-r3d.dts
 new file mode 100644
 new file mode 100644
 index 0000000000000..fd952d230c5da
 index 0000000000000..fd952d230c5da
 --- /dev/null
 --- /dev/null
-+++ b/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8064-r3d.dts
++++ b/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-r3d.dts
 @@ -0,0 +1,479 @@
 @@ -0,0 +1,479 @@
 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 +
 +

+ 0 - 13
devices/ipq807x_generic/.config

@@ -1,13 +0,0 @@
-CONFIG_TARGET_ipq807x=y
-CONFIG_TARGET_ipq807x_generic=y
-CONFIG_TARGET_MULTI_PROFILE=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_redmi_ax6=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_xiaomi_ax3600=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_xiaomi_ax9000=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_qnap_301w=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_zte_mf269=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_zyxel_nbg7815=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_buffalo_wxr-5950ax12=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_cmcc_rm2-6=y
-CONFIG_TARGET_DEVICE_ipq807x_generic_DEVICE_aliyun_ap8220=y
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务

+ 0 - 2
devices/ipq807x_generic/diy.sh

@@ -1,2 +0,0 @@
-#!/bin/bash
-shopt -s extglob

+ 0 - 122
devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax3600.dts

@@ -1,122 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/* Copyright (c) 2021, Robert Marko <[email protected]> */
-
-/dts-v1/;
-
-#include "ipq8071-ax3600.dtsi"
-
-/ {
-	model = "Xiaomi AX3600";
-	compatible = "xiaomi,ax3600", "qcom,ipq8074";
-
-	aliases {
-		/* Aliases as required by u-boot to patch MAC addresses */
-		ethernet1 = &dp2;
-		ethernet2 = &dp3;
-		ethernet3 = &dp4;
-		ethernet4 = &dp5;
-	};
-
-	chosen {
-		bootargs-append = " root=/dev/ubiblock0_1";
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_system_blue: system-blue {
-			label = "blue:system";
-			gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
-		};
-
-		led_system_yellow: system-yellow {
-			label = "yellow:system";
-			gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
-		};
-
-		network-yellow {
-			label = "yellow:network";
-			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
-		};
-
-		network-blue {
-			label = "blue:network";
-			gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
-		};
-
-		aiot {
-			label = "blue:aiot";
-			gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "phy0tpt";
-		};
-	};
-};
-
-&pcie_qmp0 {
-	status = "okay";
-};
-
-&pcie0 {
-	status = "okay";
-
-	perst-gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
-
-	bridge@0,0 {
-		reg = <0x00000000 0 0 0 0>;
-		#address-cells = <3>;
-		#size-cells = <2>;
-		ranges;
-
-		wifi0: wifi@1,0 {
-			status = "okay";
-
-			compatible = "qcom,ath10k";
-			reg = <0x00010000 0 0 0 0>;
-
-			qcom,ath10k-calibration-variant = "Xiaomi-AX3600";
-			nvmem-cell-names = "calibration";
-			nvmem-cells = <&caldata_qca9889>;
-		};
-	};
-};
-
-&wifi {
-	qcom,ath11k-calibration-variant = "Xiaomi-AX3600";
-};
-
-&qpic_nand {
-	/delete-node/ partitions;
-
-	nand@0 {
-		/delete-node/ partitions;
-
-		partitions {
-			compatible = "qcom,smem-part";
-		};
-	};
-};
-
-&dp2 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp3 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp4 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp5 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&wifi0 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};

+ 0 - 90
devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ax6.dts

@@ -1,90 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/* Copyright (c) 2021, Zhijun You <[email protected]> */
-
-/dts-v1/;
-
-#include "ipq8071-ax3600.dtsi"
-
-/ {
-	model = "Redmi AX6";
-	compatible = "redmi,ax6", "qcom,ipq8074";
-
-	aliases {
-		/* Aliases as required by u-boot to patch MAC addresses */
-		ethernet1 = &dp2;
-		ethernet2 = &dp3;
-		ethernet3 = &dp4;
-		ethernet4 = &dp5;
-	};
-
-	chosen {
-		bootargs-append = " root=/dev/ubiblock0_1";
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_system_blue: system-blue {
-			label = "blue:system";
-			gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
-		};
-
-		led_system_yellow: system-yellow {
-			label = "yellow:system";
-			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
-		};
-
-		network-blue {
-			label = "blue:network";
-			gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
-		};
-
-		network-yellow {
-			label = "yellow:network";
-			gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
-		};
-	};
-};
-
-/* AX6 can both have NAND of 256MiB or 128MiB.
- * To be on the safe side, assume 128MiB of NAND.
- */
-&rootfs {
-	reg = <0x2dc0000 0x5220000>;
-};
-
-&wifi {
-	qcom,ath11k-calibration-variant = "Redmi-AX6";
-};
-
-&qpic_nand {
-	/delete-node/ partitions;
-
-	nand@0 {
-		/delete-node/ partitions;
-
-		partitions {
-			compatible = "qcom,smem-part";
-		};
-	};
-};
-
-&dp2 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp3 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp4 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp5 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};

+ 0 - 568
devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8072-ax9000.dts

@@ -1,568 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/* Copyright (c) 2021, Robert Marko <[email protected]> */
-
-/dts-v1/;
-
-#include "ipq8074.dtsi"
-#include "ipq8074-hk-cpu.dtsi"
-#include "ipq8074-ess.dtsi"
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/leds/common.h>
-
-/ {
-	model = "Xiaomi AX9000";
-	compatible = "xiaomi,ax9000", "qcom,ipq8074";
-
-	aliases {
-		serial0 = &blsp1_uart5;
-		led-boot = &led_system_yellow;
-		led-failsafe = &led_system_yellow;
-		led-running = &led_system_blue;
-		led-upgrade = &led_system_yellow;
-		/* Aliases as required by u-boot to patch MAC addresses */
-		ethernet0 = &dp1;
-		ethernet1 = &dp2;
-		ethernet2 = &dp3;
-		ethernet3 = &dp4;
-		ethernet4 = &dp5;
-		label-mac-device = &dp5;
-	};
-
-	chosen {
-		stdout-path = "serial0:115200n8";
-		bootargs-append = " root=/dev/ubiblock0_1";
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			gpios = <&tlmm 47 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-
-		wps {
-			label = "wps"; /* Labeled Mesh on the device */
-			gpios = <&tlmm 46 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_WPS_BUTTON>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_system_blue: system-blue {
-			label = "blue:system";
-			gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_BLUE>;
-		};
-
-		led_system_yellow: system-yellow {
-			label = "yellow:system";
-			gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_YELLOW>;
-		};
-
-		network-yellow {
-			label = "yellow:network";
-			gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_YELLOW>;
-		};
-
-		network-blue {
-			label = "blue:network";
-			gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_BLUE>;
-		};
-
-		top-red {
-			label = "red:top";
-			gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_RED>;
-			default-state = "keep";
-		};
-
-		top-green {
-			label = "green:top";
-			gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_GREEN>;
-			default-state = "keep";
-		};
-
-		top-blue {
-			label = "blue:top";
-			gpios = <&tlmm 66 GPIO_ACTIVE_HIGH>;
-			color = <LED_COLOR_ID_BLUE>;
-			default-state = "keep";
-		};
-	};
-};
-
-&tlmm {
-	mdio_pins: mdio-pins {
-		mdc {
-			pins = "gpio68";
-			function = "mdc";
-			drive-strength = <8>;
-			bias-pull-up;
-		};
-
-		mdio {
-			pins = "gpio69";
-			function = "mdio";
-			drive-strength = <8>;
-			bias-pull-up;
-		};
-	};
-
-	i2c_pins: i2c-pins {
-		pins = "gpio0", "gpio2";
-		function = "blsp5_i2c";
-		drive-strength = <8>;
-		bias-disable;
-	};
-};
-
-&blsp1_uart5 {
-	status = "okay";
-};
-
-&blsp1_i2c6 {
-	status = "okay";
-
-	pinctrl-0 = <&i2c_pins>;
-	pinctrl-names = "default";
-};
-
-&prng {
-	status = "okay";
-};
-
-&cryptobam {
-	status = "okay";
-};
-
-&crypto {
-	status = "okay";
-};
-
-&qpic_bam {
-	status = "okay";
-};
-
-&qpic_nand {
-	status = "okay";
-
-	/*
-	 * Bootloader will find the NAND DT node by the compatible and
-	 * then "fixup" it by adding the partitions from the SMEM table
-	 * using the legacy bindings thus making it impossible for us
-	 * to change the partition table or utilize NVMEM for calibration.
-	 * So add a dummy partitions node that bootloader will populate
-	 * and set it as disabled so the kernel ignores it instead of
-	 * printing warnings due to the broken way bootloader adds the
-	 * partitions.
-	 */
-	partitions {
-		status = "disabled";
-	};
-
-	nand@0 {
-		reg = <0>;
-		nand-ecc-strength = <4>;
-		nand-ecc-step-size = <512>;
-		nand-bus-width = <8>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "0:sbl1";
-				reg = <0x0 0x100000>;
-				read-only;
-			};
-
-			partition@100000 {
-				label = "0:mibib";
-				reg = <0x100000 0x100000>;
-				read-only;
-			};
-
-			partition@200000 {
-				label = "0:bootconfig";
-				reg = <0x200000 0x80000>;
-				read-only;
-			};
-
-			partition@280000 {
-				label = "0:bootconfig1";
-				reg = <0x280000 0x80000>;
-				read-only;
-			};
-
-			partition@300000 {
-				label = "0:qsee";
-				reg = <0x300000 0x300000>;
-				read-only;
-			};
-
-			partition@600000 {
-				label = "0:qsee_1";
-				reg = <0x600000 0x300000>;
-				read-only;
-			};
-
-			partition@900000 {
-				label = "0:devcfg";
-				reg = <0x900000 0x80000>;
-				read-only;
-			};
-
-			partition@980000 {
-				label = "0:devcfg_1";
-				reg = <0x980000 0x80000>;
-				read-only;
-			};
-
-			partition@a00000 {
-				label = "0:apdp";
-				reg = <0xa00000 0x80000>;
-				read-only;
-			};
-
-			partition@a80000 {
-				label = "0:apdp_1";
-				reg = <0xa80000 0x80000>;
-				read-only;
-			};
-
-			partition@b00000 {
-				label = "0:rpm";
-				reg = <0xb00000 0x80000>;
-				read-only;
-			};
-
-			partition@b80000 {
-				label = "0:rpm_1";
-				reg = <0xb80000 0x80000>;
-				read-only;
-			};
-
-			partition@c00000 {
-				label = "0:cdt";
-				reg = <0xc00000 0x80000>;
-				read-only;
-			};
-
-			partition@c80000 {
-				label = "0:cdt_1";
-				reg = <0xc80000 0x80000>;
-				read-only;
-			};
-
-			partition@d00000 {
-				label = "0:appsblenv";
-				reg = <0xd00000 0x80000>;
-			};
-
-			partition@d80000 {
-				label = "0:appsbl";
-				reg = <0xd80000 0x100000>;
-				read-only;
-			};
-
-			partition@e80000 {
-				label = "0:appsbl_1";
-				reg = <0xe80000 0x100000>;
-				read-only;
-			};
-
-			partition@f80000 {
-				label = "0:art";
-				reg = <0xf80000 0x80000>;
-				read-only;
-
-				compatible = "nvmem-cells";
-				#address-cells = <1>;
-				#size-cells = <1>;
-
-				macaddr_dp1: macaddr@0 {
-					reg = <0x0 0x6>;
-				};
-
-				macaddr_dp2: macaddr@6 {
-					reg = <0x6 0x6>;
-				};
-
-				macaddr_dp3: macaddr@c {
-					reg = <0xc 0x6>;
-				};
-
-				macaddr_dp4: macaddr@12 {
-					reg = <0x12 0x6>;
-				};
-
-				macaddr_dp5: macaddr@18 {
-					reg = <0x18 0x6>;
-				};
-
-				caldata_qca9889: caldata@4d000 {
-					reg = <0x4d000 0x844>;
-				};
-			};
-
-			partition@1000000 {
-				label = "bdata";
-				reg = <0x1000000 0x80000>;
-			};
-
-			partition@1080000 {
-				/* This is crash + crash_syslog parts combined */
-				label = "pstore";
-				reg = <0x1080000 0x100000>;
-			};
-
-			partition@1180000 {
-				label = "ubi_kernel";
-				reg = <0x1180000 0x3800000>;
-			};
-
-			partition@4980000 {
-				label = "rootfs";
-				reg = <0x4980000 0xb680000>;
-			};
-		};
-	};
-};
-
-&qusb_phy_0 {
-	status = "okay";
-};
-
-&ssphy_0 {
-	status = "okay";
-};
-
-&usb_0 {
-	status = "okay";
-};
-
-&mdio {
-	status = "okay";
-
-	pinctrl-0 = <&mdio_pins>;
-	pinctrl-names = "default";
-	reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
-
-	qca8075_0: ethernet-phy@0 {
-		compatible = "ethernet-phy-ieee802.3-c22";
-		reg = <0>;
-	};
-
-	qca8075_1: ethernet-phy@1 {
-		compatible = "ethernet-phy-ieee802.3-c22";
-		reg = <1>;
-	};
-
-	qca8075_2: ethernet-phy@2 {
-		compatible = "ethernet-phy-ieee802.3-c22";
-		reg = <2>;
-	};
-
-	qca8075_3: ethernet-phy@3 {
-		compatible = "ethernet-phy-ieee802.3-c22";
-		reg = <3>;
-	};
-
-	qca8081: ethernet-phy@24 {
-		compatible = "ethernet-phy-id004d.d101";
-		reg = <24>;
-		reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
-	};
-};
-
-&switch {
-	status = "okay";
-
-	switch_cpu_bmp = <0x1>;  /* cpu port bitmap */
-	switch_lan_bmp = <0x1e>; /* lan port bitmap */
-	switch_wan_bmp = <0x20>; /* wan port bitmap */
-	switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/
-	switch_mac_mode1 = <0xc>; /* mac mode for uniphy instance1*/
-	switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/
-	bm_tick_mode = <0>; /* bm tick mode */
-	tm_tick_mode = <0>; /* tm tick mode */
-
-	qcom,port_phyinfo {
-		port@0 {
-			port_id = <1>;
-			phy_address = <0>;
-		};
-		port@1 {
-			port_id = <2>;
-			phy_address = <1>;
-		};
-		port@2 {
-			port_id = <3>;
-			phy_address = <2>;
-		};
-		port@3 {
-			port_id = <4>;
-			phy_address = <3>;
-		};
-		port@4 {
-			port_id = <5>;
-			phy_address = <24>;
-			port_mac_sel = "QGMAC_PORT";
-		};
-	};
-};
-
-&dp1 {
-	status = "okay";
-	phy-handle = <&qca8075_0>;
-	label = "lan4";
-	nvmem-cells = <&macaddr_dp1>;
-	nvmem-cell-names = "mac-address";
-};
-
-&dp2 {
-	status = "okay";
-	phy-handle = <&qca8075_1>;
-	label = "lan3";
-	nvmem-cells = <&macaddr_dp2>;
-	nvmem-cell-names = "mac-address";
-};
-
-&dp3 {
-	status = "okay";
-	phy-handle = <&qca8075_2>;
-	label = "lan2";
-	nvmem-cells = <&macaddr_dp3>;
-	nvmem-cell-names = "mac-address";
-};
-
-&dp4 {
-	status = "okay";
-	phy-handle = <&qca8075_3>;
-	label = "lan1";
-	nvmem-cells = <&macaddr_dp4>;
-	nvmem-cell-names = "mac-address";
-};
-
-&dp5 {
-	status = "okay";
-	phy-handle = <&qca8081>;
-	label = "wan";
-	nvmem-cells = <&macaddr_dp5>;
-	nvmem-cell-names = "mac-address";
-};
-
-&edma {
-	status = "okay";
-};
-
-&pcie_qmp0 {
-	status = "okay";
-};
-
-&pcie0 {
-	status = "okay";
-
-	perst-gpio = <&tlmm 58 GPIO_ACTIVE_LOW>;
-
-	bridge@0,0 {
-		reg = <0x00000000 0 0 0 0>;
-		#address-cells = <3>;
-		#size-cells = <2>;
-		ranges;
-
-		wifi@1,0 {
-			status = "okay";
-
-			/* ath11k has no DT compatible for PCI cards */
-			compatible = "pci17cb,1104";
-			reg = <0x00010000 0 0 0 0>;
-
-			qcom,ath11k-calibration-variant = "Xiaomi-AX9000";
-		};
-	};
-};
-
-&pcie_qmp1 {
-	status = "okay";
-};
-
-&pcie1 {
-	status = "okay";
-
-	perst-gpio = <&tlmm 62 GPIO_ACTIVE_HIGH>;
-
-	bridge@1,0 {
-		reg = <0x00010000 0 0 0 0>;
-		#address-cells = <3>;
-		#size-cells = <2>;
-		ranges;
-
-		wifi1: wifi@1,0 {
-			status = "okay";
-
-			compatible = "qcom,ath10k";
-			reg = <0x00010000 0 0 0 0>;
-
-			qcom,ath10k-calibration-variant = "Xiaomi-AX9000";
-		};
-	};
-};
-
-&wifi {
-	status = "okay";
-
-	qcom,ath11k-calibration-variant = "Xiaomi-AX9000";
-};
-
-&qpic_nand {
-	/delete-node/ partitions;
-
-	nand@0 {
-		/delete-node/ partitions;
-
-		partitions {
-			compatible = "qcom,smem-part";
-		};
-	};
-};
-
-&dp1 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp2 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp3 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp4 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&dp5 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};
-
-&wifi1 {
-	/delete-property/ nvmem-cells;
-	/delete-property/ nvmem-cell-names;
-};

+ 0 - 86
devices/ipq807x_generic/patches/04-stock.patch

@@ -1,86 +0,0 @@
---- a/target/linux/ipq807x/base-files/etc/init.d/bootcount
-+++ b/target/linux/ipq807x/base-files/etc/init.d/bootcount
-@@ -9,5 +9,13 @@ boot() {
- 		# Unset changed flag after sysupgrade complete
- 		fw_setenv changed
- 	;;
-+	redmi,ax6|\
-+	xiaomi,ax3600|\
-+	xiaomi,ax9000)
-+		# OTA handling should not be used. Reset it just in case.
-+		fw_setenv flag_ota_reboot 0
-+		# Not strictly needed but useful to handle partition crash condition
-+		fw_setenv flag_boot_success 1
-+	;;
- 	esac
- }
- 
-
---- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
-@@ -83,20 +83,29 @@ platform_do_upgrade() {
- 	redmi,ax6|\
- 	xiaomi,ax3600|\
- 	xiaomi,ax9000)
--		# Make sure that UART is enabled
--		fw_setenv boot_wait on
--		fw_setenv uart_en 1
-+		part_num="$(fw_printenv -n flag_boot_rootfs)"
-+		if [ "$part_num" -eq "1" ]; then
-+			CI_UBIPART="rootfs_1"
-+			target_num=1
-+			# Reset fail flag for the current partition
-+			# With both partition set to fail, the partition 2 (bit 1)
-+			# is loaded
-+			fw_setenv flag_try_sys2_failed 0
-+		else
-+			CI_UBIPART="rootfs"
-+			target_num=0
-+			# Reset fail flag for the current partition
-+			# or uboot will skip the loading of this partition
-+			fw_setenv flag_try_sys1_failed 0
-+		fi
-+
-+		# Tell uboot to switch partition
-+		fw_setenv flag_boot_rootfs "$target_num"
-+		fw_setenv flag_last_success "$target_num"
- 
--		# Enforce single partition.
--		fw_setenv flag_boot_rootfs 0
--		fw_setenv flag_last_success 0
--		fw_setenv flag_boot_success 1
--		fw_setenv flag_try_sys1_failed 8
--		fw_setenv flag_try_sys2_failed 8
-+		# Reset success flag
-+		fw_setenv flag_boot_success 0
- 
--		# Kernel and rootfs are placed in 2 different UBI
--		CI_KERN_UBIPART="ubi_kernel"
--		CI_ROOT_UBIPART="rootfs"
- 		nand_do_upgrade "$1"
- 		;;
- 	*)
-
---- /dev/null
-+++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-@@ -0,0 +1,20 @@
-+#!/bin/sh
-+
-+[ -e /lib/firmware/$FIRMWARE ] && exit 0
-+
-+. /lib/functions/caldata.sh
-+
-+board=$(board_name)
-+
-+case "$FIRMWARE" in
-+"ath10k/cal-pci-0000:01:00.0.bin")
-+	case "$board" in
-+	xiaomi,ax3600)
-+		caldata_extract "0:art" 0x33000 0x844
-+		;;
-+	esac
-+	;;
-+*)
-+	exit 1
-+	;;
-+esac

+ 0 - 103
devices/ipq807x_generic/patches/zte_mf269.patch

@@ -1,103 +0,0 @@
---- a/package/firmware/ipq-wifi/Makefile
-+++ b/package/firmware/ipq-wifi/Makefile
-@@ -40,6 +40,8 @@ ALLWIFIBOARDS:= \
- 	wallys_dr40x9 \
- 	xiaomi_ax3600 \
- 	xiaomi_ax9000 \
-+	cmcc_rm2-6 \
-+	zte_mf269 \
- 	zte_mf289f \
- 	zte_mf287 \
- 	zte_mf287plus \
-@@ -129,6 +131,8 @@ $(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
- $(eval $(call generate-ipq-wifi-package,wallys_dr40x9,Wallys DR40X9))
- $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
- $(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000))
-+$(eval $(call generate-ipq-wifi-package,cmcc_rm2-6,CMCC RM2-6))
-+$(eval $(call generate-ipq-wifi-package,zte_mf269,ZTE MF269))
- $(eval $(call generate-ipq-wifi-package,zte_mf289f,ZTE MF289F))
- $(eval $(call generate-ipq-wifi-package,zte_mf287,ZTE MF287))
- $(eval $(call generate-ipq-wifi-package,zte_mf287plus,ZTE MF287Plus))
-
---- a/target/linux/ipq807x/image/generic.mk
-+++ b/target/linux/ipq807x/image/generic.mk
-@@ -37,6 +37,35 @@ define Device/buffalo_wxr-5950ax12
- endef
- TARGET_DEVICES += buffalo_wxr-5950ax12
- 
-+define Device/cmcc_rm2-6
-+	$(call Device/FitImage)
-+	$(call Device/UbiFit)
-+	DEVICE_VENDOR := CMCC
-+	DEVICE_MODEL := RM2-6
-+	BLOCKSIZE := 128k
-+	PAGESIZE := 2048
-+	DEVICE_DTS_CONFIG := config@ac02
-+	SOC := ipq8070
-+	IMAGES += factory.bin
-+	IMAGE/factory.bin := append-ubi | qsdk-ipq-factory-nand
-+	DEVICE_PACKAGES := ipq-wifi-cmcc_rm2-6 kmod-hwmon-gpiofan
-+endef
-+TARGET_DEVICES += cmcc_rm2-6
-+
-+define Device/zte_mf269
-+	$(call Device/FitImage)
-+	$(call Device/UbiFit)
-+	DEVICE_VENDOR := ZTE
-+	DEVICE_MODEL := MF269
-+	BLOCKSIZE := 128k
-+	PAGESIZE := 2048
-+	DEVICE_DTS_CONFIG := config@ac04
-+	SOC := ipq8071
-+	KERNEL_SIZE := 53248k
-+	DEVICE_PACKAGES := ipq-wifi-zte_mf269
-+endef
-+TARGET_DEVICES += zte_mf269
-+
- define Device/dynalink_dl-wrx36
- 	$(call Device/FitImage)
- 	$(call Device/UbiFit)
-
---- a/target/linux/ipq807x/base-files/etc/board.d/02_network
-+++ b/target/linux/ipq807x/base-files/etc/board.d/02_network
-@@ -31,6 +31,12 @@ ipq807x_setup_interfaces()
- 	qnap,301w)
- 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 10g-2" "10g-1"
- 		;;
-+	cmcc,rm2-6)
-+		ucidef_set_interfaces_lan_wan "lan plc" "wan"
-+		;;
-+	zte,mf269)
-+		ucidef_set_interfaces_lan_wan "lan" "wan"
-+		;;
- 	redmi,ax6|\
- 	xiaomi,ax3600)
- 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
-
---- a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
-+++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
-@@ -18,6 +18,8 @@ case "$FIRMWARE" in
- 	redmi,ax6|\
- 	xiaomi,ax3600|\
- 	xiaomi,ax9000|\
-+	mcc,rm2-6|\
-+	zte,mf269|\
- 	zyxel,nbg7815)
- 		caldata_extract "0:art" 0x1000 0x20000
- 		;;
-
---- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
-@@ -51,6 +51,12 @@ platform_do_upgrade() {
- 		nand_do_restore_config || nand_do_upgrade_failed
- 		buffalo_upgrade_optvol
- 		;;
-+	zte,mf269)
-+		CI_KERN_UBIPART="ubi_kernel"
-+		CI_ROOT_UBIPART="rootfs"
-+		nand_do_upgrade "$1"
-+		;;
-+	cmcc,rm2-6|\
- 	dynalink,dl-wrx36)
- 		nand_do_upgrade "$1"
- 		;;

+ 0 - 2
devices/mediatek_filogic/.config

@@ -4,7 +4,5 @@ CONFIG_TARGET_mediatek_filogic=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_ALL_PROFILES=y
 CONFIG_TARGET_ALL_PROFILES=y
 
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 
 

+ 1 - 1
devices/mediatek_filogic/diy.sh

@@ -3,7 +3,7 @@
 shopt -s extglob
 shopt -s extglob
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-bash $SHELL_FOLDER/../common/kernel_6.6.sh
+#bash $SHELL_FOLDER/../common/kernel_6.6.sh
 
 
 sed -i '/bootargs-.* = " root=\/dev\/fit0 rootwait";/d' target/linux/mediatek/dts/*
 sed -i '/bootargs-.* = " root=\/dev\/fit0 rootwait";/d' target/linux/mediatek/dts/*
 
 

+ 259 - 0
devices/mediatek_filogic/diy/target/linux/mediatek/dts/mt7981b-cmcc-mr3000d-ciq-256m.dts

@@ -0,0 +1,259 @@
+/dts-v1/;
+
+#include "mt7981.dtsi"
+
+/ {
+	model = "CMCC MR3000D-CIq (256M)";
+	compatible = "cmcc,mr3000d-ciq-256m", "mediatek,mt7981";
+
+	aliases {
+		ethernet0 = &gmac0;
+		led-boot = &led_run;
+		led-failsafe = &led_blue;
+		led-running = &led_green;
+		led-upgrade = &led_blue;
+		serial0 = &uart0;
+		label-mac-device = &gmac1;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&pio 1 GPIO_ACTIVE_LOW>;
+		};
+
+		wps {
+			label = "wps";
+			linux,code = <KEY_WPS_BUTTON>;
+			gpios = <&pio 0 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_run: RGB_RED {
+			label = "RGB_RED";
+			gpios = <&pio 10 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		led_green: RGB_GREEN {
+			label = "RGB_GREEN";
+			gpios = <&pio 11 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led_blue: RGB_BLUE {
+			label = "RGB_BLUE";
+			gpios = <&pio 12 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&watchdog {
+	status = "okay";
+};
+
+&eth {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mdio_pins>;
+
+	status = "okay";
+
+	gmac0: mac@0 {
+		compatible = "mediatek,eth-mac";
+		reg = <0>;
+		phy-mode = "2500base-x";
+		nvmem-cells = <&macaddr_factory_4 (-1)>;
+		nvmem-cell-names = "mac-address";
+
+		fixed-link {
+			speed = <2500>;
+			full-duplex;
+			pause;
+		};
+	};
+
+	gmac1: mac@1 {
+		compatible = "mediatek,eth-mac";
+		reg = <1>;
+		phy-mode = "gmii";
+		phy-handle = <&int_gbe_phy>;
+		nvmem-cells = <&macaddr_factory_4 (-2)>;
+		nvmem-cell-names = "mac-address";
+	};
+};
+
+&mdio_bus {
+	switch0: switch@1f {
+		compatible = "mediatek,mt7531";
+		reg = <31>;
+		dsa,member = <0 0>;
+		reset-gpios = <&pio 39 GPIO_ACTIVE_HIGH>;
+		interrupt-controller;
+		#interrupt-cells = <1>;
+		interrupt-parent = <&pio>;
+		interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
+	};
+};
+
+&switch0 {
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+			label = "lan1";
+		};
+
+		port@1 {
+			reg = <1>;
+			label = "lan2";
+		};
+
+		port@2 {
+			reg = <2>;
+			label = "lan3";
+		};
+
+		port@6 {
+			reg = <6>;
+			ethernet = <&gmac0>;
+			phy-mode = "2500base-x";
+
+			fixed-link {
+				speed = <2500>;
+				full-duplex;
+				pause;
+			};
+		};
+	};
+};
+
+&spi0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi0_flash_pins>;
+	status = "okay";
+
+	spi_nand: flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spi-nand";
+		reg = <0>;
+		spi-max-frequency = <52000000>;
+
+		spi-cal-enable;
+		spi-cal-mode = "read-data";
+		spi-cal-datalen = <7>;
+		spi-cal-data = /bits/ 8 <0x53 0x50 0x49 0x4E 0x41 0x4E 0x44>;
+		spi-cal-addrlen = <5>;
+		spi-cal-addr = /bits/ 32 <0x0 0x0 0x0 0x0 0x0>;
+
+		spi-tx-bus-width = <4>;
+		spi-rx-bus-width = <4>;
+		mediatek,nmbm;
+		mediatek,bmt-max-ratio = <1>;
+		mediatek,bmt-max-reserved-blocks = <64>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "BL2";
+				reg = <0x00000 0x0100000>;
+				read-only;
+			};
+
+			partition@100000 {
+				label = "u-boot-env";
+				reg = <0x0100000 0x0080000>;
+			};
+
+			factory: partition@180000 {
+				label = "Factory";
+				reg = <0x180000 0x0200000>;
+
+				nvmem-layout {
+					compatible = "fixed-layout";
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					macaddr_factory_4: macaddr@4 {
+						compatible = "mac-base";
+						reg = <0x4 0x6>;
+						#nvmem-cell-cells = <1>;
+					};
+				};
+			};
+
+			partition@380000 {
+				label = "FIP";
+				reg = <0x380000 0x0200000>;
+			};
+
+			partition@580000 {
+				label = "ubi";
+				compatible = "linux,ubi";
+				reg = <0x580000 0x3000000>;
+			};
+
+			partition@3580000 {
+				label = "ubi1";
+				reg = <0x3580000 0x3000000>;
+			};
+
+			partition@6580000 {
+				label = "Product";
+				reg = <0x6580000 0x0020000>;  // 128 KB
+			};
+
+			partition@65a0000 {
+				label = "Custom";
+				reg = <0x65a0000 0x1000000>;  // 16 MB
+			};
+		};
+	};
+};
+
+&pio {
+	spi0_flash_pins: spi0-pins {
+		mux {
+			function = "spi";
+			groups = "spi0", "spi0_wp_hold";
+		};
+
+		conf-pu {
+			pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
+			drive-strength = <MTK_DRIVE_8mA>;
+			bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
+		};
+
+		conf-pd {
+			pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
+			drive-strength = <MTK_DRIVE_8mA>;
+			bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
+		};
+	};
+};
+
+&wifi {
+	mediatek,mtd-eeprom = <&factory 0x0>;
+
+	status = "okay";
+};

+ 4 - 4
devices/mediatek_filogic/patches/08-cmcc_rax3000m.patch

@@ -107,19 +107,19 @@
 
 
 --- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
 --- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
-@@ -112,6 +112,8 @@ platform_do_upgrade() {
+@@ -114,6 +114,8 @@ platform_do_upgrade() {
  	yuncore,ax835)
  	yuncore,ax835)
  		default_do_upgrade "$1"
  		default_do_upgrade "$1"
  		;;
  		;;
-+	cmcc,rax3000m-emmc|\
++  	cmcc,rax3000m-emmc|\
 +	cmcc,xr30-emmc|\
 +	cmcc,xr30-emmc|\
  	glinet,gl-mt2500|\
  	glinet,gl-mt2500|\
  	glinet,gl-mt6000|\
  	glinet,gl-mt6000|\
  	glinet,gl-x3000|\
  	glinet,gl-x3000|\
-@@ -201,6 +202,8 @@ platform_copy_config() {
- 		fi
+@@ -204,6 +206,8 @@ platform_copy_config() {
  		;;
  		;;
  	acer,predator-w6|\
  	acer,predator-w6|\
+ 	arcadyan,mozart|\
 +	cmcc,rax3000m-emmc|\
 +	cmcc,rax3000m-emmc|\
 +	cmcc,xr30-emmc|\
 +	cmcc,xr30-emmc|\
  	glinet,gl-mt2500|\
  	glinet,gl-mt2500|\

+ 0 - 0
devices/mediatek_filogic/patches/netcore-n60.patch → devices/mediatek_filogic/patches/22-netcore-n60.patch


+ 0 - 0
devices/mediatek_filogic/patches/ax3000t.patch → devices/mediatek_filogic/patches/23-ax3000t.patch


+ 0 - 0
devices/mediatek_filogic/patches/nradio-c8-660.patch → devices/mediatek_filogic/patches/24-nradio-c8-660.patch


+ 0 - 0
devices/mediatek_filogic/patches/platform.patch → devices/mediatek_filogic/patches/25-platform.patch


+ 0 - 0
devices/mediatek_filogic/patches/ruijie-rg-x60-pro.patch → devices/mediatek_filogic/patches/26-ruijie-rg-x60-pro.patch


+ 0 - 0
devices/mediatek_filogic/patches/tplink-tl-xdr.patch → devices/mediatek_filogic/patches/27-tplink-tl-xdr.patch


+ 114 - 0
devices/mediatek_filogic/patches/33-cmcc-mr3000d-ciq-256m.patch

@@ -0,0 +1,114 @@
+From 208ce83ac5b5405c3e221c1c3d24cca4fab94f9e Mon Sep 17 00:00:00 2001
+From: Chen Minqiang <[email protected]>
+Date: Tue, 22 Oct 2024 07:32:00 +0800
+Subject: [PATCH] mediatek: init add cmcc-mr3000d-ciq-256m
+
+---
+ .../uboot-envtools/files/mediatek_filogic     |   1 +
+ .../dts/mt7981b-cmcc-mr3000d-ciq-256m.dts     | 259 ++++++++++++++++++
+ .../filogic/base-files/etc/board.d/02_network |   1 +
+ .../base-files/lib/upgrade/platform.sh        |   1 +
+ target/linux/mediatek/image/filogic.mk        |  28 ++
+ 5 files changed, 290 insertions(+)
+
+diff --git a/package/boot/uboot-envtools/files/mediatek_filogic b/package/boot/uboot-envtools/files/mediatek_filogic
+index 4eeb2b0196c4d9..43cb3830e7ed4a 100644
+--- a/package/boot/uboot-envtools/files/mediatek_filogic
++++ b/package/boot/uboot-envtools/files/mediatek_filogic
+@@ -140,9 +140,12 @@
+ zyxel,ex5700-telenor)
+ 	ubootenv_add_uci_config "/dev/ubootenv" "0x0" "0x4000" "0x4000" "1"
+ 	;;
++cmcc,mr3000d-ciq-256m)
++	ubootenv_add_uci_config "/dev/mtd1" "0" "0x20000" "0x20000" 1
++	;;
+ esac
+ 
+ config_load ubootenv
+ config_foreach ubootenv_add_app_config
+ 
+ exit 0
+diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+index ccc988c3a8aad3..e9754ebc653756 100644
+--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
++++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+@@ -9,6 +9,7 @@
+ 
+ 	case $board in
+ 	abt,asr3000|\
++	cmcc,mr3000d-ciq-256m|\
+ 	cmcc,rax3000m*|\
+ 	cmcc,xr30*|\
+ 	konka,komi-a31|\
+diff --git a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
+index f6fc3d52cef14e..07a0eca1ba65d0 100755
+--- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
++++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
+@@ -214,7 +214,19 @@
+ 		;;
+ 	esac
+ }
++
++tenbay_dualboot_fixup()
++{
++	[ "$(rootfs_type)" = "tmpfs" ] || return 0
+ 
++	if ! fw_printenv -n boot_from &>/dev/null; then
++		echo "unable to read uboot-env"
++		return 1
++	fi
++
++	fw_setenv boot_from ubi
++}
++
+ platform_pre_upgrade() {
+ 	local board=$(board_name)
+ 
+@@ -229,5 +241,8 @@
+ 	xiaomi,redmi-router-ax6000)
+ 		xiaomi_initial_setup
+ 		;;
++	cmcc,mr3000d-ciq-256m)
++		tenbay_dualboot_fixup
++		;;
+ 	esac
+ }
+diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
+index 694b5a35b6d89a..d9967c12a965b7 100644
+--- a/target/linux/mediatek/image/filogic.mk
++++ b/target/linux/mediatek/image/filogic.mk
+@@ -588,6 +588,34 @@ define Device/cmcc_a10-ubootlayout
+ endef
+ TARGET_DEVICES += cmcc_a10-ubootlayout
+ 
++define Device/cmcc_mr3000d-ciq-256m
++  DEVICE_VENDOR := CMCC
++  DEVICE_MODEL := MR3000D-CIq (256M)
++  DEVICE_DTS := mt7981b-cmcc-mr3000d-ciq-256m
++  DEVICE_DTS_DIR := ../dts
++  DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware uboot-envtools
++  SUPPORTED_DEVICES := cmcc,mr3000d-ciq-256m mt7981-spim-nand-gsw-wr3000k
++  UBINIZE_OPTS := -E 5
++  BLOCKSIZE := 128k
++  PAGESIZE := 2048
++  IMAGE_SIZE := 65536k
++  KERNEL_IN_UBI := 1
++  IMAGES += factory.bin
++  IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
++  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
++  KERNEL = kernel-bin | lzma | \
++	fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
++  KERNEL_INITRAMFS = kernel-bin | lzma | \
++	fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
++ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
++ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),)
++  ARTIFACTS := initramfs-MR3000D-CIq-factory.bin
++  ARTIFACT/initramfs-MR3000D-CIq-factory.bin := append-image-stage initramfs-kernel.bin | sysupgrade-initramfs-tar | append-metadata | tenbay-factory MR3000D-CIq
++endif
++endif
++endef
++TARGET_DEVICES += cmcc_mr3000d-ciq-256m
++
+ define Device/cmcc_rax3000m
+   DEVICE_VENDOR := CMCC
+   DEVICE_MODEL := RAX3000M

+ 0 - 5
devices/mediatek_mt7622/.config

@@ -7,8 +7,3 @@ CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_linksys_e8450=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_linksys_e8450-ubi=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_linksys_e8450-ubi=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_ruijie_rg-ew3200gx-pro=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_ruijie_rg-ew3200gx-pro=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_bananapi_bpi-r64=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_bananapi_bpi-r64=y
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
-
-

+ 0 - 5
devices/mvebu_cortexa9/.config

@@ -10,8 +10,3 @@ CONFIG_TARGET_DEVICE_mvebu_cortexa9_DEVICE_linksys_wrt1900acs=y
 CONFIG_TARGET_DEVICE_mvebu_cortexa9_DEVICE_linksys_wrt32x=y
 CONFIG_TARGET_DEVICE_mvebu_cortexa9_DEVICE_linksys_wrt32x=y
 
 
 CONFIG_TARGET_ROOTFS_TARGZ=n
 CONFIG_TARGET_ROOTFS_TARGZ=n
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
-
-

+ 6 - 0
devices/qualcommax_ipq50xx/.config

@@ -0,0 +1,6 @@
+
+CONFIG_TARGET_qualcommax=y
+CONFIG_TARGET_qualcommax_ipq50xx=y
+CONFIG_TARGET_MULTI_PROFILE=y
+CONFIG_TARGET_ALL_PROFILES=y
+

+ 8 - 0
devices/qualcommax_ipq50xx/diy.sh

@@ -0,0 +1,8 @@
+#!/bin/bash
+
+shopt -s extglob
+
+SHELL_FOLDER=$(dirname $(readlink -f "$0"))
+
+rm -rf target/linux/qualcommax package/boot/uboot-envtools package/firmware package/kernel/qca-*
+git_clone_path ipq50xx-pr https://github.com/hzyitc/openwrt-redmi-ax3000 target/linux/qualcommax package/firmware package/kernel/qca-nss-dp package/kernel/qca-ssdk package/boot/uboot-envtools

+ 0 - 3
devices/qualcommax_ipq60xx/.config

@@ -3,6 +3,3 @@ CONFIG_TARGET_qualcommax_ipq60xx=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_ALL_PROFILES=y
 CONFIG_TARGET_ALL_PROFILES=y
 
 
-CONFIG_PACKAGE_kmod-mtdtests=n
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务

+ 1 - 1
devices/qualcommax_ipq60xx/README.md

@@ -1 +1 @@
-源码来源 https://github.com/coolsnowwolf/lede 感谢
+源码来源 https://github.com/LiBwrt-op/openwrt-6.x 感谢

+ 4 - 15
devices/qualcommax_ipq60xx/diy.sh

@@ -4,21 +4,10 @@ shopt -s extglob
 
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-bash $SHELL_FOLDER/../common/kernel_6.1.sh
-
-rm -rf target/linux/qualcommax target/linux/generic/!(*-5.15) package/kernel/qca-* package/kernel/mac80211 devices/common/patches/qca-ssdk.patch package/boot/uboot-envtools package/firmware/ipq-wifi
-git_clone_path master https://github.com/coolsnowwolf/lede target/linux/qualcommax package/firmware/ipq-wifi package/boot/uboot-envtools package/qca
-
-git_clone_path master https://github.com/coolsnowwolf/lede mv target/linux/generic
-
-git_clone_path c640f7b93736621b4d56627e4f6ab824093f9c3d https://github.com/openwrt/openwrt package/kernel/mac80211
-
-wget -N https://github.com/coolsnowwolf/lede/raw/master/include/kernel-6.1 -P include/
-
-sed -i "s/wpad-openssl/wpad-basic-mbedtls/" target/linux/qualcommax/Makefile
-
-sed -i "s/OpenWrt/Kwrt/g" package/base-files/files/bin/config_generate package/base-files/image-config.in config/Config-images.in Config.in include/u-boot.mk include/version.mk package/network/config/wifi-scripts/files/lib/wifi/mac80211.sh || true
-
+rm -rf package/firmware package/boot/uboot-envtools target/linux/qualcommax
 
 
+git_clone_path openwrt-24.10 https://github.com/LiBwrt-op/openwrt-6.x package/firmware package/boot/uboot-envtools target/linux/qualcommax
 
 
+wget -N https://github.com/openwrt/openwrt/raw/refs/heads/openwrt-24.10/target/linux/qualcommax/ipq60xx/target.mk -P target/linux/qualcommax/ipq60xx/
 
 
+rm -rf target/linux/qualcommax/patches-6.6/06*-qca-*.patch

二进制
devices/qualcommax_ipq60xx/diy/package/firmware/ipq-wifi/src/board-jdc_ax1800-pro.ipq6018


+ 0 - 11
devices/qualcommax_ipq60xx/patches/01-zn-m2.patch

@@ -1,11 +0,0 @@
---- a/target/linux/qualcommax/image/ipq60xx.mk
-+++ b/target/linux/qualcommax/image/ipq60xx.mk
-@@ -28,6 +28,8 @@ define Device/cmiot_ax18
- 	$(call Device/UbiFit)
- 	DEVICE_VENDOR := CMIOT
- 	DEVICE_MODEL := AX18
-+	DEVICE_ALT0_VENDOR := ZN
-+	DEVICE_ALT0_MODEL := M2
- 	BLOCKSIZE := 128k
- 	PAGESIZE := 2048
- 	DEVICE_DTS_CONFIG := config@cp03-c1

+ 4 - 11
devices/qualcommax_ipq807x/.config

@@ -1,19 +1,12 @@
-
 CONFIG_TARGET_qualcommax=y
 CONFIG_TARGET_qualcommax=y
 CONFIG_TARGET_qualcommax_ipq807x=y
 CONFIG_TARGET_qualcommax_ipq807x=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_MULTI_PROFILE=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_buffalo_wxr-5950ax12=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_cmcc_rm2-6=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_qnap_301w=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_redmi_ax6=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_redmi_ax6=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_xiaomi_ax3600=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_xiaomi_ax3600=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_xiaomi_ax9000=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_xiaomi_ax9000=y
+CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_qnap_301w=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_zte_mf269=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_zte_mf269=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_zyxel_nbg7815=y
 CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_zyxel_nbg7815=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_zbtlink_zbt-z800ax=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx5300=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx4200v1=y
-CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_linksys_mx4200v2=y
-
-CONFIG_PACKAGE_luci-ssl=y uhttpd服务
-
+CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_buffalo_wxr-5950ax12=y
+CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_cmcc_rm2-6=y
+CONFIG_TARGET_DEVICE_qualcommax_ipq807x_DEVICE_aliyun_ap8220=y

+ 1 - 5
devices/qualcommax_ipq807x/diy.sh

@@ -1,6 +1,2 @@
 #!/bin/bash
 #!/bin/bash
-shopt -s extglob
-
-SHELL_FOLDER=$(dirname $(readlink -f "$0"))
-
-bash $SHELL_FOLDER/../common/kernel_6.6.sh
+shopt -s extglob

+ 0 - 0
devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8070-rm2-6.dts → devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8070-rm2-6.dts


+ 0 - 0
devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts → devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-ap8220.dts


+ 0 - 0
devices/ipq807x_generic/diy/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts → devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts


+ 271 - 0
devices/qualcommax_ipq807x/diy/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-nss.dtsi

@@ -0,0 +1,271 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/ {
+	nss_dummy_reg: nss-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "nss-reg";
+		regulator-min-microvolt = <848000>;
+		regulator-max-microvolt = <848000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+};
+
+&soc {
+	nss-common {
+		compatible = "qcom,nss-common";
+		reg = <0x01868010 0x1000>;
+		reg-names = "nss-misc-reset";
+		memory-region = <&nss_region>;
+	};
+
+	nss0: nss@40000000 {
+		compatible = "qcom,nss";
+		interrupts = <GIC_SPI 377 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 378 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 379 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 380 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 381 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 382 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 383 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 384 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 385 IRQ_TYPE_EDGE_RISING>,
+			     	 <GIC_SPI 386 IRQ_TYPE_EDGE_RISING>;
+		reg = <0x39000000 0x1000>,
+		      <0x38000000 0x30000>,
+		      <0x0b111000 0x1000>;
+		reg-names = "nphys", "vphys", "qgic-phys";
+		clocks = <&gcc GCC_NSS_NOC_CLK>,
+			 	 <&gcc GCC_NSS_PTP_REF_CLK>,
+			 	 <&gcc GCC_NSS_CSR_CLK>,
+				 <&gcc GCC_NSS_CFG_CLK>,
+			 	 <&gcc GCC_NSS_IMEM_CLK>,
+			 	 <&gcc GCC_NSSNOC_QOSGEN_REF_CLK>,
+			 	 <&gcc GCC_MEM_NOC_NSS_AXI_CLK>,
+			 	 <&gcc GCC_NSSNOC_SNOC_CLK>,
+			 	 <&gcc GCC_NSSNOC_TIMEOUT_REF_CLK>,
+			 	 <&gcc GCC_NSS_CE_AXI_CLK>,
+			 	 <&gcc GCC_NSS_CE_APB_CLK>,
+			 	 <&gcc GCC_NSSNOC_CE_AXI_CLK>,
+			 	 <&gcc GCC_NSSNOC_CE_APB_CLK>,
+			 	 <&gcc GCC_NSSNOC_UBI0_AHB_CLK>,
+			 	 <&gcc GCC_UBI0_CORE_CLK>,
+			 	 <&gcc GCC_UBI0_AHB_CLK>,
+			 	 <&gcc GCC_UBI0_AXI_CLK>,
+			 	 <&gcc GCC_UBI0_MPT_CLK>,
+			 	 <&gcc GCC_UBI0_NC_AXI_CLK>;
+		clock-names = "nss-noc-clk",
+					  "nss-ptp-ref-clk",
+			      	  "nss-csr-clk",
+					  "nss-cfg-clk",
+					  "nss-imem-clk",
+					  "nss-nssnoc-qosgen-ref-clk",
+					  "nss-mem-noc-nss-axi-clk",
+					  "nss-nssnoc-snoc-clk",
+					  "nss-nssnoc-timeout-ref-clk",
+					  "nss-ce-axi-clk",
+					  "nss-ce-apb-clk",
+					  "nss-nssnoc-ce-axi-clk",
+					  "nss-nssnoc-ce-apb-clk",
+					  "nss-nssnoc-ahb-clk",
+					  "nss-core-clk",
+					  "nss-ahb-clk",
+					  "nss-axi-clk",
+					  "nss-mpt-clk",
+					  "nss-nc-axi-clk";
+		qcom,id = <0>;
+		qcom,num-queue = <4>;
+		qcom,num-irq = <10>;
+		qcom,num-pri = <4>;
+		qcom,load-addr = <0x40000000>;
+		qcom,low-frequency = <187200000>;
+		qcom,mid-frequency = <748800000>;
+		qcom,max-frequency = <1689600000>;
+		qcom,bridge-enabled;
+		qcom,ipv4-enabled;
+		qcom,ipv4-reasm-enabled;
+		qcom,ipv6-enabled;
+		qcom,ipv6-reasm-enabled;
+		qcom,wlanredirect-enabled;
+		qcom,tun6rd-enabled;
+		qcom,l2tpv2-enabled;
+		qcom,gre-enabled;
+		qcom,gre-redir-enabled;
+		qcom,gre-redir-mark-enabled;
+		qcom,map-t-enabled;
+		qcom,portid-enabled;
+		qcom,ppe-enabled;
+		qcom,pppoe-enabled;
+		qcom,pptp-enabled;
+		qcom,tunipip6-enabled;
+		qcom,shaping-enabled;
+		qcom,wlan-dataplane-offload-enabled;
+		qcom,vlan-enabled;
+		qcom,igs-enabled;
+		qcom,vxlan-enabled;
+		qcom,match-enabled;
+		qcom,mirror-enabled;
+		qcom,udp-st-enabled;
+		mx-supply = <&nss_dummy_reg>;
+		npu-supply = <&nss_dummy_reg>;
+	};
+
+	nss1: nss@40800000 {
+		compatible = "qcom,nss";
+		interrupts = <GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 391 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 392 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 394 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 395 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 396 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 397 IRQ_TYPE_EDGE_RISING>,
+					 <GIC_SPI 398 IRQ_TYPE_EDGE_RISING>;
+		reg = <0x39400000 0x1000>,
+		      <0x38030000 0x30000>,
+		      <0x0b111000 0x1000>;
+		reg-names = "nphys", "vphys", "qgic-phys";
+		clocks = <&gcc GCC_NSS_NOC_CLK>,
+				 <&gcc GCC_NSS_PTP_REF_CLK>,
+				 <&gcc GCC_NSS_CSR_CLK>,
+				 <&gcc GCC_NSS_CFG_CLK>,
+				 <&gcc GCC_NSS_IMEM_CLK>,
+				 <&gcc GCC_NSSNOC_QOSGEN_REF_CLK>,
+				 <&gcc GCC_MEM_NOC_NSS_AXI_CLK>,
+				 <&gcc GCC_NSSNOC_SNOC_CLK>,
+				 <&gcc GCC_NSSNOC_TIMEOUT_REF_CLK>,
+				 <&gcc GCC_NSS_CE_AXI_CLK>,
+				 <&gcc GCC_NSS_CE_APB_CLK>,
+				 <&gcc GCC_NSSNOC_CE_AXI_CLK>,
+				 <&gcc GCC_NSSNOC_CE_APB_CLK>,
+				 <&gcc GCC_NSSNOC_UBI1_AHB_CLK>,
+				 <&gcc GCC_UBI1_CORE_CLK>,
+				 <&gcc GCC_UBI1_AHB_CLK>,
+				 <&gcc GCC_UBI1_AXI_CLK>,
+				 <&gcc GCC_UBI1_MPT_CLK>,
+				 <&gcc GCC_UBI1_NC_AXI_CLK>;
+		clock-names = "nss-noc-clk",
+					  "nss-ptp-ref-clk",
+					  "nss-csr-clk",
+					  "nss-cfg-clk",
+					  "nss-imem-clk",
+					  "nss-nssnoc-qosgen-ref-clk",
+					  "nss-mem-noc-nss-axi-clk",
+					  "nss-nssnoc-snoc-clk",
+					  "nss-nssnoc-timeout-ref-clk",
+					  "nss-ce-axi-clk",
+					  "nss-ce-apb-clk",
+					  "nss-nssnoc-ce-axi-clk",
+					  "nss-nssnoc-ce-apb-clk",
+					  "nss-nssnoc-ahb-clk",
+					  "nss-core-clk",
+					  "nss-ahb-clk",
+					  "nss-axi-clk",
+					  "nss-mpt-clk",
+					  "nss-nc-axi-clk";
+		qcom,id = <1>;
+		qcom,num-queue = <4>;
+		qcom,num-irq = <9>;
+		qcom,num-pri = <4>;
+		qcom,load-addr = <0x40800000>;
+		qcom,capwap-enabled;
+		qcom,dtls-enabled;
+		qcom,tls-enabled;
+		qcom,crypto-enabled;
+		qcom,ipsec-enabled;
+		qcom,qvpn-enabled;
+		qcom,pvxlan-enabled;
+		qcom,clmap-enabled;
+		qcom,rmnet_rx-enabled;
+	};
+
+	nss_crypto: qcom,nss_crypto {
+		compatible = "qcom,nss-crypto";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		qcom,max-contexts = <64>;
+		qcom,max-context-size = <32>;
+		ranges;
+
+		eip197_node {
+			compatible = "qcom,eip197";
+			reg-names = "crypto_pbase";
+			reg = <0x39800000 0x7ffff>;
+			clocks = <&gcc GCC_NSS_CRYPTO_CLK>,
+				 	 <&gcc GCC_NSSNOC_CRYPTO_CLK>,
+				 	 <&gcc GCC_CRYPTO_PPE_CLK>;
+			clock-names = "crypto_clk",
+				      	  "crypto_nocclk",
+				      	  "crypto_ppeclk";
+			clock-frequency = /bits/ 64 <600000000 600000000 300000000>;
+			qcom,dma-mask = <0xff>;
+			qcom,transform-enabled;
+			qcom,aes128-cbc;
+			qcom,aes192-cbc;
+			qcom,aes256-cbc;
+			qcom,aes128-ctr;
+			qcom,aes192-ctr;
+			qcom,aes256-ctr;
+			qcom,aes128-ecb;
+			qcom,aes192-ecb;
+			qcom,aes256-ecb;
+			qcom,3des-cbc;
+			qcom,md5-hash;
+			qcom,sha160-hash;
+			qcom,sha224-hash;
+			qcom,sha384-hash;
+			qcom,sha512-hash;
+			qcom,sha256-hash;
+			qcom,md5-hmac;
+			qcom,sha160-hmac;
+			qcom,sha224-hmac;
+			qcom,sha256-hmac;
+			qcom,sha384-hmac;
+			qcom,sha512-hmac;
+			qcom,aes128-gcm-gmac;
+			qcom,aes192-gcm-gmac;
+			qcom,aes256-gcm-gmac;
+			qcom,aes128-cbc-md5-hmac;
+			qcom,aes128-cbc-sha160-hmac;
+			qcom,aes192-cbc-md5-hmac;
+			qcom,aes192-cbc-sha160-hmac;
+			qcom,aes256-cbc-md5-hmac;
+			qcom,aes256-cbc-sha160-hmac;
+			qcom,aes128-ctr-sha160-hmac;
+			qcom,aes192-ctr-sha160-hmac;
+			qcom,aes256-ctr-sha160-hmac;
+			qcom,aes128-ctr-md5-hmac;
+			qcom,aes192-ctr-md5-hmac;
+			qcom,aes256-ctr-md5-hmac;
+			qcom,3des-cbc-md5-hmac;
+			qcom,3des-cbc-sha160-hmac;
+			qcom,aes128-cbc-sha256-hmac;
+			qcom,aes192-cbc-sha256-hmac;
+			qcom,aes256-cbc-sha256-hmac;
+			qcom,aes128-ctr-sha256-hmac;
+			qcom,aes192-ctr-sha256-hmac;
+			qcom,aes256-ctr-sha256-hmac;
+			qcom,3des-cbc-sha256-hmac;
+			qcom,aes128-cbc-sha384-hmac;
+			qcom,aes192-cbc-sha384-hmac;
+			qcom,aes256-cbc-sha384-hmac;
+			qcom,aes128-ctr-sha384-hmac;
+			qcom,aes192-ctr-sha384-hmac;
+			qcom,aes256-ctr-sha384-hmac;
+			qcom,aes128-cbc-sha512-hmac;
+			qcom,aes192-cbc-sha512-hmac;
+			qcom,aes256-cbc-sha512-hmac;
+			qcom,aes128-ctr-sha512-hmac;
+			qcom,aes192-ctr-sha512-hmac;
+			qcom,aes256-ctr-sha512-hmac;
+
+			engine0 {
+				reg_offset = <0x80000>;
+				qcom,ifpp-enabled;
+				qcom,ipue-enabled;
+				qcom,ofpp-enabled;
+				qcom,opue-enabled;
+			};
+		};
+	};
+};

+ 0 - 0
devices/ipq807x_generic/diy/target/linux/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac → devices/qualcommax_ipq807x/diy/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac


+ 60 - 0
devices/qualcommax_ipq807x/diy/target/linux/qualcommax/patches-6.6/0102-arm64-dts-ipq8074-add-reserved-memory-nodes.patch

@@ -0,0 +1,60 @@
+From ad2d07f71739351eeea1d8a120c0918e2c4b265f Mon Sep 17 00:00:00 2001
+From: Robert Marko <[email protected]>
+Date: Wed, 22 Dec 2021 12:23:34 +0100
+Subject: [PATCH] arm64: dts: ipq8074: add reserved memory nodes
+
+IPQ8074 has multiple reserved memory ranges, if they are not defined
+then weird things tend to happen, board hangs and resets when PCI or
+WLAN is used etc.
+
+So, to avoid all of that add the reserved memory nodes from the downstream
+5.4 kernel from QCA.
+This is their default layout meant for devices with 1GB of RAM, but
+devices with lower ammounts can override the Q6 node.
+
+Signed-off-by: Robert Marko <[email protected]>
+---
+ arch/arm64/boot/dts/qcom/ipq8074.dtsi | 35 +++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
++++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+@@ -86,6 +86,16 @@
+ 		#size-cells = <2>;
+ 		ranges;
+ 
++		nss_region: nss@40000000 {
++			no-map;
++			reg = <0x0 0x40000000 0x0 0x01000000>;
++		};
++
++		tzapp_region: tzapp@4a400000 {
++			no-map;
++			reg = <0x0 0x4a400000 0x0 0x00200000>;
++		};
++
+ 		smem@4ab00000 {
+ 			compatible = "qcom,smem";
+ 			reg = <0x0 0x4ab00000 0x0 0x00100000>;
+@@ -108,6 +118,21 @@
+ 			reg = <0x0 0x4ac00000 0x0 0x400000>;
+ 			no-map;
+ 		};
++
++		q6_region: wcnss@4b000000 {
++			no-map;
++			reg = <0x0 0x4b000000 0x0 0x05f00000>;
++		};
++
++		q6_etr_region: q6_etr_dump@50f00000 {
++			no-map;
++			reg = <0x0 0x50f00000 0x0 0x00100000>;
++		};
++
++		m3_dump_region: m3_dump@51000000 {
++			no-map;
++			reg = <0x0 0x51000000 0x0 0x100000>;
++		};
+ 	};
+ 
+ 	firmware {

+ 23 - 30
devices/qualcommax_ipq807x/patches/04-stock.patch

@@ -1,33 +1,3 @@
---- a/target/linux/qualcommax/image/ipq807x.mk
-+++ b/target/linux/qualcommax/image/ipq807x.mk
-@@ -256,12 +256,7 @@ define Device/xiaomi_ax3600
- 	PAGESIZE := 2048
- 	DEVICE_DTS_CONFIG := config@ac04
- 	SOC := ipq8071
--	KERNEL_SIZE := 36608k
- 	DEVICE_PACKAGES := ipq-wifi-xiaomi_ax3600 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct
--ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
--	ARTIFACTS := initramfs-factory.ubi
--	ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-uImage.itb | ubinize-kernel
--endif
- endef
- TARGET_DEVICES += xiaomi_ax3600
- 
-@@ -274,13 +269,8 @@ define Device/xiaomi_ax9000
- 	PAGESIZE := 2048
- 	DEVICE_DTS_CONFIG := config@hk14
- 	SOC := ipq8072
--	KERNEL_SIZE := 57344k
- 	DEVICE_PACKAGES := ipq-wifi-xiaomi_ax9000 kmod-ath11k-pci ath11k-firmware-qcn9074 \
- 		kmod-ath10k-ct ath10k-firmware-qca9887-ct
--ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
--	ARTIFACTS := initramfs-factory.ubi
--	ARTIFACT/initramfs-factory.ubi := append-image-stage initramfs-uImage.itb | ubinize-kernel
--endif
- endef
- TARGET_DEVICES += xiaomi_ax9000
- 
-
 --- a/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount
 --- a/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount
 +++ b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount
 +++ b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount
 @@ -9,5 +9,13 @@ boot() {
 @@ -9,5 +9,13 @@ boot() {
@@ -91,3 +61,26 @@
  		;;
  		;;
  	*)
  	*)
 
 
+--- /dev/null
++++ b/target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+@@ -0,0 +1,20 @@
++#!/bin/sh
++
++[ -e /lib/firmware/$FIRMWARE ] && exit 0
++
++. /lib/functions/caldata.sh
++
++board=$(board_name)
++
++case "$FIRMWARE" in
++"ath10k/cal-pci-0000:01:00.0.bin")
++	case "$board" in
++	xiaomi,ax3600)
++		caldata_extract "0:art" 0x33000 0x844
++		;;
++	esac
++	;;
++*)
++	exit 1
++	;;
++esac

+ 21 - 22
devices/ipq807x_generic/patches/ap8220.patch → devices/qualcommax_ipq807x/patches/ap8220.patch

@@ -4,15 +4,15 @@ Date: Wed, 16 Oct 2024 23:10:43 +0800
 Subject: [PATCH] ipq807x: add support for Aliyun AP8220
 Subject: [PATCH] ipq807x: add support for Aliyun AP8220
 
 
 ---
 ---
- target/linux/ipq807x/image/generic.mk      |  13 +
- .../ipq807x/base-files/etc/board.d/02_network |   3 +
+ target/linux/qualcommax/image/ipq807x.mk      |  13 +
+ .../qualcommax/ipq807x/base-files/etc/board.d/02_network |   3 +
  .../base-files/lib/upgrade/platform.sh        |   4 +
  .../base-files/lib/upgrade/platform.sh        |   4 +
  4 files changed, 376 insertions(+)
  4 files changed, 376 insertions(+)
 
 
-diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk
+diff --git a/target/linux/qualcommax/image/ipq807x.mk b/target/linux/qualcommax/image/ipq807x.mk
 index 6406d001311f21..05b0ff8c125f16 100644
 index 6406d001311f21..05b0ff8c125f16 100644
---- a/target/linux/ipq807x/image/generic.mk
-+++ b/target/linux/ipq807x/image/generic.mk
+--- a/target/linux/qualcommax/image/ipq807x.mk
++++ b/target/linux/qualcommax/image/ipq807x.mk
 @@ -33,6 +33,19 @@ define Build/wax6xx-netgear-tar
 @@ -33,6 +33,19 @@ define Build/wax6xx-netgear-tar
  	rm -rf [email protected]
  	rm -rf [email protected]
  endef
  endef
@@ -33,10 +33,9 @@ index 6406d001311f21..05b0ff8c125f16 100644
  define Device/buffalo_wxr-5950ax12
  define Device/buffalo_wxr-5950ax12
  	$(call Device/FitImage)
  	$(call Device/FitImage)
  	DEVICE_VENDOR := Buffalo
  	DEVICE_VENDOR := Buffalo
-diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network
-index 7c630e096fc381..aca67ade9a57f8 100644
---- a/target/linux/ipq807x/base-files/etc/board.d/02_network
-+++ b/target/linux/ipq807x/base-files/etc/board.d/02_network
+
+--- a/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network
++++ b/target/linux/qualcommax/ipq807x/base-files/etc/board.d/02_network
 @@ -11,6 +11,9 @@ ipq807x_setup_interfaces()
 @@ -11,6 +11,9 @@ ipq807x_setup_interfaces()
  	local board="$1"
  	local board="$1"
  
  
@@ -44,21 +43,21 @@ index 7c630e096fc381..aca67ade9a57f8 100644
 +	aliyun,ap8220)
 +	aliyun,ap8220)
 +		ucidef_set_interfaces_lan_wan "eth1" "eth0"
 +		ucidef_set_interfaces_lan_wan "eth1" "eth0"
 +		;;
 +		;;
- 	arcadyan,aw1000|\
- 	buffalo,wxr-5950ax12|\
- 	dynalink,dl-wrx36|\
-diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
+ 	asus,rt-ax89x)
+ 		ucidef_set_interfaces_lan_wan "10g-sfp 10g-copper lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8" "wan"
+ 		;;
+diff --git a/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh
 index 4c8a38c261c972..b0c42dde058a5d 100644
 index 4c8a38c261c972..b0c42dde058a5d 100644
---- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
-@@ -10,6 +10,10 @@ platform_check_image() {
- 
- platform_do_upgrade() {
- 	case "$(board_name)" in
+--- a/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh
++++ b/target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh
+@@ -140,6 +140,10 @@ platform_do_upgrade() {
+ 	netgear,wax630)
+ 		nand_do_upgrade "$1"
+ 		;;
 +	aliyun,ap8220)
 +	aliyun,ap8220)
 +		CI_UBIPART="rootfs"
 +		CI_UBIPART="rootfs"
 +		nand_do_upgrade "$1"
 +		nand_do_upgrade "$1"
 +		;;
 +		;;
- 	arcadyan,aw1000|\
- 	cmcc,rm2-6|\
- 	compex,wpq873|\
+ 	asus,rt-ax89x)
+ 		CI_UBIPART="UBI_DEV"
+ 		CI_KERNPART="linux"

+ 0 - 2
devices/ramips_mt7620/.config

@@ -21,5 +21,3 @@ CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_asus_rt-ac54u=y
 CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_asus_rt-ac51u=y
 CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_asus_rt-ac51u=y
 CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_netcore_nw5212=y
 CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_netcore_nw5212=y
 CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_youku_x2=y
 CONFIG_TARGET_DEVICE_ramips_mt7620_DEVICE_youku_x2=y
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务

+ 1 - 0
devices/ramips_mt7620/diy.sh

@@ -4,6 +4,7 @@ shopt -s extglob
 
 
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/2e6d19ee32399e37c7545aefc57d41541a406d55.patch | patch -d './' -p1 --forward" || true
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/2e6d19ee32399e37c7545aefc57d41541a406d55.patch | patch -d './' -p1 --forward" || true
 
 
+sed -i '/# start dockerd/,/# end dockerd/d' .config
 
 
 
 
 
 

+ 6 - 6
devices/ramips_mt7620/patches/mir3.patch

@@ -276,7 +276,7 @@ diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/targ
 index f7bc41669f80..e252b6e04611 100644
 index f7bc41669f80..e252b6e04611 100644
 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
 +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
 +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
-@@ -240,6 +240,10 @@ ramips_setup_interfaces()
+@@ -278,6 +278,10 @@ ramips_setup_interfaces()
  		ucidef_add_switch "switch0" \
  		ucidef_add_switch "switch0" \
  			"0:lan" "1:lan" "4:wan" "6@eth0"
  			"0:lan" "1:lan" "4:wan" "6@eth0"
  		;;
  		;;
@@ -287,17 +287,17 @@ index f7bc41669f80..e252b6e04611 100644
  	zbtlink,zbt-we1026-5g-16m)
  	zbtlink,zbt-we1026-5g-16m)
  		ucidef_add_switch "switch0" \
  		ucidef_add_switch "switch0" \
  			"0:lan" "6t@eth0"
  			"0:lan" "6t@eth0"
-@@ -384,6 +388,10 @@ ramips_setup_macs()
- 		wan_mac=$(mtd_get_mac_binary factory 0x2e)
- 		label_mac=$(mtd_get_mac_binary factory 0x8004)
+@@ -434,6 +438,10 @@ ramips_setup_macs()
+ 	tplink,ec220-g5-v2)
+ 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1)
  		;;
  		;;
 +	xiaomi,miwifi-r3)
 +	xiaomi,miwifi-r3)
 +		wan_mac=$(mtd_get_mac_binary factory 0x28)
 +		wan_mac=$(mtd_get_mac_binary factory 0x28)
 +		lan_mac=$(macaddr_setbit_la "$wan_mac")
 +		lan_mac=$(macaddr_setbit_la "$wan_mac")
 +		;;
 +		;;
+ 	wavlink,wl-wn531g3|\
+ 	wavlink,wl-wn531g3-a2|\
  	zbtlink,zbt-we1026-5g-16m)
  	zbtlink,zbt-we1026-5g-16m)
- 		label_mac=$(mtd_get_mac_binary factory 0x4)
- 		;;
 diff --git a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
 diff --git a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
 index 9f71dc918e50..5519312289fa 100755
 index 9f71dc918e50..5519312289fa 100755
 --- a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
 --- a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh

+ 0 - 3
devices/ramips_mt7621/.config

@@ -59,6 +59,3 @@ CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_hatlab_gateboard-one=y
 CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_openfi_5pro=y
 CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_openfi_5pro=y
 CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_jdcloud_re-cp-02=y
 CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_jdcloud_re-cp-02=y
 CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_yuncore_ax820=y
 CONFIG_TARGET_DEVICE_ramips_mt7621_DEVICE_yuncore_ax820=y
-
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务

+ 4 - 0
devices/ramips_mt7621/diy.sh

@@ -8,3 +8,7 @@ SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 sed -i "s/DEVICE_MODEL := HC5962$/DEVICE_MODEL := HC5962 \/ B70/" target/linux/ramips/image/mt7621.mk
 sed -i "s/DEVICE_MODEL := HC5962$/DEVICE_MODEL := HC5962 \/ B70/" target/linux/ramips/image/mt7621.mk
 
 
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/2e6d19ee32399e37c7545aefc57d41541a406d55.patch | patch -d './' -p1 --forward" || true
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/2e6d19ee32399e37c7545aefc57d41541a406d55.patch | patch -d './' -p1 --forward" || true
+
+sed -i '/# start dockerd/,/# end dockerd/d' .config
+
+sed -i "s/KERNEL_SIZE := 3145728/KERNEL_SIZE := 3407564/" target/linux/ramips/image/mt7621.mk

+ 92 - 0
devices/ramips_mt7621/diy/target/linux/ramips/dts/mt7621_ht-jsh_0211.dts

@@ -0,0 +1,92 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	compatible = "ht-jsh,0211", "mediatek,mt7621-soc";
+	model = "HT-JSH-0211";
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	flash@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <50000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "Bootloader";
+				reg = <0x0 0x30000>;
+				read-only;
+			};
+
+			partition@30000 {
+				label = "Config";
+				reg = <0x30000 0x10000>;
+				read-only;
+			};
+
+			factory: partition@40000 {
+				label = "Factory";
+				reg = <0x40000 0x10000>;
+				read-only;
+			};
+
+			partition@50000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x50000 0xfb0000>;
+			};
+		};
+	};
+};
+
+&pcie {
+	status = "okay";
+};
+
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0>;
+	};
+};
+
+&gmac0 {
+	mtd-mac-address = <&factory 0xe000>;
+};
+
+&gmac1 {
+	mtd-mac-address = <&factory 0xe006>;
+	status = "okay";
+};
+
+&switch0 {
+	status = "disabled";
+};
+
+&state_default {
+	gpio {
+		groups = "i2c";
+		function = "gpio";
+	};
+};

+ 0 - 176
devices/ramips_mt7621/diy/target/linux/ramips/dts/mt7621_openfi_5pro.dts

@@ -1,176 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/leds/common.h>
-
-/ {
-	compatible = "openfi,5pro", "mediatek,mt7621-soc";
-	model = "OpenFi 5Pro";
-
-	aliases {
-		led-boot = &led_system_blue;
-		led-failsafe = &led_system_blue;
-		led-running = &led_system_blue;
-		led-upgrade = &led_system_blue;
-	};
-
-	chosen {
-		bootargs = "console=ttyS0,115200";
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-
-		wps {
-			label = "wps";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_WPS_BUTTON>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_system_blue: led-0 {
-			label = "blue:system";
-			color = <LED_COLOR_ID_BLUE>;
-			function = LED_FUNCTION_STATUS;
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-		};
-
-		led_internet_blue: led-1 {
-			label = "blue:internet";
-			color = <LED_COLOR_ID_BLUE>;
-			function = LED_FUNCTION_STATUS;
-			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-		};
-
-		led_wifi_blue: led-2 {
-			label = "blue:wifi";
-			color = <LED_COLOR_ID_BLUE>;
-			linux,default-trigger = "phy0tpt";
-			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
-		};
-	};
-};
-
-&spi0 {
-	status = "okay";
-
-	flash@0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <40000000>;
-		broken-flash-reset;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "u-boot";
-				reg = <0x0 0x30000>;
-				read-only;
-			};
-
-			partition@30000 {
-				label = "config";
-				reg = <0x30000 0x10000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "factory";
-				reg = <0x40000 0x10000>;
-				read-only;
-
-				nvmem-layout {
-					compatible = "fixed-layout";
-					#address-cells = <1>;
-					#size-cells = <1>;
-
-					eeprom_factory_0: eeprom@0 {
-						reg = <0x0 0x400>;
-					};
-
-					eeprom_factory_8000: eeprom@8000 {
-						reg = <0x8000 0x4da8>;
-					};
-
-					macaddr_factory_e000: macaddr@e000 {
-						reg = <0xe000 0x6>;
-					};
-
-					macaddr_factory_e006: macaddr@e006 {
-						reg = <0xe006 0x6>;
-					};
-				};
-			};
-
-			partition@50000 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x50000 0x3fb0000>;
-			};
-		};
-	};
-};
-
-&pcie {
-	status = "okay";
-};
-
-&pcie0 {
-	mt76@0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		ieee80211-freq-limit = <2400000 2500000>;
-		nvmem-cells = <&eeprom_factory_0>;
-		nvmem-cell-names = "eeprom";
-	};
-};
-
-&pcie1 {
-	mt76@0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		ieee80211-freq-limit = <5000000 6000000>;
-		nvmem-cells = <&eeprom_factory_8000>;
-		nvmem-cell-names = "eeprom";
-	};
-};
-
-&switch0 {
-	ports {
-		port@0 {
-			status = "okay";
-			label = "wan";
-			nvmem-cells = <&macaddr_factory_e006>;
-			nvmem-cell-names = "mac-address";
-		};
-		port@1 {
-			status = "okay";
-			label = "lan";
-			nvmem-cells = <&macaddr_factory_e000>;
-			nvmem-cell-names = "mac-address";
-		};
-	};
-};
-
-&state_default {
-	gpio {
-		groups = "wdt";
-		function = "gpio";
-	};
-};
-

+ 212 - 0
devices/ramips_mt7621/diy/target/linux/ramips/dts/mt7621_zte_e8820s.dts

@@ -0,0 +1,212 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+	compatible = "zte,e8820s", "mediatek,mt7621-soc";
+	model = "ZTE E8820S";
+
+	aliases {
+		led-boot = &power_led;
+		led-failsafe = &system_led;
+		led-running = &system_led;
+		led-upgrade = &system_led;
+		label-mac-device = &gmac0;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		power_led: led-power {
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_WHITE>;
+			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+		};
+
+		system_led: led-system {
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_WHITE>;
+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		button-reset {
+			label = "reset";
+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+
+		button-wifi {
+			label = "wifi";
+			gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RFKILL>;
+		};
+
+		button-wps {
+			label = "wps";
+			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+	};
+};
+
+&ethphy4 {
+	/delete-property/ interrupts;
+};
+
+&gmac0 {
+	nvmem-cells = <&macaddr_config_12 0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+	status = "okay";
+	label = "wan";
+	phy-handle = <&ethphy4>;
+
+	nvmem-cells = <&macaddr_config_12 0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&nand {
+	status = "okay";
+
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		partition@0 {
+			label = "Bootloader";
+			reg = <0x0 0x220000>;
+			read-only;
+		};
+
+		partition@80000 {
+			compatible = "nvmem-cells";
+			label = "config";
+			reg = <0x220000 0x140000>;
+			read-only;
+
+			nvmem-layout {
+				compatible = "fixed-layout";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				macaddr_config_12: macaddr@12 {
+					compatible = "mac-base";
+					reg = <0x12 0x6>;
+					#nvmem-cell-cells = <1>;
+				};
+			};
+		};
+
+		partition@360000 {
+			compatible = "nvmem-cells";
+			label = "factory";
+			reg = <0x360000 0x140000>;
+			read-only;
+
+			nvmem-layout {
+				compatible = "fixed-layout";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				eeprom_factory_f000: eeprom@f000 {
+					reg = <0xf000 0x400>;
+				};
+
+				eeprom_factory_f800: eeprom@f800 {
+					reg = <0xf800 0x200>;
+				};
+			};
+		};
+
+		partition@4a0000 {
+			label = "kernel";
+			reg = <0x4a0000 0x400000>;
+		};
+
+		partition@8a0000 {
+			label = "ubi";
+			reg = <0x8a0000 0x76e0000>;
+		};
+	};
+};
+
+&pcie {
+	reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>,
+		      <&gpio 4 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
+
+&pcie0 {
+	wifi@0,0 {
+		compatible = "pci14c3,7603";
+		reg = <0x0000 0 0 0 0>;
+		nvmem-cells = <&eeprom_factory_f000>, <&macaddr_config_12 0>;
+		nvmem-cell-names = "eeprom", "mac-address";
+		ieee80211-freq-limit = <2400000 2500000>;
+
+		led {
+			led-active-low;
+		};
+	};
+};
+
+&pcie1 {
+	wifi@0,0 {
+		compatible = "pci14c3,7662";
+		reg = <0x0000 0 0 0 0>;
+		nvmem-cells = <&eeprom_factory_f800>, <&macaddr_config_12 1>;
+		nvmem-cell-names = "eeprom", "mac-address";
+		ieee80211-freq-limit = <5000000 6000000>;
+
+		led {
+			led-active-low;
+			led-sources = <2>;
+		};
+	};
+};
+
+&switch0 {
+	ports {
+		port@0 {
+			status = "okay";
+			label = "lan1";
+		};
+
+		port@1 {
+			status = "okay";
+			label = "lan2";
+		};
+
+		port@2 {
+			status = "okay";
+			label = "lan3";
+		};
+
+		port@3 {
+			status = "okay";
+			label = "lan4";
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "jtag", "uart2", "uart3", "wdt";
+		function = "gpio";
+	};
+};

+ 0 - 47
devices/ramips_mt7621/patches/03-4a-breed-fix.patch

@@ -1,47 +0,0 @@
---- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi
-+++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-common.dtsi
-@@ -54,40 +54,16 @@
- 				read-only;
- 			};
- 
--			partition@40000 {
--				label = "Bdata";
--				reg = <0x40000 0x10000>;
--				read-only;
--			};
--
--			factory: partition@50000 {
-+			factory: partition@40000 {
- 				label = "factory";
--				reg = <0x50000 0x10000>;
--				read-only;
--			};
--
--			partition@60000 {
--				label = "crash";
--				reg = <0x60000 0x10000>;
--				read-only;
--			};
--
--			partition@70000 {
--				label = "cfg_bak";
--				reg = <0x70000 0x10000>;
--				read-only;
--			};
--
--			partition@80000 {
--				label = "overlay";
--				reg = <0x80000 0x100000>;
-+				reg = <0x40000 0x10000>;
- 				read-only;
- 			};
- 
--			firmware: partition@180000 {
-+			partition@50000 {
- 				compatible = "denx,uimage";
- 				label = "firmware";
--				reg = <0x180000 0xe80000>;
-+				reg = <0x50000 0xfb0000>;
- 			};
- 		};
- 	};

+ 0 - 29
devices/ramips_mt7621/patches/11-openfi-5pro.patch

@@ -1,29 +0,0 @@
---- a/target/linux/ramips/image/mt7621.mk
-+++ b/target/linux/ramips/image/mt7621.mk
-@@ -1401,6 +1401,15 @@ define Device/netis_wf2881
- endef
- TARGET_DEVICES += netis_wf2881
- 
-+define Device/openfi_5pro
-+  $(Device/dsa-migration)
-+  IMAGE_SIZE := 63448k
-+  DEVICE_VENDOR := OpenFi
-+  DEVICE_MODEL := 5Pro 
-+  DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap kmod-usb3
-+endef
-+TARGET_DEVICES += openfi_5pro
-+
- define Device/oraybox_x3a
-   $(Device/dsa-migration)
-   $(Device/uimage-lzma-loader)
-
---- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-@@ -61,6 +61,7 @@ ramips_setup_interfaces()
- 		;;
- 	asiarf,ap7621-001|\
- 	humax,e10|\
-+	openfi,5pro|\
- 	wavlink,ws-wn572hp3-4g|\
- 	winstars,ws-wn583a6)
- 		ucidef_set_interfaces_lan_wan "lan" "wan"

+ 0 - 373
devices/ramips_mt7621/patches/c-life_xg1.patch

@@ -1,373 +0,0 @@
-From a3b880a4e8654e86eaf1a8854a07fd90783682ce Mon Sep 17 00:00:00 2001
-From: syb999 <[email protected]>
-Date: Sun, 4 Sep 2022 18:30:18 +0800
-Subject: [PATCH] ramips: add support for C-Life XG1 [WIFI6] (#10057)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-CPU: MediaTek MT7621AT
-  Flash: Micron MT29F2G08ABAGAWP 128M
-  RAM: 256 M
-  WiFi: MT7915 2.4/5 GHz 2T2R
-  Ethernet: 10/100/1000 Mbps x3
-  LED: Status (red / blue / white / green / purple / cyan)
-  USB: 2.0 x 1
-  ZigBee/BlueTooth
-  USB Audio: iec958 x 1
-  Button: Reset
-  Power: DC 12V,1.5A
-
-开启ssh方法:
-  打开网页:192.168.10.1,用户路由器底面标注的用户名密码完成登陆。
-  然后打开网页:http://192.168.10.1/cgi-bin/luci/admin/mtk/console,在命令行中输入以下命令:
-  echo -en "root\nroot\n" | passwd
-  然后打开网页:http://192.168.10.1/cgi-bin/luci/pti/ssh_open
-  即可ssh登陆192.168.10.1,用户名root,密码root
-
-刷入openwrt:
-
-开启ssh后,上传breed-mt7621-xiaomi-r3g.bin到路由器/tmp目录。
-然后使用下面命令刷入breed:
-mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader
-等待机器重启,等1分钟断开电源。
-按住C-Life XG1机身正面的圆形IoT按钮(gpio 18),通电就能进入breed刷机.
----
- package/boot/uboot-envtools/files/ramips      |   1 +
- target/linux/ramips/dts/mt7621_c-life_xg1.dts | 160 ++++++++++++++++++
- target/linux/ramips/image/mt7621.mk           |  17 ++
- .../mt7621/base-files/etc/board.d/02_network  |   9 +
- .../etc/hotplug.d/ieee80211/10_fix_wifi_mac   |   6 +
- .../mt7621/base-files/lib/upgrade/platform.sh |   1 +
- 6 files changed, 194 insertions(+)
- create mode 100644 target/linux/ramips/dts/mt7621_c-life_xg1.dts
-
-diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips
-index 2942fb6af807a..4323a2574c55b 100644
---- a/package/boot/uboot-envtools/files/ramips
-+++ b/package/boot/uboot-envtools/files/ramips
-@@ -70,6 +70,7 @@
- h3c,tx1800-plus|\
- h3c,tx1801-plus|\
- h3c,tx1806|\
-+c-life,xg1|\
- jcg,q20|\
- linksys,e7350|\
- netgear,wax202|\
-
---- a/target/linux/ramips/dts/mt7621.dtsi
-+++ b/target/linux/ramips/dts/mt7621.dtsi
-@@ -437,6 +437,13 @@
- 		clock-names = "nfi_clk";
- 	};
- 
-+	ethsys: ethsys@1e000000 {
-+		compatible = "mediatek,mt7621-ethsys",
-+			     "syscon";
-+		reg = <0x1e000000 0x1000>;
-+		#clock-cells = <1>;
-+	};
-+
- 	ethernet: ethernet@1e100000 {
- 		compatible = "mediatek,mt7621-eth";
- 		reg = <0x1e100000 0x10000>;
-@@ -542,6 +549,59 @@
- 		};
- 	};
- 
-+	hnat: hnat@1e100000 {
-+		compatible = "mediatek,mtk-hnat_v1";
-+		ext-devices = "ra0", "rai0", "rax0",
-+			"apcli0", "apclii0","apclix0";
-+		reg = <0x1e100000 0x3000>;
-+
-+		resets = <&ethsys 0>;
-+		reset-names = "mtketh";
-+
-+		mtketh-wan = "wan";
-+		mtketh-ppd = "lan";
-+		mtketh-lan = "lan";
-+		mtketh-max-gmac = <1>;
-+		mtkdsa-wan-port = <4>;
-+	};
-+
-+	gsw: gsw@1e110000 {
-+		compatible = "mediatek,mt753x";
-+		reg = <0x1e110000 0x8000>;
-+		interrupt-parent = <&gic>;
-+		interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>;
-+
-+		mediatek,mcm;
-+		mediatek,mdio = <&mdio>;
-+		mt7530,direct-phy-access;
-+
-+		resets = <&rstctrl 2>;
-+		reset-names = "mcm";
-+		status = "disabled";
-+
-+		port@5 {
-+			compatible = "mediatek,mt753x-port";
-+			reg = <5>;
-+			phy-mode = "rgmii";
-+
-+			fixed-link {
-+				speed = <1000>;
-+				full-duplex;
-+			};
-+		};
-+
-+		port@6 {
-+			compatible = "mediatek,mt753x-port";
-+			reg = <6>;
-+			phy-mode = "rgmii";
-+
-+			fixed-link {
-+				speed = <1000>;
-+				full-duplex;
-+			};
-+		};
-+	};
-+
- 	pcie: pcie@1e140000 {
- 		compatible = "mediatek,mt7621-pci";
- 		reg = <0x1e140000 0x100>, /* host-pci bridge registers */
-diff --git a/target/linux/ramips/dts/mt7621_c-life_xg1.dts b/target/linux/ramips/dts/mt7621_c-life_xg1.dts
-new file mode 100644
-index 0000000000000..b3744ff989c06
---- /dev/null
-+++ b/target/linux/ramips/dts/mt7621_c-life_xg1.dts
-@@ -0,0 +1,160 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include "mt7621.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+
-+/ {
-+	compatible = "c-life,xg1", "mediatek,mt7621-soc";
-+	model = "C-Life XG1";
-+
-+	aliases {
-+		led-boot = &led_status_red;
-+		led-failsafe = &led_status_red;
-+		led-running = &led_status_blue;
-+		led-upgrade = &led_status_blue;
-+		label-mac-device = &gmac0;
-+	};
-+
-+	chosen {
-+		bootargs = "console=ttyS0,115200";
-+	};
-+
-+	leds {
-+		compatible = "gpio-leds";
-+
-+		led_status_red: status_red {
-+			label = "red:status";
-+			gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
-+		};
-+
-+		led_status_blue: status_blue {
-+			label = "blue:status";
-+			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
-+		};
-+	};
-+
-+	keys {
-+		compatible = "gpio-keys";
-+
-+		reset {
-+			label = "reset";
-+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-+			linux,code = <KEY_RESTART>;
-+		};
-+
-+		wps {
-+			label = "wps";
-+			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-+			linux,code = <KEY_WPS_BUTTON>;
-+		};
-+	};
-+};
-+
-+&nand {
-+	status = "okay";
-+
-+	partitions {
-+		compatible = "fixed-partitions";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+
-+		partition@0 {
-+			label = "Bootloader";
-+			reg = <0x0 0x80000>;
-+		};
-+
-+		partition@80000 {
-+			label = "Nvram";
-+			reg = <0x80000 0x40000>;
-+			read-only;
-+		};
-+
-+		partition@c0000 {
-+			label = "Bdata";
-+			reg = <0xc0000 0x40000>;
-+			read-only;
-+		};
-+
-+		factory: partition@100000 {
-+			label = "Factory";
-+			reg = <0x100000 0x80000>;
-+			read-only;
-+		};
-+
-+		partition@180000 {
-+			label = "crash";
-+			reg = <0x180000 0x40000>;
-+			read-only;
-+		};
-+
-+		partition@1c0000 {
-+			label = "crash_log";
-+			reg = <0x1c0000 0x40000>;
-+			read-only;
-+		};
-+
-+		partition@200000 {
-+			label = "kernel";
-+			reg = <0x200000 0x400000>;
-+		};
-+
-+		partition@600000 {
-+			label = "ubi";
-+			reg = <0x600000 0x7980000>;
-+		};
-+	};
-+};
-+
-+&pcie {
-+	status = "okay";
-+};
-+
-+&pcie1 {
-+	wifi@0,0 {
-+		compatible = "mediatek,mt76";
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,mtd-eeprom = <&factory 0x0>;
-+	};
-+};
-+
-+&gmac0 {
-+	mtd-mac-address = <&factory 0x04>;
-+};
-+
-+&gmac1 {
-+	mtd-mac-address = <&factory 0x0a>;
-+	phy-mode = "rgmii";
-+	status = "okay";
-+
-+	fixed-link {
-+		speed = <1000>;
-+		full-duplex;
-+		pause;
-+	};
-+};
-+
-+&gsw {
-+	mediatek,portmap = "llllw";
-+	status = "okay";
-+};
-+
-+&hnat {
-+	mtketh-wan = "eth1";
-+	mtketh-ppd = "eth0";
-+	mtketh-lan = "eth0";
-+	mtketh-max-gmac = <2>;
-+	/delete-property/ mtkdsa-wan-port;
-+};
-+
-+&switch0 {
-+	status = "disabled";
-+};
-+
-+&state_default {
-+	gpio {
-+		groups = "jtag", "wdt";
-+		function = "gpio";
-+	};
-+};
-diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
-index e2402fc9701e2..efc1d0515b45d 100644
---- a/target/linux/ramips/image/mt7621.mk
-+++ b/target/linux/ramips/image/mt7621.mk
-@@ -582,6 +582,23 @@
- endef
- TARGET_DEVICES += cudy_m1800
- 
-+define Device/c-life_xg1
-+  $(Device/dsa-migration)
-+  BLOCKSIZE := 128k
-+  PAGESIZE := 2048
-+  UBINIZE_OPTS := -E 5
-+  KERNEL_SIZE := 4096k
-+  IMAGE_SIZE := 91136k
-+  IMAGES += factory.bin
-+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
-+  IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
-+	check-size
-+  DEVICE_VENDOR := C-Life
-+  DEVICE_MODEL := XG1
-+  DEVICE_PACKAGES := kmod-mt7915-firmware uboot-envtools kmod-usb3
-+endef
-+TARGET_DEVICES += c-life_xg1
-+
- define Device/cudy_wr1300-v1
-   $(Device/dsa-migration)
-   IMAGE_SIZE := 15872k
-diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-index 250210a473211..83623652e99a9 100644
---- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-@@ -198,6 +198,11 @@ ramips_setup_macs()
- 		lan_mac=$wan_mac
- 		label_mac=$wan_mac
- 		;;
-+	c-life,xg1)
-+		base_mac=$(cat /sys/class/net/eth0/address)
-+		lan_mac=$(macaddr_add "$base_mac" -1)
-+		wan_mac=$(macaddr_add "$lan_mac" -1)
-+		;;
- 	dlink,dir-860l-b1)
- 		lan_mac=$(mtd_get_mac_ascii factory lanmac)
- 		wan_mac=$(mtd_get_mac_ascii factory wanmac)
-diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
-index bb66c1e6a2d80..937986230e4f1 100644
---- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
-+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
-@@ -33,6 +33,12 @@
- 		[ "$PHYNBR" = "1" ] && \
- 		macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
- 		;;
-+	c-life,xg1)
-+		if [ "$PHYNBR" = "1" ]; then
-+			base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
-+			macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
-+		fi
-+		;;
- 	dlink,dap-1620-b1|\
- 	dlink,dir-853-a1)
- 		lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
-diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
-index af9dc9ca9a1eb..427c39c0675ff 100755
---- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
-@@ -63,6 +63,7 @@
- 	beeline,smartbox-turbo|\
- 	beeline,smartbox-turbo-plus|\
- 	belkin,rt1800|\
-+	c-life,xg1|\
- 	dlink,covr-x1860-a1|\
- 	dlink,dap-x1860-a1|\
- 	dlink,dir-1960-a1|\
-

+ 0 - 613
devices/ramips_mt7621/patches/gateboard-one.patch

@@ -1,613 +0,0 @@
-From 09516f5f61930eb2a54388da04ca5363cb514792 Mon Sep 17 00:00:00 2001
-From: kiddin9 <[email protected]>
-Date: Fri, 1 Dec 2023 06:28:22 +0800
-Subject: [PATCH] update
-
----
- scripts/gen-rddependencies.sh                 |  13 +
- target/linux/ramips/Makefile                  |   2 +-
- .../dts/mt7621_hatlab_gateboard-one.dts       | 390 ++++++++++++++++++
- target/linux/ramips/image/mt7621.mk           |  36 ++
- .../mt7621/base-files/etc/board.d/02_network  |   3 +
- .../mt7621/base-files/lib/upgrade/platform.sh |   6 +
- .../mt7621/base-files/sbin/fixup-mac-address  |   4 +
- target/linux/ramips/mt7621/config-5.15        |   1 +
- ...spi-nor-Add-support-for-Puya-p25d40h.patch |  47 +++
- 9 files changed, 501 insertions(+), 1 deletion(-)
- create mode 100755 scripts/gen-rddependencies.sh
- create mode 100644 target/linux/ramips/dts/mt7621_hatlab_gateboard-one.dts
- create mode 100644 target/linux/ramips/patches-5.15/406-mtd-spi-nor-Add-support-for-Puya-p25d40h.patch
-
-diff --git a/scripts/gen-rddependencies.sh b/scripts/gen-rddependencies.sh
-new file mode 100755
-index 0000000000000..509d6a4fa67e4
---- /dev/null
-+++ b/scripts/gen-rddependencies.sh
-@@ -0,0 +1,13 @@
-+#!/bin/sh
-+
-+TARGETS=$*
-+READELF="${READELF:-readelf}"
-+XARGS="${XARGS:-xargs -r}"
-+
-+find $TARGETS -type f -a -exec file {} \; | \
-+  sed -n -e 's/^\(.*\):.*ELF.*\(executable\|shared object\).*,.*/\1/p' | \
-+  $XARGS -n1 $READELF -l | grep 'Requesting' | cut -d':' -f2 | tr -d ' ]' | \
-+  $XARGS basename
-+
-+cd `dirname ${0}`
-+./gen-dependencies.sh ${TARGETS}
-diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile
-index 77b82d5334c22..caf5099d1a116 100644
---- a/target/linux/ramips/Makefile
-+++ b/target/linux/ramips/Makefile
-@@ -8,7 +8,7 @@ ARCH:=mipsel
- BOARD:=ramips
- BOARDNAME:=MediaTek Ralink MIPS
- SUBTARGETS:=mt7620 mt7621 mt76x8 rt288x rt305x rt3883
--FEATURES:=squashfs gpio
-+FEATURES:=squashfs gpio boot-part rootfs-part
- 
- KERNEL_PATCHVER:=5.15
- 
-diff --git a/target/linux/ramips/dts/mt7621_hatlab_gateboard-one.dts b/target/linux/ramips/dts/mt7621_hatlab_gateboard-one.dts
-new file mode 100644
-index 0000000000000..e982afaac511a
---- /dev/null
-+++ b/target/linux/ramips/dts/mt7621_hatlab_gateboard-one.dts
-@@ -0,0 +1,390 @@
-+#include "mt7621.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/thermal/thermal.h>
-+
-+/ {
-+	compatible = "hatlab,gateboard-one", "mediatek,mt7621-soc";
-+	model = "HATLab GateBoard-One";
-+
-+	chosen {
-+		bootargs = "console=ttyS0,115200";
-+	};
-+
-+	aliases {
-+		led-boot = &led_sys;
-+		led-failsafe = &led_sys;
-+		led-running = &led_sys;
-+		led-upgrade = &led_sys;
-+	};
-+
-+	leds {
-+		compatible = "gpio-leds";
-+
-+		led_sys: sys {
-+			label = "green:sys";
-+			gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
-+		};
-+
-+		usb {
-+			label = "blue:usb";
-+			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
-+			trigger-sources = <&xhci_ehci_port1>;
-+			linux,default-trigger = "usbport";
-+		};
-+	};
-+
-+	keys {
-+		compatible = "gpio-keys";
-+
-+		reset {
-+			label = "reset";
-+			gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
-+			linux,code = <KEY_RESTART>;
-+		};
-+	};
-+
-+	gpio_export {
-+		compatible = "gpio-export";
-+		#size-cells = <0>;
-+
-+		power_peripheral {
-+			gpio-export,name = "power_peripheral";
-+			gpio-export,output = <0>;
-+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-+		};
-+	};
-+
-+	cpu_fan: cpu_fan {
-+		compatible = "gpio-fan";
-+		gpios = <&gpio 13 GPIO_ACTIVE_HIGH
-+				 &gpio 14 GPIO_ACTIVE_HIGH>;
-+		gpio-fan,speed-map = <	0		0
-+								2000	1
-+								4000	2
-+								6000	3>;
-+		#cooling-cells = <2>;
-+	};
-+
-+	thermal-zones {
-+		cpu-thermal {
-+			polling-delay = <1000>;
-+			polling-delay-passive = <250>;
-+
-+			thermal-sensors = <&cpu_sensor>;
-+
-+			trips {
-+				cpu_warm: cpu-warm {
-+					temperature = <26000>;
-+					hysteresis = <2000>;
-+					type = "passive";
-+				};
-+
-+				cpu_hot: cpu-hot {
-+					temperature = <37000>;
-+					hysteresis = <2000>;
-+					type = "active";
-+				};
-+
-+				cpu_alert: cpu-alert {
-+					temperature = <75000>;
-+					hysteresis = <2000>;
-+					type = "hot";
-+				};
-+			};
-+
-+			cooling-maps {
-+				map0 {
-+					trip = <&cpu_warm>;
-+					cooling-device = <&cpu_fan THERMAL_NO_LIMIT 2>;
-+				};
-+
-+				map1 {
-+					trip = <&cpu_hot>;
-+					cooling-device = <&cpu_fan 3 THERMAL_NO_LIMIT>;
-+				};
-+			};
-+		};
-+	};
-+
-+	crypto: crypto@1e004000 {
-+		status = "okay";
-+
-+		compatible = "mediatek,mtk-eip93";
-+		reg = <0x1e004000 0x1000>;
-+
-+		interrupt-parent = <&gic>;
-+		interrupts = <GIC_SHARED 19 IRQ_TYPE_LEVEL_HIGH>;
-+	};
-+	
-+	i2c_gpio: i2c-gpio {
-+		compatible = "i2c-gpio";
-+
-+		sda-gpios = <&gpio 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-+		scl-gpios = <&gpio 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-+
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+
-+		status = "disabled";
-+	};
-+
-+	i2c_sfp: i2c-sfp {
-+		compatible = "i2c-gpio";
-+
-+		sda-gpios = <&expender0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-+		scl-gpios = <&expender0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-+
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+	};
-+
-+	i2c_sfp_alias_0: i2c-sfp-alias-0 {
-+		compatible = "i2c-gpio";
-+
-+		sda-gpios = <&expender0_alias_0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-+		scl-gpios = <&expender0_alias_0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
-+
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+	};
-+
-+	sfp: sfp {
-+		compatible = "sff,sfp";
-+		i2c-bus = <&i2c_sfp>;
-+
-+		maximum-power-milliwatt = <5000>;
-+
-+		mod-def0-gpios = <&expender0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
-+
-+		// los-gpios = <&expender0 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
-+		// rate-select0-gpios = <&expender0 4 GPIO_ACTIVE_HIGH>;
-+		// tx-disable-gpios = <&expender0 6 GPIO_ACTIVE_HIGH>;
-+		// tx-fault-gpios = <&expender0 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
-+	};
-+
-+	sfp_alias_0: sfp-alias-0 {
-+		compatible = "sff,sfp";
-+		i2c-bus = <&i2c_sfp_alias_0>;
-+
-+		maximum-power-milliwatt = <5000>;
-+
-+		mod-def0-gpios = <&expender0_alias_0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
-+
-+		// los-gpios = <&expender0_alias_0 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
-+		// rate-select0-gpios = <&expender0_alias_0 4 GPIO_ACTIVE_HIGH>;
-+		// tx-disable-gpios = <&expender0_alias_0 6 GPIO_ACTIVE_HIGH>;
-+		// tx-fault-gpios = <&expender0_alias_0 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
-+	};
-+};
-+
-+&spi0 {
-+	status = "okay";
-+
-+	spi-nor@0 {
-+		compatible = "jedec,spi-nor";
-+		reg = <0>;
-+		spi-max-frequency = <30000000>;
-+
-+		partitions@0 {
-+			compatible = "fixed-partitions";
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+
-+			partition@0 {
-+				label = "u-boot";
-+				reg = <0x0 0x70000>;
-+				read-only;
-+			};
-+
-+			partition@70000 {
-+				label = "u-boot-env";
-+				reg = <0x70000 0x8000>;
-+			};
-+
-+			factory: partition@78000 {
-+				label = "factory";
-+				reg = <0x78000 0x8000>;
-+			};
-+		};
-+	};
-+
-+	spi-nand@1 {
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		compatible = "spi-nand";
-+		reg = <1>;
-+		spi-max-frequency = <30000000>;
-+
-+		partition@0 {
-+			label = "nand0-ubi";
-+			reg = <0x0 0x0>;
-+		};
-+	};
-+};
-+
-+&uartlite2 {
-+	status = "okay";
-+};
-+
-+&uartlite3 {
-+	status = "okay";
-+};
-+
-+&state_default {
-+	gpio {
-+		groups = "wdt", "jtag", "i2c";
-+		function = "gpio";
-+	};
-+};
-+
-+&pcie {
-+	status = "okay";
-+};
-+
-+&pcie0 {
-+	mt76@0,0 {
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,eeprom-file = "mt76.pcie0.eeprom";
-+	};
-+};
-+
-+&pcie1 {
-+	mt76@0,0 {
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,eeprom-file = "mt76.pcie1.eeprom";
-+	};
-+};
-+
-+&pcie2 {
-+	mt76@0,0 {
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,eeprom-file = "mt76.pcie2.eeprom";
-+	};
-+};
-+
-+&sdhci {
-+	status = "okay";
-+	max-frequency = <20000000>;
-+};
-+
-+&mdio {
-+	ephy7: ethernet-phy@7 {
-+		reg = <7>;
-+		eee-broken-1000t;
-+		eee-broken-100tx;
-+		realtek,autotxid;
-+	};
-+};
-+
-+&gmac0 {
-+	label = "dsa0";
-+	nvmem-cells = <&macaddr_factory_0>;
-+	nvmem-cell-names = "mac-address";
-+	phy-mode = "trgmii";
-+};
-+
-+&gmac1 {
-+	status = "okay";
-+	label = "eth5";
-+
-+	nvmem-cells = <&macaddr_factory_0>;
-+	nvmem-cell-names = "mac-address";
-+	mac-address-increment = <6>;
-+
-+	phy-handle = <&ephy7>;
-+	phy-mode = "rgmii-rxid";
-+};
-+
-+&switch0 {
-+	ports {
-+		port@0 {
-+			status = "okay";
-+			label = "eth0";
-+			nvmem-cells = <&macaddr_factory_0>;
-+			nvmem-cell-names = "mac-address";
-+			mac-address-increment = <1>;
-+		};
-+
-+		port@1 {
-+			status = "okay";
-+			label = "eth1";
-+			nvmem-cells = <&macaddr_factory_0>;
-+			nvmem-cell-names = "mac-address";
-+			mac-address-increment = <2>;
-+		};
-+
-+		port@2 {
-+			status = "okay";
-+			label = "eth2";
-+			nvmem-cells = <&macaddr_factory_0>;
-+			nvmem-cell-names = "mac-address";
-+			mac-address-increment = <3>;
-+		};
-+
-+		port@3 {
-+			status = "okay";
-+			label = "eth3";
-+			nvmem-cells = <&macaddr_factory_0>;
-+			nvmem-cell-names = "mac-address";
-+			mac-address-increment = <4>;
-+		};
-+
-+		port@4 {
-+			status = "okay";
-+			label = "eth4";
-+			nvmem-cells = <&macaddr_factory_0>;
-+			nvmem-cell-names = "mac-address";
-+			mac-address-increment = <5>;
-+		};
-+	};
-+};
-+
-+&i2c_gpio {
-+	status = "okay";
-+
-+	expender0: pcf8574a@38 {
-+		compatible = "nxp,pcf8574a";
-+		reg = <0x38>;
-+		interrupt-parent = <&gpio>;
-+		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
-+		gpio-controller;
-+		#gpio-cells = <2>;
-+		interrupt-controller;
-+		#interrupt-cells = <2>;
-+	};
-+
-+	expender0_alias_0: pcf8574@20 {
-+		compatible = "nxp,pcf8574";
-+		reg = <0x20>;
-+		interrupt-parent = <&gpio>;
-+		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
-+		gpio-controller;
-+		#gpio-cells = <2>;
-+		interrupt-controller;
-+		#interrupt-cells = <2>;
-+	};
-+
-+	rtc0: pcf8563@51 {
-+		compatible = "nxp,pcf8563";
-+		reg = <0x51>;
-+	};
-+
-+	cpu_sensor: lm75@4f {
-+		compatible = "national,lm75";
-+		reg = <0x4f>;
-+		#thermal-sensor-cells = <0>;
-+	};
-+};
-+
-+&factory {
-+	compatible = "nvmem-cells";
-+	#address-cells = <1>;
-+	#size-cells = <1>;
-+	#mtd-mac-address = <&factory 0x0>;
-+
-+	macaddr_factory_0: macaddr@0 {
-+		reg = <0x0 0x6>;
-+	};
-+};
-diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
-index d456176a0178e..0f81321a52248 100644
---- a/target/linux/ramips/image/mt7621.mk
-+++ b/target/linux/ramips/image/mt7621.mk
-@@ -42,6 +42,20 @@ define Build/haier-sim_wr1800k-factory
-   rm -rf "[email protected]" "[email protected]"
- endef
- 
-+define Build/hatlab-gateboard-combined
-+  rm -fR [email protected]
-+
-+	mkfs.fat [email protected] -C 16384
-+	mcopy -i [email protected] $(IMAGE_KERNEL) ::vmlinux.itb
-+
-+	PADDING="1" SIGNATURE="$(IMG_PART_SIGNATURE)" \
-+	GUID="$(IMG_PART_DISKGUID)" $(SCRIPT_DIR)/gen_image_generic.sh \
-+	$@ \
-+	$(CONFIG_TARGET_KERNEL_PARTSIZE) [email protected] \
-+	$(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) \
-+	256
-+endef
-+
- define Build/iodata-mstc-header
- 	( \
- 		data_size_crc="$$(dd if=$@ ibs=64 skip=1 2>/dev/null | gzip -c | \
-@@ -1123,6 +1137,28 @@ define Device/haier_har-20s2u1
- endef
- TARGET_DEVICES += haier_har-20s2u1
- 
-+define Device/hatlab_gateboard-one
-+  $(Device/dsa-migration)
-+  DEVICE_VENDOR := HATLab
-+  DEVICE_MODEL := GateBoard-One
-+  DEVICE_PACKAGES := kmod-i2c-gpio kmod-gpio-pcf857x kmod-sdhci-mt7620 kmod-usb3 kmod-usb-storage kmod-usb-ledtrig-usbport kmod-fs-ext4 kmod-hwmon-lm75 kmod-thermal kmod-hwmon-gpiofan kmod-rtc-pcf8563 kmod-phy-realtek kmod-sfp
-+  MKUBIFS_OPTS := -m 2048 -e 124KiB -c 1024
-+  KERNEL := kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
-+  IMAGE/kernel.itb := append-kernel
-+  IMAGE/rootfs.img := append-rootfs
-+  IMAGE/rootfs.img.gz := append-rootfs | gzip
-+  IMAGE/combined.img := hatlab-gateboard-combined | append-metadata
-+  IMAGE/combined.img.gz := hatlab-gateboard-combined | gzip | append-metadata
-+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
-+  IMAGES := kernel.itb sysupgrade.bin
-+  ifeq ($(CONFIG_TARGET_IMAGES_GZIP),y)
-+    IMAGES += rootfs.img.gz combined.img.gz
-+  else
-+    IMAGES += rootfs.img combined.img
-+  endif
-+endef
-+TARGET_DEVICES += hatlab_gateboard-one
-+
- define Device/hilink_hlk-7621a-evb
-   $(Device/dsa-migration)
-   $(Device/uimage-lzma-loader)
-diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-index 4b23afc1cf291..dca281172348f 100644
---- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-@@ -150,6 +150,9 @@ ramips_setup_interfaces()
- 	meig,slt866)
- 		ucidef_set_interfaces_lan_wan "lan" "wan"
- 		;;
-+	hatlab,gateboard-one)
-+		ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5"
-+		;;
- 	*)
- 		ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
- 		;;
-diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
-index 5d8305b788cce..b38fe16145ad9 100755
---- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
-@@ -160,6 +160,12 @@ platform_do_upgrade() {
- 		;;
- 	zyxel,wsm20)
- 		zyxel_mstc_upgrade_prepare
-+		nand_do_upgrade "$1"
-+		;;
-+	hatlab,gateboard-one)
-+		CI_KERNPART="vmlinux.itb"
-+		CI_UBIPART="nand0-ubi"
-+
- 		nand_do_upgrade "$1"
- 		;;
- 	*)
-diff --git a/target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address b/target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address
-index dad15c584216d..375db51647b70 100755
---- a/target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address
-+++ b/target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address
-@@ -13,6 +13,10 @@ case $board in
- 		partname=factory
- 		offset=$((0xe000))
- 	;;
-+	hatlab,gateboard-one)
-+		partname=factory
-+		offset=$((0x0))
-+	;;
- 	*)
- 		echo "Unsupported board"
- 		exit 1
-diff --git a/target/linux/ramips/mt7621/config-5.15 b/target/linux/ramips/mt7621/config-5.15
-index 05e4c1ce87799..b93159ed079ef 100644
---- a/target/linux/ramips/mt7621/config-5.15
-+++ b/target/linux/ramips/mt7621/config-5.15
-@@ -156,6 +156,7 @@ CONFIG_MTD_PHYSMAP=y
- CONFIG_MTD_RAW_NAND=y
- CONFIG_MTD_ROUTERBOOT_PARTS=y
- CONFIG_MTD_SERCOMM_PARTS=y
-+CONFIG_MTD_SPI_NAND=y
- CONFIG_MTD_SPI_NOR=y
- CONFIG_MTD_SPI_NOR_USE_VARIABLE_ERASE=y
- CONFIG_MTD_SPLIT_FIT_FW=y
-diff --git a/target/linux/ramips/patches-5.15/406-mtd-spi-nor-Add-support-for-Puya-p25d40h.patch b/target/linux/ramips/patches-5.15/406-mtd-spi-nor-Add-support-for-Puya-p25d40h.patch
-new file mode 100644
-index 0000000000000..88ae591fca963
---- /dev/null
-+++ b/target/linux/ramips/patches-5.15/406-mtd-spi-nor-Add-support-for-Puya-p25d40h.patch
-@@ -0,0 +1,47 @@
-+--- a/drivers/mtd/spi-nor/Makefile
-++++ b/drivers/mtd/spi-nor/Makefile
-+@@ -12,6 +12,7 @@ spi-nor-objs			+= intel.o
-+ spi-nor-objs			+= issi.o
-+ spi-nor-objs			+= macronix.o
-+ spi-nor-objs			+= micron-st.o
-++spi-nor-objs			+= puya.o
-+ spi-nor-objs			+= spansion.o
-+ spi-nor-objs			+= sst.o
-+ spi-nor-objs			+= winbond.o
-+--- /dev/null
-++++ b/drivers/mtd/spi-nor/puya.c
-+@@ -0,0 +1,14 @@
-++#include <linux/mtd/spi-nor.h>
-++
-++#include "core.h"
-++
-++static const struct flash_info puya_parts[] = {
-++	/* PUYA */
-++	{ "p25d40h", INFO(0x856013, 0, 64 * 1024,  8,  SECT_4K) },
-++};
-++
-++const struct spi_nor_manufacturer spi_nor_puya = {
-++	.name = "puya",
-++	.parts = puya_parts,
-++	.nparts = ARRAY_SIZE(puya_parts),
-++};
-+--- a/drivers/mtd/spi-nor/core.c
-++++ b/drivers/mtd/spi-nor/core.c
-+@@ -1852,6 +1852,7 @@ static const struct spi_nor_manufacturer
-+ 	&spi_nor_issi,
-+ 	&spi_nor_macronix,
-+ 	&spi_nor_micron,
-++	&spi_nor_puya,
-+ 	&spi_nor_st,
-+ 	&spi_nor_spansion,
-+ 	&spi_nor_sst,
-+--- a/drivers/mtd/spi-nor/core.h
-++++ b/drivers/mtd/spi-nor/core.h
-+@@ -483,6 +483,7 @@ extern const struct spi_nor_manufacturer
-+ extern const struct spi_nor_manufacturer spi_nor_issi;
-+ extern const struct spi_nor_manufacturer spi_nor_macronix;
-+ extern const struct spi_nor_manufacturer spi_nor_micron;
-++extern const struct spi_nor_manufacturer spi_nor_puya;
-+ extern const struct spi_nor_manufacturer spi_nor_st;
-+ extern const struct spi_nor_manufacturer spi_nor_spansion;
-+ extern const struct spi_nor_manufacturer spi_nor_sst;

+ 6 - 144
devices/ramips_mt7621/patches/ht-jsh_0211.patch

@@ -1,140 +1,3 @@
-From e56218bff2d67efe4192f7b8d87525b101861194 Mon Sep 17 00:00:00 2001
-From: AmadeusGhost <[email protected]>
-Date: Fri, 2 Jun 2023 23:03:25 +0800
-Subject: [PATCH] ramips: add HT-JSH-0211 support
-
-Replace the boot loader to the breed of K2P.
----
- target/linux/ramips/Makefile                  |   2 +-
- .../linux/ramips/dts/mt7621_ht-jsh_0211.dts   | 105 ++++++++++++++++++
- target/linux/ramips/image/mt7621.mk           |   9 ++
- .../mt7621/base-files/etc/board.d/02_network  |   4 +
- 4 files changed, 119 insertions(+), 1 deletion(-)
- create mode 100644 target/linux/ramips/dts/mt7621_ht-jsh_0211.dts
-
-diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile
-index 3053906f68496..b336489f4da00 100644
---- a/target/linux/ramips/Makefile
-+++ b/target/linux/ramips/Makefile
-@@ -18,6 +18,6 @@ define Target/Description
- endef
- 
- include $(INCLUDE_DIR)/target.mk
--DEFAULT_PACKAGES += kmod-leds-gpio kmod-gpio-button-hotplug
-+DEFAULT_PACKAGES += kmod-leds-gpio kmod-gpio-button-hotplug -procd-ujail
- 
- $(eval $(call BuildTarget))
-diff --git a/target/linux/ramips/dts/mt7621_ht-jsh_0211.dts b/target/linux/ramips/dts/mt7621_ht-jsh_0211.dts
-new file mode 100644
-index 0000000000000..fa4d209e80e20
---- /dev/null
-+++ b/target/linux/ramips/dts/mt7621_ht-jsh_0211.dts
-@@ -0,0 +1,105 @@
-+// SPDX-License-Identifier: GPL-2.0-only
-+
-+#include "mt7621.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+
-+/ {
-+	compatible = "ht-jsh,0211", "mediatek,mt7621-soc";
-+	model = "HT-JSH-0211";
-+
-+	keys {
-+		compatible = "gpio-keys";
-+
-+		reset {
-+			label = "reset";
-+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
-+			linux,code = <KEY_RESTART>;
-+		};
-+	};
-+};
-+
-+&spi0 {
-+	status = "okay";
-+
-+	flash@0 {
-+		compatible = "jedec,spi-nor";
-+		reg = <0>;
-+		spi-max-frequency = <50000000>;
-+
-+		partitions {
-+			compatible = "fixed-partitions";
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+
-+			partition@0 {
-+				label = "Bootloader";
-+				reg = <0x0 0x30000>;
-+				read-only;
-+			};
-+
-+			partition@30000 {
-+				label = "Config";
-+				reg = <0x30000 0x10000>;
-+				read-only;
-+			};
-+
-+			factory: partition@40000 {
-+				label = "Factory";
-+				reg = <0x40000 0x10000>;
-+				read-only;
-+			};
-+
-+			partition@50000 {
-+				compatible = "denx,uimage";
-+				label = "firmware";
-+				reg = <0x50000 0xfb0000>;
-+			};
-+		};
-+	};
-+};
-+
-+&pcie {
-+	status = "okay";
-+};
-+
-+&pcie0 {
-+	mt76@0,0 {
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,mtd-eeprom = <&factory 0x0>;
-+	};
-+};
-+
-+&gmac0 {
-+	mtd-mac-address = <&factory 0xe000>;
-+};
-+
-+&gmac1 {
-+	mtd-mac-address = <&factory 0xe006>;
-+	status = "okay";
-+};
-+
-+&gsw {
-+	mediatek,portmap = "wllll";
-+	status = "okay";
-+};
-+
-+&hnat {
-+	mtketh-wan = "eth1";
-+	mtketh-ppd = "eth0";
-+	mtketh-lan = "eth0";
-+	mtketh-max-gmac = <2>;
-+	/delete-property/ mtkdsa-wan-port;
-+};
-+
-+&switch0 {
-+	status = "disabled";
-+};
-+
-+&state_default {
-+	gpio {
-+		groups = "i2c";
-+		function = "gpio";
-+	};
-+};
 diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
 diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
 index 1908f60bc37bc..bc6a3ac05ae3a 100644
 index 1908f60bc37bc..bc6a3ac05ae3a 100644
 --- a/target/linux/ramips/image/mt7621.mk
 --- a/target/linux/ramips/image/mt7621.mk
@@ -155,18 +18,17 @@ index 1908f60bc37bc..bc6a3ac05ae3a 100644
  define Device/iodata_wn-ax1167gr
  define Device/iodata_wn-ax1167gr
    $(Device/dsa-migration)
    $(Device/dsa-migration)
    $(Device/uimage-lzma-loader)
    $(Device/uimage-lzma-loader)
-diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-index 37037c666d980..816e7c3dd2f4b 100644
+
 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
 +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
 +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
-@@ -65,6 +65,10 @@ ramips_setup_interfaces()
- 	hatlab,gateboard-one)
- 		ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5"
+@@ -112,6 +112,10 @@ ramips_setup_interfaces()
+ 	dlink,covr-x1860-a1)
+ 		ucidef_set_interfaces_lan_wan "ethernet" "internet"
  		;;
  		;;
 +	ht-jsh,0211)
 +	ht-jsh,0211)
 +		ucidef_add_switch "switch0" \
 +		ucidef_add_switch "switch0" \
 +			"0:wan" "2:lan" "3:lan" "6u@eth0" "5u@eth1"
 +			"0:wan" "2:lan" "3:lan" "6u@eth0" "5u@eth1"
 +		;;
 +		;;
+ 	elecom,wmc-s1267gs2|\
  	linksys,re6500|\
  	linksys,re6500|\
- 	netgear,wac104)
- 		ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
+ 	netgear,wac104|\

+ 0 - 101
devices/ramips_mt7621/patches/re-cp-02.patch

@@ -1,101 +0,0 @@
-From 985af21123a02ff764156aafff2be4e9cc6e640e Mon Sep 17 00:00:00 2001
-From: Sheng Huang <[email protected]>
-Date: Mon, 6 May 2024 13:51:27 +0800
-Subject: [PATCH] ramips: add support for JDCloud RE-CP-02
-
-- Soc: MediaTek MT7621AT
-- RAM: 512 MB (DDR3)
-- Flash: 16 MB (SPI NOR)
-- WiFi: MediaTek MT7905DAN, MediaTek MT7975DN
-- Ethernet: 1 WAN, 3 LAN (Gigabit)
-- Buttons: Reset, Joylink
-- LEDs: (red, blue, green), routed to one indicator in the top of the
-  device
-- Power: DC 12V 1A tip positive
-- 1 TF Card Slot
-
-The pins for the serial console are already labeled on the board
-J4(V, R, T, G). Serial settings: 3.3V, 115200
-
-MAC addresses:
-
-|         | MAC               | Algorithm |
-| ------- | ----------------- | --------- |
-| label   | dc:d8:xx:xx:xx:01 | label     |
-| LAN     | dc:d8:xx:xx:xx:01 | label     |
-| WAN     | dc:d8:xx:xx:xx:02 | label+1   |
-| WLAN 2g | dc:d8:xx:xx:xx:03 | label+2   |
-| WLAN 5g | de:d8:xx:xx:xx:04 | label+3   |
-
-1. rename the
-   openwrt-ramips-mt7621-jdcloud_re-cp-02-squashfs-sysupgrade.bin
-   to JDCOS.bin
-
-2. start a TFTP server from IP address 192.168.68.10 and serve the
-   image named JDCOS.bin
-
-3. connect your device to the LAN port
-
-4. power up the router and press any key on the console to interrupt
-   the boot process.
-
-5. enter the following commands on the router console
-
-   1. setenv bootcount 6
-
-   2. saveenv
-
-   3. reset
-
-      > NOTE: wait for the restart, it will automatically fetch the
-      > image named JDCOS.bin from the TFTP server and write it into
-      > the flash. After the writing is completed, the router will be
-      > automatically restarted.
-
-Unable to recognize large-capacity TF card, see #14042. But the patch
-https://github.com/openwrt/openwrt/issues/14042#issuecomment-1910769942
-works
-
-Co-Authored-By: Jianti Chen <[email protected]>
-Signed-off-by: Sheng Huang <[email protected]>
----
- .../ramips/dts/mt7621_jdcloud_re-cp-02.dts    | 186 ++++++++++++++++++
- target/linux/ramips/image/mt7621.mk           |   9 +
- .../mt7621/base-files/etc/init.d/bootcount    |   3 +
- 3 files changed, 198 insertions(+)
- create mode 100644 target/linux/ramips/dts/mt7621_jdcloud_re-cp-02.dts
-
-diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
-index 4c6b7057d5a93..cbaf6a9c59941 100644
---- a/target/linux/ramips/image/mt7621.mk
-+++ b/target/linux/ramips/image/mt7621.mk
-@@ -1534,6 +1534,15 @@ define Device/jcg_y2
- endef
- TARGET_DEVICES += jcg_y2
- 
-+define Device/jdcloud_re-cp-02
-+  $(Device/dsa-migration)
-+  IMAGE_SIZE := 16000k
-+  DEVICE_VENDOR := JD-Cloud
-+  DEVICE_MODEL := RE-CP-02
-+  DEVICE_PACKAGES := kmod-mt7915-firmware kmod-sdhci-mt7620
-+endef
-+TARGET_DEVICES += jdcloud_re-cp-02
-+
- define Device/keenetic_kn-3010
-   $(Device/dsa-migration)
-   $(Device/uimage-lzma-loader)
-diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
-index c558247341374..06846cd4ca40f 100755
---- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
-+++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
-@@ -15,6 +15,9 @@ boot() {
- 			$((0xff)) ]] || printf '\xff' | dd of=/dev/mtdblock3 \
- 			count=1 bs=1 seek=$((0x20001))
- 		;;
-+	jdcloud,re-cp-02)
-+		echo -e "bootcount 0\nbootlimit 5\nupgrade_available 1"  | /usr/sbin/fw_setenv -s -
-+		;;
- 	linksys,e5600|\
- 	linksys,ea6350-v4|\
- 	linksys,ea7300-v1|\

+ 0 - 194
devices/ramips_mt7621/patches/zte_e8820s.patch

@@ -1,197 +1,3 @@
-diff --git a/target/linux/ramips/dts/mt7621_zte_e8820s.dts b/target/linux/ramips/dts/mt7621_zte_e8820s.dts
-new file mode 100644
-index 000000000000..5a0012441509
---- /dev/null
-+++ b/target/linux/ramips/dts/mt7621_zte_e8820s.dts
-@@ -0,0 +1,188 @@
-+#include "mt7621.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+
-+/ {
-+	compatible = "zte,e8820s", "mediatek,mt7621-soc";
-+	model = "ZTE E8820S";
-+
-+	aliases {
-+		led-boot = &led_sys;
-+		led-failsafe = &led_sys;
-+		led-running = &led_sys;
-+		led-upgrade = &led_sys;
-+	};
-+
-+	leds {
-+		compatible = "gpio-leds";
-+
-+		led_sys: sys {
-+			label = "white:sys";
-+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
-+		};
-+
-+	};
-+
-+	keys {
-+		compatible = "gpio-keys";
-+
-+		reset {
-+			label = "reset";
-+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-+			linux,code = <KEY_RESTART>;
-+		};
-+
-+		wps {
-+			label = "wps";
-+			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
-+			linux,code = <KEY_WPS_BUTTON>;
-+		};
-+
-+		wifi {
-+			label = "wifi";
-+			gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
-+			linux,code = <KEY_RFKILL>;
-+		};
-+	};
-+};
-+
-+&nand {
-+	status = "okay";
-+
-+	partitions {
-+		compatible = "fixed-partitions";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+
-+		partition@0 {
-+			label = "u-boot";
-+			reg = <0x0 0x80000>;
-+			read-only;
-+		};
-+
-+		partition@80000 {
-+			label = "u-boot-env";
-+			reg = <0x80000 0x80000>;
-+			read-only;
-+		};
-+
-+		factory: partition@100000 {
-+			label = "factory";
-+			reg = <0x100000 0x40000>;
-+			read-only;
-+		};
-+
-+		partition@140000 {
-+			label = "kernel";
-+			reg = <0x140000 0x400000>;
-+		};
-+
-+		partition@540000 {
-+			label = "ubi";
-+			reg = <0x540000 0x7A00000>;
-+		};
-+	};
-+};
-+
-+&pcie {
-+	status = "okay";
-+	reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>,
-+				  <&gpio 4 GPIO_ACTIVE_LOW>;
-+};
-+
-+&pcie0 {
-+	wifi@0,0 {
-+		compatible = "mediatek,mt76";
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,mtd-eeprom = <&factory 0x0000>;
-+		nvmem-cells = <&macaddr_factory_e000>;
-+		nvmem-cell-names = "mac-address";
-+
-+		led {
-+			led-active-low;
-+		};
-+	};
-+};
-+
-+&pcie1 {
-+	wifi@0,0 {
-+		compatible = "mediatek,mt76";
-+		reg = <0x0000 0 0 0 0>;
-+		mediatek,mtd-eeprom = <&factory 0x8000>;
-+		nvmem-cells = <&macaddr_factory_e006>;
-+		nvmem-cell-names = "mac-address";
-+		ieee80211-freq-limit = <5000000 6000000>;
-+
-+		led {
-+			led-sources = <2>;
-+			led-active-low;
-+		};
-+	};
-+};
-+
-+&gmac0 {
-+	nvmem-cells = <&macaddr_factory_e000>;
-+	nvmem-cell-names = "mac-address";
-+};
-+
-+&gmac1 {
-+	status = "okay";
-+	label = "wan";
-+	phy-handle = <&ethphy4>;
-+
-+	nvmem-cells = <&macaddr_factory_e000>;
-+	nvmem-cell-names = "mac-address";
-+	mac-address-increment = <1>;
-+};
-+
-+&mdio {
-+	ethphy4: ethernet-phy@4 {
-+		reg = <4>;
-+	};
-+};
-+
-+&switch0 {
-+	ports {
-+		port@0 {
-+			status = "okay";
-+			label = "lan1";
-+		};
-+
-+		port@1 {
-+			status = "okay";
-+			label = "lan2";
-+		};
-+
-+		port@2 {
-+			status = "okay";
-+			label = "lan3";
-+		};
-+
-+		port@3 {
-+			status = "okay";
-+			label = "lan4";
-+		};
-+	};
-+};
-+
-+&state_default {
-+	gpio {
-+		groups = "i2c", "jtag", "uart2", "uart3", "wdt";
-+		function = "gpio";
-+	};
-+};
-+
-+&factory {
-+	compatible = "nvmem-cells";
-+	#address-cells = <1>;
-+	#size-cells = <1>;
-+
-+	macaddr_factory_e000: macaddr@e000 {
-+		reg = <0xe000 0x6>;
-+	};
-+
-+	macaddr_factory_e006: macaddr@e006 {
-+		reg = <0xe006 0x6>;
-+	};
-+};
 diff --git a/target/linux/ramips/dts/mt7621_zte_e8820v2.dts b/target/linux/ramips/dts/mt7621_zte_e8820v2.dts
 diff --git a/target/linux/ramips/dts/mt7621_zte_e8820v2.dts b/target/linux/ramips/dts/mt7621_zte_e8820v2.dts
 new file mode 100644
 new file mode 100644
 index 000000000000..5a0012441509
 index 000000000000..5a0012441509

+ 0 - 2
devices/ramips_mt76x8/.config

@@ -14,8 +14,6 @@ CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_miwifi-3a=y
 CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_netgear_r6120=y
 CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_netgear_r6120=y
 CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_miwifi-nano=y
 CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_xiaomi_miwifi-nano=y
 
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
 CONFIG_PACKAGE_kmod-fs-ntfs3-oot=n
 CONFIG_PACKAGE_kmod-fs-ntfs3-oot=n
 
 
 
 

+ 2 - 0
devices/ramips_mt76x8/diy.sh

@@ -6,6 +6,8 @@ SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/2e6d19ee32399e37c7545aefc57d41541a406d55.patch | patch -d './' -p1 --forward" || true
 sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/2e6d19ee32399e37c7545aefc57d41541a406d55.patch | patch -d './' -p1 --forward" || true
 
 
+sed -i '/# start dockerd/,/# end dockerd/d' .config
+
 
 
 #sh -c "curl -sfL https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/11287.patch | patch -d './' -p1 --forward"
 #sh -c "curl -sfL https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/11287.patch | patch -d './' -p1 --forward"
 
 

+ 0 - 9
devices/rockchip_armv8/.config

@@ -4,17 +4,8 @@ CONFIG_TARGET_rockchip_armv8=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_ALL_PROFILES=y
 CONFIG_TARGET_ALL_PROFILES=y
 
 
-CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_radxa_rock-pi-4=n
-CONFIG_TARGET_DEVICE_rockchip_armv8_DEVICE_pine64_rockpro64=n
-
 CONFIG_TARGET_KERNEL_PARTSIZE=32
 CONFIG_TARGET_KERNEL_PARTSIZE=32
 
 
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 CONFIG_PACKAGE_kmod-pcie_mhi=m
-
-CONFIG_PACKAGE_kmod-wil6210=n
 CONFIG_PACKAGE_kmod-ath12k=n
 CONFIG_PACKAGE_kmod-ath12k=n
 
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
-
-

+ 12 - 22
devices/rockchip_armv8/diy.sh

@@ -3,32 +3,27 @@
 shopt -s extglob
 shopt -s extglob
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
 
-bash $SHELL_FOLDER/../common/kernel_6.6.sh
+#bash $SHELL_FOLDER/../common/kernel_6.6.sh
 
 
-rm -rf package/boot
+rm -rf package/boot target/linux/rockchip linux/generic
 
 
-rm -rf target/linux/generic/!(*-5.15) target/linux/rockchip
-
-git_clone_path master https://github.com/coolsnowwolf/lede package/boot target/linux/rockchip
-git_clone_path master https://github.com/coolsnowwolf/lede mv target/linux/generic
-
-git_clone_path master https://github.com/coolsnowwolf/lede target/linux/generic/hack-6.6
-rm -rf target/linux/generic/hack-6.6/767-net-phy-realtek*
+git_clone_path master https://github.com/coolsnowwolf/lede package/boot target/linux/rockchip linux/generic
 
 
 wget -N https://github.com/istoreos/istoreos/raw/istoreos-22.03/target/linux/rockchip/patches-5.10/305-r2s-pwm-fan.patch -P target/linux/rockchip/patches-6.6/
 wget -N https://github.com/istoreos/istoreos/raw/istoreos-22.03/target/linux/rockchip/patches-5.10/305-r2s-pwm-fan.patch -P target/linux/rockchip/patches-6.6/
+wget -N https://github.com/openwrt/openwrt/raw/refs/heads/openwrt-24.10/target/linux/rockchip/Makefile -P target/linux/rockchip/
 
 
 wget -N https://github.com/coolsnowwolf/lede/raw/master/include/kernel-6.6 -P include/
 wget -N https://github.com/coolsnowwolf/lede/raw/master/include/kernel-6.6 -P include/
 
 
-rm -rf target/linux/generic/hack-6.6/{410-block-fit-partition-parser.patch,724-net-phy-aquantia*,720-net-phy-add-aqr-phys.patch}
-
 sed -i "/KernelPackage,ptp/d" package/kernel/linux/modules/other.mk
 sed -i "/KernelPackage,ptp/d" package/kernel/linux/modules/other.mk
 
 
-sed -i -e "s/configs\/dilusense-\(.*-.*_defconfig\)/configs\/\1/" \
-	   -e "s/configs\/sharevdi-\(.*-.*_defconfig\)/configs\/\1/" \
-	   -e "s/configs\/rongpin-\(.*-.*_defconfig\)/configs\/\1/" \
-	   -e "s/configs\/rocktech-\(.*-.*_defconfig\)/configs\/\1/" \
-	   -e "s/configs\/advantech-\(.*-.*_defconfig\)/configs\/\1/" \
-	   package/boot/uboot-rockchip/patches/*
+rm -rf package/boot/uboot-rk35xx/patches/001-cmd-fix_source.patch
+
+#sed -i -e "s/configs\/dilusense-\(.*-.*_defconfig\)/configs\/\1/" \
+#	   -e "s/configs\/sharevdi-\(.*-.*_defconfig\)/configs\/\1/" \
+#	   -e "s/configs\/rongpin-\(.*-.*_defconfig\)/configs\/\1/" \
+#	   -e "s/configs\/rocktech-\(.*-.*_defconfig\)/configs\/\1/" \
+#	   -e "s/configs\/advantech-\(.*-.*_defconfig\)/configs\/\1/" \
+#	   package/boot/uboot-rockchip/patches/*
 
 
 mv -f tmp/r8125 feeds/kiddin9/
 mv -f tmp/r8125 feeds/kiddin9/
 
 
@@ -37,16 +32,11 @@ rm -rf target/linux/rockchip/armv8/base-files/etc/uci-defaults/13_opkg_update pa
 sed -i -e 's,kmod-r8168,kmod-r8169,g' target/linux/rockchip/image/armv8.mk
 sed -i -e 's,kmod-r8168,kmod-r8169,g' target/linux/rockchip/image/armv8.mk
 sed -i -e 's,wpad-openssl,wpad-basic-mbedtls,g' target/linux/rockchip/image/armv8.mk
 sed -i -e 's,wpad-openssl,wpad-basic-mbedtls,g' target/linux/rockchip/image/armv8.mk
 
 
-wget -N https://raw.githubusercontent.com/coolsnowwolf/lede/master/package/kernel/linux/modules/video.mk -P package/kernel/linux/modules/
-
-wget -N https://github.com/coolsnowwolf/lede/raw/master/include/kernel-6.1 -P include/
-
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-drm-rockchip/' target/linux/rockchip/Makefile
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-drm-rockchip/' target/linux/rockchip/Makefile
 
 
 cp -Rf $SHELL_FOLDER/diy/* ./
 cp -Rf $SHELL_FOLDER/diy/* ./
 
 
 sed -i 's/Ariaboard/光影猫/' target/linux/rockchip/image/armv8.mk
 sed -i 's/Ariaboard/光影猫/' target/linux/rockchip/image/armv8.mk
-sed -i 's,NanoPi R2S$,NanoPi R2S / R2S Plus,' target/linux/rockchip/image/armv8.mk
 
 
 echo '
 echo '
 CONFIG_SENSORS_PWM_FAN=y
 CONFIG_SENSORS_PWM_FAN=y

+ 104 - 0
devices/rockchip_armv8/patches/Photonicat_wireless.patch

@@ -0,0 +1,104 @@
+diff --git a/package/firmware/linux-firmware/qca_ath10k.mk b/package/firmware/linux-firmware/qca_ath10k.mk
+index b3bfe8a3919803..a4ce0b01e410f2 100644
+--- a/package/firmware/linux-firmware/qca_ath10k.mk
++++ b/package/firmware/linux-firmware/qca_ath10k.mk
+@@ -32,6 +32,24 @@ define Package/ath10k-firmware-qca9377/install
+ endef
+ $(eval $(call BuildPackage,ath10k-firmware-qca9377))
+ 
++Package/ath10k-board-qca9377-sdio = $(call Package/firmware-default,ath10k qca9377 board sdio firmware)
++define Package/ath10k-board-qca9377-sdio/install
++	$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9377/hw1.0
++	$(INSTALL_DATA) \
++		$(PKG_BUILD_DIR)/ath10k/QCA9377/hw1.0/board.bin \
++		$(1)/lib/firmware/ath10k/QCA9377/hw1.0/board.bin
++endef
++$(eval $(call BuildPackage,ath10k-board-qca9377-sdio))
++
++Package/ath10k-firmware-qca9377-sdio = $(call Package/firmware-default,ath10k qca9377 sdio firmware,+ath10k-board-qca9377-sdio)
++define Package/ath10k-firmware-qca9377-sdio/install
++	$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9377/hw1.0
++	$(INSTALL_DATA) \
++		$(PKG_BUILD_DIR)/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin \
++		$(1)/lib/firmware/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin
++endef
++$(eval $(call BuildPackage,ath10k-firmware-qca9377-sdio))
++
+ Package/ath10k-board-qca9887 = $(call Package/firmware-default,ath10k qca9887 board firmware,,LICENSE.QualcommAtheros_ath10k)
+ define Package/ath10k-board-qca9887/install
+ 	$(INSTALL_DIR) $(1)/lib/firmware/ath10k/QCA9887/hw1.0
+diff --git a/package/kernel/mac80211/ath.mk b/package/kernel/mac80211/ath.mk
+index 1d4b37d259bb0f..3404227c604488 100644
+--- a/package/kernel/mac80211/ath.mk
++++ b/package/kernel/mac80211/ath.mk
+@@ -1,5 +1,5 @@
+ PKG_DRIVERS += \
+-	ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-smallbuffers \
++	ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-sdio ath10k-smallbuffers \
+ 	ath11k ath11k-ahb ath11k-pci ath12k carl9170 owl-loader ar5523 wil6210 qcom-qmi-helpers
+ 
+ PKG_CONFIG_DEPENDS += \
+@@ -40,7 +40,7 @@ ifdef CONFIG_PACKAGE_MAC80211_TRACING
+ endif
+ 
+ config-$(call config_package,qcom-qmi-helpers) += QCOM_QMI_HELPERS
+-config-$(call config_package,ath,regular smallbuffers) += ATH_CARDS ATH_COMMON
++config-$(call config_package,ath,regular sdio smallbuffers) += ATH_CARDS ATH_COMMON
+ config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH12K_DEBUG ATH9K_STATION_STATISTICS
+ config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
+ config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL
+@@ -62,6 +62,7 @@ config-$(CONFIG_ATH11K_THERMAL) += ATH11K_THERMAL
+ 
+ config-$(call config_package,ath9k-htc) += ATH9K_HTC
+ config-$(call config_package,ath10k,regular) += ATH10K ATH10K_PCI
++config-$(call config_package,ath10k-sdio,sdio) += ATH10K ATH10K_SDIO
+ config-$(call config_package,ath10k-smallbuffers,smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS
+ config-$(call config_package,ath11k) += ATH11K
+ config-$(call config_package,ath11k-ahb) += ATH11K_AHB
+@@ -294,8 +295,27 @@ define KernelPackage/ath10k/config
+ 
+        config ATH10K_THERMAL
+                bool "Enable thermal sensors and throttling support"
+-               depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
++               depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-sdio || PACKAGE_kmod-ath10k-smallbuffers
++
++endef
+ 
++define KernelPackage/ath10k-sdio
++  $(call KernelPackage/mac80211/Default)
++  TITLE:=Atheros 802.11ac SDIO wireless cards support
++  URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k
++  DEPENDS+= +kmod-ath +kmod-mmc +@DRIVER_11AC_SUPPORT \
++	+ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal
++  FILES:= \
++	$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
++	$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_sdio.ko
++  AUTOLOAD:=$(call AutoProbe,ath10k_core ath10k_sdio)
++  MODPARAMS.ath10k_core:=frame_mode=2
++  VARIANT:=sdio
++endef
++ 
++define KernelPackage/ath10k-sdio/description
++  This module adds support for wireless adapters based on
++  Atheros IEEE 802.11ac family of chipsets with SDIO bus.
+ endef
+ 
+ define KernelPackage/ath10k-smallbuffers
+diff --git a/package/kernel/mac80211/patches/ath10k/911-ath10k-disable-caldata-prefetch-for-sdio-bus.patch b/package/kernel/mac80211/patches/ath10k/911-ath10k-disable-caldata-prefetch-for-sdio-bus.patch
+new file mode 100644
+index 00000000000000..8ca8f3b55b6a6e
+--- /dev/null
++++ b/package/kernel/mac80211/patches/ath10k/911-ath10k-disable-caldata-prefetch-for-sdio-bus.patch
+@@ -0,0 +1,12 @@
++--- a/drivers/net/wireless/ath/ath10k/debug.c
+++++ b/drivers/net/wireless/ath/ath10k/debug.c
++@@ -1260,6 +1260,9 @@ static int ath10k_debug_cal_data_fetch(s
++ 	if (ar->hw_params.cal_data_len == 0)
++ 		return -EOPNOTSUPP;
++ 
+++	if (ar->hif.bus == ATH10K_BUS_SDIO)
+++		return -EINVAL;
+++
++ 	hi_addr = host_interest_item_address(HI_ITEM(hi_board_data));
++ 
++ 	ret = ath10k_hif_diag_read(ar, hi_addr, &addr, sizeof(addr));

+ 13 - 0
devices/rockchip_armv8/patches/fix.patch

@@ -0,0 +1,13 @@
+--- a/package/boot/uboot-rk35xx/Makefile
++++ b/package/boot/uboot-rk35xx/Makefile
+@@ -14,8 +14,8 @@ PKG_SOURCE_PROTO:=git
+ PKG_SOURCE_URL:=https://github.com/radxa/u-boot
+ 
+ PKG_SOURCE_DATE:=2024-10-29
+-PKG_SOURCE_VERSION:=27398f1e19628407fabb279034653d23c9369f12
+-PKG_MIRROR_HASH:=d0469f6c1f0d561d1495844fff2b50bc42af16fa4e33f5f42f092770a2bb4967
++PKG_SOURCE_VERSION:=00ac933690e0bf6b2adc2ab507e50bff05327729
++PKG_MIRROR_HASH:=
+ 
+ include $(INCLUDE_DIR)/u-boot.mk
+ include $(INCLUDE_DIR)/package.mk

+ 0 - 76
devices/rockchip_armv8/patches/r3s.patch

@@ -1,76 +0,0 @@
---- a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds
-+++ b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds
-@@ -14,6 +14,7 @@ friendlyarm,nanopi-r2s)
- 	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
- 	ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth1"
- 	;;
-+friendlyarm,nanopi-r3s|\
- friendlyarm,nanopi-r4s|\
- friendlyarm,nanopi-r4se|\
- sharevdi,guangmiao-g4c|\
-
---- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network
-+++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network
-@@ -15,6 +15,7 @@ rockchip_setup_interfaces()
- 	ezpro,mrkaio-m68s-plus|\
- 	friendlyarm,nanopi-r2c|\
- 	friendlyarm,nanopi-r2s|\
-+	friendlyarm,nanopi-r3s|\
- 	friendlyarm,nanopi-r4s|\
- 	friendlyarm,nanopi-r4se|\
- 	hinlink,opc-h66k|\
-
---- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity
-+++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity
-@@ -49,6 +49,12 @@ xunlong,orangepi-r1-plus-lts)
- 	set_interface_core 2 "eth0"
- 	set_interface_core 4 "eth1" "xhci-hcd:usb3"
- 	;;
-+friendlyarm,nanopi-r3s)
-+	set_interface_core 4 "eth0"
-+	echo b > /sys/class/net/eth0/queues/rx-0/rps_cpus
-+	set_interface_core 2 "eth1"
-+	echo d > /sys/class/net/eth1/queues/rx-0/rps_cpus
-+	;;
- friendlyarm,nanopi-r4s|\
- friendlyarm,nanopi-r4se|\
- sharevdi,guangmiao-g4c)
-
---- a/target/linux/rockchip/image/armv8.mk
-+++ b/target/linux/rockchip/image/armv8.mk
-@@ -143,6 +143,16 @@ define Device/friendlyarm_nanopi-r2s
- endef
- TARGET_DEVICES += friendlyarm_nanopi-r2s
- 
-+define Device/friendlyarm_nanopi-r3s
-+  DEVICE_VENDOR := FriendlyARM
-+  DEVICE_MODEL := NanoPi R3S
-+  SOC := rk3328
-+  UBOOT_DEVICE_NAME := nanopi-r2s-rk3328
-+  DEVICE_PACKAGES := -luci-app-gpsysupgrade
-+  DEVICE_DTS = rockchip/rk3328-nanopi-r2s
-+endef
-+TARGET_DEVICES += friendlyarm_nanopi-r3s
-+
- define Device/friendlyarm_nanopi-r4s
-   DEVICE_VENDOR := FriendlyARM
-   DEVICE_MODEL := NanoPi R4S
-
---- a/target/linux/rockchip/image/Makefile
-+++ b/target/linux/rockchip/image/Makefile
-@@ -79,4 +79,15 @@ endif
- 
- include $(SUBTARGET).mk
- 
-+define Image/Build
-+	if [[ "$(PROFILE_SANITIZED)" == "friendlyarm_nanopc-r3s" ]]; then \
-+		export IMG_PREFIX="$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))"; \
-+		export BIN_DIR=$(BIN_DIR); \
-+		export TOPDIR=$(TOPDIR); \
-+		export MORE=$(MORE); \
-+		cd /data/packit/friendlywrt23-rk3566; \
-+		. ~/packit/packit_nanopi.sh; \
-+	fi
-+endef
-+
- $(eval $(call BuildImage))

+ 0 - 6
devices/sunxi_cortexa53/.config

@@ -10,9 +10,3 @@ CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-pc2=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero-plus=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero-plus=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero2=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero2=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero3=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero3=y
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
-
-
-

部分文件因为文件数量过多而无法显示