Firmware: v1.06
Date: 06/04/2023PLEASE NOTE: Please upgrade to firmware v.1.03 before proceed with v1.06 firmware upgrade.
Fix
- Fix Mac prefix issue
- Resolve security issues
- Resolve password error issue under PPPoE connection
Enhancement
- Enhacement on default security encryption setting
- Improve QoS
- Enhancement on parental control
Hi!
Thank You for the interest in this device. I have one of this router. It would be nice to make it connect to other Wi-Fi router as an extender or a AP Client. So my questions are as follows:
- Should I just download this developing firmware and upload it via D-Link Recovery Mode?
- Can I go back from this firmware to stock? Is there any chance of bricking the device?
- After installing OpenWRT on it from this post, will I be able to connect it via Wi-Fi to other router as AP Client?
- I need only gigabit LAN (one or two ports) and Wi-Fi as a Client, so lastly, will it work for my basic needs, is firmware stable enough for basic needs?
Now I see, that you are talking about original firmware in the download links.
I've tried to compile from git, but it's too complicated for me. I don't know also how to patch and which branch to choose.
Can somebody provide good compiled firmware, so I can test and report my experience on 2150 A1?
I have set the build machine on Arch Linux. Cloned the OpenWrt repo, but how can I "make the changes from @Lucky1's repo"?
How can I compile it?
When ./scripts/feeds update -a
Then ./scripts/feeds install -a
and after
make menuconfig,
There is no version for 2150.
What I do wrong? How can I clone OpenWrt repo and "make changes from Lucky's repo"?
Hi Anita
do you just want a file that works or are you going to submit a pull request etc ?
or are you trying to lean how it all works ?
Thanks for the reply. I don't want to pull request, because I cannot submit any changes, because I'm not a programmer. I want to learn, as always, and test the firmware. Then share my experience giving feedback of bugs and what's working. I would rather learn to compile firmware than to ask for a complete file.
with so many little changes I think it would be easier to reproduce the charges
just get the current openwrt
make sure you can build the DIR-1960-A1
if you have that sorted
then go on to edit the changed files in the PR
copy the dir-1960-a1's DTS & rename the 1960 bit to 2150
and edit the files to match ether mine old one or the current PR links below
at lest this way you can start to see what adding a new device is like
when you rerun make menuconfig you should have DIR-2150 in there
it's a clone of the DIR-1960/2660-a1 with the added kmod-mt7603 2.4G driver
or
rm -rf openwrt
git clone https://github.com/Lucky1openwrt/openwrt openwrt
cd openwrt
git fetch --tags
git checkout DIR-2150-A1
git remote add upstream https://github.com/openwrt/openwrt.git
git remote -v
git fetch upstream
git rebase upstream/main
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
Thanks!
OK, so I did set up my machine for compiling installed:
- openwrt-devel package from AUR
- git clone https://git.openwrt.org/openwrt/openwrt.git
- cd openwrt
- git pull
- git branch -a
- git tag
- git checkout v23.05.0-rc3 (because you've said to choose the newest version).
- ./scripts/feeds update -a
- ./scripts/feeds install -a
- make menuconfig
- Inside, changed Target system: MediaTek Ralink MIPS
- Subtarget: (MT7621 based boards)
- Target Profile (D-Link DIR-1960 A1)
- Exited with saved changes and run command: make
- Made some coffee and watched some YT videos while compiling
- It ended compiling without error, there is log: https://pastebin.com/1v7kS7D7
- Then next command: "make -j$(nproc) defconfig download clean world"
- It ended without error. Log: https://pastebin.com/qEZjrdhJ
Now I will end this post. Confirming that it can compile on my machine.
My question is, what do You menan by "PR" what is "PR"?
"then go on to edit the changed files in the PR
copy the dir-1960-a1's DTS & rename the 1960 bit to 2150
and edit the files to match ether mine old one or the current PR links below"
Also, with your instructions, everything compiled fine:
There is a pastebin log: https://pastebin.com/huQCRmDu
At the end, did "make -j4", so it run with 4 cores instead of 2.
Now there are compiled files in:
./bin/targets/ramips/mt7621/
config.buildinfo
feeds.buildinfo
openwrt-ramips-mt7621-dlink_dir-2150-a1-initramfs-kernel.bin
openwrt-ramips-mt7621-dlink_dir-2150-a1.manifest
openwrt-ramips-mt7621-dlink_dir-2150-a1-squashfs-factory.bin
openwrt-ramips-mt7621-dlink_dir-2150-a1-squashfs-sysupgrade.bin
Now I'm scared, which files should I push to the router? I've read that it would be 2 of them, please correct me if I misunderstood the previous posts. Should it be these two?:
- openwrt-ramips-mt7621-dlink_dir-2150-a1-squashfs-factory.bin
- openwrt-ramips-mt7621-dlink_dir-2150-a1-initramfs-kernel.bin
From recovery one after the other?
ok 1st one was the manual was to just change any version
PR = "Push Request"
I later below I added the instructions to get my old github test code
update it to the latest snapshot then compile it
I would add luci to make life easier
make sure you have some unencrypted dlink OEM firmware that will to upload via the recover interface
Do you have a serial interface set-up at all to your router ?
you can test using the initramfs-kernel.bin via the serial console
& you can copy the current OEM firmware back form the unit b4 you erase it
the normal firmware you upload via the recover interface is the squashfs-factory.bin one
I don't have serial interface.
I did compile from yours:
git clone https://github.com/Lucky1openwrt/openwrt openwrt
Now I'm really confused. So, your git "Lucky" is NOT up-to-date, I shouldn't compile from it?
Really wanted to learn something, but I'm so confused right now.
From what I gathered, Luci interface can be added later via ssh console, right?
I just want to have firmware up and running and can add Luci with opkg right?
erase folder openwrt
rm -rf openwrt
get my example from github as is as when I uploaded from branch DIR-2150-A1 to openwrt folder
git clone https://github.com/Lucky1openwrt/openwrt openwrt
cd openwrt
git fetch --tags
git checkout DIR-2150-A1
update to current version form openwrt's git and rebase changes
git remote add upstream https://github.com/openwrt/openwrt.git
git remote -v
git fetch upstream
git rebase upstream/main
get library and make menuconfig
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
yes it's old and out of date but then updates later as last message
the problem is with dlink is that don't give you
an un-encrypted firmware file to upload into the recover interface
if this is your only router you will be unable to get it to work again easily
it's always best to backup all of the flash including the current firmware
and the un-replaceable radio calibration data
I'm sure this will work due to the work or it's brother routers
but better to reduce risk as best you can
Yes, I did that in my second reply and I provided logs.
Maybe I wasn't so clear.
I did exactly like you've said. That's why I have now those binaries after compiling:
openwrt-ramips-mt7621-dlink_dir-2150-a1-initramfs-kernel.bin
openwrt-ramips-mt7621-dlink_dir-2150-a1.manifest
openwrt-ramips-mt7621-dlink_dir-2150-a1-squashfs-factory.bin
openwrt-ramips-mt7621-dlink_dir-2150-a1-squashfs-sysupgrade.bin
I didn't read the logs they won't tell me anything
I know it was complete due to you having files
but would only know the version after flashing and reading status page
No, it's not my main router.
How do I back up my router's data?
So, the compiled firmware is not encrypted?
What should I do next?
you backup the router by having a serial interface
loading the openwrt's initramfs-kernel.bin file
directly into ram
if it runs a lot of testing is done
and you can backup the flash at this point
as you have not flashed anything yet
yes the openwrt firmware is un-encrypted and will flash via the recovery interface
D-Link firmware is not un-encrypted and won't flash via the recover interface
if you are willing to risk the router flash the factory file into the recovery interface
but do compile luci into the firmware
as this is your modified firmware and you can't just add luci later
with out lots more setting up
OK, so if something goes wrong. I will have to flash openwrt via serial interface?
How will I compile Luci into the firmware, with "make menuconfig" and the choosing Luci?
the serial interface give you valuable logs to see what's going on
and allows you to load directly into ram
it would be a way of getting un-encryped dlink firmware to use to recover if needed
but you should be able to get back t the recover interface and keep trying with out it
but if yo wish to go back to OEM firmware will need to source it from some where else
yes inside the make menuconfig put the * next to luci
In "make menuconfig" there is a section:
Extra packages --->
Luci --->
But under there is a lot of options, can You please point me to tutorial which one to choose?