Support for D-Link DIR-816?

Hey I've this device lying around and I'm willing to hack on it and if possible port openwrt for this router.
Can you please guide me with the relevant steps so that I can go forward ?

Thanks :slight_smile:

…but most of all, check the git history what had to be done to support similar devices and get cracking, you're the only one with that device on the desk, so it's mostly your learning curve to get a grasp of it.

Are we talking about DIR-816/AC (https://www.dlink.lt/en/products/5/2212.html) or the DIR-816L (https://eu.dlink.com/de/de/products/dir-816l-wireless-ac750-cloud-router), they have a different case and might be based on different SoC's as well.

If it's MT7620 + MT7610E it might be quite similar to DIR-819L, which is supported already.

In any case, we would need a serial bootlog first, this would allow to build a test image (with the correct mtd partition layout). Here in Germany, I could only find the second device (DIR-816L) with the curved-edges case, not sure if it's worth getting one for ~10€ if everyone might be actually talking about the other device :innocent:

I have a DIR-816L rev B1 running stock firmware 2.06beta. It has a command injection vulnerability in the NTP server field and it's very easy to start telnetd.

cpuinfo says it's a RTL8881a:

# cat /proc/cpuinfo
system type             : RTL8881a
processor               : 0
cpu model               : 56322

This agrees with techinfodepot for rev A1: http://en.techinfodepot.shoutwiki.com/wiki/D-Link_DIR-816L_rev_A1 (and disagrees with @Razu's post above: Support for D-Link DIR-816? - #18 by Razu)

Here's a few other system info:

# uname -a
Linux dlinkrouter 2.6.30.9 #3 Tue Sep 15 16:51:42 CST 2015 rlx GNU/Linux

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00010000 00001000 "u-boot"
mtd1: 00010000 00001000 "mfcdata"
mtd2: 00010000 00001000 "devconf"
mtd3: 00020000 00001000 "langpack"
mtd4: 00010000 00001000 "caldata"
mtd5: 00080000 00001000 "mydlink"
mtd6: 00ef0000 00001000 "upgrade"
mtd7: 005b5000 00001000 "rootfs"
mtd8: 01000000 00001000 "flash"

Please let me know if you need other command outputs, I am happy to run them.

FYI note config file format: https://tech.ulyssis.org/ulyssis-ctf-getting-routers-to-work/

That confirms that it (and the whole SOC it is based on) is not supported at this point, while not impossible with huge amount of development work on your end, it's not very likely to change (no SOC support, 64 MB RAM are on the edge, wireless support is… difficult).

so dlink 816 hardware version a1 is not supported? :frowning:

I have one with MT7620+MT7610E, 8+64MB, which is the same as ASUS RT-AC51U except for lower flash capacity. At least 2 third-party firmwares can be flashed:
https://openwrt.org/toh/asus/rt-ac51u
https://bitbucket.org/padavan/rt-n56u/downloads/ (use the "base" firmware for 8MB flash)

I'm using the latter one since the former one has an issue on 2.4G channel (openwrt 23.05, 2.4G signal disappears serval hours after booting, a hardware reboot is required).
You might need a USB-serial cable and upload firmware via tftp, or use an spi flash programmer to flash a bootloader called breed. I have flashed breed-mt7620-reset12.bin.

1 Like

how can i apply tftp for dlink 816? i have used tftp in tp link, is it the same process? or if i simply install asus ac51u firmware from dlink firmware and click firmware update, will it work?

Try this.

Ralink UBoot Version: 4.1.1.0
--------------------------------------------
ASIC 7620_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Aug  8 2014  Time:09:03:30
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

##### The CPU freq = 580 MHZ ####
estimate memory size =64 Mbytes

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.

This is the stock bootloader booting log, follow it. You might need to rename the firmware.

1 Like

thank you!

one more question, does archer c60 v3 support padavan firmware? if does can u give me a link?

Sorry, I don't have this router and I can't find any info about it's chipset. If it uses MTK solution, there might be a compatible padavan firmware, for example: