DIR-2660, DIR-1935?, DIR-882?, ... how to safely install OpenWrt?

Some possibly (very?) useful D-Link info and a request for some help...

For the DIR-2660 (and probably all other D-Link MT7621 devices) the
failsafe mode is easy to enter (after soldering 3 pins to J1) by hitting "f"
at the right time, but the full boot console requires a password. It turns out
that the password is stored in an area of flash. In the failsafe terminal type:

mknod /dev/apsoc_nvram c 251 0
nvram_get 2860 Login
nvram_get 2860 Password

At least for me, the 'admin' (eg: root permissions) pw was the normal router
admin pw, with a string of the form '@Txxxxxxxxx' appended to the end.

My question is - how to safely install OpenWRT?

Using the recent (2/13 snapshot) of the DIR-2660 and even using dirkomatic@'s excellent tip
), a checksum error (2d2d2d2d2d) is printed to the console

It is running a old (2013 - Barrier Breaker) version of OpenWRT underneath the D-Link GUI.
But it is heavily customized - there is no /overlay, and the preinit sequence seems to be very
different than any documentation that I could find. It is currently running 1.01 but the UBoot
version is reported as both 1.1.3 and 5.0.0.0 within a few lines of each other.

I've checked all the other postings, but the decrypt work would not seem to apply here, the\telnet hack not needed due to the serial cable / pw.

Have a fair amount of openwrt experience, but not on D-Link. Willing to risk the router, but prefer not.

(Apologies if anything wrong - first posting)

I wish I could help... My install was very simple from a stock DIR-882. I just had to figure out the trick to upload the firmware. I never received a checksum error. Is it possible to return the firmware to stock and go from there?

I know with the DIR-1960 & DIR-878 you can install openwrt easy with the recover console

it's the same way you can get back to the OEM firmware
the only catch is the OEM firmware available form dlink in encrypted (DIR-1960/DIR-2660)
but you need the unencrypted versions for the fail safe mode
there are later versions of the DIR-878 boot loader that accept both encrypted & unencrypted versions
if you come to need an unencrypted firmware for the DIR-2660 look here http://luckys.onmypc.net/openwrt/DIR-2660/DIR2660A1_FW104B03.bin

Sorry if I wasn't clear - the D-Link Recovery GUI was the very first attempt (before any soldering!).
I'd used that easily for a DIR-882.

Later, when using the Recovery GUI with the serial port is connected, is when it gives the checksum
error ("uboot magic error 2d2d2d2d2d") on the serial port..

As the DIR-2660 has more memory, and possibly the newer power levels in 5GHz, and is sometimes
the same price ($80) when on sale .at Amazon.. thought I'd try it.

It's currently running the DIR-2660 V1.01 firmware, but at one point had a later version. That has not
been an issue (I think).

A wild guess is that it is a newer u-boot. A less wild guess is some error on my part.
At least the admin password trick may help someone in the future.

Thanks for the help & suggestions!

[ps: later tried to load the 104B3 firmware Lucky1 pointed to .. it fails in the exact same way]

Here's the output to serial on recovery (starting at GUI decision time):

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. 
default: 3

reset button press, entry Recovery Mode
                                                                                                                                   0 

   
6: System Enter UBoot to Update Img or Bin. 

 abuffer(TX Packet buffer) = 0x8FFE3D40 
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!! 
checksum bad
Got ARP REQUEST, return our IP
to check image type

=================================================
Check image validation:
Image1 Header Magic Number --> Failed

=================================================[check_img_return:1]

=================================================
Check image validation:
Image1 Header Magic Number --> Failed

=================================================[check_img_return:1]
uboot magic err 2d2d2d2d

=================================================[check_uboot_return:1]

you could try the inframs image to ram using option 1

FYI another thread same topic

Just to add another thing that can go wrong
as i was just reminded trying the new 21.02 snapshot on my DIR-878
in firefox the upload fails with the same error stated here "uboot magic err 7265616d"
to get around this I had to switch to "Private Mode" and it works just fine

Tried Private Mode in Firefox, same 2d2d2d2d checksum error arises.

Can use sftp->SDRAM (option 1) to load the initramfs into memory and boot OpenWrt successfully. But "/sbin/susupgrade -n sysupgrade.bin" fails quickly to a reboot into dlinks version.

