Home networks with one or more computers running Windows 7 may experience slow file transfer speeds, specifically when transferring files with other computers running different operating systems, such as Windows Vista. Here is a solution that should improve network file transfer speeds over your home router, for networks with both Windows 7 and Windows Vista computers.
Faster File Transfer Speeds In Networks With Windows 7 & Vista
This method consists of two main parts, and assumes that your network is otherwise functioning properly. That is, each computer can access the others, except that the file transfer speeds are considerably slower than expected. This may be especially noticeable if you have just recently upgraded one or more computers on your network to Windows 7, from Windows XP or Vista for example.
Credit goes to the post at this link, which specifically discusses Windows Vista networks (parts of which are quoted below). A detailed description of the method is given there, along with some of the reasoning behind it. But this method also can be adapted for use on mixed networks with Windows 7 and Vista systems, as described here.
Part 1: Before Making Changes
It’s recommended to check your settings and your transfer speeds before starting, but if you just want to go ahead and perform the changes to your computers, then skip ahead to Part 2.
Otherwise, to test that this method works for you and your network, you may want to copy a single large file over your network (i.e. a video file over 100 MB), both before and after performing the steps below, then comparing the transfer times.
Then check your current TCP settings on each of your Windows 7 and Windows Vista systems, by performing the following:
- Open an elevated command prompt, in Windows 7 or Windows Vista, with administrator rights. You can do this by right-clicking on the link for “Command Prompt” in the Start Menu, then selecting “Run as administrator”.
- In the Command Prompt window, type the following and press Enter:
netsh interface tcp show global
Make note of the settings for “Receive Side Scaling State” and “Receive Window Auto-Tuning Level”, in case you want to undo your changes later.
Part 2: Disable TCP “Receive Window Auto-Tuning” and/or “Receive Side Scaling”
Repeat the steps below for each of your Windows 7 and Windows Vista systems to change TCP settings to disable “Receive Window Auto-Tuning” and to disable “Receive Side Scaling”.
- Open an elevated command prompt, in Windows 7 or Windows Vista, with administrator rights. You can do this by right-clicking on the link for “Command Prompt” in the Start Menu, then selecting “Run as administrator”.
- To disable “Receive Window Auto-Tuning”, in the Command Prompt window type the following and press Enter:
netsh interface tcp set global autotuninglevel=disabled
Your system should confirm the command was entered correctly by showing “OK” in the Command Prompt window.
- To disable “Receive Side Scaling”, in the Command Prompt window type the following and press Enter (this step is optional, so you may choose to skip this step for now and restart your computer first, to see if the transfer speed has improved):
netsh interface tcp set global rss=disabled
Your system should confirm the command was entered correctly by showing “OK” in the Command Prompt window.
- Restart your computer.
Part 3: Disable “Remote Differential Compression (RDC)” in Vista
If after performing the steps in Part 2 above, file transfer speeds on your network are still slower than expected, then disable “Remote Differential Compression (RDC)” on your Windows Vista computers only, by performing the following:
- In Windows Vista, open the Control Panel, then click on “Programs”.
- Under “Programs and Features”, click on “Turn Windows features on or off”.
- In the window that appears, uncheck the checkbox for “Remote Differential Compression”, then click OK. You may need to wait several minutes for the changes to be applied.
- Restart your computer, after the changes have been applied.
Undo Changes If Needed
To reverse the changes of Part 2, open an elevated Command Prompt as in Part 2, then type the following and press Enter after each line (then restart your computer):
netsh interface tcp set global autotuninglevel=normal
netsh interface tcp set global rss=default
To reverse the changes of Part 3, repeat all the steps of Part 3 except make sure to check the checkbox for “Remote Differential Compression” (then restart your computer).
Check your TCP settings for each system as in Part 1, to make sure that your changes have been undone.