D-Link DIR-2150 A1 support

Hi, I have the DIR-2150 A1 and compiled and flashed successfully OpenWrt 22.03.0 with the commits added by @Lucky1, and the system is working perfectly! I remember trying last year and the speeds were awful. With the latest OpenWrt the router reaches the 900 Mbps my ISP provides without any effort.
How can I help to get this device to the official list? I'm very happy with it.
Let me know what can I do! I don't know much about this kind of stuff but I'll be happy to help.

1 Like

Hi damorb
you can submit a pull request into openwrt
there needs i's to be doted & t's to be crossed tho
checking that the mac addresses are corect & all the led's work etc
just having a glance at the DIR-2150-A1 git
the only thing done was making a file with the DIR-2150-a1 in the header
the rest is the same as the DIR-1960/2660
you maybe able to force update from you current openwrt
using the dir-1960 upgrade file & just accept the wrong model number showing

@iivailo has just created a pull request for the DIR-3060
you can look at the as an ongoing example

Hi, thanks for answering!

I can confirm that all the LEDs are working, both white and orange ones for power and wan and the two white ones for each wifi frequency. The mac address in the lan interface matches the one on the sticker at the back of the router.
What other things should I try? I know that for my basic use case everything works, but maybe there are things that don't work that would never notice.
Thank you so much for your help again!

buttons
I see a wps button & reset
I would have to look up my self about the wps button
but reset should reset o factory defaults after boot

then it's just submitting the pull request
it may making it into v23 until then just use one of the other's
until the one with the matching model numbers
you will most likely still need a version with the DIR-2150 header
for emergency room recover tho

I tested the reset button and it works properly. After pressing it for a while the router reboots and resets everything to the factory defaults of OpenWrt. I made a backup and after I restored it the router went back to my previous config, so everything works great.

As you say, there is a WPS button. It should work by default or do I need to change some settings to test if it works?

you have to set it up
I have only done this for testing once
and don't use it myself
a search brings this up

Ok, I just tested it and it surprisingly works. I've never had luck with WPS before in other routers and never cared for it to be honest, but here it worked immediately.

I don't use it ether but we have tested the button :slight_smile:

A DIR 2150 rev A1 just arrived, and it runs the latest firmware dated 2020 which seems to suffer from vulnerabilities.

I just bought this router from an established retailer. The package was targeted for my market. While I would get disappointed if dlink doesn't release firmware fixes, I'm also curious about running OpenWrt on the device. Did support for the router reach the official build? Or which are the recommended sources for building

If you write to their support about it (with the link you provided) it's quite possible that you will get a new firmware.
I wrote to them a few days ago and today I received a reply with the new firmware.
(with information:
After updating, please restore the router to its default settings and configure it again.)
I haven't updated it yet and will be able to do so in a few days.

Thanks for the suggestion, but I've tried that as well. Perhaps the new firmware was released after my question.

What is the version of the latest firmware you obtained directly from dlink support?

DIR-2150A1_V105B01
I sent it to dropbox if you want, [https://www.dropbox.com/s/8sz2x810jii8em0/DIR-2150A1_V105B01(1226112841).rar?dl=0]

1 Like

I see it appeared on their server: https://public@ftp.dlink.net.pl/dir/dir-2150/driver_software/DIR-2150_fw_revA_1-05B01_all_en_20221226.zip

DIR-2150, A1, 1.05B01

> 1.Solve wireless security problems, such as FFD vulnerability, WPS, WiFi auth, etc;
> 2.Update dnsmasq;
> 3.Modify hidden page information;
> 4.Optimize the buff space of firewall rules;
> 5.Repair the PPPoE dialing setting. After manual dialing, the page still displays automatically;
> 6.Synchronize 1860 EU LAN to solve problems;
> 7.Solve the problem of invalid download configuration;
> 8.Update the web package version;
> 9.Solve the problem that Lan cannot set IP;
> 10.Solve IPv6 problems of front-line customers;
> 11.When QoS is turned off by default, the QoS downlink will not take effect after restarting;
> 12.VLAN priority needs to be set when plugging WAN port, otherwise the priority will be invalid;
> 13.Solve the problem that parental control is set for half an hour, but it is actually one hour;
> 14.Solve the problem that the HTTP response fails when the firewall has 24 rules due to insufficient space;
> 15. Solve the problem that another MAC address shows up during booting; 

1 Like

Hi all,
I just got two of these and was able to compile the latest master branch with the commits from @Lucky1 and flash to one of them.
Everything seems to be working fine and I want to help bring official builds for this device, so what should I do before creating the PR?

Hi plevel
I don't remember much about doing this this but it looks like
I just changed it's name & added the kmod-mt7603 radio
and removed the USB LED from the DIR-1960-A1
as long as the Led's are working & colour is correct with the labels
and the buttons work it's time to add description & submit
you maybe lucky & get it excepted by the branch of v23

Hi @Lucky1
I have found one problem - the MAC of the WAN is changed on reboot, any idea where to look for a fix?
I have another unmodified router if this helps somehow.

going from my memory of the 1960 & 878
the Main Mac was stored in Factory partition at 0xE000
this was the LAN & also on the outside case label
the WAN located after it at 0xE006
the first models of the 878's ha the wifi mac addresses in the calibration data
but later they just seemed to leave dummy values in there
but they both has 2 radios so

LAN was Factory partition at 0xE000
2.4G was Factory partition at 0xE000 +1
5G was Factory partition at 0xE000 +2
WAN was Factory partition at 0xE000 +3 or Factory partition at 0xE006

there was some updates since release to use nvmem call to get data form memory

do check the order of the OEM firmware I would think it's the same

are you just using the old test code from git hub ?

or is it some where else ?

I am using your code with master branch from the middle of February.
Just booted the stock firmware:
lan - xx:xx:xx:xx:xx:F3
2.4G - xx:xx:xx:xx:xx:F4
5G - xx:xx:xx:xx:xx:F5
wan - xx:xx:xx:xx:xx:F6

On OpenWRT flashed device:
lan - xx:xx:xx:xx:xx:CD
2.4G - xx:xx:xx:xx:xx:CE
5G - xx:xx:xx:xx:xx:CF
wan - completely random, changes on reboot, expected maybe xx:xx:xx:xx:xx:D0

Where to look?
best regards

EDIT:
Using this guide -> https://openwrt.org/docs/guide-developer/mac.address

root@OpenWrt:~# . /lib/functions/system.sh
root@OpenWrt:~# get_mac_binary /dev/mtd2 0xE000

I get the lan MAC (same as sticker on device)
But get_mac_binary /dev/mtd2 0xE006 returns ff:ff:ff:ff:ff:ff

EDIT 2:
I suppose that dts file for this device is needed, something like this in it, am I correct?:

&gmac1 {
	nvmem-cells = <&macaddr_factory_e000>;
	nvmem-cell-names = "mac-address";
	mac-address-increment = <3>;
};

ok I think this commit changed the wan around

it may have upset things
I can't see how atm have to make sure you tried a clean compile ?
I'll keep looking for a bit

I think this is missing from the mt7621_dlink_dir-2150-a1.dts
you can lookup the mt7621_dlink_dir-1960-a1.dts as a reference

&factory {
	compatible = "nvmem-cells";
	#address-cells = <1>;
	#size-cells = <1>;

	macaddr_factory_e000: macaddr@e000 {
		reg = <0xe000 0x6>;
	};
};

each time I look at this stuff it's all being shuffled around
that has been moved to the mt7621_dlink_dir-xx60-a1.dtsi
so maybe you are out of sync
anyway around this is where to look