OpenWrt support for Reyee AX3200 E5?

here is some info i have been able to gather on this.

FCC-ID: 2AX5J-E5 (https://fcc.report/FCC-ID/2AX5J-E5)
Internals: https://fcc.report/FCC-ID/2AX5J-E5/5462052.pdf

RAM: MT5CC128M16JR-EK (256MB)
FLASH: ???
CPU: MT7622BV
RF1: MT7915AN
RF2: MY7975AN
SWITCH: MT7531BE

strangely i have not see a flash memory chip.

it looks like both Linksys E8450 and Xiaomi Mi Router Redmi AX6S (AX3200) have simular specs and both have support already.

Flash chip is on the back and looks like WSOIC-8 SPI flash (could be SPI-NOR or SPI-NAND). Luckily they used that (and not the parallel NAND which has traces but isn't unpopulated...), so we have all options even to replace the entire bootchain quite easily.

2.4 GHz WiFi looks like directly connected to MT7622BV SoC, so it's the MT7615-like 4T4R WiFi 5 built-into MT7622 just like on Linksys E8450/Belkin RT3200 and Xiaomi Redmi AX6S.

The combination of MT7915AN+MT7975AN is for 5 GHz.

So yes, also using MT7531 switch makes it very similar to other existing MT7622 devices, hence it should be possible to port ARM Trusted Firmware, U-Boot and OpenWrt/Linux only by inspection of a complete bootlog captured from the serial console.

1 Like

i will try to get a full serial bootlog once i get home later today. i also will look into it more and post my own pics of the internals as when i was in it yesterday it looked like i had a diferent rev board.

all the internals on my unit match the fcc pictures, the shields are differant and i have not had a change to look at the back.

ive gotten a full bootup serial log. baudrate was 115200

The only difference ive seen on the board is the RF shielding and some antenna wires have been directly soldered to the board.

After digger into it further it looks like there is already support for it under a different brand name. https://openwrt.org/toh/hwdata/ruijie/ruijie_rg-ew3200gx_pro

sadly there does not apper to be a way to frash it from the stock firmware web-ui

@daniel something is not quite right here, ive been trying all night trying to get eveything working, https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=ce8a33b021a703b1933f627835f6cdc88c0ecdd3 is not working for my router. i have confirmed that the fcc-id is exactly the same so i know they are the same router. posting this here in the case that im wrong and others are looking for a solution. at the moment im thinking there is only 2 options here.

  1. the RG-EW3200GX PRO is NOT the same as reyee ax3200 E5
  2. there is some kind of newer software on the reyee ax3200 E5 that is causing systemupgrade to not work correctly.

i can flash both the snapshot kernel and stable with out any issues, the issue arises when trying to flash the sysupgrade.

Probably the partition layout is slightly different from the RG-EW3200GX PRO board. Dumping the environment of the stock bootloader should tell you about the relevant parts, ie. where U-Boot wants to load the uImage containing OpenWrt kernel.
So to try you can modify the partition layout in mt7622-ruijie-rg-ew3200gx-pro.dts and try matching the start of the firmware partition with the what U-Boot tries to load the kernel from.

unfortunately im not quite sure how to go about doing that

Start with sharing the U-Boot environment as found on the device. Ie. connect serial console, interrupt the boot and type printenv. Or try dumping it from the flash whilst running the stock firmware.

output of printenv within the u-boot console: https://pastebin.com/vzXDaRWw

So this very much looks like what we are looking for:

boot_rd_img=snor read ${loadaddr} 0xF0000 2000;image_blks 1;snor read ${loadaddr} 0xF0000 ${img_align_size}

Ie. U-Boot expects the firmware partition to start at 0xF0000 which matches the bootlog of the vendor firmware you shared in an earlier post:

[    1.223521] Creating 8 MTD partitions on "mtk_nor":
[    1.228399] 0x000000000000-0x000000020000 : "Preloader"
[    1.234101] 0x000000020000-0x000000030000 : "ATF"
[    1.239225] 0x000000030000-0x000000080000 : "u-boot"
[    1.244599] 0x000000080000-0x000000090000 : "u-boot-env"
[    1.250331] 0x000000090000-0x0000000d0000 : "Factory"
[    1.255828] 0x0000000d0000-0x0000000e0000 : "product_info"
[    1.261752] 0x0000000e0000-0x0000000f0000 : "kdump"
[    1.267049] 0x0000000f0000-0x000001000000 : "firmware"

However, it doesn't match the partition layout defined in mt7622-ruijie-rg-ew3200gx-pro.dts:

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        partition@0 {
                                label = "Preloader";
                                reg = <0x0 0x40000>;
                                read-only;
                        };

                        partition@40000 {
                                label = "ATF";
                                reg = <0x40000 0x20000>;
                                read-only;
                        };

                        partition@60000 {
                                label = "u-boot";
                                reg = <0x60000 0x50000>;
                                read-only;
                        };

                        partition@B0000 {
                                label = "u-boot-env";
                                reg = <0xb0000 0x20000>;
                        };

                        factory: partition@D0000 {
                                label = "Factory";
                                reg = <0xd0000 0x80000>;
                                read-only;
                        };

                        partition@150000 {
                                label = "product_info";
                                reg = <0x150000 0x10000>;
                                read-only;
                        };

                        partition@160000 {
                                label = "kdump";
                                reg = <0x160000 0x10000>;
                                read-only;
                        };

                        partition@170000 {
                                compatible = "denx,fit";
                                label = "firmware";
                                reg = <0x170000 0xe90000>;
                        };
                };

Ie. change the partitions defined in the mt7622-ruijie-rg-ew3200gx-pro.dts so it is in sync with the vendor firmware.

If that works, I'd suggest to create a dtsi file covering everything but the flash layout which can then be used by both, ruijie-rg-ew3200gx-pro as well as the to-be-created reyee-ax3200-e5.

i have gone ahead and created a pull request to add support. i really hope ive done it right as this is my first time working with this project.

1 Like

6 posts were split to a new topic: RG-EW3200GX PRO does not boot after flashing OpenWrt

5 posts were split to a new topic: Mesh with Reyee + OpenWrt

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.