{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.parameterizedscheduler.ParameterizedTimerTriggerCause",
          "shortDescription" : "Started by timer with parameters: {BUILD_CFG_TARGET_DEV=WR8750N/WR9500N/WG600HP (AR9344)}"
        }
      ]
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "BUILD_CFG_DISTCLEAN",
          "value" : true
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "BUILD_CFG_DIFFCONFIG",
          "value" : true
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BUILD_CFG_TARGET_DEV",
          "value" : "WR8750N/WR9500N/WG600HP (AR9344)"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 440,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
            "branch" : [
              {
                "SHA1" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
                "name" : "refs/remotes/origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
            "branch" : [
              {
                "SHA1" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
                "name" : "refs/remotes/origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
        "branch" : [
          {
            "SHA1" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
            "name" : "refs/remotes/origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/openwrt/openwrt"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "config.buildinfo",
      "fileName" : "config.buildinfo",
      "relativePath" : "bin/targets/ath79/tiny/config.buildinfo"
    },
    {
      "displayPath" : "feeds.buildinfo",
      "fileName" : "feeds.buildinfo",
      "relativePath" : "bin/targets/ath79/tiny/feeds.buildinfo"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-factory.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-factory.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-initramfs-factory.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-kernel.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-kernel.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-initramfs-kernel.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-squashfs-sysupgrade.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-squashfs-sysupgrade.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-squashfs-sysupgrade.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-uboot.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-uboot.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-uboot.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-factory.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-factory.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-initramfs-factory.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-kernel.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-kernel.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-initramfs-kernel.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-squashfs-sysupgrade.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-squashfs-sysupgrade.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-squashfs-sysupgrade.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-uboot.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-uboot.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-uboot.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-factory.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-factory.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-initramfs-factory.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-kernel.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-kernel.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-initramfs-kernel.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-squashfs-sysupgrade.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-squashfs-sysupgrade.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-squashfs-sysupgrade.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-uboot.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-uboot.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-uboot.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny.manifest",
      "fileName" : "openwrt-ath79-tiny.manifest",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny.manifest"
    },
    {
      "displayPath" : "profiles.json",
      "fileName" : "profiles.json",
      "relativePath" : "bin/targets/ath79/tiny/profiles.json"
    },
    {
      "displayPath" : "sha256sums",
      "fileName" : "sha256sums",
      "relativePath" : "bin/targets/ath79/tiny/sha256sums"
    },
    {
      "displayPath" : "version.buildinfo",
      "fileName" : "version.buildinfo",
      "relativePath" : "bin/targets/ath79/tiny/version.buildinfo"
    }
  ],
  "building" : false,
  "description" : "diffconfig: true, device: WR8750N/WR9500N/WG600HP (AR9344)",
  "displayName" : "#440",
  "duration" : 2153749,
  "estimatedDuration" : 2139228,
  "executor" : null,
  "fullDisplayName" : "OpenWrt (master) for NEC Aterm (NetBSD based) #440",
  "id" : "440",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 440,
  "queueId" : 5,
  "result" : "SUCCESS",
  "timestamp" : 1781739600945,
  "url" : "https://taiha.net/jenkins/view/all/job/OpenWrt-master-NEC-BSD-Aterm/440/",
  "builtOn" : "home-slave02_taihasv",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/mac80211/patches/ath9k/601-wifi-ath9k-remove-TX99-power-array-zero-init.patch",
          "package/kernel/mac80211/patches/ath9k/600-wifi-ath9k-Clear-DMA-descriptors-without-memset.patch"
        ],
        "commitId" : "e4c35c2eec665f3f74a2b2f587fd2a1324b31841",
        "timestamp" : 1781510438000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mac80211: backport ath9k memset fixes from upstream\u000a\u000aBackport two upstream commits that replace memset() on coherent DMA\u000adescriptor rings with explicit WRITE_ONCE() status word stores.\u000a\u000aOn 32-bit PowerPC platforms like apm821xx, coherent DMA memory may be\u000amapped uncached. The optimized memset() path can use dcbz there, which\u000atriggers alignment warnings and spams the kernel log.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23776\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-15 10:00:38 +0200",
        "id" : "e4c35c2eec665f3f74a2b2f587fd2a1324b31841",
        "msg" : "mac80211: backport ath9k memset fixes from upstream",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/kernel/mac80211/patches/ath9k/601-wifi-ath9k-remove-TX99-power-array-zero-init.patch"
          },
          {
            "editType" : "add",
            "file" : "package/kernel/mac80211/patches/ath9k/600-wifi-ath9k-Clear-DMA-descriptors-without-memset.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/utils/fritz-tools/Makefile",
          "package/utils/fritz-tools/src/fritz_tffs_nand_read.c"
        ],
        "commitId" : "7e7bd602ea8967858267c2a6929f4dbaffe90839",
        "timestamp" : 1781563913000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "fritz-tools: fix out-of-bounds memset in TFFS segment expansion\u000a\u000aWhen growing the segment array in find_entry(), the memset() that zeroes\u000athe newly allocated slots computed the destination with redundant sizeof\u000ascaling:\u000a\u000a  memset(segments + (num_segments * sizeof(struct tffs_entry_segment)), ...)\u000a\u000asegments is a typed pointer, so pointer arithmetic already scales by the\u000aelement size. Multiplying the offset by sizeof again advances the\u000adestination by num_segments * sizeof^2 bytes, landing far outside the\u000arealloc()'d buffer and zeroing unrelated heap memory whenever a TFFS\u000aentry spans multiple segments that require array expansion.\u000a\u000aDrop the redundant multiplication so the memset targets segments[num_segments].\u000a\u000aThis is a robustness fix for malformed/corrupt TFFS content; the parser\u000aonly reads the on-device nand-tffs MTD partition as root, so it is not\u000aconsidered security relevant.\u000a\u000aReported-by: @Vasco0x4\u000aAssisted-by: Claude:claude-opus-4-8\u000aLink: https://github.com/openwrt/openwrt/pull/23763\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-06-16 00:51:53 +0200",
        "id" : "7e7bd602ea8967858267c2a6929f4dbaffe90839",
        "msg" : "fritz-tools: fix out-of-bounds memset in TFFS segment expansion",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/utils/fritz-tools/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "package/utils/fritz-tools/src/fritz_tffs_nand_read.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/ead/src/ead.c"
        ],
        "commitId" : "63c0767f3d02f7b10b0f0b5293366bd059a08ca5",
        "timestamp" : 1781565808000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "ead: fix integer underflow in handle_send_a()\u000a\u000ahandle_send_a() computed the SRP \"A\" parameter length as\u000a\u000a    len = ntohl(msg->len) - sizeof(struct ead_msg_number);\u000a\u000asizeof(struct ead_msg_number) is 1, and the subtraction is evaluated in\u000aunsigned arithmetic. A packet with msg->len == 0 therefore wraps the\u000aresult to a huge value which, assigned to the signed int len, becomes -1.\u000aThe following bounds check is signed:\u000a\u000a    if (len > MAXPARAMLEN + 1)\u000a        return false;\u000a\u000aso -1 passes, and memcpy(A.data, number->data, len) runs with len cast to\u000asize_t (~SIZE_MAX) against the 257-byte abuf, crashing the daemon.\u000a\u000aNeither parse_message() nor handle_packet() validate msg->len (only the\u000acaptured packet length), so an unauthenticated attacker on the local\u000asegment can reach this path and crash ead with a single crafted packet.\u000a\u000aValidate the claimed length in unsigned arithmetic before the subtraction\u000aand bound it on both sides. Doing the upper-bound check unsigned as well\u000aalso closes a 32-bit-only variant where sizeof(ead_packet) + msg->len\u000aoverflows in handle_packet(), letting a large msg->len reach the same\u000anegative-len path.\u000a\u000aLink: https://github.com/openwrt/openwrt/security/advisories/GHSA-9558-77jp-g3fw\u000aReported-by: @Vasco0x4\u000aAssisted-by: Claude:claude-opus-4-8\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-06-16 01:23:28 +0200",
        "id" : "63c0767f3d02f7b10b0f0b5293366bd059a08ca5",
        "msg" : "ead: fix integer underflow in handle_send_a()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/ead/src/ead.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/uhttpd/Makefile"
        ],
        "commitId" : "ecbb5f6e9f6ffe871aa63dc8b1548278ffc5d385",
        "timestamp" : 1781566793000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "uhttpd: update to Git HEAD (2026-06-16)\u000a\u000aae015e099986 client: reject unhandled Transfer-Encoding values\u000ab78f51847879 client: close connection on invalid chunk length\u000a7b1bec45826b ubus: close connection on POST body parse error\u000a\u000aLink: https://github.com/openwrt/uhttpd/security/advisories/GHSA-mcfg-c4r7-pjpf\u000aLink: https://github.com/openwrt/uhttpd/security/advisories/GHSA-p55c-rmhc-qfm5\u000aLink: https://github.com/openwrt/uhttpd/security/advisories/GHSA-wgwp-64hh-f52p\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-06-16 01:39:53 +0200",
        "id" : "ecbb5f6e9f6ffe871aa63dc8b1548278ffc5d385",
        "msg" : "uhttpd: update to Git HEAD (2026-06-16)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/uhttpd/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/umdns/Makefile"
        ],
        "commitId" : "5b2c8f4ff94ef7c339586c8a59a684009f1b7194",
        "timestamp" : 1781569212000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "umdns: update to Git HEAD (2026-06-16)\u000a\u000a1b5e7bf1cec7 cache: bound cache size and clamp hostile TTLs\u000a\u000aLink: https://github.com/openwrt/mdnsd/security/advisories/GHSA-jg8f-fhfw-jg46\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-06-16 02:20:12 +0200",
        "id" : "5b2c8f4ff94ef7c339586c8a59a684009f1b7194",
        "msg" : "umdns: update to Git HEAD (2026-06-16)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/umdns/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/base-files/etc/board.d/02_network",
          "target/linux/realtek/base-files/lib/upgrade/platform.sh",
          "target/linux/realtek/image/rtl838x.mk",
          "package/boot/uboot-tools/uboot-envtools/files/realtek",
          "target/linux/realtek/dts/rtl8380_tplink_sg2008p-v3.dts",
          "target/linux/realtek/base-files/etc/init.d/i2c_poe"
        ],
        "commitId" : "bd587778450269bdff410e6148a50ba73edceecc",
        "timestamp" : 1781595739000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "realtek: add support for V3 variant of SG2008P\u000a\u000aAdd basic support for the TP-Link SG2008P V3 variant. The switch appears\u000ato be identical to the V1 variant, except that it uses the MP3924\u000ainstead of the TPS23861 PoE chip.\u000a\u000aSpecifications:\u000a---------------\u000a * SoC:       Realtek RTL8380M\u000a * Flash:     32 MiB SPI flash (Vendor varies)\u000a * RAM:       256 MiB (Vendor varies)\u000a * Ethernet:  8x 10/100/1000 Mbps with PoE on 4 ports\u000a * Buttons:   1x \"Reset\" button on front panel\u000a * Power:     53.5V DC barrel jack\u000a * UART:      1x serial header, unpopulated\u000a * PoE:       1x MPS MP3924 I2C PoE controller\u000a\u000aWorks:\u000a------\u000a  - (8) RJ-45 ethernet ports\u000a  - Switch functions\u000a  - System LED\u000a  - Basic PoE support (no driver, but a startup script puts the chip\u000a    into AUTO mode)\u000a\u000aNot yet enabled:\u000a----------------\u000a  - PoE, Link/Act, PoE max and System LEDs\u000a\u000aInstall via web interface:\u000a-------------------------\u000a\u000aNot supported at this time.\u000a\u000aInstall via serial console/tftp:\u000a--------------------------------\u000a\u000aThe footprints R27 (0201) and R28 (0402) are not populated. To enable\u000aserial console, 50 ohm resistors should be soldered -- any value from\u000a0 ohm to 50 ohm will work. R27 can be replaced by a solder bridge.\u000a\u000aThe u-boot firmware drops to a TP-Link specific \"BOOTUTIL\" shell at\u000a38400 baud. There is no known way to exit out of this shell, and no\u000away to do anything useful.\u000a\u000aIdeally, one would trick the bootloader into flashing the sysupgrade\u000aimage first. However, if the image exceeds 6MiB in size, it will not\u000awork. The sysupgrade image can also be flashed. To install OpenWRT:\u000a\u000aPrepare a tftp server with:\u000a 1. server address: 192.168.0.146\u000a 2. the image as: \"uImage.img\"\u000a\u000aPower on device, and stop boot by pressing any key.\u000aOnce the shell is active:\u000a 1. Ground out the CLK (pin 16) of the ROM (U7)\u000a 2. Select option \"3. Start\"\u000a 3. Bootloader notes that \"The kernel has been damaged!\"\u000a 4. Release CLK as sson as bootloader thinks image is corrupted.\u000a 5. Bootloader enters automatic recovery -- details printed on console\u000a 6. Watch as the bootloader flashes and boots OpenWRT.\u000a\u000aBlind install via tftp:\u000a-----------------------\u000a\u000aThis method works when it's not feasible to install a serial header.\u000a\u000aPrepare a tftp server with:\u000a 1. server address: 192.168.0.146\u000a 2. the image as: \"uImage.img\"\u000a 3. Watch network traffic (tcpdump or wireshark works)\u000a 4. Power on the device.\u000a 5. Wait 1-2 seconds then ground out the CLK (pin 16) of the ROM (U7)\u000a 6. When 192.168.0.30 makes tftp requests, release pin 16\u000a 7. Wait 2-3 minutes for device to auto-flash and boot OpenWRT\u000a\u000aSigned-off-by: Daniel Tang <tangrs@google.com>\u000aLink: https://github.com/openwrt/openwrt/pull/20616\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 09:42:19 +0200",
        "id" : "bd587778450269bdff410e6148a50ba73edceecc",
        "msg" : "realtek: add support for V3 variant of SG2008P",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/realtek/dts/rtl8380_tplink_sg2008p-v3.dts"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/base-files/etc/init.d/i2c_poe"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/image/rtl838x.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/realtek"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/base-files/etc/board.d/02_network"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dtsi",
          "target/linux/mediatek/filogic/base-files/lib/preinit/10_fix_eth_mac.sh",
          "target/linux/mediatek/dts/mt7986a-acer-predator-w6x-stock.dts",
          "target/linux/mediatek/dts/mt7986a-acer-predator-w6x-ubootmod.dts"
        ],
        "commitId" : "fa846e7e64445ec470fde78b72a308ad4765529a",
        "timestamp" : 1781596042000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mediatek: predator-w6x: set MAC in NVMEM\u000a\u000aUserspace handling is deprecated.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23764\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 09:47:22 +0200",
        "id" : "fa846e7e64445ec470fde78b72a308ad4765529a",
        "msg" : "mediatek: predator-w6x: set MAC in NVMEM",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/preinit/10_fix_eth_mac.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-acer-predator-w6x-ubootmod.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-acer-predator-w6x.dtsi"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-acer-predator-w6x-stock.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "include/prereq-build.mk"
        ],
        "commitId" : "a62ffbf3ac7fcadbfb0dc71206f674419b1a44e0",
        "timestamp" : 1781600206000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "prereq-build: add clang support\u000a\u000aThe Apple g++ check is really clang in disguise. Furthermore, testing on\u000aLinux hosts reveals that clang can sufficiently replace gcc.\u000a\u000aMinimum version of clang is 12 because of ccache.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/17259\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 10:56:46 +0200",
        "id" : "a62ffbf3ac7fcadbfb0dc71206f674419b1a44e0",
        "msg" : "prereq-build: add clang support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "include/prereq-build.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000p-v1.patch",
          "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000e-v1.patch",
          "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000h-v1.patch",
          "package/boot/uboot-mediatek/patches/503-add-wavlink-wl-wnt100x3.patch",
          "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000s-v1.patch"
        ],
        "commitId" : "baa020f6bfeedb6a0b8026d53ce3425e31d33473",
        "timestamp" : 1781600354000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "uboot-mediatek: enable true RNG driver for recently added devices\u000a\u000aEnable the hardware true random number generator driver added in\u000a2a9dce2d9e81 (\"uboot-mediatek: port RNG drivers and enable them\")\u000afor recently added devices.\u000a\u000aFixes: d2fabb974c57 (\"mediatek: add support for Wavlink WL-WNT100X3 ubootmod\")\u000aFixes: eb6dd61a8d4d (\"mediatek: add cudy wr3000h-v1 ubootmod\")\u000aFixes: cfc17e81e1f8 (\"mediatek: add cudy wr3000e-v1 ubootmod\")\u000aFixes: b7b4938303b7 (\"mediatek: add cudy wr3000s-v1 ubootmod\")\u000aFixes: 6b3b7c7dc1e9 (\"mediatek: add cudy wr3000p-v1 ubootmod\")\u000aSigned-off-by: Ryan Leung <untilscour@protonmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23462\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 10:59:14 +0200",
        "id" : "baa020f6bfeedb6a0b8026d53ce3425e31d33473",
        "msg" : "uboot-mediatek: enable true RNG driver for recently added devices",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000h-v1.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/patches/503-add-wavlink-wl-wnt100x3.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000s-v1.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000e-v1.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/patches/468-add-cudy_wr3000p-v1.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/econet/patches-6.12/901-nand-enable-en75-bbt.patch",
          "target/linux/econet/patches-6.18/029-05-v6.19-spi-airoha-remove-unnecessary-restriction-length.patch",
          "target/linux/econet/patches-6.12/303-spi-airoha-snfi-enable-for-econet.patch",
          "target/linux/econet/patches-6.12/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch",
          "target/linux/econet/patches-6.18/915-usb-xhci-mtk-add-en7528-ltssm-quirk.patch",
          "target/linux/econet/en7528/config-6.18",
          "target/linux/econet/en7528/config-6.12",
          "target/linux/econet/patches-6.18/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch",
          "target/linux/econet/patches-6.18/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch",
          "target/linux/econet/patches-6.12/029-10-v6.19-spi-airoha-reduce-the-number-of-modification-of-REG_.patch",
          "target/linux/econet/patches-6.12/029-12-v6.19-spi-airoha-avoid-reading-flash-page-settings-from-SN.patch",
          "target/linux/econet/patches-6.18/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch",
          "target/linux/econet/patches-6.18/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch",
          "target/linux/econet/patches-6.12/029-09-v6.19-spi-airoha-avoid-setting-of-page-oob-sizes-in-REG_SP.patch",
          "target/linux/econet/patches-6.12/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch",
          "target/linux/econet/patches-6.12/301-spi-Airoha-adapt-to-support-en75-mips.patch",
          "target/linux/econet/patches-6.18/914-phy-add-en7528-usb-phy-driver.patch",
          "target/linux/econet/patches-6.18/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/en751627/config-6.12",
          "target/linux/econet/patches-6.18/912-pcie-add-en7528-pcie-and-phy-support.patch",
          "target/linux/econet/patches-6.12/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch",
          "target/linux/econet/en751627/config-6.18",
          "target/linux/econet/patches-6.12/029-11-v6.19-spi-airoha-set-custom-sector-size-equal-to-flash-pag.patch",
          "target/linux/econet/patches-6.18/017-v6.19rc1-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch",
          "target/linux/econet/patches-6.18/887-uart-airoha-add-econet-support.patch",
          "target/linux/econet/patches-6.18/020-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/patches-6.18/913-pcie-fix-bogus-prefetch-window.patch",
          "target/linux/econet/patches-6.18/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch",
          "target/linux/econet/patches-6.18/886-uart-add-en7523-support.patch",
          "target/linux/econet/patches-6.12/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch",
          "target/linux/econet/patches-6.12/029-07-v6.19-spi-airoha-unify-dirmap-read-write-code.patch",
          "target/linux/econet/patches-6.12/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch",
          "target/linux/econet/patches-6.12/017-v6.19rc1-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch",
          "target/linux/econet/patches-6.18/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch",
          "target/linux/econet/patches-6.18/029-12-v6.19-spi-airoha-avoid-reading-flash-page-settings-from-SN.patch",
          "target/linux/econet/patches-6.18/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch",
          "target/linux/econet/patches-6.12/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch",
          "target/linux/econet/patches-6.12/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.18/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch",
          "target/linux/econet/patches-6.18/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch",
          "target/linux/econet/patches-6.12/029-05-v6.19-spi-airoha-remove-unnecessary-restriction-length.patch",
          "target/linux/econet/patches-6.12/020-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/patches-6.18/101-econet-timer-add-en7528-support.patch",
          "target/linux/econet/patches-6.12/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch",
          "target/linux/econet/patches-6.18/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch",
          "target/linux/econet/patches-6.12/914-phy-add-en7528-usb-phy-driver.patch",
          "target/linux/econet/patches-6.18/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch",
          "target/linux/econet/patches-6.18/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch",
          "target/linux/econet/patches-6.12/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch",
          "target/linux/econet/patches-6.12/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/patches-6.12/101-econet-timer-add-en7528-support.patch",
          "target/linux/econet/patches-6.12/910-dt-bindings-clock-reset-add-econet-en751221-bindings.patch",
          "target/linux/econet/patches-6.18/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch",
          "target/linux/econet/patches-6.18/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch",
          "target/linux/econet/patches-6.12/029-08-v6.19-spi-airoha-support-of-dualio-quadio-flash-reading-co.patch",
          "target/linux/econet/patches-6.12/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch",
          "target/linux/econet/patches-6.12/887-uart-airoha-add-econet-support.patch",
          "target/linux/econet/patches-6.12/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch",
          "target/linux/econet/patches-6.12/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch",
          "target/linux/econet/patches-6.12/913-pcie-fix-bogus-prefetch-window.patch",
          "target/linux/econet/patches-6.12/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.12/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch",
          "target/linux/econet/patches-6.12/320-gpio-en7523-enable-for-econet-mips.patch",
          "target/linux/econet/patches-6.18/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch",
          "target/linux/econet/patches-6.12/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch",
          "target/linux/econet/patches-6.18/902-snand-mtk-bmt-support.patch",
          "target/linux/econet/patches-6.12/886-uart-add-en7523-support.patch",
          "target/linux/econet/patches-6.12/310-usb-enable-econet-usb.patch",
          "target/linux/econet/patches-6.18/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch",
          "target/linux/econet/patches-6.12/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch",
          "target/linux/econet/patches-6.12/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch",
          "target/linux/econet/patches-6.18/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch",
          "target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch",
          "target/linux/econet/patches-6.12/912-pcie-add-en7528-pcie-and-phy-support.patch",
          "target/linux/econet/patches-6.12/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch",
          "target/linux/econet/patches-6.18/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.12/915-usb-xhci-mtk-add-en7528-ltssm-quirk.patch",
          "target/linux/econet/patches-6.12/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch",
          "target/linux/econet/en751221/config-6.18",
          "target/linux/econet/patches-6.12/029-06-v6.19-spi-airoha-remove-unnecessary-switch-to-non-dma-mode.patch",
          "target/linux/econet/en751221/config-6.12",
          "target/linux/econet/patches-6.18/029-13-v6.19-spi-airoha-buffer-must-be-0xff-ed-before-writing.patch",
          "target/linux/econet/patches-6.12/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch",
          "target/linux/econet/patches-6.18/029-08-v6.19-spi-airoha-support-of-dualio-quadio-flash-reading-co.patch",
          "target/linux/econet/patches-6.18/303-spi-airoha-snfi-enable-for-econet.patch",
          "target/linux/econet/patches-6.18/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.18/100-econet-add-en7528-soc.patch",
          "target/linux/econet/patches-6.18/029-09-v6.19-spi-airoha-avoid-setting-of-page-oob-sizes-in-REG_SP.patch",
          "target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch",
          "target/linux/econet/patches-6.18/301-spi-Airoha-adapt-to-support-en75-mips.patch",
          "target/linux/econet/patches-6.18/320-gpio-en7523-enable-for-econet-mips.patch",
          "target/linux/econet/patches-6.18/029-11-v6.19-spi-airoha-set-custom-sector-size-equal-to-flash-pag.patch",
          "target/linux/econet/patches-6.12/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch",
          "target/linux/econet/patches-6.12/029-13-v6.19-spi-airoha-buffer-must-be-0xff-ed-before-writing.patch",
          "target/linux/econet/patches-6.18/901-nand-enable-en75-bbt.patch",
          "target/linux/econet/patches-6.18/029-10-v6.19-spi-airoha-reduce-the-number-of-modification-of-REG_.patch",
          "target/linux/econet/patches-6.18/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch",
          "target/linux/econet/patches-6.18/029-07-v6.19-spi-airoha-unify-dirmap-read-write-code.patch",
          "target/linux/econet/patches-6.18/029-06-v6.19-spi-airoha-remove-unnecessary-switch-to-non-dma-mode.patch",
          "target/linux/econet/patches-6.18/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch",
          "target/linux/econet/patches-6.18/910-dt-bindings-clock-reset-add-econet-en751221-bindings.patch",
          "target/linux/econet/patches-6.12/100-econet-add-en7528-soc.patch"
        ],
        "commitId" : "d7c66d62415971ad306ffafd8bf44df51993c860",
        "timestamp" : 1781601574000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "kernel/econet: create files for v6.18 (from v6.12)\u000a\u000aThis is an automatically generated commit.\u000a\u000aWhen doing `git bisect`, consider `git bisect --skip`.\u000a\u000aSigned-off-by: Ahmed Naseef <naseefkm@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23755\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:19:34 +0200",
        "id" : "d7c66d62415971ad306ffafd8bf44df51993c860",
        "msg" : "kernel/econet: create files for v6.18 (from v6.12)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/901-nand-enable-en75-bbt.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/101-econet-timer-add-en7528-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/en7528/config-6.18"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/910-dt-bindings-clock-reset-add-econet-en751221-bindings.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-09-v6.19-spi-airoha-avoid-setting-of-page-oob-sizes-in-REG_SP.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/901-nand-enable-en75-bbt.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-05-v6.19-spi-airoha-remove-unnecessary-restriction-length.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/913-pcie-fix-bogus-prefetch-window.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/887-uart-airoha-add-econet-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/303-spi-airoha-snfi-enable-for-econet.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/303-spi-airoha-snfi-enable-for-econet.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/915-usb-xhci-mtk-add-en7528-ltssm-quirk.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/310-usb-enable-econet-usb.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-08-v6.19-spi-airoha-support-of-dualio-quadio-flash-reading-co.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/887-uart-airoha-add-econet-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-09-v6.19-spi-airoha-avoid-setting-of-page-oob-sizes-in-REG_SP.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-08-v6.19-spi-airoha-support-of-dualio-quadio-flash-reading-co.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/020-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-07-v6.19-spi-airoha-unify-dirmap-read-write-code.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/en751221/config-6.12"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/914-phy-add-en7528-usb-phy-driver.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/912-pcie-add-en7528-pcie-and-phy-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/en751221/config-6.18"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/301-spi-Airoha-adapt-to-support-en75-mips.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-12-v6.19-spi-airoha-avoid-reading-flash-page-settings-from-SN.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/910-dt-bindings-clock-reset-add-econet-en751221-bindings.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-06-v6.19-spi-airoha-remove-unnecessary-switch-to-non-dma-mode.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/914-phy-add-en7528-usb-phy-driver.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/320-gpio-en7523-enable-for-econet-mips.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-05-v6.19-spi-airoha-remove-unnecessary-restriction-length.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/en7528/config-6.12"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/913-pcie-fix-bogus-prefetch-window.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/017-v6.19rc1-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/902-snand-mtk-bmt-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/en751627/config-6.18"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/320-gpio-en7523-enable-for-econet-mips.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/886-uart-add-en7523-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-06-v6.19-spi-airoha-remove-unnecessary-switch-to-non-dma-mode.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-11-v6.19-spi-airoha-set-custom-sector-size-equal-to-flash-pag.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/017-v6.19rc1-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/886-uart-add-en7523-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/020-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-13-v6.19-spi-airoha-buffer-must-be-0xff-ed-before-writing.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/100-econet-add-en7528-soc.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-10-v6.19-spi-airoha-reduce-the-number-of-modification-of-REG_.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/en751627/config-6.12"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/100-econet-add-en7528-soc.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/912-pcie-add-en7528-pcie-and-phy-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-10-v6.19-spi-airoha-reduce-the-number-of-modification-of-REG_.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-07-v6.19-spi-airoha-unify-dirmap-read-write-code.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/029-12-v6.19-spi-airoha-avoid-reading-flash-page-settings-from-SN.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-13-v6.19-spi-airoha-buffer-must-be-0xff-ed-before-writing.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/915-usb-xhci-mtk-add-en7528-ltssm-quirk.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/301-spi-Airoha-adapt-to-support-en75-mips.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/101-econet-timer-add-en7528-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.18/029-11-v6.19-spi-airoha-set-custom-sector-size-equal-to-flash-pag.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.12/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/econet/patches-6.12/901-nand-enable-en75-bbt.patch",
          "target/linux/econet/patches-6.12/303-spi-airoha-snfi-enable-for-econet.patch",
          "target/linux/econet/patches-6.12/029-08-v6.19-spi-airoha-support-of-dualio-quadio-flash-reading-co.patch",
          "target/linux/econet/patches-6.12/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch",
          "target/linux/econet/patches-6.12/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch",
          "target/linux/econet/en7528/config-6.12",
          "target/linux/econet/patches-6.12/887-uart-airoha-add-econet-support.patch",
          "target/linux/econet/patches-6.12/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch",
          "target/linux/econet/patches-6.12/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch",
          "target/linux/econet/patches-6.12/029-12-v6.19-spi-airoha-avoid-reading-flash-page-settings-from-SN.patch",
          "target/linux/econet/patches-6.12/029-10-v6.19-spi-airoha-reduce-the-number-of-modification-of-REG_.patch",
          "target/linux/econet/patches-6.12/913-pcie-fix-bogus-prefetch-window.patch",
          "target/linux/econet/patches-6.12/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch",
          "target/linux/econet/patches-6.12/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch",
          "target/linux/econet/patches-6.12/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.12/029-09-v6.19-spi-airoha-avoid-setting-of-page-oob-sizes-in-REG_SP.patch",
          "target/linux/econet/patches-6.12/320-gpio-en7523-enable-for-econet-mips.patch",
          "target/linux/econet/patches-6.12/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch",
          "target/linux/econet/patches-6.12/886-uart-add-en7523-support.patch",
          "target/linux/econet/patches-6.12/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch",
          "target/linux/econet/patches-6.12/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch",
          "target/linux/econet/patches-6.12/310-usb-enable-econet-usb.patch",
          "target/linux/econet/patches-6.12/301-spi-Airoha-adapt-to-support-en75-mips.patch",
          "target/linux/econet/en751627/config-6.12",
          "target/linux/econet/patches-6.12/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch",
          "target/linux/econet/patches-6.12/912-pcie-add-en7528-pcie-and-phy-support.patch",
          "target/linux/econet/patches-6.12/029-11-v6.19-spi-airoha-set-custom-sector-size-equal-to-flash-pag.patch",
          "target/linux/econet/patches-6.12/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch",
          "target/linux/econet/patches-6.12/915-usb-xhci-mtk-add-en7528-ltssm-quirk.patch",
          "target/linux/econet/patches-6.12/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch",
          "target/linux/econet/patches-6.12/029-06-v6.19-spi-airoha-remove-unnecessary-switch-to-non-dma-mode.patch",
          "target/linux/econet/en751221/config-6.12",
          "target/linux/econet/patches-6.12/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch",
          "target/linux/econet/patches-6.12/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch",
          "target/linux/econet/patches-6.12/029-07-v6.19-spi-airoha-unify-dirmap-read-write-code.patch",
          "target/linux/econet/patches-6.12/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch",
          "target/linux/econet/patches-6.12/017-v6.19rc1-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch",
          "target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch",
          "target/linux/econet/patches-6.12/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch",
          "target/linux/econet/patches-6.12/029-13-v6.19-spi-airoha-buffer-must-be-0xff-ed-before-writing.patch",
          "target/linux/econet/patches-6.12/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch",
          "target/linux/econet/patches-6.12/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.12/029-05-v6.19-spi-airoha-remove-unnecessary-restriction-length.patch",
          "target/linux/econet/patches-6.12/020-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/patches-6.12/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch",
          "target/linux/econet/patches-6.12/914-phy-add-en7528-usb-phy-driver.patch",
          "target/linux/econet/patches-6.12/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch",
          "target/linux/econet/patches-6.12/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/patches-6.12/101-econet-timer-add-en7528-support.patch",
          "target/linux/econet/patches-6.12/910-dt-bindings-clock-reset-add-econet-en751221-bindings.patch",
          "target/linux/econet/patches-6.12/100-econet-add-en7528-soc.patch"
        ],
        "commitId" : "0619a10834bb73956f1a2bf8bc296a8efd43a1db",
        "timestamp" : 1781601574000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "kernel/econet: restore files for v6.12\u000a\u000aThis is an automatically generated commit which aids following Kernel patch\u000ahistory, as git will see the move and copy as a rename thus defeating the\u000apurpose.\u000a\u000aFor the original discussion see:\u000ahttps://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html\u000a\u000aSigned-off-by: Ahmed Naseef <naseefkm@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23755\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:19:34 +0200",
        "id" : "0619a10834bb73956f1a2bf8bc296a8efd43a1db",
        "msg" : "kernel/econet: restore files for v6.12",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/econet/en751627/config-6.12"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/912-pcie-add-en7528-pcie-and-phy-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-11-v6.19-spi-airoha-set-custom-sector-size-equal-to-flash-pag.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-05-v6.19-spi-airoha-remove-unnecessary-restriction-length.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/915-usb-xhci-mtk-add-en7528-ltssm-quirk.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-07-v6.19-spi-airoha-unify-dirmap-read-write-code.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-06-v6.19-spi-airoha-remove-unnecessary-switch-to-non-dma-mode.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/910-dt-bindings-clock-reset-add-econet-en751221-bindings.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/100-econet-add-en7528-soc.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/887-uart-airoha-add-econet-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-13-v6.19-spi-airoha-buffer-must-be-0xff-ed-before-writing.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/020-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/914-phy-add-en7528-usb-phy-driver.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-12-v6.19-spi-airoha-avoid-reading-flash-page-settings-from-SN.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/902-snand-mtk-bmt-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/310-usb-enable-econet-usb.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/017-v6.19rc1-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/913-pcie-fix-bogus-prefetch-window.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-09-v6.19-spi-airoha-avoid-setting-of-page-oob-sizes-in-REG_SP.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/en7528/config-6.12"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/901-nand-enable-en75-bbt.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/en751221/config-6.12"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/301-spi-Airoha-adapt-to-support-en75-mips.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/320-gpio-en7523-enable-for-econet-mips.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/101-econet-timer-add-en7528-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-10-v6.19-spi-airoha-reduce-the-number-of-modification-of-REG_.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/886-uart-add-en7523-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/303-spi-airoha-snfi-enable-for-econet.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/029-08-v6.19-spi-airoha-support-of-dualio-quadio-flash-reading-co.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/econet/patches-6.12/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/econet/patches-6.18/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch",
          "target/linux/econet/patches-6.18/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch",
          "target/linux/econet/patches-6.18/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch",
          "target/linux/econet/patches-6.18/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch",
          "target/linux/econet/patches-6.18/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.18/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch",
          "target/linux/econet/patches-6.18/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch",
          "target/linux/econet/patches-6.18/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch",
          "target/linux/econet/patches-6.18/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch",
          "target/linux/econet/patches-6.18/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch",
          "target/linux/econet/patches-6.18/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch",
          "target/linux/econet/patches-6.18/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch",
          "target/linux/econet/patches-6.18/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch",
          "target/linux/econet/patches-6.18/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch",
          "target/linux/econet/patches-6.18/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch",
          "target/linux/econet/patches-6.18/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch",
          "target/linux/econet/patches-6.18/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch",
          "target/linux/econet/patches-6.18/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch",
          "target/linux/econet/patches-6.18/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch"
        ],
        "commitId" : "3644ab9fead898dec41518e702ccda32e370a1c3",
        "timestamp" : 1781601574000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "econet: remove upstreamed patches for 6.18\u000a\u000aRemove all patches that have already been upstreamed for kernel 6.18.\u000aThe remaining v6.19/v6.19rc1 backports are kept, in sync with the airoha\u000atarget these patches are shared with.\u000a\u000aSigned-off-by: Ahmed Naseef <naseefkm@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23755\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:19:34 +0200",
        "id" : "3644ab9fead898dec41518e702ccda32e370a1c3",
        "msg" : "econet: remove upstreamed patches for 6.18",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/006-v6.16-dt-bindings-mips-Add-EcoNet-platform-binding.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/003-v6.16-dt-bindings-vendor-prefixes-Add-EcoNet.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/002-v6.16-irqchip-Add-EcoNet-EN751221-INTC.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/008-v6.16-dt-bindings-vendor-prefixes-Add-SmartFiber.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/019-v6.13-dt-bindings-clock-airoha-Update-reg-mapping-for-EN75.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/007-v6.16-mips-Add-EcoNet-MIPS-platform-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/015-v6.14-clk-en7523-Rework-clock-handling-for-different-clock.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/004-v6.16-dt-bindings-timer-Add-EcoNet-EN751221-HPT-CPU-Timer.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/014-v6.14-PCI-mediatek-gen3-Move-reset-delay-in-mtk_pcie_en758.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/010-v6.16-MAINTAINERS-Add-entry-for-newly-added-EcoNet-platfor.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/013-v6.13-clk-en7523-map-io-region-in-a-single-block.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/001-v6.16-dt-bindings-interrupt-controller-Add-EcoNet-EN751221.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/009-v6.16-mips-dts-Add-EcoNet-DTS-with-EN751221-and-SmartFiber.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/021-v6.14-dt-bindings-clock-drop-NUM_CLOCKS-define-for-EN7581.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/022-v6.14-dt-bindings-clock-add-ID-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/016-v6.14-clk-en7523-Add-clock-for-eMMC-for-EN7581.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/005-v6.16-clocksource-drivers-Add-EcoNet-Timer-HPT-driver.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/011-v6.16-mips-econet-Fix-incorrect-Kconfig-dependencies.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/012-v6.13-clk-en7523-move-en7581_reset_register-in-en7581_clk_.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/econet/patches-6.18/902-snand-mtk-bmt-support.patch",
          "target/linux/econet/patches-6.18/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch",
          "target/linux/econet/patches-6.18/303-spi-airoha-snfi-enable-for-econet.patch",
          "target/linux/econet/patches-6.18/901-nand-enable-en75-bbt.patch",
          "target/linux/econet/patches-6.18/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch",
          "target/linux/econet/patches-6.18/914-phy-add-en7528-usb-phy-driver.patch",
          "target/linux/econet/patches-6.18/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch",
          "target/linux/econet/patches-6.18/912-pcie-add-en7528-pcie-and-phy-support.patch",
          "target/linux/econet/patches-6.18/101-econet-timer-add-en7528-support.patch",
          "target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch",
          "target/linux/econet/patches-6.18/100-econet-add-en7528-soc.patch",
          "target/linux/econet/patches-6.18/887-uart-airoha-add-econet-support.patch",
          "target/linux/econet/patches-6.18/301-spi-Airoha-adapt-to-support-en75-mips.patch",
          "target/linux/econet/patches-6.18/320-gpio-en7523-enable-for-econet-mips.patch",
          "target/linux/econet/patches-6.18/913-pcie-fix-bogus-prefetch-window.patch",
          "target/linux/econet/patches-6.18/886-uart-add-en7523-support.patch"
        ],
        "commitId" : "2dde2efd228ed5df407075b4644f7550aa034240",
        "timestamp" : 1781601575000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "econet: update patches for 6.18\u000a\u000aFix patch compatibility for kernel 6.18 on econet and refresh with\u000a`make target/linux/refresh V=s`. The shared airoha clk/spi/uart and the\u000aeconet-local timer, nand and phy patches are rebased onto the 6.18\u000aupstream code.\u000a\u000aSigned-off-by: Ahmed Naseef <naseefkm@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23755\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:19:35 +0200",
        "id" : "2dde2efd228ed5df407075b4644f7550aa034240",
        "msg" : "econet: update patches for 6.18",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/911-clk-airoha-add-econet-en751221-clock-reset-support-t.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/101-econet-timer-add-en7528-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/300-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/018-v6.19rc1-dt-bindings-clock-airoha-Add-reset-support-to-EN7523.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/301-spi-Airoha-adapt-to-support-en75-mips.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/887-uart-airoha-add-econet-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/320-gpio-en7523-enable-for-econet-mips.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/100-econet-add-en7528-soc.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/303-spi-airoha-snfi-enable-for-econet.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/886-uart-add-en7523-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/902-snand-mtk-bmt-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/901-nand-enable-en75-bbt.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/912-pcie-add-en7528-pcie-and-phy-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/913-pcie-fix-bogus-prefetch-window.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/914-phy-add-en7528-usb-phy-driver.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/econet/en751221/config-6.18",
          "target/linux/econet/en751627/config-6.18",
          "target/linux/econet/en7528/config-6.18"
        ],
        "commitId" : "16d10338cc889dc8997da7261fd7fef16bf4a98d",
        "timestamp" : 1781601575000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "econet: update config for 6.18\u000a\u000aRegenerated with `make kernel_oldconfig` for all subtargets.\u000a\u000aSigned-off-by: Ahmed Naseef <naseefkm@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23755\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:19:35 +0200",
        "id" : "16d10338cc889dc8997da7261fd7fef16bf4a98d",
        "msg" : "econet: update config for 6.18",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/econet/en751627/config-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/en7528/config-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/en751221/config-6.18"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/econet/Makefile"
        ],
        "commitId" : "7ed3c81248def6886e6034d2272d4b13a3fad7d8",
        "timestamp" : 1781601575000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "econet: enable 6.18 testing kernel\u000a\u000aAdd building the 6.18 kernel for econet as testing.\u000a\u000aSigned-off-by: Ahmed Naseef <naseefkm@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23755\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:19:35 +0200",
        "id" : "7ed3c81248def6886e6034d2272d4b13a3fad7d8",
        "msg" : "econet: enable 6.18 testing kernel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/econet/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/mtd/Makefile"
        ],
        "commitId" : "45b8cb0ce4fe9c12ce1e7fac03db2346e76e0f6d",
        "timestamp" : 1781602372000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/ansuelsmth",
          "fullName" : "ansuelsmth"
        },
        "authorEmail" : "ansuelsmth@gmail.com",
        "comment" : "mtd: bump package release\u000a\u000aThis commit fixes \"a5107ad58c6 mtd: fix buffer leak and fd leak in mtd_dump()\"\u000awhich changed the code but did not increase the release. This causes two\u000apackages with the same version to have different content and thereby hashes.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000aLink: https://github.com/openwrt/openwrt/pull/23827\u000aSigned-off-by: Christian Marangi <ansuelsmth@gmail.com>\u000a",
        "date" : "2026-06-16 11:32:52 +0200",
        "id" : "45b8cb0ce4fe9c12ce1e7fac03db2346e76e0f6d",
        "msg" : "mtd: bump package release",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/mtd/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/button-hotplug/Makefile"
        ],
        "commitId" : "4315c52a9fa215a5d0066055b195bf6f8b28208e",
        "timestamp" : 1781602404000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/ansuelsmth",
          "fullName" : "ansuelsmth"
        },
        "authorEmail" : "ansuelsmth@gmail.com",
        "comment" : "button-hotplug: bump package release\u000a\u000aThis commit fixes \"286f377389a button-hotplug: add KEY_SETUP and KEY_VENDOR\u000ahandling\" which changed the code without bumping the PKG_RELEASE, resulting in\u000adifferent binaries under the same version.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000aLink: https://github.com/openwrt/openwrt/pull/23826\u000aSigned-off-by: Christian Marangi <ansuelsmth@gmail.com>\u000a",
        "date" : "2026-06-16 11:33:24 +0200",
        "id" : "4315c52a9fa215a5d0066055b195bf6f8b28208e",
        "msg" : "button-hotplug: bump package release",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/kernel/button-hotplug/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c",
          "target/linux/ath79/patches-6.12/300-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch",
          "target/linux/ath79/patches-6.18/300-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch"
        ],
        "commitId" : "86cc4d84bb988436dfeb3e7befefa3ebff7b5940",
        "timestamp" : 1781603430000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "ath79: move intc driver out of patch\u000a\u000aThis driver has been attempted to be upstreamed once and never again.\u000aKeep it local to make modification easier.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:30 +0200",
        "id" : "86cc4d84bb988436dfeb3e7befefa3ebff7b5940",
        "msg" : "ath79: move intc driver out of patch",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/patches-6.12/300-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/patches-6.18/300-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "03543454933b937b1a36dceb878cd30ac6ce7ae8",
        "timestamp" : 1781603431000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: remove panic and add kfree\u000a\u000aPanic like this was recommended against in the original review of the\u000aupstream submission. Remove it and add missing kfree calls.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:31 +0200",
        "id" : "03543454933b937b1a36dceb878cd30ac6ce7ae8",
        "msg" : "irq-ath79-intc: remove panic and add kfree",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "122ea336de25271c2f7329ca3b69801ff85420e3",
        "timestamp" : 1781603431000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: switch from add to create\u000a\u000aUpstream Linux wants to remove the add APIs.\u000a\u000aGet ahead of this and make the switch as was done upstream in\u000aaffdc0d1bdfa544fed26ae07c4e136af86465507\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:31 +0200",
        "id" : "122ea336de25271c2f7329ca3b69801ff85420e3",
        "msg" : "irq-ath79-intc: switch from add to create",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "e46cc54e9d82019354d43fa72cf1ab7c69ac16d8",
        "timestamp" : 1781603431000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: add SPDX license\u000a\u000aLicense boilerplate was deprecated by upstream in\u000ad2912cb15bdda8ba4a5dd73396ad62641af2f520\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:31 +0200",
        "id" : "e46cc54e9d82019354d43fa72cf1ab7c69ac16d8",
        "msg" : "irq-ath79-intc: add SPDX license",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "20275da9cdb6d4c552171a16fb44d6802833d641",
        "timestamp" : 1781603432000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: use generic_handle_domain_irq\u000a\u000aCombines irq_find_mapping and generic_handle_irq.\u000a\u000aMatches upstream commit\u000a046a6ee2343bb26d85a9973a39ccdb9764236fa4\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:32 +0200",
        "id" : "20275da9cdb6d4c552171a16fb44d6802833d641",
        "msg" : "irq-ath79-intc: use generic_handle_domain_irq",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "10d7a164add7cb928e4dab7622a3fd4f2300db7f",
        "timestamp" : 1781603432000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: don't use hwirq_max\u000a\u000aOriginal review said:\u000a\u000aDon't. This is an implementation detail of the irq domain, and you're\u000anot supposed to access that field.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:32 +0200",
        "id" : "10d7a164add7cb928e4dab7622a3fd4f2300db7f",
        "msg" : "irq-ath79-intc: don't use hwirq_max",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "5ed10923f98a617274165caae6be11cc44de9143",
        "timestamp" : 1781603432000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: rename pending_mask to enable_mask\u000a\u000aOriginal review said:\u000a\u000aIsn't this \"pending_mask\" more of an \"enabled\"?\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:32 +0200",
        "id" : "5ed10923f98a617274165caae6be11cc44de9143",
        "msg" : "irq-ath79-intc: rename pending_mask to enable_mask",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "3c2e7b3eee03c62ae51e5fb5797ffbf312386def",
        "timestamp" : 1781603432000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: add chained_irq_enter/exit\u000a\u000aOriginal review said:\u000a\u000aMissing chained_irq_enter/exit calls.\u000a\u000aAlso rework slightly to reduce indentation.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:32 +0200",
        "id" : "3c2e7b3eee03c62ae51e5fb5797ffbf312386def",
        "msg" : "irq-ath79-intc: add chained_irq_enter/exit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "4ae9c7bdc1f9bc904be8c69b5fe9e7d30e23f9b0",
        "timestamp" : 1781603433000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: statically allocate irq_chip\u000a\u000aNo need for dynamic allocation. static is fine.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:33 +0200",
        "id" : "4ae9c7bdc1f9bc904be8c69b5fe9e7d30e23f9b0",
        "msg" : "irq-ath79-intc: statically allocate irq_chip",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "dbb4ac9342d44c0990cf7ec48961f05aa3ae508c",
        "timestamp" : 1781603433000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: add irq_dispose_mapping\u000a\u000aAvoids a resource leak on failure.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:33 +0200",
        "id" : "dbb4ac9342d44c0990cf7ec48961f05aa3ae508c",
        "msg" : "irq-ath79-intc: add irq_dispose_mapping",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "00841615f1dcb81045b069d7a1d2778d2d483e34",
        "timestamp" : 1781603433000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: avoid negative values\u000a\u000aof_count_phandle_with_args can return negative. We don't want that.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:33 +0200",
        "id" : "00841615f1dcb81045b069d7a1d2778d2d483e34",
        "msg" : "irq-ath79-intc: avoid negative values",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
        ],
        "commitId" : "faf8f3760d2b7f4d6a393d71f581ba53afb838cd",
        "timestamp" : 1781603434000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "irq-ath79-intc: add missing \\n\u000a\u000aNeeded to make the dmesg output normal.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22981\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 11:50:34 +0200",
        "id" : "faf8f3760d2b7f4d6a393d71f581ba53afb838cd",
        "msg" : "irq-ath79-intc: add missing \\n",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/files/drivers/irqchip/irq-ath79-intc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "include/u-boot.mk",
          "include/prereq-build.mk"
        ],
        "commitId" : "0a9fcdf5715ffd6cd384775f4a98494026543061",
        "timestamp" : 1781607061000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
          "fullName" : "dev"
        },
        "authorEmail" : "dev@example.org",
        "comment" : "prereq-build/u-boot: add Python 3.14 support\u000a\u000aPython 3.14 is the default version on Fedora 43/44.\u000a\u000aSigned-off-by: Etienne Champetier <champetier.etienne@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23243\u000aSigned-off-by: Test Dev <dev@example.org>\u000a",
        "date" : "2026-06-16 12:51:01 +0200",
        "id" : "0a9fcdf5715ffd6cd384775f4a98494026543061",
        "msg" : "prereq-build/u-boot: add Python 3.14 support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "include/prereq-build.mk"
          },
          {
            "editType" : "edit",
            "file" : "include/u-boot.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/lib/upgrade/nand.sh",
          "target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh",
          "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
        ],
        "commitId" : "13fc688f033895e0ba91c1d752ffd63a06760ef5",
        "timestamp" : 1781610344000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
          "fullName" : "dev"
        },
        "authorEmail" : "dev@example.org",
        "comment" : "base-files: support rootfs_data on its own partition\u000a\u000aThe current code assumes that the rootfs_data UBI volume is on the same MTD\u000apartition as the rootfs.\u000aUnfortunately, this does not work on the Aruba AP-325 (and variants), since\u000athe bootloader enforces a particular UBI volume layout.\u000a\u000aTherefore, this adds a separate variable to set the rootfs_data partition,\u000aand updates all existing devices with a non-default rootfs partition to also\u000aspecify the new variable.\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Test Dev <dev@example.org>\u000a",
        "date" : "2026-06-16 13:45:44 +0200",
        "id" : "13fc688f033895e0ba91c1d752ffd63a06760ef5",
        "msg" : "base-files: support rootfs_data on its own partition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/base-files/files/lib/upgrade/nand.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/lib/upgrade/nand.sh"
        ],
        "commitId" : "eef8c718b474aff652b42c2e96b55b1b310f7f56",
        "timestamp" : 1781610344000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
          "fullName" : "dev"
        },
        "authorEmail" : "dev@example.org",
        "comment" : "base-files: handle name collision between kernel UBI volume and MTD partition\u000a\u000aOn the AP-325 (and variants), the bootloader enforces a particular UBI volume\u000alayout and naming, so unfortunately the kernel's UBI volume and MTD partition\u000aend up with the name, which confuses the current logic.\u000a\u000aTherefore, add an option to ignore the MTD partition.\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Test Dev <dev@example.org>\u000a",
        "date" : "2026-06-16 13:45:44 +0200",
        "id" : "eef8c718b474aff652b42c2e96b55b1b310f7f56",
        "msg" : "base-files: handle name collision between kernel UBI volume and MTD partition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/base-files/files/lib/upgrade/nand.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/config-6.12"
        ],
        "commitId" : "69a2b3b31865615f71793067b1c891067b66e8a4",
        "timestamp" : 1781610344000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
          "fullName" : "dev"
        },
        "authorEmail" : "dev@example.org",
        "comment" : "ipq806x: add CONFIG_GPIO_WATCHDOG\u000a\u000aThe AP-325 (and variants) has an external watchdog, so this is needed to\u000aregularly toggle the GPIO and keep the watchdog happy.\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Test Dev <dev@example.org>\u000a",
        "date" : "2026-06-16 13:45:44 +0200",
        "id" : "69a2b3b31865615f71793067b1c891067b66e8a4",
        "msg" : "ipq806x: add CONFIG_GPIO_WATCHDOG",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/config-6.12"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/image/generic.mk",
          "target/linux/ipq806x/base-files/etc/init.d/bootcount",
          "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts",
          "target/linux/ipq806x/base-files/lib/upgrade/platform.sh",
          "package/boot/uboot-tools/uboot-envtools/files/ipq806x",
          "scripts/aruba-header.py",
          "target/linux/ipq806x/base-files/etc/board.d/02_network"
        ],
        "commitId" : "e912d6aeb4c017a30b86acd3a8cf4ec4b53b87a8",
        "timestamp" : 1781610344000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
          "fullName" : "dev"
        },
        "authorEmail" : "dev@example.org",
        "comment" : "ipq806x: add support for Aruba AP-32x\u000a\u000aThis is a dual-radio 802.11a/b/g/n/ac access point with\u000adual Gigabit Ethernet.\u000a\u000aThere are two closely related models: The AP-324, which has external\u000aantenna connectors, and the AP-325, which has internal antennas.\u000aThe board appears to be identical, and the same image works on both.\u000aAdditionally, the Siemens Scalance W1750D is an OEM variant using\u000athe same board, so the image also works on that.\u000a\u000aUnfortunately the factory APBoot bootloader enforces cryptographic\u000asignatures on the firmware before booting, so a modified version\u000amust be flashed via the serial port. See [^1] for details.\u000a\u000aSpecifications\u000a==============\u000a* Device:       Aruba AP-325 / AP-324\u000a* SoC:          Qualcomm IPQ8068 2x1.4GHz ARMv7-A\u000a* RAM:          512MiB (2x Winbond W632GU6MB-12)\u000a* SPI flash:    4MiB Macronix MX25U3235F\u000a* NAND flash:   128MiB Winbond W29N01HZBINF\u000a* WiFi:         2x Qualcomm QCA9990 (one 2.4G, one 5G)\u000a* Ethernet:     2x 1000BASE-T (Marvell 88E1514 PHY), both PoE-capable\u000a* Power:        PoE 802.3at or 12V DC jack\u000a* LEDs:         Red/Amber/Green status LED, Amber/Green WiFi LED\u000a* Buttons:      1x, behind hole next to DC jack\u000a* Console:      RJ45 connector, Cisco pinout\u000a* USB:          1x USB 2.0 Type A, 1x internal to BLE, SoC has USB 3.0\u000a                host but board is only wired for 2.0\u000a* BLE:          TI CC2540 SoC, connected to USB and UART, unpopulated\u000a                debug header on PCB\u000a* TPM:          Atmel AT97SC3205T\u000a\u000aHow to install\u000a==============\u000aThe stock bootloader APBoot appears to be vendor fork of U-Boot, which\u000adisables much of the usual functionality and comes with its own booting\u000aand firmware upgrade logic.\u000a\u000aUnfortunately, this logic enforces RSA signatures on images,\u000aeven for the default boot from NAND.\u000a\u000aTherefore, a patched bootloader is needed, which is built as a package.\u000aIn addition to the signature check removal, this also changes\u000athe serial baudrate to 115200.\u000a\u000aLuckily, the stock firmware does not disable the `sf` command\u000a(it just hides it until you run `diag`), so the patched bootloader\u000acan be fetched via TFTP and then flashed via console.\u000a\u000aFlashing patched APBoot\u000a-----------------------\u000a* Build OpenWrt, or download `openwrt-ipq806x-generic-aruba_ap-32x-apboot.mbn`\u000a* Connect serial cable and wired ethernet\u000a* Access stock APBoot console at Baud 9600\u000a* Flash patched bootloader:\u000a```\u000asetenv serverip <your TFTP server IP>\u000asetenv autostart n\u000anetget 44000000 openwrt-ipq806x-generic-aruba_ap-32x-apboot.mbn\u000asf probe 0\u000asf erase 220000 100000\u000asf write 44000000 220000 100000\u000areset\u000a```\u000a\u000aBooting OpenWrt\u000a---------------\u000a* Connect serial cable and wired ethernet\u000a* Access patched APBoot console at Baud 115200\u000a* Run `setenv serverip <your TFTP server IP>`\u000a* Run `tftpboot openwrt-ipq806x-generic-aruba_ap-32x-initramfs.ari`\u000a\u000aInstalling OpenWrt\u000a------------------\u000a* Connect serial cable and wired ethernet\u000a* Access patched APBoot console at Baud 115200\u000a* Consider backing up stock firmware(s) (UBI volumes `aos0` and/or `aos1`)\u000a  by booting into OpenWrt via initramfs (see above) and dumping them\u000a* Wipe and repartition NAND flash (see below for explanation):\u000a```\u000anand device 0\u000anand erase.chip\u000areset\u000aubi part ubifs\u000aubi remove ubifs\u000aubi create ubifs 1\u000aubi create rootfs_data\u000a```\u000a* Follow steps above to boot OpenWrt via initramfs\u000a* From OpenWrt, persist installation via sysupgrade\u000a\u000aReverting to stock FW\u000a---------------------\u000a\u000aThe patched bootloader remains compatible with the original firmware,\u000aso you can just wipe the NAND, let APBoot recreate the partitions,\u000aand flash back the `aos0`/`aos1` backup from above.\u000a\u000aCurrent status\u000a==============\u000a\u000aTested and working\u000a------------------\u000a\u000a* Console\u000a* Wired GbE (both ports)\u000a* WiFi (both 2.4G and 5G)\u000a* LEDs\u000a* Restart Button\u000a* USB port\u000a* External watchdog\u000a* TPM\u000a* BLE SoC\u000a\u000aFuture work\u000a-----------\u000a\u000a* GPIOs for:\u000a  * power source (8 indicates DC jack, 59 indicates 802.3at)\u000a  * reset source (64 for warm reset, 65 for watchdog)\u000a  * USB overcurrent (63)\u000a* BLE SoC reflashing\u000a  * CC2540 comes with Aruba-specific FW out of the box\u000a  * Debug header is exposed on PCB (pinout GND-VCC-Clock-Data-Reset),\u000a    but that requires disassembly\u000a  * Stock BLE FW appears to support reflashing via UART, but protocol\u000a    would need to be reverse-engineered\u000a* ramoops/pstore\u000a  * It appears that APBoot clears the RAM on boot, might be something\u000a    we can patch out as well\u000a* Porting a modern U-Boot\u000a\u000aFlash layout\u000a============\u000a\u000aSPI flash\u000a---------\u000a\u000a```\u000a0x000000-0x020000 sbl1\u000a0x020000-0x040000 mibib\u000a0x040000-0x080000 sbl2\u000a0x080000-0x100000 sbl3\u000a0x100000-0x110000 ddrconfig\u000a0x110000-0x120000 ssd\u000a0x120000-0x1a0000 tz\u000a0x1a0000-0x220000 rpm\u000a0x220000-0x320000 appsbl\u000a0x320000-0x330000 appsblenv\u000a0x330000-0x370000 art\u000a0x370000-0x380000 panicdump\u000a0x380000-0x390000 certificate\u000a0x390000-0x3a0000 mfginfo\u000a0x3a0000-0x3b0000 flashcache\u000a0x3b0000-0x400000 aosspare\u000a```\u000a\u000aFactory NAND flash\u000a------------------\u000a* 32MiB MTD partition `aos0`, formatted as UBI\u000a  * 32MiB UBI volume `aos0`\u000a    * contains kernel+initrd of the primary firmware,\u000a      initrd contains the entire root FS\u000a* 32MiB MTD partition `aos1`, formatted as UBI\u000a  * 32MiB UBI volume `aos1`\u000a    * contains kernel+initrd of the secondary firmware,\u000a      initrd contains the entire root FS\u000a* 64MiB MTD partition `ubifs`, formatted as UBI\u000a  * 64MiB UBI volume `ubifs`\u000a    * Contains UBIFS, overlay-mounted on top of the initrd,\u000a      shared between firmware slots\u000a\u000aAPBoot understands UBI, and will read the kernel from the\u000a`aos0` or `aos1` volume (depending on `os_partition`)\u000awith fallback to the other one in case a check fails.\u000a\u000aKernels are expected to have a vendor-specific header, the included\u000ascript will add that header with the correct checksum but no signature.\u000a\u000aOpenWrt NAND flash\u000a------------------\u000a\u000aOpenWrt assumes separate UBI volumes for kernel and rootfs,\u000aas well as a volume that must be named `rootfs_data` for the UBIFS.\u000a\u000aUnfortunately, APBoot actively checks the UBI volumes at boot, and will\u000arepartition if it doesn't find the volumes that it expects (listed above).\u000a\u000aLuckily, it doesn't check their size, only their existence. Therefore,\u000awe can use the following layout:\u000a\u000a* 32MiB MTD partition `aos0`, formatted as UBI\u000a  * 32MiB UBI volume `aos0`\u000a    * contains OpenWrt kernel+initrd\u000a* 32MiB MTD partition `aos1`, formatted as UBI\u000a  * 32MiB UBI volume `aos1`\u000a    * contains OpenWrt root squashfs\u000a* 64MiB MTD partition `ubifs`, formatted as UBI\u000a  * small (single-LEB) UBI volume `ubifs`\u000a    * Dummy volume, only there to satisfy APBoot\u000a  * almost 64MiB UBI volume `rootfs_data`\u000a    * contains UBIFS, overlay-mounted on top of the rootfs\u000a\u000a[^1]: https://github.com/lukasstockner/ap325-apboot-openwrt\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Test Dev <dev@example.org>\u000a",
        "date" : "2026-06-16 13:45:44 +0200",
        "id" : "e912d6aeb4c017a30b86acd3a8cf4ec4b53b87a8",
        "msg" : "ipq806x: add support for Aruba AP-32x",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/ipq806x"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/init.d/bootcount"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/generic.mk"
          },
          {
            "editType" : "add",
            "file" : "scripts/aruba-header.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/apboot-aruba-ipq806x/Makefile",
          "target/linux/ipq806x/image/generic.mk"
        ],
        "commitId" : "0823ad47ff3068476da4e5035575b4923bcc1fec",
        "timestamp" : 1781610345000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
          "fullName" : "dev"
        },
        "authorEmail" : "dev@example.org",
        "comment" : "ipq806x: add apboot package for AP-32x\u000a\u000aThis is unfortunately needed to disable the signature verification\u000ain the stock bootloader.\u000a\u000aCo-authored-by: Paul Spooren <mail@aparcar.org>\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Test Dev <dev@example.org>\u000a",
        "date" : "2026-06-16 13:45:45 +0200",
        "id" : "0823ad47ff3068476da4e5035575b4923bcc1fec",
        "msg" : "ipq806x: add apboot package for AP-32x",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/generic.mk"
          },
          {
            "editType" : "add",
            "file" : "package/boot/apboot-aruba-ipq806x/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/apboot-aruba-ipq806x/Makefile",
          "target/linux/ipq806x/image/generic.mk"
        ],
        "commitId" : "eccf49c9f896721894d1c684449dba50ef55849c",
        "timestamp" : 1781618708000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "Revert \"ipq806x: add apboot package for AP-32x\"\u000a\u000aThis reverts commit 0823ad47ff3068476da4e5035575b4923bcc1fec.\u000aWrong Signed-off-by line was used, reverting and re-applying.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:05:08 +0200",
        "id" : "eccf49c9f896721894d1c684449dba50ef55849c",
        "msg" : "Revert \"ipq806x: add apboot package for AP-32x\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/generic.mk"
          },
          {
            "editType" : "delete",
            "file" : "package/boot/apboot-aruba-ipq806x/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/image/generic.mk",
          "target/linux/ipq806x/base-files/etc/init.d/bootcount",
          "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts",
          "package/boot/uboot-tools/uboot-envtools/files/ipq806x",
          "target/linux/ipq806x/base-files/lib/upgrade/platform.sh",
          "scripts/aruba-header.py",
          "target/linux/ipq806x/base-files/etc/board.d/02_network"
        ],
        "commitId" : "b85b7fd14cb34953966bbeda4ca5712391fb8e8d",
        "timestamp" : 1781618713000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "Revert \"ipq806x: add support for Aruba AP-32x\"\u000a\u000aThis reverts commit e912d6aeb4c017a30b86acd3a8cf4ec4b53b87a8.\u000aWrong Signed-off-by line was used, reverting and re-applying.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:05:13 +0200",
        "id" : "b85b7fd14cb34953966bbeda4ca5712391fb8e8d",
        "msg" : "Revert \"ipq806x: add support for Aruba AP-32x\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/init.d/bootcount"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/ipq806x"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/generic.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts"
          },
          {
            "editType" : "delete",
            "file" : "scripts/aruba-header.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/config-6.12"
        ],
        "commitId" : "6c8aeb9bb729710d6774ad130f8c4bcc30968a39",
        "timestamp" : 1781618718000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "Revert \"ipq806x: add CONFIG_GPIO_WATCHDOG\"\u000a\u000aThis reverts commit 69a2b3b31865615f71793067b1c891067b66e8a4.\u000aWrong Signed-off-by line was used, reverting and re-applying.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:05:18 +0200",
        "id" : "6c8aeb9bb729710d6774ad130f8c4bcc30968a39",
        "msg" : "Revert \"ipq806x: add CONFIG_GPIO_WATCHDOG\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/config-6.12"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/lib/upgrade/nand.sh"
        ],
        "commitId" : "7ef7a3581a3ff34cab2f59e1f6295fc23de46072",
        "timestamp" : 1781618723000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "Revert \"base-files: handle name collision between kernel UBI volume and MTD partition\"\u000a\u000aThis reverts commit eef8c718b474aff652b42c2e96b55b1b310f7f56.\u000aWrong Signed-off-by line was used, reverting and re-applying.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:05:23 +0200",
        "id" : "7ef7a3581a3ff34cab2f59e1f6295fc23de46072",
        "msg" : "Revert \"base-files: handle name collision between kernel UBI volume and MTD partition\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/base-files/files/lib/upgrade/nand.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/lib/upgrade/nand.sh",
          "target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh",
          "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
        ],
        "commitId" : "3ee64a736cda7ff8d5e92a5f4baf2d9ae612261b",
        "timestamp" : 1781618725000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "Revert \"base-files: support rootfs_data on its own partition\"\u000a\u000aThis reverts commit 13fc688f033895e0ba91c1d752ffd63a06760ef5.\u000aWrong Signed-off-by line was used, reverting and re-applying.\u000a\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:05:25 +0200",
        "id" : "3ee64a736cda7ff8d5e92a5f4baf2d9ae612261b",
        "msg" : "Revert \"base-files: support rootfs_data on its own partition\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/base-files/files/lib/upgrade/nand.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/lib/upgrade/nand.sh",
          "target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh",
          "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
        ],
        "commitId" : "bf770bc4e3eb150b9496314992d8baed97067848",
        "timestamp" : 1781618868000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "base-files: support rootfs_data on its own partition\u000a\u000aThe current code assumes that the rootfs_data UBI volume is on the same MTD\u000apartition as the rootfs.\u000aUnfortunately, this does not work on the Aruba AP-325 (and variants), since\u000athe bootloader enforces a particular UBI volume layout.\u000a\u000aTherefore, this adds a separate variable to set the rootfs_data partition,\u000aand updates all existing devices with a non-default rootfs partition to also\u000aspecify the new variable.\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:07:48 +0200",
        "id" : "bf770bc4e3eb150b9496314992d8baed97067848",
        "msg" : "base-files: support rootfs_data on its own partition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/base-files/files/lib/upgrade/nand.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/lib/upgrade/nand.sh"
        ],
        "commitId" : "5497d5ba23dc24f5b8eee2f62f7613decce4d248",
        "timestamp" : 1781618878000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "base-files: handle name collision between kernel UBI volume and MTD partition\u000a\u000aOn the AP-325 (and variants), the bootloader enforces a particular UBI volume\u000alayout and naming, so unfortunately the kernel's UBI volume and MTD partition\u000aend up with the name, which confuses the current logic.\u000a\u000aTherefore, add an option to ignore the MTD partition.\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:07:58 +0200",
        "id" : "5497d5ba23dc24f5b8eee2f62f7613decce4d248",
        "msg" : "base-files: handle name collision between kernel UBI volume and MTD partition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/base-files/files/lib/upgrade/nand.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/config-6.12"
        ],
        "commitId" : "58015a1c2a1508094c057b1e0946eb9ccc8139ad",
        "timestamp" : 1781618883000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "ipq806x: add CONFIG_GPIO_WATCHDOG\u000a\u000aThe AP-325 (and variants) has an external watchdog, so this is needed to\u000aregularly toggle the GPIO and keep the watchdog happy.\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:08:03 +0200",
        "id" : "58015a1c2a1508094c057b1e0946eb9ccc8139ad",
        "msg" : "ipq806x: add CONFIG_GPIO_WATCHDOG",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/config-6.12"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/image/generic.mk",
          "target/linux/ipq806x/base-files/etc/init.d/bootcount",
          "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts",
          "package/boot/uboot-tools/uboot-envtools/files/ipq806x",
          "target/linux/ipq806x/base-files/lib/upgrade/platform.sh",
          "scripts/aruba-header.py",
          "target/linux/ipq806x/base-files/etc/board.d/02_network"
        ],
        "commitId" : "d2a75029a5f8e54e1fd2f252f73b9a430a030116",
        "timestamp" : 1781618888000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "ipq806x: add support for Aruba AP-32x\u000a\u000aThis is a dual-radio 802.11a/b/g/n/ac access point with\u000adual Gigabit Ethernet.\u000a\u000aThere are two closely related models: The AP-324, which has external\u000aantenna connectors, and the AP-325, which has internal antennas.\u000aThe board appears to be identical, and the same image works on both.\u000aAdditionally, the Siemens Scalance W1750D is an OEM variant using\u000athe same board, so the image also works on that.\u000a\u000aUnfortunately the factory APBoot bootloader enforces cryptographic\u000asignatures on the firmware before booting, so a modified version\u000amust be flashed via the serial port. See [^1] for details.\u000a\u000aSpecifications\u000a==============\u000a* Device:       Aruba AP-325 / AP-324\u000a* SoC:          Qualcomm IPQ8068 2x1.4GHz ARMv7-A\u000a* RAM:          512MiB (2x Winbond W632GU6MB-12)\u000a* SPI flash:    4MiB Macronix MX25U3235F\u000a* NAND flash:   128MiB Winbond W29N01HZBINF\u000a* WiFi:         2x Qualcomm QCA9990 (one 2.4G, one 5G)\u000a* Ethernet:     2x 1000BASE-T (Marvell 88E1514 PHY), both PoE-capable\u000a* Power:        PoE 802.3at or 12V DC jack\u000a* LEDs:         Red/Amber/Green status LED, Amber/Green WiFi LED\u000a* Buttons:      1x, behind hole next to DC jack\u000a* Console:      RJ45 connector, Cisco pinout\u000a* USB:          1x USB 2.0 Type A, 1x internal to BLE, SoC has USB 3.0\u000a                host but board is only wired for 2.0\u000a* BLE:          TI CC2540 SoC, connected to USB and UART, unpopulated\u000a                debug header on PCB\u000a* TPM:          Atmel AT97SC3205T\u000a\u000aHow to install\u000a==============\u000aThe stock bootloader APBoot appears to be vendor fork of U-Boot, which\u000adisables much of the usual functionality and comes with its own booting\u000aand firmware upgrade logic.\u000a\u000aUnfortunately, this logic enforces RSA signatures on images,\u000aeven for the default boot from NAND.\u000a\u000aTherefore, a patched bootloader is needed, which is built as a package.\u000aIn addition to the signature check removal, this also changes\u000athe serial baudrate to 115200.\u000a\u000aLuckily, the stock firmware does not disable the `sf` command\u000a(it just hides it until you run `diag`), so the patched bootloader\u000acan be fetched via TFTP and then flashed via console.\u000a\u000aFlashing patched APBoot\u000a-----------------------\u000a* Build OpenWrt, or download `openwrt-ipq806x-generic-aruba_ap-32x-apboot.mbn`\u000a* Connect serial cable and wired ethernet\u000a* Access stock APBoot console at Baud 9600\u000a* Flash patched bootloader:\u000a```\u000asetenv serverip <your TFTP server IP>\u000asetenv autostart n\u000anetget 44000000 openwrt-ipq806x-generic-aruba_ap-32x-apboot.mbn\u000asf probe 0\u000asf erase 220000 100000\u000asf write 44000000 220000 100000\u000areset\u000a```\u000a\u000aBooting OpenWrt\u000a---------------\u000a* Connect serial cable and wired ethernet\u000a* Access patched APBoot console at Baud 115200\u000a* Run `setenv serverip <your TFTP server IP>`\u000a* Run `tftpboot openwrt-ipq806x-generic-aruba_ap-32x-initramfs.ari`\u000a\u000aInstalling OpenWrt\u000a------------------\u000a* Connect serial cable and wired ethernet\u000a* Access patched APBoot console at Baud 115200\u000a* Consider backing up stock firmware(s) (UBI volumes `aos0` and/or `aos1`)\u000a  by booting into OpenWrt via initramfs (see above) and dumping them\u000a* Wipe and repartition NAND flash (see below for explanation):\u000a```\u000anand device 0\u000anand erase.chip\u000areset\u000aubi part ubifs\u000aubi remove ubifs\u000aubi create ubifs 1\u000aubi create rootfs_data\u000a```\u000a* Follow steps above to boot OpenWrt via initramfs\u000a* From OpenWrt, persist installation via sysupgrade\u000a\u000aReverting to stock FW\u000a---------------------\u000a\u000aThe patched bootloader remains compatible with the original firmware,\u000aso you can just wipe the NAND, let APBoot recreate the partitions,\u000aand flash back the `aos0`/`aos1` backup from above.\u000a\u000aCurrent status\u000a==============\u000a\u000aTested and working\u000a------------------\u000a\u000a* Console\u000a* Wired GbE (both ports)\u000a* WiFi (both 2.4G and 5G)\u000a* LEDs\u000a* Restart Button\u000a* USB port\u000a* External watchdog\u000a* TPM\u000a* BLE SoC\u000a\u000aFuture work\u000a-----------\u000a\u000a* GPIOs for:\u000a  * power source (8 indicates DC jack, 59 indicates 802.3at)\u000a  * reset source (64 for warm reset, 65 for watchdog)\u000a  * USB overcurrent (63)\u000a* BLE SoC reflashing\u000a  * CC2540 comes with Aruba-specific FW out of the box\u000a  * Debug header is exposed on PCB (pinout GND-VCC-Clock-Data-Reset),\u000a    but that requires disassembly\u000a  * Stock BLE FW appears to support reflashing via UART, but protocol\u000a    would need to be reverse-engineered\u000a* ramoops/pstore\u000a  * It appears that APBoot clears the RAM on boot, might be something\u000a    we can patch out as well\u000a* Porting a modern U-Boot\u000a\u000aFlash layout\u000a============\u000a\u000aSPI flash\u000a---------\u000a\u000a```\u000a0x000000-0x020000 sbl1\u000a0x020000-0x040000 mibib\u000a0x040000-0x080000 sbl2\u000a0x080000-0x100000 sbl3\u000a0x100000-0x110000 ddrconfig\u000a0x110000-0x120000 ssd\u000a0x120000-0x1a0000 tz\u000a0x1a0000-0x220000 rpm\u000a0x220000-0x320000 appsbl\u000a0x320000-0x330000 appsblenv\u000a0x330000-0x370000 art\u000a0x370000-0x380000 panicdump\u000a0x380000-0x390000 certificate\u000a0x390000-0x3a0000 mfginfo\u000a0x3a0000-0x3b0000 flashcache\u000a0x3b0000-0x400000 aosspare\u000a```\u000a\u000aFactory NAND flash\u000a------------------\u000a* 32MiB MTD partition `aos0`, formatted as UBI\u000a  * 32MiB UBI volume `aos0`\u000a    * contains kernel+initrd of the primary firmware,\u000a      initrd contains the entire root FS\u000a* 32MiB MTD partition `aos1`, formatted as UBI\u000a  * 32MiB UBI volume `aos1`\u000a    * contains kernel+initrd of the secondary firmware,\u000a      initrd contains the entire root FS\u000a* 64MiB MTD partition `ubifs`, formatted as UBI\u000a  * 64MiB UBI volume `ubifs`\u000a    * Contains UBIFS, overlay-mounted on top of the initrd,\u000a      shared between firmware slots\u000a\u000aAPBoot understands UBI, and will read the kernel from the\u000a`aos0` or `aos1` volume (depending on `os_partition`)\u000awith fallback to the other one in case a check fails.\u000a\u000aKernels are expected to have a vendor-specific header, the included\u000ascript will add that header with the correct checksum but no signature.\u000a\u000aOpenWrt NAND flash\u000a------------------\u000a\u000aOpenWrt assumes separate UBI volumes for kernel and rootfs,\u000aas well as a volume that must be named `rootfs_data` for the UBIFS.\u000a\u000aUnfortunately, APBoot actively checks the UBI volumes at boot, and will\u000arepartition if it doesn't find the volumes that it expects (listed above).\u000a\u000aLuckily, it doesn't check their size, only their existence. Therefore,\u000awe can use the following layout:\u000a\u000a* 32MiB MTD partition `aos0`, formatted as UBI\u000a  * 32MiB UBI volume `aos0`\u000a    * contains OpenWrt kernel+initrd\u000a* 32MiB MTD partition `aos1`, formatted as UBI\u000a  * 32MiB UBI volume `aos1`\u000a    * contains OpenWrt root squashfs\u000a* 64MiB MTD partition `ubifs`, formatted as UBI\u000a  * small (single-LEB) UBI volume `ubifs`\u000a    * Dummy volume, only there to satisfy APBoot\u000a  * almost 64MiB UBI volume `rootfs_data`\u000a    * contains UBIFS, overlay-mounted on top of the rootfs\u000a\u000a[^1]: https://github.com/lukasstockner/ap325-apboot-openwrt\u000a\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:08:08 +0200",
        "id" : "d2a75029a5f8e54e1fd2f252f73b9a430a030116",
        "msg" : "ipq806x: add support for Aruba AP-32x",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/ipq806x"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/init.d/bootcount"
          },
          {
            "editType" : "add",
            "file" : "scripts/aruba-header.py"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/generic.mk"
          },
          {
            "editType" : "add",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/apboot-aruba-ipq806x/Makefile",
          "target/linux/ipq806x/image/generic.mk"
        ],
        "commitId" : "68ef94cb25d8aa97ca04bda93befe4b0c87b590c",
        "timestamp" : 1781618891000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "ipq806x: add apboot package for AP-32x\u000a\u000aThis is unfortunately needed to disable the signature verification\u000ain the stock bootloader.\u000a\u000aCo-authored-by: Paul Spooren <mail@aparcar.org>\u000aSigned-off-by: Lukas Stockner <lukas@lukasstockner.de>\u000aLink: https://github.com/openwrt/openwrt/pull/20738\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-06-16 16:08:11 +0200",
        "id" : "68ef94cb25d8aa97ca04bda93befe4b0c87b590c",
        "msg" : "ipq806x: add apboot package for AP-32x",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/generic.mk"
          },
          {
            "editType" : "add",
            "file" : "package/boot/apboot-aruba-ipq806x/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/patches-6.18/705-v7.1-net-sfp-initialize-i2c_block_size-at-adapter-configu.patch",
          "target/linux/realtek/patches-6.18/741-net-sfp-apply-I2C-adapter-quirks-to-limit-blocks.patch",
          "target/linux/realtek/patches-6.18/706-01-v7.2-net-sfp-apply-I2C-adapter-quirks-to-limit-block-size.patch",
          "target/linux/realtek/patches-6.18/706-02-v7.2-net-sfp-extend-SMBus-support.patch",
          "target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch",
          "target/linux/realtek/patches-6.18/742-net-sfp-extend-SMBus-support.patch"
        ],
        "commitId" : "24ec5ff687f2b45abcf06400766420ecc46e0535",
        "timestamp" : 1781627458000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "realtek: replace pending SFP patches with backport\u000a\u000aThe SFP SMBus patches to access SFP modules with more than just byte\u000aaccess have finally been accepted upstream. Replace them with the\u000aupstreamed version, reorder them before our still downstream SMBus MDIO\u000apatches and refresh all.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/23825\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 18:30:58 +0200",
        "id" : "24ec5ff687f2b45abcf06400766420ecc46e0535",
        "msg" : "realtek: replace pending SFP patches with backport",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/705-v7.1-net-sfp-initialize-i2c_block_size-at-adapter-configu.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/realtek/patches-6.18/741-net-sfp-apply-I2C-adapter-quirks-to-limit-blocks.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/realtek/patches-6.18/742-net-sfp-extend-SMBus-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/706-01-v7.2-net-sfp-apply-I2C-adapter-quirks-to-limit-block-size.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/706-02-v7.2-net-sfp-extend-SMBus-support.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/backport-6.18/300-v7.2-MIPS-smp-report-dying-CPU-to-RCU-in-stop_this_cpu.patch",
          "target/linux/generic/pending-6.18/331-MIPS-smp-report-dying-CPU-to-RCU-in-stop_this_cpu.patch"
        ],
        "commitId" : "4a0e6aa95c122cb33c7828fd27ea0dbf56abca5c",
        "timestamp" : 1781627502000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "generic: mips: replace pending patch with backport\u000a\u000aThe pending patch fixing reboot behavior on Realtek MIPS (and possibly\u000aother MIPS targets) has been accepted upstream. Replace with a proper\u000abackport.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/23831\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-16 18:31:42 +0200",
        "id" : "4a0e6aa95c122cb33c7828fd27ea0dbf56abca5c",
        "msg" : "generic: mips: replace pending patch with backport",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.18/331-MIPS-smp-report-dying-CPU-to-RCU-in-stop_this_cpu.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/300-v7.2-MIPS-smp-report-dying-CPU-to-RCU-in-stop_this_cpu.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-zynq/files/uEnv-default.txt"
        ],
        "commitId" : "fa55634872674a4c951db902771c472180106e37",
        "timestamp" : 1781633964000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/wigyori",
          "fullName" : "wigyori"
        },
        "authorEmail" : "wigyori@uid0.hu",
        "comment" : "uboot-zynq: fix boot process on MMC\u000a\u000aA regression was introduced when upgrading to 2019.07, whereas\u000athe bootloader did not proceed to load the FIT image. A fix\u000awas reported but not upstreamed here [1]. Patch the uEnv file\u000ato bring back these boards to an operational state.\u000a\u000a[1] https://forum.openwrt.org/t/bugreport-regression-in-zynq-cpu-platform-not-bootiing-any-more-zedboard-zybo/182609/7\u000a\u000aFixes: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=5ca243153b110ceddffecb70ba8a8cd0e33c8f0b\u000aSigned-off-by: Zoltan HERPAI <wigyori@uid0.hu>\u000a",
        "date" : "2026-06-16 20:19:24 +0200",
        "id" : "fa55634872674a4c951db902771c472180106e37",
        "msg" : "uboot-zynq: fix boot process on MMC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-zynq/files/uEnv-default.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/zynq/image/Makefile",
          "package/boot/uboot-zynq/patches/120-antminer-s9-restore-sdboot-capability.patch",
          "package/boot/uboot-zynq/Makefile",
          "target/linux/zynq/patches/0001-dts-add-antminer-s9.patch",
          "target/linux/zynq/patches/0002-dts-antminer-s9-led-aliases.patch",
          "target/linux/zynq/base-files/etc/board.d/02_network"
        ],
        "commitId" : "e050bb79462219a535018c0e8022a9bcbd58b791",
        "timestamp" : 1781633964000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/wigyori",
          "fullName" : "wigyori"
        },
        "authorEmail" : "wigyori@uid0.hu",
        "comment" : "zynq: add Bitmain Antminer S9 control board support\u000a\u000aThis board is the control board for the Antminer S9 miners.\u000a\u000aSoC:     Xilinx XC7Z010 - dual-core Cortex-A9 with FPGA stack\u000aMemory:  512Mb DDR3\u000aNIC:     1Gbit ethernet (BCM B50612E PHY)\u000aFlash:   256Mb NAND (Micron MT29F2G08ABAEAWP)\u000aStorage: SD-card slot\u000aOther:   control pins available via FPGA stack\u000a\u000aAdmittedly, there is a limited number of use cases available\u000afor these boards outside of the miners and the lack of FPGA\u000atooling in OpenWrt. However, for one, they are easily and cheaply\u000aavailable, for two, the reason for adding this is to provide an\u000aeasy addition to the boardfarm for continuous testing of this target.\u000a\u000aNotes: For u-boot, an additional patch is required to support\u000a  booting from SD-cards. This is because EXTRA_ENV_SETTINGS is\u000a  already defined in the board's u-boot config, which is the same\u000a  place where the zynq-common.dtsi defines the required envvars.\u000a\u000aSigned-off-by: Zoltan HERPAI <wigyori@uid0.hu>\u000a",
        "date" : "2026-06-16 20:19:24 +0200",
        "id" : "e050bb79462219a535018c0e8022a9bcbd58b791",
        "msg" : "zynq: add Bitmain Antminer S9 control board support",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/boot/uboot-zynq/patches/120-antminer-s9-restore-sdboot-capability.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-zynq/Makefile"
          },
          {
            "editType" : "add",
            "file" : "target/linux/zynq/patches/0001-dts-add-antminer-s9.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/zynq/patches/0002-dts-antminer-s9-led-aliases.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/zynq/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/zynq/image/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/zynq/config-6.12"
        ],
        "commitId" : "3aeaeb563ff8dc40caae50d8ad74646921a70660",
        "timestamp" : 1781633964000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/wigyori",
          "fullName" : "wigyori"
        },
        "authorEmail" : "wigyori@uid0.hu",
        "comment" : "zynq: enable NAND support\u000a\u000aEnable NAND support.\u000a\u000aSigned-off-by: Zoltan HERPAI <wigyori@uid0.hu>\u000a",
        "date" : "2026-06-16 20:19:24 +0200",
        "id" : "3aeaeb563ff8dc40caae50d8ad74646921a70660",
        "msg" : "zynq: enable NAND support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/zynq/config-6.12"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/image/rt-loader/Makefile"
        ],
        "commitId" : "d6f5c2685ff3fa97405c2d565f913deef86bebff",
        "timestamp" : 1781634999000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: rt-loader increase gcc optimization level\u000a\u000aSwitch from -O2 to -O3. This increases the loader code size by\u000a5KB and brings down the decompression time on RTL838x from\u000a~6.5 seconds to ~3.5 seconds.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/23811\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-06-16 20:36:39 +0200",
        "id" : "d6f5c2685ff3fa97405c2d565f913deef86bebff",
        "msg" : "realtek: rt-loader increase gcc optimization level",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/image/rt-loader/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "toolchain/binutils/Config.in",
          "toolchain/binutils/Makefile",
          "toolchain/binutils/Config.version"
        ],
        "commitId" : "3a35c19e8e81fbf35e23a2bffc891e3dc88c5f30",
        "timestamp" : 1781679123000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "toolchain: binutils: update to 2.46.1\u000a\u000aRelease Notes: https://sourceware.org/pipermail/binutils/2026-June/149568.html\u000a\u000aSigned-off-by: Konstantin Demin <rockdrilla@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23773\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 08:52:03 +0200",
        "id" : "3a35c19e8e81fbf35e23a2bffc891e3dc88c5f30",
        "msg" : "toolchain: binutils: update to 2.46.1",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "toolchain/binutils/Config.in"
          },
          {
            "editType" : "edit",
            "file" : "toolchain/binutils/Config.version"
          },
          {
            "editType" : "edit",
            "file" : "toolchain/binutils/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "toolchain/binutils/patches/2.45/400-mips_no_dynamic_linking_sym.patch",
          "toolchain/binutils/patches/2.45/500-Change-default-emulation-for-mips64-linux.patch",
          "toolchain/binutils/patches/2.45.1/400-mips_no_dynamic_linking_sym.patch",
          "toolchain/binutils/patches/2.45.1/300-001_ld_makefile_patch.patch",
          "toolchain/binutils/patches/2.45/300-001_ld_makefile_patch.patch",
          "toolchain/binutils/patches/2.45.1/500-Change-default-emulation-for-mips64-linux.patch"
        ],
        "commitId" : "279ad9292328155d31690459894b8570d8b7ce8a",
        "timestamp" : 1781679123000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "toolchain: binutils: partially revert commit 525a1e94b343 \"fix update to 2.45.1\"\u000a\u000aCommit eac927fadf07 \"toolchain: binutils: simplify patch management\" being applied after commit 525a1e94b343 \"toolchain: binutils: fix update to 2.45.1\" effectively disables patching binutils 2.45.1 in OpenWrt.\u000a\u000aFixes: 525a1e94b343 \"toolchain: binutils: fix update to 2.45.1\"\u000aSigned-off-by: Konstantin Demin <rockdrilla@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23773\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 08:52:03 +0200",
        "id" : "279ad9292328155d31690459894b8570d8b7ce8a",
        "msg" : "toolchain: binutils: partially revert commit 525a1e94b343 \"fix update to 2.45.1\"",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "toolchain/binutils/patches/2.45.1/400-mips_no_dynamic_linking_sym.patch"
          },
          {
            "editType" : "add",
            "file" : "toolchain/binutils/patches/2.45/400-mips_no_dynamic_linking_sym.patch"
          },
          {
            "editType" : "delete",
            "file" : "toolchain/binutils/patches/2.45.1/300-001_ld_makefile_patch.patch"
          },
          {
            "editType" : "delete",
            "file" : "toolchain/binutils/patches/2.45.1/500-Change-default-emulation-for-mips64-linux.patch"
          },
          {
            "editType" : "add",
            "file" : "toolchain/binutils/patches/2.45/500-Change-default-emulation-for-mips64-linux.patch"
          },
          {
            "editType" : "add",
            "file" : "toolchain/binutils/patches/2.45/300-001_ld_makefile_patch.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/patches-6.18/705-v7.1-net-sfp-initialize-i2c_block_size-at-adapter-configu.patch",
          "target/linux/realtek/patches-6.18/706-01-v7.2-net-sfp-apply-I2C-adapter-quirks-to-limit-block-size.patch",
          "target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch",
          "target/linux/generic/backport-6.18/711-v7.2-net-phy-sfp-detect-presence-via-I2C-when-no-MOD_DEF0-GPIO.patch",
          "target/linux/realtek/patches-6.18/706-02-v7.2-net-sfp-extend-SMBus-support.patch",
          "target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch",
          "target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch"
        ],
        "commitId" : "cc5e8c5af5e3dd4fb12c76e2f3a16f5c0a772a88",
        "timestamp" : 1781679213000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "generic: 6.18: backport SFP I2C presence detection without MOD_DEF0 GPIO\u000a\u000aBackport upstream net-next commit 8ac44d24c3a1. An SFP cage whose MOD_DEF0\u000asignal is not wired to a readable GPIO currently uses sff_gpio_get_state(),\u000awhich always reports the module present: an empty cage gets stuck in\u000aMOD_ERROR, hot-insertion is never detected and empty cages spam -EIO at\u000aboot. Derive presence from a throttled single-byte I2C read of the module\u000aEEPROM instead, so hot-plug works and the boot spam stops. A soldered-down\u000a\"sff,sff\" module stays always-present.\u000a\u000aThis helps RTL93xx SFP boards that route no cage presence signal to a GPIO.\u000a\u000aRemaining sfp.c patches refreshed.\u000a\u000aLink: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=8ac44d24c3a1\u000aSigned-off-by: Carlo Szelinsky <github@szelinsky.de>\u000aLink: https://github.com/openwrt/openwrt/pull/23836\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 08:53:33 +0200",
        "id" : "cc5e8c5af5e3dd4fb12c76e2f3a16f5c0a772a88",
        "msg" : "generic: 6.18: backport SFP I2C presence detection without MOD_DEF0 GPIO",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/706-02-v7.2-net-sfp-extend-SMBus-support.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/711-v7.2-net-phy-sfp-detect-presence-via-I2C-when-no-MOD_DEF0-GPIO.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/705-v7.1-net-sfp-initialize-i2c_block_size-at-adapter-configu.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/706-01-v7.2-net-sfp-apply-I2C-adapter-quirks-to-limit-block-size.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/bcm53xx/patches-6.12/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch",
          "target/linux/bcm53xx/patches-6.18/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch",
          "target/linux/bcm53xx/base-files/etc/board.d/02_network"
        ],
        "commitId" : "80eefabec3399ce2094da595a256358cea75e264",
        "timestamp" : 1781679827000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "bcm53xx: ac87u: set WAN MAC in dts\u000a\u000aUserspace handling is deprecated.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/22059\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 09:03:47 +0200",
        "id" : "80eefabec3399ce2094da595a256358cea75e264",
        "msg" : "bcm53xx: ac87u: set WAN MAC in dts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/bcm53xx/patches-6.12/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm53xx/patches-6.18/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm53xx/base-files/etc/board.d/02_network"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/image/filogic.mk"
        ],
        "commitId" : "38aa2fa410d9e3f9dc6cb48bd6b94bece4b79742",
        "timestamp" : 1781680164000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mediatek: creatlentem clt-r30b1: correct alternate model to EP-RT2980\u000a\u000aUpdate DEVICE_ALT0_MODEL for the EDUP entry from \"RT2980\" to \"EP-RT2980\"\u000ato correct the alternate device model string.\u000a\u000aSigned-off-by: Andrii Kuiukoff <andros.ua@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/20666\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 09:09:24 +0200",
        "id" : "38aa2fa410d9e3f9dc6cb48bd6b94bece4b79742",
        "msg" : "mediatek: creatlentem clt-r30b1: correct alternate model to EP-RT2980",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/image/filogic.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-mediatek/patches/473-add-creatlentem_clt-r30b1-ubi.patch",
          "package/boot/uboot-mediatek/Makefile",
          "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-ubi.dts",
          "package/boot/uboot-tools/uboot-envtools/files/mediatek_filogic",
          "target/linux/mediatek/image/filogic.mk",
          "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-common.dtsi",
          "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh",
          "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-112m.dts",
          "target/linux/mediatek/filogic/base-files/etc/board.d/02_network",
          "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1.dts"
        ],
        "commitId" : "e414ca4fa6cbc8d1e95d59966b614a4129b5371f",
        "timestamp" : 1781680165000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mediatek: creatlentem clt-r30b1: add all-in-UBI layout\u000a\u000aThis commit introduces OpenWrt U-Boot all-in-ubi layout support\u000afor the CreatLentem CLT-R30B1, enabling:\u000a- Fully-featured U-Boot\u000a- Effective recovery mechanisms\u000a- Prolonged device lifetime by allocating most of the flash\u000a  to UBI (which takes care of wear-leveling)\u000a- Maximum available storage space for OpenWrt\u000a- Unified firmware across different device variants\u000a\u000aOpenWrt U-Boot UBI flash instructions\u000a-------------------------------------\u000a\u000aUsing the installer image\u000a-------------------------\u000aTo simplify the installation process, this method uses a fork\u000aof Daniel Golle's (@dangowrt) UBI Installer\u000ahttps://github.com/dangowrt/owrt-ubi-installer\u000a\u000a1. Ensure your router is running the latest generic OpenWrt firmware.\u000a   Upgrade it if necessary.\u000a2. Obtain the installer image:\u000a   Build the installer from source\u000a   https://github.com/andros-ua/owrt-ubi-installer/tree/clt-r30b1\u000a   or download a prebuilt image from the\u000a   https://github.com/andros-ua/owrt-ubi-installer/releases\u000a3. Flash the openwrt*creatlentem_clt-r30b1-ubi-initramfs-recovery-installer.itb\u000a   image using sysupgrade.\u000a4. Wait for installation: the green status LED will blink rapidly,\u000a   indicating that the all-in-UBI installer is running.\u000a5. Once the installation finishes,\u000a   the status LED will turn solid white (lime) for 5 seconds.\u000a6. After the device reboots, perform a final sysupgrade using the\u000a   openwrt*creatlentem_clt-r30b1-ubi-squashfs-sysupgrade.itb image.\u000a\u000aReturn to stock layout\u000a----------------------\u000a1. Flash openwrt*creatlentem_clt-r30b1(-112m)-initramfs-kernel.bin\u000a   via sysupgrade\u000a2. Copy files to /tmp on the device via SCP:\u000a   BL2.bin\u000a   u-boot-env.bin\u000a   Factory.bin\u000a   FIP.bin\u000a   openwrt*creatlentem_clt-r30b1(-112m)-squashfs-sysupgrade.bin\u000a3. Restore stock MTD partitions:\u000a   apk add kmod-mtd-rw\u000a   insmod mtd-rw i_want_a_brick=1\u000a   mtd write /tmp/BL2.bin BL2\u000a   mtd write /tmp/u-boot-env.bin u-boot-env\u000a   mtd write /tmp/Factory.bin Factory\u000a   mtd write /tmp/FIP.bin FIP\u000a4. Install the system:\u000a   sysupgrade /tmp/*sysupgrade.bin\u000a\u000aRecovery\u000a--------\u000aUse mtk_uartboot to recover corrupted BL2 or FIP via UART:\u000ahttps://github.com/981213/mtk_uartboot\u000a\u000aStock layout\u000a----------------------------------------\u000a| dev:    size   erasesize  name       |\u000a| mtd0: 00100000 00020000 \"BL2\"        |\u000a| mtd1: 00080000 00020000 \"u-boot-env\" |\u000a| mtd2: 00200000 00020000 \"Factory\"    |\u000a| mtd3: 00200000 00020000 \"FIP\"        |\u000a| mtd4: 07000000 00020000 \"ubi\"        |\u000a----------------------------------------\u000a\u000aOpenWrt U-Boot UBI layout\u000a----------------------------------\u000a| dev:    size   erasesize  name |\u000a| mtd0: 00100000 00020000 \"BL2\"  |\u000a| mtd1: 07f00000 00020000 \"ubi\"  |\u000a----------------------------------\u000a\u000aSigned-off-by: Andrii Kuiukoff <andros.ua@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/20666\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 09:09:25 +0200",
        "id" : "e414ca4fa6cbc8d1e95d59966b614a4129b5371f",
        "msg" : "mediatek: creatlentem clt-r30b1: add all-in-UBI layout",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-112m.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/image/filogic.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/mediatek_filogic"
          },
          {
            "editType" : "add",
            "file" : "package/boot/uboot-mediatek/patches/473-add-creatlentem_clt-r30b1-ubi.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-common.dtsi"
          },
          {
            "editType" : "add",
            "file" : "target/linux/mediatek/dts/mt7981b-creatlentem-clt-r30b1-ubi.dts"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/patches-6.18/432-drivers-spi-Add-support-for-dynamic-calibration.patch"
        ],
        "commitId" : "317317d960e3edb5891ee4d25c3d654074cb568d",
        "timestamp" : 1781706362000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "kernel/mediatek: fix null dereference in dynamic calibration patch\u000a\u000aKASAN reported a null dereference in this patch. Fix it.\u000a\u000aSigned-off-by: Peter Collingbourne <peter@pcc.me.uk>\u000aLink: https://github.com/openwrt/openwrt/pull/23237\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 16:26:02 +0200",
        "id" : "317317d960e3edb5891ee4d25c3d654074cb568d",
        "msg" : "kernel/mediatek: fix null dereference in dynamic calibration patch",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/patches-6.18/432-drivers-spi-Add-support-for-dynamic-calibration.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/dts/rtl9303_nicgiga_s100-0800s-m.dts",
          "target/linux/realtek/image/rtl930x.mk"
        ],
        "commitId" : "fbbc36c13672db97c7ade371c16c1c8ba2b42bd5",
        "timestamp" : 1781710273000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "realtek: add support for NicGiga S100-0800S-M\u000a\u000aThe NicGiga S100-0800S-M is an 8-port 10G SFP+ managed switch built on\u000athe Realtek RTL9303 reference design (vendor U-Boot reports board model\u000a\"RTL9303_8XGE\", board id 1). It is closely related to the TP-Link\u000aTL-ST1008F v2 and shares its general layout, but differs in how the SFP\u000acages and port LEDs are wired (see below).\u000a\u000aThis DTS is derived from the TP-Link TL-ST1008F v2 support added by\u000aJonas Jelonek <jelonek.jonas@gmail.com> and Balazs Triszka\u000a<balika011@gmail.com> in commit 39b9b491bb (\"realtek: add support for\u000aTP-Link TL-ST1008F v2.0\").\u000a\u000aSpecifications:\u000a- SoC: Realtek RTL9303\u000a- RAM: 512 MiB DDR3\u000a- Flash: 32 MiB SPI-NOR\u000a- Ethernet: 8x 10G SFP+ (RTL9303 SerDes 2-9)\u000a- UART: 115200 8N1 on the front-panel RJ45 console port (Cisco-style pinout)\u000a\u000aMAC address:\u000aThe MAC addresses are read from the ethaddr variable in the vendor U-Boot\u000aenvironment via the u-boot-env nvmem layout: the base address is assigned\u000ato the SoC ethernet controller and an incrementing per-port offset to each\u000aSFP port.\u000a\u000aSFP presence and port LEDs:\u000aUnlike the TP-Link TL-ST1008F v2, this board does not route the cage\u000aMOD_ABS lines to the SoC GPIO controller (gpio0 pins 0-7 read stuck-low,\u000aso an empty cage reads \"present\"), and the single PCA9534 I2C expander is\u000afully used for TX_DISABLE. No mod-def0-gpio is therefore provided; module\u000apresence, including runtime hot-insertion and removal, is detected by\u000apolling the SFP EEPROM over I2C. Each cage has a single green LED, driven\u000aactive-low.\u000a\u000aInstallation:\u000aInterrupt the vendor U-Boot and TFTP-boot an OpenWrt initramfs image:\u000a  setenv ipaddr 192.168.1.1\u000a  setenv serverip <tftp-server>\u000a  tftpboot 0x82000000 <...-initramfs-kernel.bin>\u000a  bootm 0x82000000\u000aFrom the running initramfs, flash with:\u000a  sysupgrade -n <...-squashfs-sysupgrade.bin>\u000a\u000aSigned-off-by: Greg Patrick <gregspatrick@hotmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23579\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-06-17 17:31:13 +0200",
        "id" : "fbbc36c13672db97c7ade371c16c1c8ba2b42bd5",
        "msg" : "realtek: add support for NicGiga S100-0800S-M",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/image/rtl930x.mk"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/dts/rtl9303_nicgiga_s100-0800s-m.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/airoha/patches-6.18/920-10-net-airoha-Rename-airoha_set_gdm2_loopback-in-airoha.patch",
          "target/linux/airoha/patches-6.18/920-12-net-airoha-defer-GDM3-GDM4-WAN-mode-and-GDM2-loopbac.patch",
          "target/linux/airoha/patches-6.18/920-15-net-airoha-fix-wrong-airoha_get_fe_port.patch",
          "target/linux/airoha/patches-6.18/920-12-net-airoha-Add-ethtool-priv_flags-callbacks.patch",
          "target/linux/airoha/patches-6.18/920-13-net-airoha-Rework-MTU-configuration.patch",
          "target/linux/airoha/patches-6.18/920-04-net-airoha-Move-qos_sq_bmap-in-airoha_gdm_dev-struct.patch",
          "target/linux/airoha/patches-6.18/920-08-net-airoha-Introduce-WAN-device-flag.patch",
          "target/linux/airoha/patches-6.18/920-14-net-airoha-Better-handle-MIB-for-GDM-with-multiple-p.patch",
          "target/linux/airoha/patches-6.18/920-02-net-airoha-Move-airoha_qdma-pointer-in-airoha_gdm_de.patch",
          "target/linux/airoha/patches-6.18/920-01-net-airoha-Introduce-airoha_gdm_dev-struct.patch",
          "target/linux/airoha/patches-6.18/916-01-net-airoha-use-int-instead-of-atomic_t-for-qdma-user.patch",
          "target/linux/airoha/patches-6.18/922-net-airoha-simplify-WAN-device-check-in-airoha_dev_i.patch",
          "target/linux/airoha/patches-6.18/916-02-net-airoha-Implement-HW-GRO-TCP-support.patch",
          "target/linux/airoha/patches-6.18/920-05-net-airoha-Move-cpu-fwd-_tx_packets-in-airoha_gdm_de.patch",
          "target/linux/airoha/patches-6.18/920-06-net-airoha-Support-multiple-net_devices-for-a-single.patch",
          "target/linux/airoha/patches-6.18/920-07-net-airoha-Do-not-stop-GDM-port-if-it-is-shared.patch",
          "target/linux/airoha/patches-6.18/920-09-net-airoha-Support-multiple-LAN-WAN-interfaces-for-h.patch",
          "target/linux/airoha/patches-6.18/920-03-net-airoha-Rely-on-airoha_gdm_dev-pointer-in-airoha_.patch",
          "target/linux/airoha/patches-6.18/921-net-airoha-move-get_sport-callback-at-the-beginning-.patch",
          "target/linux/airoha/patches-6.18/916-net-airoha-Implement-LRO-TCP-support.patch"
        ],
        "commitId" : "2c122bdd74d4b8f0f1ea8f3dc8f95cf7d17af947",
        "timestamp" : 1781719527000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/ansuelsmth",
          "fullName" : "ansuelsmth"
        },
        "authorEmail" : "ansuelsmth@gmail.com",
        "comment" : "airoha: introduce HW-GRO support\u000a\u000a- Introduce HW-GRO support in order to allow bridging HW-GRO interfaces\u000a- Enable LRO for queues (7-0)\u000a- Rework LAN/WAN dynamic switching according to upstream requests:\u000a  now in order to set GDM3/GDM4 as WAN it is necessary to enable Qdisc\u000a  offloading without any dedicated ethool command.\u000a\u000aSigned-off-by: Lorenzo Bianconi <lorenzo@kernel.org>\u000aLink: https://github.com/openwrt/openwrt/pull/23828\u000aSigned-off-by: Christian Marangi <ansuelsmth@gmail.com>\u000a",
        "date" : "2026-06-17 20:05:27 +0200",
        "id" : "2c122bdd74d4b8f0f1ea8f3dc8f95cf7d17af947",
        "msg" : "airoha: introduce HW-GRO support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-13-net-airoha-Rework-MTU-configuration.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/airoha/patches-6.18/916-01-net-airoha-use-int-instead-of-atomic_t-for-qdma-user.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-06-net-airoha-Support-multiple-net_devices-for-a-single.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/airoha/patches-6.18/916-net-airoha-Implement-LRO-TCP-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-15-net-airoha-fix-wrong-airoha_get_fe_port.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-10-net-airoha-Rename-airoha_set_gdm2_loopback-in-airoha.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-04-net-airoha-Move-qos_sq_bmap-in-airoha_gdm_dev-struct.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/airoha/patches-6.18/916-02-net-airoha-Implement-HW-GRO-TCP-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-05-net-airoha-Move-cpu-fwd-_tx_packets-in-airoha_gdm_de.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/airoha/patches-6.18/922-net-airoha-simplify-WAN-device-check-in-airoha_dev_i.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-03-net-airoha-Rely-on-airoha_gdm_dev-pointer-in-airoha_.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-08-net-airoha-Introduce-WAN-device-flag.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-01-net-airoha-Introduce-airoha_gdm_dev-struct.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-07-net-airoha-Do-not-stop-GDM-port-if-it-is-shared.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/airoha/patches-6.18/921-net-airoha-move-get_sport-callback-at-the-beginning-.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/airoha/patches-6.18/920-12-net-airoha-Add-ethtool-priv_flags-callbacks.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-14-net-airoha-Better-handle-MIB-for-GDM-with-multiple-p.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-02-net-airoha-Move-airoha_qdma-pointer-in-airoha_gdm_de.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/920-09-net-airoha-Support-multiple-LAN-WAN-interfaces-for-h.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/airoha/patches-6.18/920-12-net-airoha-defer-GDM3-GDM4-WAN-mode-and-GDM2-loopbac.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/pending-6.12/612-netfilter_match_reduce_memory_access.patch",
          "target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch",
          "target/linux/generic/pending-6.18/612-netfilter_match_reduce_memory_access.patch",
          "target/linux/generic/pending-6.18/610-netfilter_match_bypass_default_checks.patch",
          "target/linux/generic/pending-6.18/611-netfilter_match_bypass_default_table.patch",
          "target/linux/generic/pending-6.12/611-netfilter_match_bypass_default_table.patch"
        ],
        "commitId" : "bd13b32899f0684f283dc14f9d552bba903f6ea7",
        "timestamp" : 1781727452000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "kernel: remove legacy iptables patches\u000a\u000aThese patches were introduced 15 years ago by commit 19eaf1c5f78a to\u000aspeed up iptables match. We have been using fw4 and nftables for a long\u000atime, so they are obsolete.\u000a\u000aSigned-off-by: Qingfang Deng <dqfext@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/23749\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-06-17 22:17:32 +0200",
        "id" : "bd13b32899f0684f283dc14f9d552bba903f6ea7",
        "msg" : "kernel: remove legacy iptables patches",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.18/611-netfilter_match_bypass_default_table.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.18/610-netfilter_match_bypass_default_checks.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.18/612-netfilter_match_reduce_memory_access.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.12/611-netfilter_match_bypass_default_table.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.12/612-netfilter_match_reduce_memory_access.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/odhcpd/Makefile"
        ],
        "commitId" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
        "timestamp" : 1781739057000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "odhcpd: update to Git HEAD (2026-06-18)\u000a\u000a0320032ae313 odhcpd: fix out of bounds write in dhcpv6_ia_handle_IAs\u000a26b122007030 dhcpv6-ia: avoid dangling first lease pointer\u000a03dacc23356b dhcpv6-ia: fix Reconfigure Accept Auth option write offset\u000a\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-06-18 01:30:57 +0200",
        "id" : "f7c1d91f1fc85e5aa2ded8c6452823b94a05bb13",
        "msg" : "odhcpd: update to Git HEAD (2026-06-18)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/odhcpd/Makefile"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/dev",
      "fullName" : "dev"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/wigyori",
      "fullName" : "wigyori"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
      "fullName" : "markus.stockhausen"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
      "fullName" : "mail"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
      "fullName" : "jelonek.jonas"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
      "fullName" : "hauke"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/ansuelsmth",
      "fullName" : "ansuelsmth"
    }
  ]
}