D-Link DIR-2150 A1 , OpenWRT Safe Mode every time

I'm not very new to OpenWRT but I haven't gone into much depth yet.
I am currently dealing with this DIR-2150 A1

  • In repair mode, it only accepted the OpenWRT Kernel BIN, the Factory File, it never accepted it and I tried all , explorer, opera, etc.
  • Once the OpenWRT kernel was installed, I was in safe mode, so I installed the sysupgrade.bin firmware, but the changes never worked.
  • I already tried to upgrade from SSH but it is still in Safe mode.
  • I'm currently reviewing the documentation for how to do it from USB to TTL. I'm ready to install the firmware, and I've received a response from the router. But I have no idea what to do next.
  • I don't know anything about commands from here to flash directly from TTL, I looked for documentation but I'm not an expert and it's very confusing, plus English is not my native language.

Could someone advise me or help me with some sequences to continue? Thank you in advance for your time.

I share my log for any details.:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2025.05.20 01:58:17 =~=~=~=~=~=~=~=~=~=~=~=
ss›s³sãW3zò.......................................................OK

..Erasing NAND Flash...

ranand_erase: start:80000, len:20000 

.Writing to NAND Flash...

done

Image2 Data Checksum --> ...................................................................................................................OK

Image1 Stable Flag --> Stable

Image1 Try Counter --> 0


Image1: OK Image2: OK


=================================================


Please choose the operation: 

   1: Load system code to SDRAM via TFTP. 

   2: Load system code then write to Flash via TFTP. 

   3: Boot system code via Flash (default).

   4: Entr boot command line interface.

   6: System Enter UBoot to Update Img. 

   7: Load Boot Loader code then write to Flash via Serial. 

   9: Load Boot Loader code then write to Flash via TFTP. 

default: 3



You choosed 3


 0 

   

3: System Boot system code via Flash.

## Booting image at bc180000 ...

   Image Name:   MIPS OpenWrt Linux-6.6.86

   Image Type:   MIPS Linux Kernel Image (lzma compressed)

   Data Size:    7509215 Bytes =  7.2 MB

   Load Address: 80001000

   Entry Point:  80001000

...................................................................................................................   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

No initrd

## Transferring control to Linux (at address 80001000) ...

## Giving linux memsize in MB, 128


Starting kernel ...


