[openwrt/openwrt] econet: New device: Zyxel PMG5617GA
LEDE Commits
lede-commits at lists.infradead.org
Mon Nov 24 15:51:50 PST 2025
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/31f5fc8fea89ab3ac73445412fee82569bf08d3d
commit 31f5fc8fea89ab3ac73445412fee82569bf08d3d
Author: Caleb James DeLisle <cjd at cjdns.fr>
AuthorDate: Tue Oct 28 18:15:33 2025 +0000
econet: New device: Zyxel PMG5617GA
This device has one USB2.0 port, plus ethernet, 2x wifi, ethernet, xPON
and VoIP.
Installation instructions: (Assuming root shell via SSH or serial)
1. Place OpenWrt TRX file on a USB stick formatted VFAT
2. Plug in the stick to the modem
3. Type: mtd write -f -e tclinux /mnt/usb2_sda1/<name of file>.trx tclinux
At this point, both OpenWrt and the vendor OS will be installed
because the device has space for two operating systems. Switch the OS
to boot to OpenWrt:
1. mtd readflash tmpdata 999999999 0 reservearea
2. echo -n '0' | dd of=./tmpdata bs=1 count=1 seek=397311 conv=notrunc
3. mtd write -f -e reservearea ./tmpdata reservearea
4. reboot
WARNING: While you can install with SSH alone, you need serial to use
OpenWrt on EcoNet devices because the Ethernet driver has not yet been
developed.
Signed-off-by: Caleb James DeLisle <cjd at cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/20580
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
target/linux/econet/base-files/sbin/en75_chboot | 8 +++
.../linux/econet/dts/en751221_zyxel_pmg5617ga.dts | 82 ++++++++++++++++++++++
target/linux/econet/image/en751221.mk | 10 +++
3 files changed, 100 insertions(+)
diff --git a/target/linux/econet/base-files/sbin/en75_chboot b/target/linux/econet/base-files/sbin/en75_chboot
index 0d5cc6239f..ec95596bda 100755
--- a/target/linux/econet/base-files/sbin/en75_chboot
+++ b/target/linux/econet/base-files/sbin/en75_chboot
@@ -124,6 +124,14 @@ main() {
code_offset=0
code_openwrt=30000000
code_factory=31000000
+ elif [ "$machine" = "Zyxel PMG5617GA" ]; then
+ # 00060fff
+ part=$(part_named '"reservearea"')
+ offset_blocks=3
+ block_size=$((1024 * 128))
+ code_offset=4095
+ code_openwrt=30
+ code_factory=31
else
echo "Unsupported machine: $machine"
exit 1
diff --git a/target/linux/econet/dts/en751221_zyxel_pmg5617ga.dts b/target/linux/econet/dts/en751221_zyxel_pmg5617ga.dts
new file mode 100644
index 0000000000..12f9c61ef9
--- /dev/null
+++ b/target/linux/econet/dts/en751221_zyxel_pmg5617ga.dts
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/dts-v1/;
+
+#include "en751221.dtsi"
+
+/ {
+ model = "Zyxel PMG5617GA";
+ compatible = "tplink,zyxel-pmg5617ga", "econet,en751221";
+
+ memory at 0 {
+ device_type = "memory";
+ reg = <0x00000000 0x8000000>;
+ };
+
+ chosen {
+ stdout-path = "/serial at 1fbf0000:115200";
+ linux,usable-memory-range = <0x00020000 0x07fe0000>;
+ };
+};
+
+&nand {
+ status = "okay";
+ econet,bmt;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition at 0 {
+ label = "bootloader";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ partition at 40000 {
+ label = "romfile";
+ reg = <0x40000 0x40000>;
+ read-only;
+ };
+
+ partition at 80000 {
+ label = "tclinux";
+ reg = <0x80000 0x3800000>;
+ read-only;
+ econet,enable-remap;
+ };
+
+ /* Nested inside of tclinux */
+ partition at 480000 {
+ label = "rootfs";
+ reg = <0x480000 0x3400000>;
+ linux,rootfs;
+ read-only;
+ };
+
+ partition at 3880000 {
+ label = "tclinux_alt";
+ reg = <0x3880000 0x0036c0000>;
+ };
+
+ partition at 6f40000 {
+ label = "wwan";
+ reg = <0x006f40000 0x000100000>;
+ };
+
+ partition at 7040000 {
+ label = "factory_data";
+ reg = <0x007040000 0x000400000>;
+ };
+
+ partition at 7440000 {
+ label = "rom-d";
+ reg = <0x007440000 0x000100000>;
+ };
+
+ partition at 7540000 {
+ label = "reservearea";
+ reg = <0x007540000 0x000080000>;
+ };
+ };
+};
diff --git a/target/linux/econet/image/en751221.mk b/target/linux/econet/image/en751221.mk
index 715687e0c2..16154b3fc0 100644
--- a/target/linux/econet/image/en751221.mk
+++ b/target/linux/econet/image/en751221.mk
@@ -44,3 +44,13 @@ define Device/tplink_archer-vr1200v-v2
tplink-v2-header -R 0x400000
endef
TARGET_DEVICES += tplink_archer-vr1200v-v2
+
+define Device/zyxel_pmg5617ga
+ DEVICE_VENDOR := Zyxel
+ DEVICE_MODEL := PMG5617GA
+ DEVICE_DTS := en751221_zyxel_pmg5617ga
+ IMAGES := tclinux.trx
+ IMAGE/tclinux.trx := append-kernel | lzma | tclinux-trx
+ DEVICE_PACKAGES := kmod-usb3
+endef
+TARGET_DEVICES += zyxel_pmg5617ga
More information about the lede-commits
mailing list