Expert file-sharers are well aware that XP SP2 limits incomplete connection attempts, potentially slowing down transfers. This situation has been addressed with various patches on XP but until now, users of Windows Vista would experience similar problems. Follow this guide to remove the limits and reduce potential bottle-necks.
After installing Service Pack 2 on a Windows XP machine a limit was introduced to stop many TCP connection attempts on the host machine. This well-intentioned modification came as an attempt by Microsoft to limit the speed at which malicious worms (such as the infamous ‘Blaster’) could spread.
However, for software that relies on many connections such as BitTorrent, eMule and P2P TV applications, this limit has the potential to cause slowdowns in certain situations. This ‘feature’ of XP SP2 introduced by Microsoft and disliked by some file-sharers was dealt with by the useful patch available from LvlLord.
With the arrival of Windows Vista, the potential problems arising from the limits put on half-open connections are back. While Vista Ultimate offers a limit of 25 half-open connections per second, the Home Basic version offers just 2, but thanks to this great tutorial a solution is now available.
1. Download patched tcpip.sys: 64-bit tcpip.sys or 32-bit tcpip.sys.
2. Open command prompt, and run the following 2 commands:
takeown /f c:\windows\system32\drivers\tcpip.sys
cacls c:\windows\system32\drivers\tcpip.sys /G "username":F
Replace username with the actual user name that is currently being used to log on.
3. Disable the TCP/IP Auto-Tuning feature by running the following command in command prompt:
netsh int tcp set global autotuninglevel=disable
4. For 64-bit Windows Vista (x64), the integrity checks need to be disabled as it needs all drivers to be signed. So run the following command in DOS prompt:
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
5. Replace the tcpip.sys in C:\windows\system32\drivers folder with the patched tcpip.sys downloaded during step 1 (remember to use the correct x64 or x86 version. Normally this procedure can be done by simply logging into Windows Vista with an administrator account. However, if the process fails, reboot the computer and then press F8 to boot up in Safe Mode, and then copy and paste to overwrite the tcpip.sys.
6. Next, the maximum number of TCP half complete connection limit needs to be set in the registry. Open registry editor (regedit), and navigate to the following registry key:
7. Right click on the right pane, select “New”, then select “DWORD value”. Enter the new value name as “TcpNumConnections” (without quotes).
8. Double click on TcpNumConnections registry value, and modify the value data to the desired maximum TCP/IP connection limit that you want to allow, in decimal value. For example, enter 500 as the value data for TcpNumConnections. You can use any limit that you prefer. Alternatively, download this registry registration file that when executed, will set the TCP simultaneous connection limit to 16777214 (you can always modify the value in the file or in the registry after applied).
9. Restart computer.
Read more on optimizing your BitTorrent Speed.