D-Link DIR-2660 A2?

I just bought a D-Link DIR-2660 router (D-LINK EXO AC2600 Smart Mesh Wi-Fi Router, https://eu.dlink.com/nl/nl/products/dir-2660-exo-ac2600-smart-mesh-wifi-router).

From the data on the package it seems to be hardware revision A2, not A1?

However, I cannot find any reference to an A2 being made? Does anyone else have a D-Link DIR-2660 and know if there are multiple revisions? And if the A2 is usable with OpenWRT?

With a bit of luck the hardware is very similar. Can you open it up and take pictures? See if it has serial?

looking at some of the dlink web sites they only say ver.A
I would look through the current firmware for indicators that it may say A1 or A2
if that is no help
also thing i would do is download version of firmware like this
https://support.dlink.com/ProductInfo.aspx?m=DIR-2660-US
I'd get versions above 1.04 as this is what is shipped
I would see if this version is accepted as dlink should protect you if it's not
this would give you more information about this

there have been people saying that openwrt won't flash on there DIR-2660
now I'm wondering if they have the A2 and never checked

1 Like

So I logged in and this is what the software is saying:

image

And the systemlog shows this:

So I might just go ahead and try to flash OpenWrt and see where it gets me?

Ok, tried that, and that results in exactly the behaviour described here: DIR-2660 failing to flash

I think from what is shown it takes the same firmware as the one labeled A1
you could test this by uploading a downloaded version that says it's for the A1

there is another chat DIR-2660, DIR-1935?, DIR-882?, ... how to safely install OpenWrt? - #10 by Lucky1
I was hopping for someone to test a file with an altered header for the A1
http://luckys.onmypc.net/openwrt/DIR-2660/openwrtdir-2660-a1-squashfs-factory.bin
also try this in Private Mode *firefox" if it failes normally

1 Like

Ok, your version with updated header worked:

So can I know update via OpenWRT to a more recent snapshot?

And how can we verify that everything works as expected?

EDIT: seems the basics are working. What seems to be missing is the switch configuration to configure VLAN's?

So I do run into some challenges like:

Post your text output as actual text please, so it's searchable. Screenshots cannot be indexed by any search engine, you see.

No, you're on a DSA target. The software bridge is there (br-lan). For now there's no LuCI counterpart yet, but you can manipulate it on the command line if needed.

Ok, but what are the VLAN tagging options then? I have 4 VLAN's to configure. And some LAN ports require tagging.

now we just need someone who knows how is to update the header creation
that area just got updated for what was the "sge" parsers http://lists.infradead.org/pipermail/openwrt-devel/2021-January/033482.html
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=5ab5bacda280362851830e30d4f9d38b785aac9f
you can edit one your self if you like
add "DIR-2660" text at address 0x40 hex
add "V1.00000" text at address 0x80 hex
add "A1" text at address 0x90 hex
change bytes 0x04 to 0x07 to 00
create crc32 for bytes 0x0 to 0x9F
place result in bytes 0x04 to 0x07

here are the before and after files
before http://luckys.onmypc.net/openwrt/DIR-2660/openwrt-ramips-mt7621-dlink_dir-2660-a1-squashfs-factory.bin
after http://luckys.onmypc.net/openwrt/DIR-2660/openwrtdir-2660-a1-squashfs-factory.bin

I don't know with of these is required but it's what i did for the test file

Ok, so that would be for factory images. What about SysUpgrade? Could I just flash a sysupgrade or would it also require new headers?

they all require new headers due to your boot loader now requiring them now
I have not done this but you should be able to extract the kernel image from a sysupgrade file
edit it the same & place it back into the archive "sysupgrade file"

Ok, I am starting to understand now. So just to make sure we are on the same page:

  • The DIR-2660 A1 can still work without these modified headers
  • The DIR-2660 A2 needs new headers and thus a new target in the OpenWRT builds?

For the latter we need some help? Would it make sense to contact the commit of the commit adding the A1 version (https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=b5dd746cbb1aaf91f4b68e9f3eda97413550d904)

well it seems the later DIR-2660-A1's needs this as well
I think as some point they updated the boot loader
it would be better if this mod was added for all the devices
that is the one's built by SGE DIR-878,867,882,1960,2660 & others
it wasn't added due to it not being needed at the time
but it would help in future is someone writes the encrypt part
with would make them web flashable

you could contact them i think it would speed up everything
it would take me a long time to lean how & then another 6 mouths for the commit to got thought

2 Likes

there is a part where \tools\firmware-utils\src\uimage_padhdr.c
add's padding to the standard uboot header
"96 bytes of 00 in this case"
as this area is the part added maybe this is where the
DEVICE_MODEL & DEVICE_VARIANT
from target\linux\ramips\image\mt7621.mk
should be added

I started with creating an issue for this in the OpenWrt issue tracker: https://bugs.openwrt.org/index.php?do=details&task_id=3641

I really am not into OpenWrt enough to create a patch that solves right now. Hopefully somebody can assist?

In the mean time I am curious what would be the best way of manually modding the upgrade images until something working comes up?

I think the only option for the time being is to keep modifying the factory image
I'm going to play in the background
but someone who know what they are doing could do it in a few minutes
I can read the code ok but not so good at writing it

I tried to update the kernel image in the upgrade package, but after tar-ing the result, flashing it gives a warning that the format is incorrect.

you may just have to use the factory image
if you get the current snapshot you can get packages for a little while
https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/ramips/mt7621/
https://downloads.openwrt.org/snapshots/targets/
or compile you own with repository
depends on what your plans for you device are