diff options
| author | Caleb James DeLisle | 2025-10-28 18:15:33 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2025-11-24 23:50:54 +0000 |
| commit | 31f5fc8fea89ab3ac73445412fee82569bf08d3d (patch) | |
| tree | 5dd185795d8646521ea0660fb475cd4b1ca9e5df | |
| parent | 8d8990a07eae43ee541d135b1c2204295a7cb7fd (diff) | |
| download | openwrt-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-x | target/linux/econet/base-files/sbin/en75_chboot | 8 | ||||
| -rw-r--r-- | target/linux/econet/dts/en751221_zyxel_pmg5617ga.dts | 82 | ||||
| -rw-r--r-- | target/linux/econet/image/en751221.mk | 10 |
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 |