Joined: 01 Feb 2015
|Posted: Sun Feb 01, 2015 21:30 Post subject:
|The problems with the DIR-615 i1 are NOT software per say, they are indeed Hardware related.
Eventually even a working router will experience reboots with stock or third party firmware, and what firmware is flashed into this doesn't matter.
THERE IS A SOLUTION HOWEVER... (More on that later, if you are impatient, skip to bold portion at the end of this post)
I recently obtained two of these units, and one was more unstable than the other, with otherwise identical hardware.
I did some research and there are three versions of this hardware with minor changes and separate firmware, I1, I2 and I3.
Cross flashing does work, however you have to change the Firmware ID at the end of the file with a hex editor to the I1 hardware ID and rename the binary file name to the same format as the I1 firmware (DIR615_revI_Firmware_X.XXNAb01) or the webflash won't accept it (even with modified Firmware ID).
Btw, this router is nearly unbrickable, there is a un-erasable bootloader in the Flash that can be accessed by holding the reset button down while plugging the unit in, waiting for the orange power LED to start blinking, then setting your computer's IPV4 settings to a static address of 192.168.0.2 and accessing the Emergency Room Flash page at http://192.168.0.1 (clear your web cache if this doesn't load, and disable Antivirus which WILL interfere with the upload).
The latest firmware I could locate for the I3 model was 9.04 and after flashing this I had to reset factory defaults due to hangs in the web interface on certain pages (probably due to firmware setting incompatibilities).
The I3 9.04 firmware adds IPV6 support, not sure what else was changed.
When trying to make this router stable I performed some modifications to the hardware, which initially only made it slightly more stable, the final breakthrough came later.
The first thing I did was populate the missing Common Mode Choke, and Differential Mode Choke which also required removing three SMD 0-Ohm jumper resistors.
I then replaced the two 100uF Chinese capacitors with 6.3v 1000uF Japanese capacitors, and populated two large Ceramic SMD capacitors, one near the DC-DC (5V to 3.3V) Inductor and the other near the RAM IC, both on the 3.3V rail, replacements were 10uF Ceramic.
I also was suspicious of the D-Link power supply that came with the router, felt too light and had over 80mV of ripple unloaded.
Inside it was very typical of stripped down Chinese design, had unpopulated components and cheap underrated capacitors. I did the best I could:
Power Supply Modifications:
1: Populated the secondary filter inductor
2: Replaced the cheap capacitors on secondary with higher value, Japanese brands
3: Populated the primary Metal Oxide Varistor (MOV)
4: Populated the two Y-Grade EMI suppression capacitors that bridge the primary and secondary
5: Populated the 6V crowbar Zener diode on the secondary which acts as overvoltage protection.
I managed to get the unloaded voltage ripple down to <8 mV from around 80mV before.
This seemed to improve the situation a great deal, the router would go from rebooting every 30-60 minutes to every 2-3 hours, sometimes longer, but that wasn't good enough but I didn't know where to begin, I even tried to re-flow the board with Flux and a Heatgun but no changes.
Then I noticed one day one of the routers was freaking out, rebooting every minute, over and over, and it had been up for hours before, then I realized what was happening... The router was in a window and the setting sun was beaming onto it, and that gave me an idea...
I went to my workbench, router in hand, opened it up, cooled it down, plugged it in... I waited, no reboots... I then took out my hot air gun, aimed it inside and in a few seconds it rebooted, I tried again several times to verify, same result...
I then started to narrow down which parts were most effected, and it turns out it's the AR9341 CPU... I was able to heat only it up and reproduce a reboot on demand.
I looked around for information on this SoC Chip to determine if this was a common issue, and while I didn't find anything pertinent on the issue, not even a friggen Datasheet (not without shelling out $45 either), but I did discover something interesting... A whole lot of hardware that is using this same SoC (AR9341) are down-clocking it to 400Mhz instead of 535Mhz, so I am starting to wonder if it was due to thermal instability issues.
The next thing I did was take both units apart, and I looked in my junk heatsink bin, found two nearly identical heatsinks that were large enough to cover both the SoC and the RAM for both units. So I then applied Artic Alumina thermal adhesive to both chips, slapped down the heatsink, waited for them to set and started the routers back up.
Both routers are now running DD-WRT v24-sp2 (03/13/14) std - build 23720 and they have been up for days with no reboots, even in full sun
That's the problem, the SoC is clocked too high and doesn't have a sufficient thermal solution.
Solution is to at the very least, put a heatsink on the AR9341.
I hope this helps anyone having reboot issues on this router, and I'll upload pics of the hardware mods and heatsink addition later
Attached to this post is the modified D-Link DIR-615 I3 firmware ready to flash to I1 devices if anyone is interested. (Note: You MUST reset to default settings after flashing and afterwards you will need to use the Emergency Room Flash to do any DD-WRT factory flashes of I1 firmware or you need to edit the firmware ID to that of the I3 binary - 00DB120AR9341-RT-101214-00).
Last edited by RichardK on Mon Feb 02, 2015 18:35; edited 13 times in total