Preamble for D-Link moderators / engineers:
This is a detailed and cause-isolated bug report (and a temporary workaround) that is replicable on both the DIR-655 *AND* the DIR-628. I will also post a link to this thread in the DIR-628 forum. I have NOT called support about this, so please forward this to the appropriate engineering team.
-----
After upgrading my DIR-655 (A3) to v1.31 (from v1.20), I reset to factory defaults and decided re-enter all my settings from scratch (which I keep very well documented) instead of restoring from a config file. At a certain point, the router rebooted on its own, worked for about 30 seconds, and rebooted again - rinse and repeat. I let it loop through rebooting over and over for about half an hour until I had enough and reset to factory defaults via the reset button.
I decided to re-flash just in case, then started entering in the settings again, and lo and behold, at a certain point the same crazy reboot loop started again - which called for the trusty reset button once more. The next time, I decided to pay closer attention to the order in which I was entering the settings, and made a point of saving & rebooting after each page of settings - and it was after saving the changes for the "Time" page when the whole loop began again.
So once again, I reset to factory defaults, determined to get to the bottom of this - and after some more of this nonsense, was able to isolate it to the NTP time server entry. I tried going and disabling it in the interface between reboots, but there just wasn't enough time to navigate to the page, make changes, and save before the next reboot occurred. I decided to Google the issue, and only found a SINGLE reference to someone having the same problem - which seemed a bit odd, since I was pretty confident that a sizeable chunk of people used time servers to keep their devices time-synchronized.
Something happened next that gave me a good clue to what was happening, and encouraged further diving in instead of just leaving the NTP field empty and calling it quits; for some reason, I had unplugged my WAN cable before I was about to use the reset button - and noticed that the router stopped rebooting!
Intrigued, I configured the syslog setting, and watched the output while I plugged in the WAN cable, and here's what I saw:
Requesting time from 208.80.96.70
Time server ca.pool.ntp.org is at IP address 208.80.96.70
Requesting time from 70.80.210.236
Time server ca.pool.ntp.org is at IP address 70.80.210.236
Requesting time from 206.248.190.142
Time server ca.pool.ntp.org is at IP address 206.248.190.142
After this, the router immediately rebooted, ad nauseum.
What piqued my interest was the fact that, for some reason, the router was contacting 3 different servers before rebooting - and on next boot, it was contacting yet another set of 3 IP addresses! The fact that it was contacting *THREE* servers instead of just one made no sense at all - but the fact that the IP addresses were different on each query was in fact the correct behaviour; you see, I was using ca.pool.ntp.org - which is the subdomain used to access the Canadian servers in the NTP pool.
For those unfamiliar with NTP pool (http://www.pool.ntp.org/), it uses round-robin DNS resolution to randomly return an IP address belonging to any of the NTP servers in the pool (for load balancing and increased availability purposes). So each time you query ca.pool.ntp.org (for servers geographically located in Canada) or us.pool.ntp.org (for the U.S.) or whatever geo-linked subdomain you wish, you nearly always get a different NTP server responding to your request.
The fact that it was being queried 3 times seemed to suggest that the query process was failing somewhere. So for the heck of it, I thought I'd give D-Link's NTP server a try (ntp1.dlink.com) - and to my surprise, using it didn't cause any reboots! The syslog showed a single query, and the router continued on its merry way!
I was somewhat satisfied with this workaround and the fact that I could test this issue's resolution with newer firmware releases without having to worry about a possible need to reset to factory defaults (since I could just temporarily unplug the WAN cable to stop the reboot loop, then disable NTP via the interface). By the way , I also tried out the v1.32 NA Beta 1 and got the exact same issue.
My guess would be that it arises from some conflict with DNS resolution and the way the NTP pool implements round-robin DNS and/or a variation in the NTP data format that is being returned by these servers.
So after all this detective work, I was about to go even deeper and connect a packet analyzer to a mirrored port on the switch so I could see what was actually being sent and returned, but the large unsorted laundry pile on my floor was calling me to take care of it instead. After all, it's probably a good idea to leave at least some of the mystery to you D-Link engineers, right?
Another helpful note is that the same problem occurs on the DIR-628 (A3) running v1.20 firmware.
Just this week, I was setting up my sister's new laptop and her DIR-628. I upgraded the firmware to v1.20 right out of the box, and configured & documented all her settings - including the ca.pool.ntp.org NTP server address.
Because I was working on it at my own place, I had the WAN cable unplugged all along. Once I brough it over to her apartment and connected it, it started going through the same reboot. I quickly put two and two together, disconnected the WAN, changed the NTP server to the D-Link-provided one, and everything was working fine since then. This problem still persists after upgrading to the newest DIR-628 firmware beta (1.20NAb07Beta01).
-----
So there you have it. I do hope you guys are able to fix this for the next firmware release, as the issue is quite serious; please realize that just because I got down to the source and found a temporary workaround, probably 80% of your users who use the NTP pool addresses WON'T - they will RMA the product, which will mean unnecessary drain on your resources.
And lastly, it is important to note that the NTP pool isn't some obscure service that is rarely used - according to stats on their website, the pool servers about 50,000 requests PER SECOND. Now I realize that since this is a consumer product, most won't even set an NTP server, but again, my point is that out of those who DO, the results are quite SEVERE - hence the sooner you fix it, the less RMAs you'll be receiving.
peace ya'll