Adding OpenWrt support for Zyxel EX5601-T0

Thanks I got one last week. Really great pickup. It's like a $50 GL-MT6000!

Hey folks - I have a T0 and have been following the HACKGPON guide with the details from the commit, have downgraded to V5.70(ACDZ.0)C0 on both UBI & UBI2.

When I try to flash 23.05.5 (or snapshot) onto ubi I get the following on boot:



F0: 102B 0000

FA: 1040 0000

FA: 1040 0000 [0200]

F9: 0000 0000

V0: 0000 0000 [0001]

00: 0000 0000

BP: 2400 0041 [0000]

G0: 1190 0000

EC: 0000 0000 [1000]

T0: 0000 0228 [010F]

Jump to BL


NOTICE:  BL2: v2.6(release):60040783
NOTICE:  BL2: Built : 13:14:59, Jul 28 2023
NOTICE:  WDT: disabled
NOTICE:  CPU: MT7986 (2002MHz)
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 1024MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0x2c
NOTICE:  Page size 4096, Block size 262144, size 536870912
NOTICE:  Initializing NMBM …
NOTICE:  Signature found at block 2047 [0x1ffc0000]
NOTICE:  First info table with writecount 0 found in block 1920
NOTICE:  Second info table with writecount 0 found in block 1923
NOTICE:  NMBM has been successfully attached in read-only mode
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.6(release):60040783
NOTICE:  BL31: Built : 13:15:01, Jul 28 2023


U-Boot 2022.01-rc4 (Jul 28 2023 - 13:14:21 +0800)

CPU:   MediaTek MT7986
Model: ZYXEL EX5601-T0
DRAM:  1 GiB

Initializing NMBM …
spi-nand: spi_nand spi_nand@1: Micron SPI NAND was found.
spi-nand: spi_nand spi_nand@1: 512 MiB, block size: 256 KiB, page size: 4096, OOB size: 256
Could not find a valid device for nmbm0
Signature found at block 2047 [0x1ffc0000]
First info table with writecount 0 found in block 1920
Second info table with writecount 0 found in block 1923
NMBM has been successfully attached 

MMC:   mmc@11230000: 0
Loading Environment from MTD… OK
In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
Net:   eth0: ethernet@15100000
Reading 262144 byte(s) at offset 0x00000000
## Booting kernel from Legacy Image at 46000000 …
   Image Name:   zld-2.6 07/28/2023 13:14:55
   Image Type:   AArch64 U-Boot Standalone Program (gzip compressed)
   Data Size:    22385 Bytes = 21.9 KiB
   Load Address: 41e00200
   Entry Point:  41e003f4
   Verifying Checksum … OK
   Uncompressing Standalone Program


ZYXEL zloader v2.6.9 (07/28/2023 - 13:14:55)
ubi0: attaching mtd7
ubi0: scanning is finished
ubi0: attached mtd7 (name “ubi”, size 64 MiB)
ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
ubi0: good PEBs: 256, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 7/5, WL threshold: 4096, image sequence number: 1672023336
ubi0: available PEBs: 0, total reserved PEBs: 256, PEBs reserved for bad PEB handling: 38
Reading from volume ‘zyfwinfo’ to 0x7f7feee0, size 0x100 … OK
ubi0: detaching mtd7
ubi0: mtd7 is detached
ubi0: attaching mtd8
ubi0: scanning is finished
ubi0: attached mtd8 (name “ubi2”, size 64 MiB)
ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
ubi0: good PEBs: 256, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 5, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 8/3, WL threshold: 4096, image sequence number: 0
ubi0: available PEBs: 0, total reserved PEBs: 256, PEBs reserved for bad PEB handling: 38
Reading from volume ‘zyfwinfo’ to 0x7f7fefe0, size 0x100 … OK
ubi0: detaching mtd8
ubi0: mtd8 is detached
Current bootflag is 0
BOARD_DETECT_BY_GPIO=>result=0
ubi0: attaching mtd7
ubi0: scanning is finished
ubi0: attached mtd7 (name “ubi”, size 64 MiB)
ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
ubi0: good PEBs: 256, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 7/5, WL threshold: 4096, image sequence number: 1672023336
ubi0: available PEBs: 0, total reserved PEBs: 256, PEBs reserved for bad PEB handling: 38
Reading from volume ‘zyfwinfo’ to 0x7fb46240, size 0x100 … OK
ubi0: detaching mtd7
ubi0: mtd7 is detached
Multiboot clinent version: 2.9

Hit any key to stop autoboot:  ... LOTS OF NUMBERS ...
ubi0: attaching mtd7
ubi0: scanning is finished
ubi0: attached mtd7 (name "ubi", size 64 MiB)
ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
ubi0: good PEBs: 256, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 7/5, WL threshold: 4096, image sequence number: 1672023336
ubi0: available PEBs: 0, total reserved PEBs: 256, PEBs reserved for bad PEB handling: 38
Reading from volume ‘kernel’ to 0x46000000, size 0x0 … OK
## Loading fdt from FIT Image at 46000000 …
   Using ‘config-1’ configuration
   Trying ‘fdt-1’ fdt subimage
     Description:  ARM64 OpenWrt zyxel_ex5601-t0-stock device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x46430af8
     Data Size:    25034 Bytes = 24.4 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   6df23993
     Hash algo:    sha1
     Hash value:   6271fc3056f5d12aea47e6483e3944849cb66204
   Verifying Hash Integrity … crc32+ sha1+ OK