[    0.000000] Linux version 6.6.86 (builder@buildhost) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28597-0425664679) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Sun Apr 13 16:38:32 2025
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] MIPS: machine is D-Link DIR-2150 A1
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s19136 r8192 d21824 u49152
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00040810
[    0.000000] Readback ErrCtl register=00040810
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 113832K/131072K available (8369K kernel code, 651K rwdata, 1020K rodata, 5436K init, 229K bss, 17240K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, 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] NR_IRQS: 256
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
[    0.000004] sched_clock: 64 bits at 880MHz, resolution 1ns, wraps every 4398046511103ns
[    0.016060] Calibrating delay loop... 586.13 BogoMIPS (lpj=2930688)
[    0.088320] pid_max: default: 32768 minimum: 301
[    0.106235] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.120652] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.144770] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.163648] rcu: Hierarchical SRCU implementation.
[    0.173021] rcu: 	Max phase no-delay instances is 1000.
[    0.184225] smp: Bringing up secondary CPUs ...
[    0.194077] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.194105] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.194120] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.194168] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.253692] Synchronize counters for CPU 1: done.
[    0.315399] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.315421] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.315433] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.315463] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.374647] Synchronize counters for CPU 2: done.
[    0.435090] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.435112] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.435124] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.435158] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.494239] Synchronize counters for CPU 3: done.
[    0.553845] smp: Brought up 1 node, 4 CPUs
[    0.568882] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.588381] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.605962] pinctrl core: initialized pinctrl subsystem
[    0.619205] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.631687] thermal_sys: Registered thermal governor 'step_wise'
[    0.633415] /pinctrl: Fixed dependency cycle(s) with /pinctrl/pinctrl0
[    0.673654] clocksource: Switched to clocksource GIC
[    0.693332] NET: Registered PF_INET protocol family
[    0.703164] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.718959] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.735486] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.750851] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.766058] TCP bind hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.780275] TCP: Hash tables configured (established 1024 bind 1024)
[    0.793883] MPTCP token hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.808474] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.821362] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.836135] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.847351] PCI: CLS 0 bytes, default 32
[    0.859855] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.874598] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.886111] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.911828] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    1.355643] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    1.367257] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    1.378906] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    1.390685] mt7621-pci 1e140000.pcie: host bridge /pcie@1e140000 ranges:
[    1.403934] mt7621-pci 1e140000.pcie:   No bus range found for /pcie@1e140000, using [bus 00-ff]
[    1.421396] mt7621-pci 1e140000.pcie:      MEM 0x0060000000..0x006fffffff -> 0x0060000000
[    1.437626] mt7621-pci 1e140000.pcie:       IO 0x001e160000..0x001e16ffff -> 0x0000000000
[    1.813659] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[    1.827439] mt7621-pci 1e140000.pcie: PCIE0 enabled
[    1.837092] mt7621-pci 1e140000.pcie: PCIE1 enabled
[    1.846956] PCI coherence region base: 0x60000000, mask/settings: 0xf0000002
[    1.861046] mt7621-pci 1e140000.pcie: PCI host bridge to bus 0000:00
[    1.873576] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.884448] pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff]
[    1.898102] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.910420] pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400
[    1.922312] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    1.934752] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    1.947248] pci 0000:00:00.0: supports D1
[    1.955126] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.967391] pci 0000:00:01.0: [0e8d:0801] type 01 class 0x060400
[    1.979281] pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    1.991690] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    2.004222] pci 0000:00:01.0: supports D1
[    2.012056] pci 0000:00:01.0: PME# supported from D0 D1 D3hot
[    2.025706] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.041542] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.057859] pci 0000:01:00.0: [14c3:7603] type 00 class 0x028000
[    2.069757] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    2.082297] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    2.094681] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    2.104980] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    2.117066] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff]
[    2.130550] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff pref]
[    2.144911] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    2.158435] pci 0000:02:00.0: [14c3:7615] type 00 class 0x000280
[    2.170318] pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    2.183982] pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:01.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    2.213840] pci 0000:00:01.0: PCI bridge to [bus 02-ff]
[    2.224149] pci 0000:00:01.0:   bridge window [io  0x0000-0x0fff]
[    2.236233] pci 0000:00:01.0:   bridge window [mem 0x00000000-0x000fffff]
[    2.249716] pci 0000:00:01.0:   bridge window [mem 0x00000000-0x000fffff pref]
[    2.264056] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    2.277308] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    2.290347] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    2.304194] pci 0000:00:01.0: BAR 0: no space for [mem size 0x80000000]
[    2.317304] pci 0000:00:01.0: BAR 0: failed to assign [mem size 0x80000000]
[    2.331134] pci 0000:00:00.0: BAR 8: assigned [mem 0x60000000-0x600fffff]
[    2.344622] pci 0000:00:00.0: BAR 9: assigned [mem 0x60100000-0x601fffff pref]
[    2.359034] pci 0000:00:01.0: BAR 8: assigned [mem 0x60200000-0x602fffff]
[    2.372472] pci 0000:00:01.0: BAR 9: assigned [mem 0x60300000-0x603fffff pref]
[    2.386795] pci 0000:00:00.0: BAR 1: assigned [mem 0x60400000-0x6040ffff]
[    2.400294] pci 0000:00:01.0: BAR 1: assigned [mem 0x60410000-0x6041ffff]
[    2.413755] pci 0000:00:00.0: BAR 7: assigned [io  0x0000-0x0fff]
[    2.425859] pci 0000:00:01.0: BAR 7: assigned [io  0x1000-0x1fff]
[    2.437964] pci 0000:01:00.0: BAR 0: assigned [mem 0x60000000-0x600fffff]
[    2.451418] pci 0000:00:00.0: PCI bridge to [bus 01]
[    2.461265] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    2.473356] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x600fffff]
[    2.486848] pci 0000:00:00.0:   bridge window [mem 0x60100000-0x601fffff pref]
[    2.501204] pci 0000:02:00.0: BAR 0: assigned [mem 0x60200000-0x602fffff 64bit]
[    2.515717] pci 0000:00:01.0: PCI bridge to [bus 02]
[    2.525540] pci 0000:00:01.0:   bridge window [io  0x1000-0x1fff]
[    2.537645] pci 0000:00:01.0:   bridge window [mem 0x60200000-0x602fffff]
[    2.551127] pci 0000:00:01.0:   bridge window [mem 0x60300000-0x603fffff pref]
[    2.567054] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    2.588196] printk: console [ttyS0] disabled
[    2.597541] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 18, base_baud = 3125000) is a 16550A
[    2.615515] printk: console [ttyS0] enabled
[    2.615515] printk: console [ttyS0] enabled
[    2.632028] printk: bootconsole [early0] disabled
[    2.632028] printk: bootconsole [early0] disabled
[    2.692733] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xf1
[    2.705550] nand: Winbond W29N01HV
[    2.712337] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    2.727423] mt7621-nand 1e003000.nand: ECC strength adjusted to 4 bits
[    2.740560] 9 fixed-partitions partitions found on MTD device mt7621-nand
[    2.754493] Creating 9 MTD partitions on "mt7621-nand":
[    2.764946] 0x000000000000-0x000000080000 : "Bootloader"
[    2.779137] 0x000000080000-0x000000100000 : "config"
[    2.791918] 0x000000100000-0x000000140000 : "factory"
[    2.804502] 0x000000140000-0x000000180000 : "config2"
[    2.816737] 0x000000180000-0x000002980000 : "firmware"
[    3.207687] 0x000002980000-0x000004980000 : "private"
[    3.332617] 0x000004980000-0x000007180000 : "firmware2"
[    3.489910] 0x000007180000-0x000007780000 : "mydlink"
[    3.522427] 0x000007780000-0x000008000000 : "reserved"
[    3.717528] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    3.739326] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 19
[    3.759065] mtk_soc_eth 1e100000.ethernet eth1: mediatek frame engine at 0xbe100000, irq 19
[    3.777549] i2c_dev: i2c /dev entries driver
[    3.789848] NET: Registered PF_INET6 protocol family
[    3.802968] Segment Routing with IPv6
[    3.810400] In-situ OAM (IOAM) with IPv6
[    3.818387] NET: Registered PF_PACKET protocol family
[    3.828556] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.855346] 8021q: 802.1Q VLAN Support v1.8
[    3.890575] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    6.327924] mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode
[    6.342988] mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7530 PHY] (irq=21)
[    6.366038] mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx
[    6.382322] mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7530 PHY] (irq=22)
[    6.405655] mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7530 PHY] (irq=23)
[    6.429206] mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7530 PHY] (irq=24)
[    6.452244] mtk_soc_eth 1e100000.ethernet eth0: entered promiscuous mode
[    6.465808] DSA: tree 0 setup
[    6.472831] clk: Disabling unused clocks
[    6.501022] Freeing unused kernel image (initmem) memory: 5436K
[    6.512884] This architecture does not have kernel memory protection.
[    6.525728] Run /init as init process
[    7.159796] init: Console is alive
[    7.167930] init: - watchdog -
[    7.189018] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.205302] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    7.225266] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.246589] init: - preinit -
[    7.466980] mtk_soc_eth 1e100000.ethernet wan: renamed from eth1
[    8.963707] random: crng init done
[    9.387231] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[    9.407755] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode
[    9.421930] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   13.770496] procd: - early -
[   13.776506] procd: - watchdog -
[   14.352820] procd: - watchdog -
[   14.359549] procd: - ubus -
[   14.520296] procd: - init -
Please press Enter to activate this console.
[   14.937410] kmodloader: loading kernel modules from /etc/modules.d/*
[   14.964583] mtk-eip93 1e004000.crypto: EIP93 Crypto Engine Initialized.
[   15.332999] jitterentropy: Initialization failed with host not compliant with requirements: 9
[   15.443519] Loading modules backported from Linux version v6.12.6-0-ge9d65b48ce1a
[   15.458486] Backport generated by backports.git v6.1.110-1-35-g410656ef04d2
[   15.539205] pci 0000:00:00.0: enabling device (0000 -> 0003)
[   15.550558] mt7603e 0000:01:00.0: enabling device (0000 -> 0002)
[   15.562746] mt7603e 0000:01:00.0: ASIC revision: 76030010
[   15.581994] mt7603e 0000:01:00.0: Firmware Version: ap_pcie
[   15.593177] mt7603e 0000:01:00.0: Build Time: 20160107100755
[   15.643657] mt7603e 0000:01:00.0: firmware init done
[   15.821956] mt7603e 0000:01:00.0: registering led 'mt76-phy0'
[   15.928885] pci 0000:00:01.0: enabling device (0000 -> 0003)
[   15.940289] mt7615e 0000:02:00.0: enabling device (0000 -> 0002)
[   15.966727] mt7615e 0000:02:00.0: registering led 'mt76-phy1'
[   16.066928] mt7615e 0000:02:00.0: HW/SW Version: 0x8a108a10, Build Time: 20180518100604a
[   16.066928] 
[   16.082391] urngd: v1.0.2 started.
[   16.102151] mt7615e 0000:02:00.0: N9 Firmware Version: _reserved_, Build Time: 20200814163649
[   16.119957] PPP generic driver version 2.4.2
[   16.132890] NET: Registered PF_PPPOX protocol family
[   16.145671] mt7615e 0000:02:00.0: CR4 Firmware Version: _reserved_, Build Time: 20190415154149
[   16.710163] kmodloader: done loading kernel modules from /etc/modules.d/*
[   37.255786] mtk_soc_eth 1e100000.ethernet eth0: Link is Down
[   37.295590] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[   37.313179] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   37.329891] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode
[   37.346880] br-lan: port 1(lan1) entered blocking state
[   37.357563] br-lan: port 1(lan1) entered disabled state
[   37.368372] mt7530-mdio mdio-bus:1f lan1: entered allmulticast mode
[   37.381084] mtk_soc_eth 1e100000.ethernet eth0: entered allmulticast mode
[   37.400705] mt7530-mdio mdio-bus:1f lan1: entered promiscuous mode
[   37.439725] mt7530-mdio mdio-bus:1f lan2: configuring for phy/gmii link mode
[   37.456308] br-lan: port 2(lan2) entered blocking state
[   37.466929] br-lan: port 2(lan2) entered disabled state
[   37.477604] mt7530-mdio mdio-bus:1f lan2: entered allmulticast mode
[   37.493444] mt7530-mdio mdio-bus:1f lan2: entered promiscuous mode
[   37.518274] mt7530-mdio mdio-bus:1f lan3: configuring for phy/gmii link mode
[   37.534130] br-lan: port 3(lan3) entered blocking state
[   37.544649] br-lan: port 3(lan3) entered disabled state
[   37.555373] mt7530-mdio mdio-bus:1f lan3: entered allmulticast mode
[   37.570160] mt7530-mdio mdio-bus:1f lan3: entered promiscuous mode
[   37.598951] mt7530-mdio mdio-bus:1f lan4: configuring for phy/gmii link mode
[   37.614837] br-lan: port 4(lan4) entered blocking state
[   37.625476] br-lan: port 4(lan4) entered disabled state
[   37.636116] mt7530-mdio mdio-bus:1f lan4: entered allmulticast mode
[   37.651788] mt7530-mdio mdio-bus:1f lan4: entered promiscuous mode
[   37.682417] mtk_soc_eth 1e100000.ethernet wan: PHY [mt7530-0:04] driver [MediaTek MT7530 PHY] (irq=POLL)
[   37.701541] mtk_soc_eth 1e100000.ethernet wan: configuring for phy/rgmii link mode
TP.


BusyBox v1.36.1 (2025-04-13 16:38:32 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 24.10.1, r28597-0425664679
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~#  2: Load system code then write to Flash via TFTP.
-ash: 2:: not found

correct name is "recovery mode" (OpenWRT speak) or "emergency room" (D-Link speak).

I think, you are using the wrong firmware file.
The 2150a1 has a recovery download option.

The thing is:

If it is a D-Link device, where there is offered an OpenWRT "recovery" bin, you need to download this for flashing from the emergency room. For such devices, the "factory" bin download can only be used for flashing via the D-Link update function after having booted the regular D-Link firmware (that is possible because those devices have a leaked/known private key for the signature check of the update function that OpenWRT can use).

If no "recovery" bin firmware is offered for a D-Link device, you need to download the "factory" image for emergency room usage. On such devices, you cannot flash the OpenWRT factory download via the vendor update function after having booted the D-Link firmware.

So you're suggesting use this file?: https://downloads.openwrt.org/releases/24.10.1/targets/ramips/mt7621/openwrt-24.10.1-ramips-mt7621-dlink_dir-2150-a1-squashfs-recovery.bin

Because I already tried to install the manufacturer's firmware from the recovery mode of D-Link and it just throws me the Upgrade Failed error.

The only firmware that accepts me is: https://downloads.openwrt.org/releases/24.10.1/targets/ramips/mt7621/openwrt-24.10.1-ramips-mt7621-dlink_dir-2150-a1-initramfs-kernel.bin

I don't know if is an error in the files BIN.

Yes, this should be the correct file for the emergency room of 2150a1.

Though D-Link has the nice (because no serial cable required) emergency room recovery feature, it comes with limitations:
the emergency room of newer D-Link devices does not want to flash signed firmware files. D-Link firmware downloads always come signed. Thats why you failed with the attempt to use it to flash a vendor firmware file.
You would need to manually remove the signature part of the vendor firmware download via third party scripts or use help from forum members (not me, is beyond my abilities).

On the other hand the vendor flash function after having booted the D-Link official firmware only accepts signed firmware bin files.
For only few D-Link devices, a leaked private key is known, with it OpenWRT can provide signed OpenWRT bin files.

And if you need to update a successfully flashed OpenWRT firmware on D-Link devices, you always use the sysupgrade download file.

Please note there are 2 versions a DIR-2150-A1 and the DIR-2150-R1
they are different and can be the same hardware
with software changed later for the Rx versions

the A1 version has a recover branded interface
the R1 version has a fail-safe branded interface
so you maybe are using the wrong firmware

I just using this files: https://firmware-selector.openwrt.org/?version=24.10.1&target=ramips%2Fmt7621&id=dlink_dir-2150-a1.

And on the device label, it says D-LINK DIR-2150 A1 HW: 1.0, but I don't know.

But no matter what I do, the OpenWRT system from router is always stuck in "system running in recovery (initramfs) mode." I've tried flashing all the sysupgrade bin files, but nothing. That's why I thought I could flash via UART.

The initramfs is only for running in ram only
it won't format the nand flash
if the flash is not formatted, you can't sysupgrade

you need to flash the factory image from the dlink web interface origany
you need to flash the recovery image from the recovery interface

1 Like

Sure about the factory image for recovery? then why is there a separate recovery image for the A1 for download?

Which client operation system and browser are you using for the recovery flash process? And does it display a ~100 second countdown during the recovery flash process?

1 Like

I have made the suggestions that you and Lucky1 mentioned, and I did it with Edge Browser, I usually use Chrome on a Mac OS operating system, but I tested all these processes with Mac OS, Windows, and Linux, but thanks to both, it really worked. The recovery.bin was accepted by this D-LINK and I just did the sysupgrade, everything seems to be in order.

Thank you very much for the time to help me answer.

1 Like

Thanks you are correct lost my context for a minute
recovery image from the recovery interface

the recover interface is known not to work with pc's on Linux
but will work on Windows "not emulated" on a pc
but it would be interesting to know if it will work with MAC OS brosers

1 Like

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