OpenWrt support for DIR-853 A4

At this moment, DIR853 A4 have stock firmware, that I want to backup. In uboot I have tftpboot that can only boot from tftp not put firmware to tftp.
And at which location and what size the firmware is in routers flash.

From boot log

Creating 10 MTD partitions on "MT7621-NAND":
0x000000000000-0x000007f80000 : "ALL"
0x000000000000-0x000000080000 : "Bootloader"
0x000000080000-0x000000100000 : "Config"
0x000000100000-0x000000140000 : "Factory"
0x000000140000-0x000000180000 : "Config2"
0x000000180000-0x000002980000 : "Kernel"
0x000002980000-0x000004980000 : "Private"
0x000004980000-0x000007180000 : "Kernel2"
0x000007180000-0x000007780000 : "mydlink"
0x000007780000-0x000008080000 : "Reserved"
mtd: partition "Reserved" extends beyond the end of device "MT7621-NAND" -- size truncated to 0x800000

hi @MianHannan

Just like @Lucky1 pointed out if you boot from the initramfs (make sure it's the stable and not snapshot as it contains luci already).

This is the file

https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7621/openwrt-22.03.0-ramips-mt7621-dlink_dir-853-a3-initramfs-kernel.bin

When the router boots you need to select the option to load kernel into ram (Sorry I cannot recall which option number). You need a tftp server running on your computer.

You then load the file you downloaded and it should boot openwrt without changing anything

You can then log into Luci web interface and in the backp section you can select each partition and it will download them.

1 Like

there is an option that will load from tftp directly into ram
it's part of the number you hit while booting uboot
1 > 5 are the options i think
I think it asks you confirm the tftp server IP & file name as you go

going by the DIR-1960 believing it's the same layout "not checked"
it's wise to save all the MTD's just in case while you are there
with importance on factory & config2
but the OEM firmware will be in firmware & it's backup in firmware2
to be nice you can prune off the empty blank space at the end in a hex editor
but it should give you an unencrypted firmware file that will flash
the same as the openwrt factory file
witch is how you would restore it
these are the names in the luci interface under "Save mtdblock"

1 Like

this is from it's little brothers log DIR-878
different flash chip so do check but it look's something like this
you would hit "1" as the option

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 or Bin. 
   7: Load Boot Loader code then write to Flash via Serial. 
   9: Load Boot Loader code then write to Flash via TFTP. 
default: 3
1 Like

This method worked and i successfully backed up mtd blocks Thanks a lot

To install OpenWrt in D Link DIR 853 A4 follow the steps.
1- Download DIR 853 A3 firmware below with changed headers to look like its A4 firmware ( Prepared by @kar200 )
https://drive.google.com/file/d/11CRBHCgVRJEIMsBxAMAceLODK3u0WzTT/view?usp=sharing
2- install this through stock firmware web interface. After successful install you can use router as normal, you have to setup wireless manually by connecting ethernet cable to router.
3. After that you can install normal stbale sysupgrade updates of openwrt through web interface.
Current is : https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7621/openwrt-22.03.0-ramips-mt7621-dlink_dir-853-a3-squashfs-sysupgrade.bin

I have tested on my device this method is working fine.

Thank a lot to @kar200 for the firmware and @Lucky1 to method for backing up the mtd blocks

3 Likes

Just to add that the 2 firmware are the same so there is no need to dlash a second time the stable firmware unless its a new version.

1 Like

Could you please also share DIR-853 A4 stock firmware so I also feel safe before shifting to openwrt.

Thank you in advance. Also thanks to @kar200.

@mharis360 I have stock mtd partitions which one do you need?

technically speaking I do not know which partition has firmware file. However, I am looking for a single stock firmware file, which can be upload via web browser to undo OpenWrt if needed. I hope you or someone else here can do this magic.

Best Regards
M.Haris

@MianHannan @mharis360

The partition should be mtd4 (the one labeled firmware). The small issue would be that it is the whole partiton (around 40mb) but the firmware part is around 17mb if I am not mistaken.

There is no harm if writing the whole 40mb with the "mtd" command.

I would advise @MianHannan to first test how it is done as he has console access and then maybe share the file + details (I cannot recall exactly the commands), If the flash is incorrect there will be now way to recover without UART.

Hi,

I connected DIR-853-A4 with its serial connector pins (4=GND, 3=TX and 2=Rx) with help of attached picture "dlink-pinout.jpeg" and then used simple DB9 cable to connect router with PC serial port where used pins of DB9 cable (5=GND, 3=TX and 2=RX) with help of attached picture "DB9-pinout.jpg". then used putty and tried may different settings but still facing garbled issue. please check attached pictures "output.jpg" for error output and "settings-serial.jpg and serial-DB9.jpg" for putty settings and jtag to db9 connection.

output

I also tried RS323 adaptor but same issue no change to I decided to use direct db9 cable as I have serial port in PC.

@MianHannan could you also please help me in this?

Sorry for attachments files. I am new and do not have permission for multiple files attachment.

settings-serial

You are having all things right just change baud speed from 115200 to 57600.

Thank for your reply, test with 57600 but it did not resolve the issue.

Be careful with the serial you are using a DB9( (12v I beleive) and the USB TTL is 3.3

If the router is still booting you are lucky it didn't fry anything.

You can find a cheap TTL USB Adapter online depending on where you are. If you can handle waiting for ages Aliexpress is a good choice.

thank you for your reply and suggestion but I did not used pin number 1 in router side and its for Vcc just connect TX,RXand GND. I tried on both RS323 USB to serial adaptor and simple DB9 cable. however, I do not know if DB9 works on 12v its not showing in its pinout diagram. please check attached file.
DB9-pinout

RS232 uses up to +12v & -12V
So yer you could have killed it
sticking +12V or -12V into a 0V to 3.3V input is bad

you need a ttl level converter

As kar200 and Luck1 mentioned, chances are that you already irrecoverably damaged your device by feeding +/- 15V into its rx/ tx pins.