2Fix: Crashes and lock-ups with remote desktop

For the last 9 months or so I’ve had a suc­ces­sion of issues with remote desktop between my Win­dows 7 desktop PC and vari­ous HTPC’s which are also run­ning Win­dows 7. After quite a long jour­ney I seemed to have finally irons out all the problems.

The first issue appeared, as if by magic, when I found some newly installed PCs were freez­ing when accessed via remote desktop. I could log in fine, but if I min­im­ised the remote desktop win­dow when I returned I could­n’t get any com­mu­nic­a­tion. The remote PC had­n’t crashed — I could close remote desktop and then log back in, but every min­im­ise caused a loss of com­mu­nic­a­tion. I worked around this based on advice I read some­where about upgrad­ing to remote desktop 8.1
Upgrade to RDP 8.1
To upgrade Win­dows 7 you need a total of 5 updates, installed in the cor­rect order. You may already have some of them installed.

  1. kb2574819
  2. kb2857650
  3. kb2830477
  4. kb2913751
  5. kb2923545

Once these updates are installed (on both loc­al and remote PC), and you have restar­ted, you need to enable RDP8. This can be done 1 of 2 ways…
Run “gpedit.msc” and use group policy edit­or. The set­ting for RDP8 is loc­ated in Com­puter Con­fig­ur­a­tion-> Admin­is­trat­ive Tem­plates-> Win­dows Com­pon­ents-> Remote Desktop Ser­vices-> Remote Desktop Ses­sion Host-> Remote Ses­sion Environment->Enable Remote Desktop Pro­tocol 8.0.
Whilst edit­ing it would also be worth set­ting “Set Com­pres­sion Algorithm to RDP Data” to “Optim­ized to use less Net­work Bandwidth”
Altern­at­ively you can use a registry modi­fic­a­tion (use­ful on win­dows 7 home premi­um) in [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Ser­vices] set a dword called fServerEnableRDP8 to 1
Fix BSOD when sleep­ing, shut­ting down or restarting
After I had done the above I found my ses­sion freez­ing was cured. I also noticed that remote desktop went back ot not using Aero visu­als over RDP which is fine — I don’t need them for remote access. How­ever, I found that whenev­er I restar­ted, shut­down or sent to sleep the remote PC, it would crash with a BSOD ref­er­en­cing wdf01000.sys.
After much exper­i­ment­ing I found that a simple change to my RDP set­tings cured this BSOD. In the “options” for my con­nec­tion, I selec­ted the “loc­al resources” tab and unticked print­ers. I then clicked the “more” but­ton and unticked everything I found.
Since then I have been able to use RDP without crash or freeze.

In many ways I sup­pose this counts only as a work­around — I would be inter­ested to know about a prop­er fix, although I sus­pect this would require a hot­fix from Microsoft. I believe the crash­ing with RDP8 is related to an IRQ issue with USB. My best guess is that some kind of shar­ing of USB via RDP isn’t being closed cor­rectly dur­ing the shut­down pro­cess. If any­one has any more insight I would be interested

Leave a Reply

2 Comments

IRI'm not a robot

It’s “wdf01000.sys” and “tsusbhub.sys” in my case. That’s prob­ably related to some update that changes them, since around 2012 everything worked fine.

On “loc­al resources” I have only audio and video, but it still crashes on shut­down, restart, hiberna­tion or sleep. Not every time, but fre­quently enough.

Upgraded to Win­dows 10 and everything works even bet­ter. But here some net­work drivers do not sup­port Wake on LAN.

In the end everything is broken for me…

Reply