[PATCH] econet: add EN751627 subtarget and ZyXEL EX3301-T0 support
kpursoty at proton.me
kpursoty at proton.me
Thu Apr 16 00:20:29 PDT 2026
Thanks for your notes, I'm taking this as a teachable moment because
I need to learn more about this process and device - I don't know how
this device can boot and run if you target 24kc in the mkimage.
Patch withdrawn.
On Wednesday, 15 April 2026 at 23:13, Caleb James DeLisle <cjd at cjdns.fr> wrote:
> It looks like we both just crossed each others' paths on the same day,
> right down to adding the EX3301-T0.
>
> See: https://github.com/openwrt/openwrt/pull/22945
>
> I guess this is your patch:
> https://github.com/openwrt/openwrt/compare/main...198thread:openwrt:econet/zyxel-ex3301-t0-pr
>
> It's pretty massive so I don't think it can be accepted as it is, but I
> have some notes:
>
> 1. econet_eth should not be internalized as part of another PR, it's
> currently external as https://github.com/cjdelisle/econet_eth and it
> does not work on EN751627, if you have fixes for the problems then
> please make a PR for it over there.
>
> 2. tclinux-trx.sh
> <https://github.com/openwrt/openwrt/compare/main...198thread:openwrt:econet/zyxel-ex3301-t0-pr#diff-5aa6c2f83ed5cb7b89fb95b6ac4fb228b3dec3317f18d4c6ca38e914fbc6109c>->
> Have you tested that this installs from the webapp? If yes, I'd like to
> carve this out as it's own PR because it will make Zyxel units able to
> install from web.
>
> 3. en75_sw_mdio_init -> Not really correct, that's not supposed to be
> the eth driver, it's supposed to be a MMIO based switch, I'm mapping it
> in the eth driver because I don't have a good switch driver ATM.
>
> 4. Kervin Pursoty and claude committed 2 days ago -> I can't speak for
> the OpenWrt policy, but for me personally I'm OK with people using AI as
> a tool, but I would encourage you to focus on small and obvious patches.
>
> But more importantly than that, I want to make sure you understand what
> you're submitting; PARTICULARLY the description and comments. These Are
> Your Words.
>
> Open source lives by trust that when someone says "I found a rare and
> difficult to reproduce crash which is caused by <explanation>", that
> this is written in honesty. Unfortunately, AI is infamous for
> hallucinating messages just like that. So blindly forwarding commit
> messages written by AI will almost certainly lead to committing the
> equivalent of academic fraud.
>
> Thanks,
>
> Caleb
>
> On 15/04/2026 21:48, kpursoty at proton.me wrote:
> > This adds support for the ZyXEL EX3301-T0, a DSL+WiFi gateway based on
> > the EcoNet EN751627 (big-endian dual-core, 2-VPE-per-core MIPS 1004Kc SoC).
> > The device has two MT7915/MT7916 PCIe WiFi cards, a QDMA Ethernet
> > controller, NAND flash, and boots via the EcoNet ZHAL bootloader using
> > TRX images.
> >
> > New files:
> > target/linux/econet/dts/en751627.dtsi
> > target/linux/econet/dts/en751627_zyxel_ex3301-t0.dts
> > target/linux/econet/en751627/config-6.12
> > target/linux/econet/en751627/target.mk (CPU_TYPE=1004kc -> -mips32r2)
> > target/linux/econet/image/en751627.mk
> > target/linux/econet/files/drivers/net/ethernet/econet/ (EcoNet SoC Ethernet driver)
> > target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_tclinux.c
> >
> > Modified upstream files:
> > target/linux/econet/Makefile (register en751627 subtarget)
> > target/linux/econet/image/Makefile (tclinux-trx build integration)
> > target/linux/econet/image/tclinux-trx.sh (JAMCRC header writer)
> > target/linux/generic/files/drivers/mtd/mtdsplit/Kconfig
> > target/linux/generic/files/drivers/mtd/mtdsplit/Makefile
> > include/target.mk (CPU_CFLAGS_1004kc = -mips32r2 -mtune=1004kc)
> >
> > Patches carried until upstream kernel merges land:
> > 018: dt-bindings: clock: airoha: update EN7523 binding for reset (v6.19-rc1 backport)
> > 020: dt-bindings: clock: airoha: add reset support to EN7523 clock (v6.19-rc1 backport)
> > 102: mips: econet: add EN751627 SoC Kconfig entry
> > 104: clocksource: fix timer block mapping at boot (submitted upstream)
> > 104b: clocksource: fix IRQ ack storm on interrupt handler (submitted upstream)
> > 310: mips: econet: enable subsystem drivers (|| ECONET in Kconfigs + DMA_NONCOHERENT)
> > 888: serial: base: console TX guard (submitted upstream)
> > 930: net: econet: add EcoNet SoC Ethernet driver
> >
> > Upstream kernel patches 104 and 104b were sent to linux-kernel on
> > 2026-04-15 and have received Reviewed-by / Tested-by from Caleb James
> > DeLisle. Patch 888 was sent to linux-serial on the same date.
> >
> > A note on CPU_TYPE: the EN751627 is a MIPS 1004Kc. CPU_TYPE must be set to
> > 1004kc (not 24kc) to get -mips32r2 -mtune=1004kc compiler flags. Without
> > this, userspace is compiled as MIPS I baseline and every binary causes
> > SIGILL on boot. The companion patch to include/target.mk adds the missing
> > CPU_CFLAGS_1004kc entry (consistent with the existing 4kec, 24kc, 74kc
> > entries) and is included in this series.
> >
> > Build verified on vanilla upstream openwrt/openwrt main (368f49ff85):
> > TRX VERDICT: PASS. Device booted to SSH, 4 CPUs online, LAN1-4 up,
> > PCIe WiFi enumerated, UBIFS overlay mounted.
> >
> > Branch: econet/zyxel-ex3301-t0-pr (198thread/openwrt.git)
> >
> > Signed-off-by: Kervin Pursoty <kpursoty at proton.me>
> >
> >
>
More information about the openwrt-devel
mailing list