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. BIN
      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
             echo "ARCH=linux/amd32" >> $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
         elif [[ ${{matrix.target}} =~ (ramips_mt7621|ramips_mt7620|ramips_mt76x8) ]]; then
             echo "MTARGET=mipsel_24kc" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} == "ath79_nand" ]]; then
             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
         elif [[ ${{matrix.target}} == "amlogic_meson8b" ]]; then
             echo "MTARGET=arm_cortex-a5_vfpv4" >> $GITHUB_ENV
@@ -98,8 +98,9 @@ jobs:
 
     - name: Trigger Packages Update
       continue-on-error: true
+      if: contains(github.event.action, 'pkg')
       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
           curl -X POST https://api.github.com/repos/kiddin9/kwrt-packages/dispatches \
             -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
         REPO_BRANCH="$( echo ${TAG_INFO} | jq -r '.data.repository.refs.nodes[].name' | grep v23 | head -n 1)"
         else
-        REPO_BRANCH="openwrt-23.05"
+        REPO_BRANCH="openwrt-24.10"
         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
             git clone $REPO_URL -b $REPO_BRANCH openwrt
         elif [[ ! "${{ env.REPO_BRANCH }}" ]]; then
             git clone $REPO_URL openwrt
         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
-    
+
     - name: Free up disk space
       env:
         DEBIAN_FRONTEND: noninteractive
@@ -252,13 +259,6 @@ jobs:
         fi
         cat .config
 
-    - name: Download package
-      id: package
-      run: |
-        cd openwrt
-        make download -j$(($(nproc)+1)) &
-        sleep 5
-
     - name: Cache
       uses: stupidloud/cachewrtbuild@main
       with:

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

@@ -122,7 +122,7 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -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 \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
@@ -142,7 +142,7 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -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 \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -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 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/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
 +++ 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
-   DEVICE_DTS := meson8b-onecloud
+   DEVICE_DTS := amlogic/meson8b-onecloud
 -  DEVICE_TITLE := Thunder OneCloud
 +  DEVICE_TITLE := OneCloud 玩客云
 +  DEVICE_PACKAGES += kmod-usb-net-rtl8152
    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
+ 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"))
 
-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
 

+ 0 - 3
devices/armsr_armv8/.config

@@ -8,9 +8,6 @@ CONFIG_TARGET_ROOTFS_TARGZ=y
 CONFIG_TARGET_ROOTFS_EXT4FS=y
 CONFIG_TARGET_ROOTFS_SQUASHFS=n
 
-CONFIG_PACKAGE_luci-ssl=n # uhttpd服务
-CONFIG_PACKAGE_luci-ssl-nginx=y # nginx
-
 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 \
 +  	export BIN_DIR=$(BIN_DIR); \
 +  	export DATE=$(DATE); \
-+  	export MORE=$(MORE); \
++  	export MORE="$(MORE)"; \
 +	export ROOTFS_PARTSIZE=$(shell echo $$(($(ROOTFS_PARTSIZE)/1024/1024))); \
 +  	cd /data/packit/amlogic-s9xxx-openwrt; \
 +  	. ~/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_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"))
 
-
-
-
-
+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_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_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_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
 

+ 2 - 4
devices/bcm27xx_bcm2711/.config

@@ -3,10 +3,8 @@ CONFIG_TARGET_bcm27xx=y
 CONFIG_TARGET_bcm27xx_bcm2711=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
 

+ 0 - 3
devices/bcm27xx_bcm2712/.config

@@ -3,9 +3,6 @@ CONFIG_TARGET_bcm27xx=y
 CONFIG_TARGET_bcm27xx_bcm2712=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-pcie_mhi=m

+ 1 - 1
devices/bcm27xx_bcm2712/diy.sh

@@ -2,6 +2,6 @@
 
 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

+ 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_dlink_dir-885l=y
 
-CONFIG_PACKAGE_perf=n
-
 CONFIG_KERNEL_DEVMEM=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_SIGNATURE_CHECK=n
 
-CONFIG_PACKAGE_kmod-switch-rtl8367b=n
-CONFIG_PACKAGE_kmod-aic8800=n
-
 # 设置固件大小:
 CONFIG_TARGET_ROOTFS_PARTSIZE=1004
 
 CONFIG_ALL_NONSHARED=y
 