ubi0: detaching mtd7
ubi0: mtd7 is detached
bootargs in fdt not found

!!! Fail to booting kernel !!!
Reset your board! system halt…

anyone have any tips on things to try?

nevermind - I used mtk_uartboot and was able to get it up and running

ok it seems this is the trickiest ever router to install openwrt on, lol :slight_smile:
looking at this to replace my brother's carrie router with another carrier router, but with openWRT.
Could you please confirm if this is still valid?

i'd be glad, at least at first, to install owrt without removing the UBI2 partition/firmware, how big is the single UBI partition? is this going to be a limit for packages installation?

Thanks

T-56 wiki page created, thank you for providing info on how to flash it, @bezeria!

https://openwrt.org/toh/zyxel/t-56

comments/updates are welcome.

8 Likes

Love the work people did on this device!
Can someone give a short review on stability/wifi speed/wireguard speed?

Thanks in advance!

Read A Wireguard comparison DB.

1 Like

Thanks for creating a T-56 page. The same install method also works on the EX5601 supplied by Hyperoptic (ISP) in the UK. Not sure if those ones are locked since I did not investigate the factory firmware when I flashed mine.

2 Likes

thanks, I'll add the UK ISP name to the wiki.

Great wiki, followed it worked great.
Quick speed test as AP similar internet speed as my WAX206. 930 Mbs, will do more test.

Perhaps you could split the uartboot commando in the wiki so it is more clear what you have to copy.

I also made a mistake with wrong file naming but that was personal error.

I made some photos and will add them later.

1 Like

not sure I understand what you mean, but if you got the access, feel free to change whatever you think is unclear.

as for the photos, I had them too, was also offered them by @hupakom, but if you got them, add them, I'm not doing it this week, because of a weekend trip.

2 Likes

great budget model. I haven't been this happy since I bought the Netgear R6220, also for a ridiculously small amount.

2 Likes

Anyone know the power usage on these? Idle / load

Hi all,
i just joined to share some info about these devices. I currently have 2 of these devices. In the Netherlands they are dirt cheap (<50euro) being sold on the second-hand website Marktplaats. The ISP Odido is using these devices for their product. Apparently many people don't use these routers and sell them. My first one i bought for 50euro, the second one for 30euro.

With the first EX5601-T1 i replaced my Zyxel WSM20 as the main router. The significant larger amount of memory allowed me to install Tailscale on it. I've installed Tailscale on my mobile phone and configured as "on demand". When i go outside Tailscale will automatically connect and on my phone all my self-hosted stuff is available, just as when i'm at-home. Having Tailscale on my router is convenient as it allows me to connect even in case of my homeserver is down or having connectivity issues.

The flashing of the firmware is do-able, but does takes some technical stuff and skills. My Linux laptop does not have any ethernet-port (only WiFi), so i had to resort to using an USB-ethernet-dongle.

One thing that tripped me up both times was forgetting to adding the -O parameter when copying files to the device (scp -O .... root@192.168.1.1:/tmp). The parameter ensure the use of the "Legacy SCP" protocol. Without that parameter it gave me an error about the sftp_server not being available on the device.

I also noticed the last time that i didn't had to enter the bootm command on the device. I do remember that i'd to do that the when flashing the first device.

Another thing that tripped me up was that i'd used the Openwrt-snapshot version, but that version is using apk in stead of opkg. And because of that i was unable to follow the instructions.

Another thing that tripped me up was that i was unable to connect with the device, but the network-connection had disconnected without me noticing.

Well that's it for now. Thanks to everybody who made it possible to using OpenWRT on these devices.

greetings...

2 Likes

Cool! The wiki page.
I wanted to add some of my smartness to that page. The first thing i noticed is that the page names the device "Zyxel T-56", but i think that is incorrent as the "T-56" is the name Odido gave to the device. The official name is Zyxel EX5601-T0/T1. I didn't want to do the renaming of the page as to not hijacking the page. I'll add more info later on.

You can buy the Odido version new for 30€, used ones should be less than 20.

2 Likes

It's not, the ones I bought were labeled Zyxel T-56, there was no EX5601 anywhere.
You can see it for yourself in the wiki.

And the easy EX5601 installation method doesn't work on the T-56, there's a reason why they should be kept apart.

The page shouldn't be renamed.

If you got the "real" EX5601, create a page for those.

As for the wiki page, you're welcome.

2 Likes

2 posts were split to a new topic: No internet access behind Ex5601-T0 router

Just ordered one of theses (the ODIDO T56 version).
How is WiFi coverage? And anyone has full PCB photos, kinda curious to see how the antennas look like.
I'm currently running openWrt on a Xiaomi AX6S, flashed back when a serial cable was needed, so I expect this one to not be too problematic to get up and running.

Finally, is there any tutorial on how to go from the stock layout to the openWRT u-boot layout?

Best regards.

Scroll back some 15 posts.

1 Like