Hello all,
Two days ago I tried flashing a D-Link DAP-1522 HW revision A1 with openwrt 18.06.0, more exactly with:
openwrt-18.06.0-ramips-rt288x-dlink_dap-1522-a1-squashfs-factory.bin
The original firmware was the latest from D-link:
v1.42.B01
After waiting for about 4 minutes I tried to connect to the device but I couldn't find it at 192.168.1.1 and after trying a few more time (let's say 5 more minutes) I power cycled it.
To cut it short, I eventually entered the recovery mode (reset button down on powerup) and I eventually was able to find the emergency webserver at 192.168.0.50 which is the default address with the original firmware, not the expected 192.168.1.1.
I tried to upload a number of original D-Link firmware versions but none worked. After this I managed to connect to the serial port and below is the output I got on a "normal" boot, with the original spacing and no cable connected to the switch:
U-Boot 1.1.3 (Sep "5 2208 - 10:37:42) Build 001--ALPHA_v011
Board: RT2880 DRAM: 32 MB
twe0 set to <NULL>
toe0 set to <NULL>
Set up sector start address BC400000
============================================
ASIC -VerB/C (MAC to MAC Mode)
DRAM COMPONENT=256Mbits
Votal memory = 32Mbytes
Date:Sep 5 2008 Time:10:37:42
=======================================?====
Eth0 (10/100-M)
Hit any key to stop autoboot: 0
## Booting image at bc440000 ...
Image Name: 7zip Linux Kernel
Created: 1970-01-01 0:00:00 UTC
Image Type: $OIPS"Linux Kernel Image (lzma compressed)
Data Size: -1 Bytes = 4096 MB
Load Address: 8a͘00000
Entry Point: 8a000000
Uncompressing Kernel Image with LZMA ...
OK
Starting kernel ...
[ 0.042000] Linux version 4.14.54 (buildbot@builds-03.infra.lede-project.org) (gcc version 7.3.0 (OpenWrt GCC 78
[ 0.000000] SoC Type: Ralink RT2880 id:2 rev:0
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 0041�06c (MIPS 4KEc)
[ 0.000000] MIPS: machine is D-Link DAP-1522 A1
[ 0.000022] Determined physical RAM map:
[ 0.000000] memory: 02000000 @ 08000000 (usable)
[ 0.000000] Wasting 1048576 bytes for tracking 32768 unused pages
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes.
[ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 16 byves
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000009ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000009ffffff]
[ 0.000000] Initoem setup node 0 [mem 0x0000000000000000-0x0000000009ffffff]
[ 0.000000] random: get_random_bytes called from 0x8840c72c with crng_init=0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 40640
[ "0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[ 0.000000] PID"hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 25632K/163840K aviilable (3511K kernel code, 172K rwdata, 452K rodata, 1232K init, 214K bss)
[ 0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] Failed to request intc memory
[ 00.000000] Kernel panic - not syncing: Failed to request resources for ralink,rt2880-sysc
[ >.000000] Rebooting in 1 seconds..
[ 0.000000] Reboot failed -- System halted
In recovery mode I get:
U-Boot 1.1.3 (Sep 5 2008 - 10:37:42)"Build 001--ALPHA_v011
Board: RT2880 DRAM: 32 MB
twe0 set to <NULL>
toe0 set to <NULL>
Set up sector start address BC400000
============================================
ASIC -VerB/C (MAC to MAC Mode)
DRAM COMPONENT=256Mbits
DRAM BUS=16BIT
Total memory = 32Mbytes
Date:Sep 5 2008 Time:10:37:42
============================================
Eth0 (10/106-M)
Hit any key to stop autoboot: 1 ** abort **
Emergency web server start...
STOQ_RT2880_ETH
Waitting RT2880_RX_DMA_BUSY status Start.
RTL8366SR init...
Phy:0xf00 0xde1 0x1140
Phy init success!!
Enable GMAC Phy(0x3F01DC45) !!
Waitting to GMAC1 link up Start!!
Header<Rayload scatter function is Disable !!
ETH_STATE_ACTIVE!!
The same output as above but a bit more mangled is seen if I press any key in the serial terminal. I tried 'q', 'f', '1' and a few other keys with the same result.
A '>' character seems to be added every few seconds if I enter the recovery mode via keypress. AND if I press any key on power up/boot, the device enters recovery mode.
I don't have any JTAG hardware and probably soldering to the JTAG header is likely not possible with what I have.
The device is connected to a PC via a gigabit switch and I reduced the PC's MTU to 1500 in order to avoid TCP window full errors in wireshark. I also tried a direct connection (no switch) with the same result: flashing via webserver is not possible.
The serial port output in that case is:
httpd: rx=0
and occasionally numbers like 1400 and 700 (ballpark) are flashing by. When I left it running overnight nothing went through in the end.
I would like to know if my device is bricked or not at this stage.
If there is anything else I could try, I'm open to suggestions.