summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaleb James DeLisle2025-10-28 18:15:33 +0000
committerHauke Mehrtens2025-11-24 23:50:54 +0000
commit31f5fc8fea89ab3ac73445412fee82569bf08d3d (patch)
tree5dd185795d8646521ea0660fb475cd4b1ca9e5df
parent8d8990a07eae43ee541d135b1c2204295a7cb7fd (diff)
downloadopenwrt-31f5fc8fea89ab3ac73445412fee82569bf08d3d.tar.gz
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@cjdns.fr> Link: https://github.com/openwrt/openwrt/pull/20580 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rwxr-xr-xtarget/linux/econet/base-files/sbin/en75_chboot8
-rw-r--r--target/linux/econet/dts/en751221_zyxel_pmg5617ga.dts82
-rw-r--r--target/linux/econet/image/en751221.mk10
3 files changed, 100 insertions, 0 deletions
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@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x8000000>;
+ };
+
+ chosen {
+ stdout-path = "/serial@1fbf0000:115200";
+ linux,usable-memory-range = <0x00020000 0x07fe0000>;
+ };
+};
+
+&nand {
+ status = "okay";
+ econet,bmt;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "bootloader";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "romfile";
+ reg = <0x40000 0x40000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "tclinux";
+ reg = <0x80000 0x3800000>;
+ read-only;
+ econet,enable-remap;
+ };
+
+ /* Nested inside of tclinux */
+ partition@480000 {
+ label = "rootfs";
+ reg = <0x480000 0x3400000>;
+ linux,rootfs;
+ read-only;
+ };
+
+ partition@3880000 {
+ label = "tclinux_alt";
+ reg = <0x3880000 0x0036c0000>;
+ };
+
+ partition@6f40000 {
+ label = "wwan";
+ reg = <0x006f40000 0x000100000>;
+ };
+
+ partition@7040000 {
+ label = "factory_data";
+ reg = <0x007040000 0x000400000>;
+ };
+
+ partition@7440000 {
+ label = "rom-d";
+ reg = <0x007440000 0x000100000>;
+ };
+
+ partition@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