Trying again, using the '-T' (test) and -n options to /sbin/sysupgrade results in a /tmp/sysupgrade.meta file that says:
{ "metadata_version": "1.1", "compat_version": "1.1", "compat_message": "Config cannot be migrated from swconfig to DSA", "new_supported_devices": ["dlink,dir-2660-a1"], "supported_devices": ["dlink,dir-2660-a1 - Image version mismatch: image 1.1, device 1.0. Please wipe config during upgrade (force required) or reinstall. Reason: Config cannot be migrated from swconfig to DSA"], "version": { "dist": "OpenWrt", "version": "SNAPSHOT", "revision": "r15838-d2d32dcd5f", "target": "ramips/mt7621", "board": "dlink_dir-2660-a1" } }

Should I try /sbin/sysupgrade with the factory.bin image instead?
Or use the (fear dripping...) '-F' flag?
Or (even larger amounts of fear) writing the dir-878 boot loader using option 9 ("Load Boot Loader code then write to Flash via TFTP" to the dir-2660?

Apologies & thanks,

  • m

ps: in case of use, from the initramfs version of openwrt:

cat /proc/mtd

dev: size erasesize name
mtd0: 00080000 00020000 "Bootloader"
mtd1: 00080000 00020000 "config"
mtd2: 00040000 00020000 "factory"
mtd3: 00040000 00020000 "config2"
mtd4: 02800000 00020000 "firmware"
mtd5: 02000000 00020000 "private"
mtd6: 02800000 00020000 "firmware2"
mtd7: 00600000 00020000 "mydlink"
mtd8: 00880000 00020000 "reserved"

ok well it sounds like you got the image installed
but the boot load then it failed a checksum on boot & copied the last firmware from the backup partition

but it real needs someone with on to figure out the required changes need to make it pass this new boot loader check
we could try to add the model number to the header
this was not needed before but maybe now it is

I have made compiled a factory image for you to try
I have manually added model to the u boot header & a fake version number v1.0000
& corrected the checksum
this uploads & run's on my DIR-1960
It would be interesting to see if it will upload via the recover interface
http://luckys.onmypc.net/openwrt/DIR-2660/openwrtdir-2660-a1-squashfs-factory.bin

are you able to make sure you have the DIR-2660-A1 as there has been an A2 version shown up ?

Says A1 on label, and in images.

Was going to try to use it as an AP (just the switch, connected to upstream router) until it was
possible to install OpenWRT, but found that the D-Link software was so bad that w/o the WAN port connected, it would reset the entire switch every ~15 seconds. So decided to try to install
the 878/882 version of uboot.

Either that was a very dumb idea, or I did it spectacularly wrong - now I have a brick. No
serial port output at all, no recovery GUI. Looked for a jtag port, but can see none. May
try to get another one when they go on sale again, but apologies, unable to try the new image now.

Thanks for all the help, apologies on the ending.

ps: before bricking, also tried going back to the 1.00B14 release. It is on their website, even
though not listed - just go to the parent directory. In summary: same problem existed in 1.00, 1.03 and 1.04 - though i suspect it came w/ later firmware than that at the start.

Hope this helps someone.

oh no don't use the 878-882 that has the wrong type of flash
I would have give you the the DIR-1960 if you needed it
that is the same memory type & layout
you may need a flash programmer to bring that back to life
& soldering skills ether remove & put back the flash chip
or solder to all the needed points to flash the chip in circuit

Don't have the tools to solder that fine a pitch. Looked into test
clips (that pinch the chip electrically), but for a 48pin tsop, they were
more than the router cost, at least as far as I could see.

So cheaper to get another router when on sale ... but I'm not
sure that giving D-Link more money is wise considering their behavior.

From the # of pins, assume there is no other easy solution?

Would it be (in current state) any use to the devs?

I don't think you need that many connections
but yes you still have to solder them to small pads
I have used wire wrap wire into a machined socket
you only want to do it once but it can work\

doh ok 15pins + power etc. ok more then I was thinking

I have to admin that dlink software really is bad
there seems to be a push to make it all work on a mobile phone/tablet
but it cuts down the features & make a horrible layout etc