Sunday, September 16, 2007

After some adventures with my ActionTec MI424WR router yesterday, I was able to get remote desktop access setup to my Windows Vista machine externally. For some reason, I thought I had tested it out and it was working yesterday. Apparently not.

Today, I began having a problem where shortly (<10 seconds) after connecting to Windows Vista Ultimate via RDP / RDC (Remote Desktop Protocol / Remote Desktop Connection) from my Windows XP SP2 laptop, that the connection freezes or hangs. In fact, it is so bad that I cannot even perform a basic function before it freezes.

Generally speaking, I see the logon screen on my Windows Vista Ultimate PC. The background shows and I can even see the task bar and open applications. However, nothing completes rendering. Interestingly, the RDP client on my local Windows XP SP2 desktop is actually completely frozen. Additionally, the mstsc.exe process is not consuming CPU or memory.

At this point, I cannot even successfully exit the Windows Remote Desktop application and have to right-click on the application in the task bar to exit. Even once I do that, I still have to complete the "End Now" dialog to forcefully shut down the application. The other alternative is to end the mstsc.exe process in order to exit from the bad state.

I did some searching on Google today and could not find an appropriate solution that anyone has posted on. In fact, I performed several adjustments per a couple of suggestions, but none of them worked well. I also verified that I am running the latest version, Remote Desktop Connection (Terminal Services Client 6.0) for Windows XP (KB925876). Installing it again made little difference in the process or the problem.

The next step was finding some Google items in regards to some of the TCP configuration that you can tweak on Windows Vista, including Ultimate x64 (64-bit). What you need to do is run from the command line on your Vista machine that is the host (not the client) is the command "netsh interface tcp set global autotuninglevel=disabled". If that does not work, you can easily re-enable it, just type in "netsh interface tcp set global autotuninglevel=normal". This particular fix did not make a bit of different for me, even after having the Windows Vista Ultimate machine rebooting.

A note here is that even if you are logged on as an administrator, you must run the command prompt in "elevated" mode in order to execute the netsh commands. (Which is a major annoyance) What you need to do is find the command prompt (or cmd.exe) on your start menu, right-click and select run as Administrator. At which time you will be warned for Windows Vista elevation and then be able to complete the task.

There were also some suggestions about disabling IPv6, but I did not go that far as it did not seem worth the effort.

The crazy part is that Remote Desktop from Windows XP was working fine on my local LAN, now it is only through the WAN that is broken. In terms of the WAN connection though, I have checked the appropriate ports and verified that the equivalent of a port 3389 for TCP and UDP are available and open.

Anyone else have ideas on how to fix this? I'll keep searching and update if I locate a fix.

i've been trying to remote desktop into a vista machine i just set up for a couple of days now... after messing with the mtu size and trying those netsh commands i decided to try and disable IPv6.... bam.... it instantly works!