+CONFIG_USE_APK=n
+
 CONFIG_IB=y
 CONFIG_IB_STANDALONE=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_ipset=y
 
+CONFIG_PACKAGE_firewall=m
+CONFIG_PACKAGE_miniupnpd-iptables=m
+
 CONFIG_NGINX_DAV=y
 CONFIG_PACKAGE_luci-base=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_SYSLOG_INFO=y
 
+CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
+
 CONFIG_PACKAGE_bash=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
 
@@ -106,3 +96,24 @@ CONFIG_VERSION_CODE_FILENAMES=n
 
 CONFIG_BPF_TOOLCHAIN_HOST=y
 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
 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 \
 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')
 done
 
-rm -rf package/feeds/packages/v4l2loopback package/feeds/kiddin9/accel-ppp
-
 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/
@@ -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
 
-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 '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`
 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 \
 	-e "s/+\(luci\|luci-ssl\|uhttpd\)\( \|$\)/\2/" \
 	-e "s/+nginx\( \|$\)/+nginx-ssl\1/" \
@@ -85,4 +72,4 @@ sed -i \
 	-e 's?../../lang?$(TOPDIR)/feeds/packages/lang?' \
 	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
 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 -
 
 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
 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
 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 \
  	odhcp6c \
  	odhcpd-ipv6only \
- 	ppp \
+ 	ppp \

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

@@ -1,36 +1,31 @@
 --- a/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"
-+	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 KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
  	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
-+	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
  	bool "Reduce debugging information"
 -	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
  	help
  	  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
  	bool "Compile the kernel with BPF event support"
  	select KERNEL_KPROBES
@@ -38,16 +33,7 @@
  	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
- 	  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
  	default n
  
@@ -55,15 +41,24 @@
 +	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_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
  	bool "Compile the kernel with asynchronous IO support"
  	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
  	bool "XDP sockets support"
 +	default y if KERNEL_DEBUG_INFO_BTF
  	help
  	  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
 +++ 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)/.packageinfo \
 -		$(PKG_BUILD_DIR)/
 +		$(TOPDIR)/files \
 +		$(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
- 	$(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf)
+ 	$(call FeedSourcesAppendOPKG,$(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\/\(.*targets.*\)/src \1 file:\/\/www\/wwwroot\/dl.openwrt.ai\/\2/' $(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
+ 	touch $(PKG_BUILD_DIR)/packages/Packages
 
 --- a/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
  BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_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))
  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 json_overview_image_info
  	$(MAKE) -s checksum
@@ -116,15 +123,15 @@
  
  _call_manifest: FORCE
  	rm -rf $(TARGET_DIR)
-@@ -184,9 +206,17 @@ package_list: FORCE
- package_install: FORCE
+@@ -224,9 +246,17 @@ package_install: FORCE
  	@echo
  	@echo Installing packages...
+ ifeq ($(CONFIG_USE_APK),)
 +	$(eval $(call add_zh_cn_packages))
  	$(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 $(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), \
 +	find $(USER_FILES) -name "*.ipk" -print0 | \
 +	while IFS= read -r -d '' ipk; do \
@@ -132,12 +139,21 @@
 +	done; \
 +	)
 +	$(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
-@@ -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))
 +	$(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) \
@@ -147,8 +163,13 @@
  	@echo
  	@echo Building images...
  	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.ARCH_PACKAGES",
 +            "val.LINUX_VERSION",
+             "V=s",
          ],
          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
 +++ 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)); \
        if [ -n "$$1" ]; then
          secs="$$(($$1 % 86400))"; \
 -        yday="$$(date --utc --date="@$$1" "+%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 \
-         echo "unknown"; \
+         echo "0"; \
 @@ -207,9 +207,20 @@ define Package/$(PKG_NAME)/install
  	$(call Build/Install/Default)
  	$(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
    $(call AddDepends/usb)
    $(call AddDepends/sound)
-+  DEPENDS += +LINUX_6_1:kmod-media-core +LINUX_6_6:kmod-media-core
++  DEPENDS+=+kmod-media-controller
    FILES:= \
  	$(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_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"
 
-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 @@
  	model = "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_MULTI_PROFILE=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"))
 
-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

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

@@ -1,11 +1,11 @@
 --- a/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
    SUBMENU:=$(NETWORK_SUPPORT_MENU)
    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
    FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko
    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_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 +
  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/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
 index 01a86c7b19fca..c0a781c1e21b4 100644
