What Hardware version is your router? Look at sticker under router.
What Firmware version is currently loaded? Found on routers web page under status.
What ISP Service do you have? Cable or DSL?
What ISP Modem do you have? Stand Alone or built in router?
What ISP Modem make and model do you have?
If this modem has a built in router, it's best to bridge the modem. Having 2 routers on the same line can cause connection problems.
Some things to try:
Ensure DNS IP addresses are being filled in under Setup/Internet/Manual? You can find these under Status/Device Info/Wan section.
Turn off ALL QoS (DIR only) GameFuel (DGL only and if ON.) options. Advanced/QoS or Gamefuel.
Turn off Advanced DNS Services if you have this option under Setup/Internet/Manual.
Turn on DNS Relay under Setup/Networking.
Setup DHCP reserved IP addresses for all devices ON the router. Setup/Networking
Ensure devices are set to auto obtain an IP address.
Set Firewall settings to Endpoint Independent for TCP and UDP.
What wireless modes are you using?
Try single mode G or mixed G and N?
What security mode are you using? WEP, WPA or WPA2? Preferred is WPA-Personal. WPA2/Auto TPIK and AES.
What wireless devices do you have connected?
Any cordless house phones?
Any other WiFi routers in the area?
Turn off Short GI and Extra Wireless Protection if you have it. Under Advanced/Advanced Wireless.
Turn off all anti virus and firewall programs on PC while testing.
Turn off all devices accept for one wired PC while testing.
>TCP connection idle for more than 60 seconds seems to timeout
I have the same problem with my new DIR 601. The doc states that established TCP connections have a 7800 second (130 minute) idle timeout. However, any new TCP connection I establish gets killed by the DIR601 after only 60 seconds. I can verify this in the dlink's STATUS menu, INTERNET SESSIONS. This shows me the connections and the dlink's idle timer for them (which never is higher than 59 seconds even for a brand new TCP connection), and if I keep refreshing the page, I can watch it go to 0, and then the next time I try to use the application whose connection that was, it can't use the connection and has to recover. The DLINK doesn't even do the courtesy of announcing to the application that it RESET the connection. It just dumps it... which can make applications take EVEN LONGER to recover, since the application then has to try and retry to use the connection over and over until it gives up and finally either announces the problem or tries to open a brand new connection.
If I remove my dlink from the mix and connect directly to my ISPs equipment, I have no problems. (But of course no private network or firewall.) I need a properly functional router!
P.S. I support networks for a living, so 98% chance I'm not just making a user error. And the remaining 2% is mostly because I'm humble, not because I actually think I might be wrong. 