D-Link DIR-2150 A1 support

Is anyone interested in supporting D-Link's DIR-2150 A1? The stock firmware seems rather lacking unfortunately...

1 Like

If this is the same as the 1960 and 2160 (MediaTek MT7621) and has the same board config as the rest of them then the answer is yes, it is or will be supported. I am not 1005 sure it is the same but it seems reasonable considering the rest of the product line

According to the FCC photos it does indeed use the MediaTek MT7621 SoC (to be precise MT7621DAT). As far as WiFi goes it uses MT7603EN for 2.4 GHz and MT7615N for 5 GHz.

https://fccid.io/KA2DIR2150A1/Internal-Photos/Internal-Photos-4800721

ok that's a little different as the 2160 uses MT7615N for both i believe (someone correct me if I am wrong)

I think the board might be different as well, at least if I understood correctly. The 1960 has "AP-MTKH7-0002 REV1.0" silkscreened on the board, while the 2150 has "AP-MTK028-0002 REV1.0".

I have around 2 weeks to make up my mind about keeping it or returning it. It performs okay-ish as far as speeds/coverage go but goddamn, the stock interface seems so limited & dumbed down and the worst part is that for whatever reason none of my devices get an IPv6 address (even though the router itself gets the one from the ISP).

Opened the case today and grabbed some pics:

1 Like

I imagine this would be easy to support with only a little different from from the dir-1960/2660
do you have a TTL serial adapter ?

Unfortunately I don't. I've been looking a bit into this serial stuff, and at least as far as I understood, I'd also need a pin header, a soldering iron and a multimeter to check the voltage. This would end up being a bit too costly for me at the minute, and considering that I don't have any experience with this physical modification I could very well brick it.

yes it's preferable so solder 3 pins of he header for development
& yes it pays to check you TTL serial interface has compatible voltages
but if you can't capture the factory boot log & interact with the u boot boot loader
then you would have to wait for someone else to get one & do it
in case you even try to do anything
the 1st thing you should do is capture the current contents of flash
I would make in initramfs image with a compatible flash partition layout
and load this into ram via uboot & capture the current firmware & calibration data etc

2 Likes

In case I do actually decide to do it, would a CP2102 USB to TTL UART adapter be good for this?

mine is a CP210x (Pink)
but as long as it work for your operating system
I have some that work on windows 7 but not windows 10
you still should check voltage of the TTL
& in most cases don't connect red +V wire at all
I only solder in 3 pins of the header GND TX & RX

1 Like

for UART adapter I recommend something like this

https://www.amazon.com/DSD-TECH-Adapter-FT232RL-Compatible/dp/B07BBPX8B8

you may not actually NEED soldering or a multimeter, if you are careful enough...

you can buy solderless contact pins, or bend breadboard wires in a way so that they are in contact.

if you have some LEDs and resistors somewhere you can maybe figure out which pin is 3v power (that would be the one you avoid using) by seeing which pin lights the LED in a circuit between one of the pins and the ground plate on the board (or the ethernet port shield, if it is metal, also would be ground)

Well, I did try my hand at soldering the pins a few days ago. Let's just say that it didn't go too well (almost destroyed the router). I even managed to tear off a few pieces off the PCB and also scratched some parts of the coating (multiple attempts of soldering/desoldering). Probably not gonna attempt to modify this thing again anytime soon, but thanks for all the tips above.

Oof, I should have posted some videos too...

well here they are anyway

https://www.youtube.com/watch?v=AqvHogekDI4

https://www.youtube.com/watch?v=qz9Ryos1_GY

Also, you don't need pins, you can just solder wires if you have some, maybe even small paperclips, or the wires coming out of resistors. Were the solder holes filled with solder already?

Yeah, the holes were already filled with solder.

my last one i just sat the end of the connector on the solder & added enough to make contact
the pins are on an angle but it's enough & easy to remove later

Usually, I try to remove it, but in your case its much easier to heat up one side of a hole and push a wire in the other side of the hole

Hi, working on this model.
Retail firmware uses 15.05.1

root@dlinkrouter44A5:/# cat /etc/openwrt_release 
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='Chaos Calmer'
DISTRIB_REVISION='unknown'
DISTRIB_CODENAME='chaos_calmer'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_DESCRIPTION='OpenWrt Chaos Calmer 15.05.1'
DISTRIB_TAINTS='no-all busybox override'

Aditional info

oot@dlinkrouter44A5:/# cat /proc/cmdline 
console=ttyS1,57600n8 root=/dev/mtdblock6 rootfstype=squashfs,jffs2

root@dlinkrouter44A5:/# cat /proc/meminfo 
MemTotal:         121464 kB
MemFree:           45768 kB
Buffers:            5372 kB
Cached:            17048 kB
SwapCached:            0 kB
Active:            13552 kB
Inactive:          13804 kB
Active(anon):       5568 kB
Inactive(anon):      132 kB
Active(file):       7984 kB
Inactive(file):    13672 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          4984 kB
Mapped:             3520 kB
Shmem:               764 kB
Slab:              26772 kB
SReclaimable:      11888 kB
SUnreclaim:        14884 kB
KernelStack:         824 kB
PageTables:          576 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       60732 kB
Committed_AS:      44816 kB
VmallocTotal:    1048372 kB
VmallocUsed:       17632 kB
VmallocChunk:    1009100 kB

root@dlinkrouter44A5:/# cat /proc/devices
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
 10 misc
 90 mtd
108 ppp
128 ptm
136 pts
180 usb
189 usb_device
220 hwnat0
234 xhci_mtk_test
251 apsoc_nvram
252 gpio
253 rdm0
254 watchdog

Block devices:
259 blkext
  8 sd
 31 mtdblock
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd

root@dlinkrouter44A5:/# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 07f80000 00020000 "ALL"
mtd1: 00080000 00020000 "Bootloader"
mtd2: 00080000 00020000 "Config"
mtd3: 00040000 00020000 "Factory"
mtd4: 00040000 00020000 "Config2"
mtd5: 02800000 00020000 "firmware"
mtd6: 024f9283 00020000 "rootfs"
mtd7: 01bc0000 00020000 "rootfs_data"
mtd8: 02000000 00020000 "Private"
mtd9: 02800000 00020000 "firmware2"
mtd10: 00600000 00020000 "mydlink"
mtd11: 00800000 00020000 "Reserved"

this should be easy to do just needs a DTS setup for it
look's like same memory layout as DIR-1760/1960/2640/2660
different PCB
can't see what radio's
at lest MT7615 for the 5G

  • 2g: MediaTek MT7603EN
  • 5g: MediaTek MT7615N

I'm coleting data from the sdk to create a DTS file.