@@ -62,21 +62,6 @@ index 01a86c7b19fca..c0a781c1e21b4 100644
 +config_foreach ubootenv_add_app_config
  
  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
 index 4c5019cf5bd24..aa8ed06aae4b3 100644
 --- 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"
 +}
-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
 index 0000000000000..fd952d230c5da
 --- /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 @@
 +// 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_ALL_PROFILES=y
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
 CONFIG_PACKAGE_kmod-pcie_mhi=m
 

+ 1 - 1
devices/mediatek_filogic/diy.sh

@@ -3,7 +3,7 @@
 shopt -s extglob
 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/*
 

+ 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
 +++ 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)
  		default_do_upgrade "$1"
  		;;
-+	cmcc,rax3000m-emmc|\
++  	cmcc,rax3000m-emmc|\
 +	cmcc,xr30-emmc|\
  	glinet,gl-mt2500|\
  	glinet,gl-mt6000|\
  	glinet,gl-x3000|\
-@@ -201,6 +202,8 @@ platform_copy_config() {
- 		fi
+@@ -204,6 +206,8 @@ platform_copy_config() {
  		;;
  	acer,predator-w6|\
+ 	arcadyan,mozart|\
 +	cmcc,rax3000m-emmc|\
 +	cmcc,xr30-emmc|\
  	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_ruijie_rg-ew3200gx-pro=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_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_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"))
 
-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

BIN
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_ipq807x=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_xiaomi_ax3600=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_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
-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
 +++ b/target/linux/qualcommax/ipq807x/base-files/etc/init.d/bootcount
 @@ -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
 
 ---
- 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 +
  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
---- 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
  	rm -rf [email protected]
  endef
@@ -33,10 +33,9 @@ index 6406d001311f21..05b0ff8c125f16 100644
  define Device/buffalo_wxr-5950ax12
  	$(call Device/FitImage)
  	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()
  	local board="$1"
  
@@ -44,21 +43,21 @@ index 7c630e096fc381..aca67ade9a57f8 100644
 +	aliyun,ap8220)
 +		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
---- 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)
 +		CI_UBIPART="rootfs"
 +		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_netcore_nw5212=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
 
+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
 --- a/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" \
  			"0:lan" "1:lan" "4:wan" "6@eth0"
  		;;
@@ -287,17 +287,17 @@ index f7bc41669f80..e252b6e04611 100644
  	zbtlink,zbt-we1026-5g-16m)
  		ucidef_add_switch "switch0" \
  			"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)
 +		wan_mac=$(mtd_get_mac_binary factory 0x28)
 +		lan_mac=$(macaddr_setbit_la "$wan_mac")
 +		;;
+ 	wavlink,wl-wn531g3|\
+ 	wavlink,wl-wn531g3-a2|\
  	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
 index 9f71dc918e50..5519312289fa 100755
 --- 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_jdcloud_re-cp-02=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
 
 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
 index 1908f60bc37bc..bc6a3ac05ae3a 100644
 --- a/target/linux/ramips/image/mt7621.mk
@@ -155,18 +18,17 @@ index 1908f60bc37bc..bc6a3ac05ae3a 100644
  define Device/iodata_wn-ax1167gr
    $(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 37037c666d980..816e7c3dd2f4b 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
-@@ -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)
 +		ucidef_add_switch "switch0" \
 +			"0:wan" "2:lan" "3:lan" "6u@eth0" "5u@eth1"
 +		;;
+ 	elecom,wmc-s1267gs2|\
  	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
 new file mode 100644
 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_xiaomi_miwifi-nano=y
 
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
 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
 
+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"
 

+ 0 - 9
devices/rockchip_armv8/.config

@@ -4,17 +4,8 @@ CONFIG_TARGET_rockchip_armv8=y
 CONFIG_TARGET_MULTI_PROFILE=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_PACKAGE_kmod-pcie_mhi=m
-
-CONFIG_PACKAGE_kmod-wil6210=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
 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/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/
 
-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 -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/
 
@@ -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,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
 
 cp -Rf $SHELL_FOLDER/diy/* ./
 
 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 '
 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-zero2=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero3=y
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
-
-
-

Някои файлове не бяха показани, защото твърде много файлове са промени