Help to add Ruijie EW3000 to OpenWRT

Hi Everyone,

I messed my router thinking that OpenWRT for Ruijie EW3200 was going to work for my EW3000. I was wrong, the kernel doesn’t start.

Messing a little more I could add the following kernel ruijie_rg-x60-pro-initramfs-kernel.bin. The kernel now starts but it get stuck in a part:


F0: 102B 0000
FA: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 2400 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [0000]
T0: 0000 0229 [010F]
Jump to BL

NOTICE:  BL2: v2.7(release):c8d69b5e-dirty
NOTICE:  BL2: Built : 09:34:06, May 17 2024
NOTICE:  WDT: disabled
NOTICE:  EMI: Using DDR3 settings

dump toprgu registers data:
1001c000 | 00000000 0000ffe0 00000000 00000000
1001c010 | 00000fff 00000000 00f00000 00000000
1001c020 | 00000000 00000000 00000000 00000000
1001c030 | 003c0003 003c0003 00000000 00000000
1001c040 | 00000000 00000000 00000000 00000000
1001c050 | 00000000 00000000 00000000 00000000
1001c060 | 00000000 00000000 00000000 00000000
1001c070 | 00000000 00000000 00000000 00000000
1001c080 | 00000000 00000000 00000000 00000000

dump drm registers data:
1001d000 | 00000000 00000000 00000000 00000000
1001d010 | 00000000 00000000 00000000 00000000
1001d020 | 00000000 00000000 00000000 00000000
1001d030 | 00a083f1 000003ff 00100000 00000000
1001d040 | 00000000 00000000 00020303 000000ff
1001d050 | 00000000 00000000 00000000 00000000
1001d060 | 00000002 00000000 00000000 00000000
drm: 500 = 0x8
[DDR Reserve] ddr reserve mode not be enabled yet
DDR RESERVE Success 0
[EMI] ComboMCP not ready, using default setting
BYTE_swap:0
BYTE_swap:0
Window Sum 860, worse bit 7, min window 104
Window Sum 904, worse bit 8, min window 112
Window Sum 882, worse bit 2, min window 108
Window Sum 852, worse bit 9, min window 104
Window Sum 884, worse bit 6, min window 108
Window Sum 868, worse bit 9, min window 106
Window Sum 892, worse bit 3, min window 108
Window Sum 872, worse bit 14, min window 106
Window Sum 900, worse bit 5, min window 110
Window Sum 886, worse bit 15, min window 108
Window Sum 904, worse bit 2, min window 112
Window Sum 892, worse bit 13, min window 110
Window Sum 896, worse bit 9, min window 110
Window Sum 898, worse bit 15, min window 110
NOTICE:  EMI: Detected DRAM size: 256MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  CPU: MT7981 (1300MHz)
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.7(release):c8d69b5e-dirty
NOTICE:  BL31: Built : 09:34:12, May 17 2024
NOTICE:  Hello BL31!!!


U-Boot 2022.04-rc1 (May 17 2024 - 09:33:00 +0000)

CPU:   MediaTek MT7981
Model: mt7981-rfb
DRAM:  256 MiB
Core:  32 devices, 13 uclasses, devicetree: embed
ew3000a GPIO INIT..
Loading Environment from nowhere... OK
In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000


  *** U-Boot Boot Menu ***

     1. Startup system (Default)
     2. Upgrade firmware
     3. Upgrade ATF BL2
     4. Upgrade ATF FIP
     5. Upgrade single image
     6. Load image
     0. U-Boot console


  Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
















































SF: Detected en25qx128a with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Reading from 0x100000 to 0x46000000, size 0x100 ... OK
Reading from 0x100000 to 0x46000000, size 0x890548 ... OK
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.12.48
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    4572207 Bytes = 4.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48000000
     Entry Point:  0x48000000
     Hash algo:    crc32
     Hash value:   ee24a962
     Hash algo:    sha1
     Hash value:   e24087f93d45252708dbc6130100850148fce629
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'initrd-1' ramdisk subimage
     Description:  ARM64 OpenWrt ruijie_rg-x60-pro initrd
     Type:         RAMDisk Image
     Compression:  Unknown Compression
     Data Start:   0x4645c654
     Data Size:    4384336 Bytes = 4.2 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    crc32
     Hash value:   2dbd6c7c
     Hash algo:    sha1
     Hash value:   c0a9c4752f25a92ef082017cf125140439b1c5d3
   Verifying Hash Integrity ... crc32+ sha1+ OK
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt ruijie_rg-x60-pro device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x4688adb4
     Data Size:    21082 Bytes = 20.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   e27e4258
     Hash algo:    sha1
     Hash value:   e57e8268e7e5fcab86c33d8eba95125f8eb16402
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x4688adb4
   Uncompressing Kernel Image
   Loading Ramdisk to 4f3ca000, end 4f7f8650 ... OK
ERROR: reserving fdt memory region failed (addr=4fc00000 size=100000 flags=4)
ERROR: reserving fdt memory region failed (addr=4fd00000 size=40000 flags=4)
ERROR: reserving fdt memory region failed (addr=4fd40000 size=40000 flags=4)
ERROR: reserving fdt memory region failed (addr=4fd80000 size=240000 flags=4)
   Loading Device Tree to 000000004f3c1000, end 000000004f3c9259 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.12.48 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r31129-7cd10add2d) 14.3.0, GNU ld (GNU Binutils) 2.44) #0 SMP Sun Sep 21 13:49:15 2025
[    0.000000] Machine model: Ruijie RG-X60 Pro
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
[    0.000000] printk: legacy bootconsole [uart8250] enabled
[    0.000000] OF: reserved mem: 0x0000000042ff0000..0x0000000042ffffff (64 KiB) map non-reusable ramoops@42ff0000
[    0.000000] OF: reserved mem: 0x0000000043000000..0x000000004303ffff (256 KiB) nomap non-reusable secmon@43000000
[    0.000000] OF: reserved mem: 0x000000004fc00000..0x000000004fcfffff (1024 KiB) nomap non-reusable wmcpu-reserved@4fc00000
[    0.000000] OF: reserved mem: 0x000000004fd00000..0x000000004fd3ffff (256 KiB) nomap non-reusable wo-emi@4fd00000
[    0.000000] OF: reserved mem: 0x000000004fd40000..0x000000004fd7ffff (256 KiB) nomap non-reusable wo-emi@4fd40000
[    0.000000] OF: reserved mem: 0x000000004fd80000..0x000000004ffbffff (2304 KiB) nomap non-reusable wo-data@4fd80000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000004fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004303ffff]
[    0.000000]   node   0: [mem 0x0000000043040000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x000000004fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000004fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s42584 r8192 d31144 u81920
[    0.000000] pcpu-alloc: s42584 r8192 d31144 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x11002000
[    0.000000] Dentry cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 65536
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 0MB
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: SWIOTLB bounce buffer size roundup to 1MB
[    0.000000] software IO TLB: mapped [mem 0x000000004f9e4000-0x000000004fae4000] (1MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=0
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.008140] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.018551] pid_max: default: 32768 minimum: 301
[    0.026186] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.033455] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.043365] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.050332] rcu: Hierarchical SRCU implementation.
[    0.055152] rcu:     Max phase no-delay instances is 1000.
[    0.060621] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.069056] smp: Bringing up secondary CPUs ...
[    0.073993] Detected VIPT I-cache on CPU1
[    0.074044] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.074074] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.074497] psci: failed to boot CPU2 (-22)
[    0.096202] CPU2: failed to boot: -22
[    0.100221] psci: failed to boot CPU3 (-22)
[    0.104425] CPU3: failed to boot: -22
[    0.108129] smp: Brought up 1 node, 2 CPUs
[    0.112241] SMP: Total of 2 processors activated.
[    0.116963] CPU: All CPU(s) started at EL2
[    0.121078] CPU features: detected: 32-bit EL0 Support
[    0.126239] CPU features: detected: CRC32 instructions
[    0.131432] alternatives: applying system-wide alternatives
[    0.137164] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.145704] Memory: 231316K/262144K available (9472K kernel code, 982K rwdata, 2796K rodata, 448K init, 314K bss, 29072K reserved, 0K cma-reserved)
[    0.162082] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.171998] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.178976] 29232 pages in range for non-PLT usage
[    0.178980] 520752 pages in range for PLT usage
[    0.185291] pinctrl core: initialized pinctrl subsystem
[    0.197453] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.203747] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.210883] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.218681] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.227014] thermal_sys: Registered thermal governor 'fair_share'
[    0.227020] thermal_sys: Registered thermal governor 'bang_bang'
[    0.233141] thermal_sys: Registered thermal governor 'step_wise'
[    0.239184] thermal_sys: Registered thermal governor 'user_space'
[    0.245288] ASID allocator initialised with 65536 entries
[    0.257816] pstore: Using crash dump compression: deflate
[    0.263271] pstore: Registered ramoops as persistent store backend
[    0.269478] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.275862] /soc/interrupt-controller@c000000: Fixed dependency cycle(s) with /soc/interrupt-controller@c000000
[    0.302517] cryptd: max_cpu_qlen set to 1000
[    0.308068] SCSI subsystem initialized
[    0.311992] libata version 3.00 loaded.
[    0.317673] clocksource: Switched to clocksource arch_sys_counter
[    0.326116] NET: Registered PF_INET protocol family
[    0.331163] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.339774] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.348214] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.356000] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.363803] TCP bind hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.371026] TCP: Hash tables configured (established 2048 bind 2048)
[    0.377727] MPTCP token hash table entries: 256 (order: 0, 6144 bytes, linear)
[    0.385081] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.391658] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.398867] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.404572] PCI: CLS 0 bytes, default 64
[    0.408741] Unpacking initramfs...
[    0.419907] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[    0.431689] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.437566] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.503546] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.516213] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.525697] printk: legacy console [ttyS0] disabled
[    0.551049] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 116, base_baud = 2500000) is a ST16650V2
[    0.560379] printk: legacy console [ttyS0] enabled
[    0.560379] printk: legacy console [ttyS0] enabled
[    0.569983] printk: legacy bootconsole [uart8250] disabled
[    0.569983] printk: legacy bootconsole [uart8250] disabled
[    0.587060] loop: module loaded
[    0.592879] spi-nand spi0.0: unknown raw ID 0000000000
[    0.598049] spi-nand spi0.0: probe with driver spi-nand failed with error -95
[    0.729044] mtk_soc_eth 15100000.ethernet: generated random MAC address 20:08:02:00:00:00
[    0.737258] mtk_soc_eth 15100000.ethernet: generated random MAC address 20:08:02:00:00:00
[    0.972298] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc085980000, irq 120
[    0.982357] mtk_soc_eth 15100000.ethernet eth1: mediatek fram
[    0.993908] i2c_dev: i2c /dev entries driver
[    0.998571] mtk-thermal 1100c800.thermal: Device not calibrated, using defaul
[    1.008637] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowa
[    1.017817] NET: Registered PF_INET6 protocol family
[    1.025465] Segment Routing with IPv6
[    1.029224] In-situ OAM (IOAM) with IPv6
[    1.033217] NET: Registered PF_PACKET protocol family
[    1.038330] bridge: filtering via arp/ip/ip6tables is no longer available by
[    1.051967] 8021q: 802.1Q VLAN Support v1.8
[    1.740027] Freeing initrd memory: 4280K
[    1.811091] mt7530-mdio mdio-bus:1f: configuring for fixed/2500base-x link mo
[    1.820120] mt7530-mdio mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control
[    1.829833] MediaTek MT7531 PHY mt7530-0:00: Configure LED registers (num=14)
[    1.844376] mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:00] d
[    1.865385] MediaTek MT7531 PHY mt7530-0:01: Configure LED registers (num=14)
[    1.879948] mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:01] d
[    1.900728] MediaTek MT7531 PHY mt7530-0:02: Configure LED registers (num=14)
[    1.915296] mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:02] d
[    1.936068] MediaTek MT7531 PHY mt7530-0:03: Configure LED registers (num=14)
[    1.950637] mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:03] d
[    1.962229] mtk_soc_eth 15100000.ethernet eth0: entered promiscuous mode
[    1.968990] DSA: tree 0 setup
[    1.972270] clk: Disabling unused clocks

And it is stuck there.

I wanted to return to the stock firmware, but I cannot access the ethernet (no communication between my laptop and the router) for tftp

Is there any way I could receive some help?

Please use the "Preformatted text </>" button for logs, scripts, configs and general console output.
grafik
Please edit your post accordingly. Thank you! :slight_smile:

1 Like

Let me run the console again and I’ll paste it