Windows Vista tcpip.sys Connection Limit Patch for Event ID 4226

Apparently in Windows Vista, Microsoft still enforce and hard-limit (hard coded in tcpip.sys) the maximum simultaneous half-open (incomplete) outbound TCP connection attempts per second that the system can make, as in Windows XP SP2, in order to protect the system from being used by malicious programs, such as viruses and worms, to spread to uninfected computers, or to launch distributed denial of service attack (DDoS). When the limit is hit, in Event Viewer, there will be such an entry:

EventID 4226: TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts

Unless Windows XP SP2 which has 10 maximum incomplete concurrent connection attempts limit per second, Windows Vista default limit is based on which edition of Vista users are using. For example, Home Basic has maximum limit of 2, and Vista Ultimate is 25 per second. Normal Windows Vista users should not face any problem or slow network connection with the half-open connections limit. However, heavy P2P (peer-to-peer) applications users such as uTorrent, BitTorrent, BitComet, Azureus, ABC, eMule (eDonkey network), etc, or P2PTV such as TVants, PPLive, PPStream, Sopcast, etc may face some error or slow download and upload speed due to this limit.

Due to enhanced security, to fix or crack the TCP concurrent connection limit in Vista is not as easy as in Windows XP. To remove maximum concurrent half-open connection limits in Windows Vista, apply the patched tcpip.sys with the following steps:

  1. Download patched tcpip.sys: Vista TCP/IP and UAC Auto Patcher (patched tcpip.sys is contained inside the archive) 64-bit tcpip.sys or 32-bit tcpip.sys. Alternative download link for 32-bit and 64-bit.
  2. Open command prompt, and run the following 2 commands:

    1. takeown /f c:\windows\system32\drivers\tcpip.sys
    2. cacls c:\windows\system32\drivers\tcpip.sys /G “username”:F

    Replace username with the actual user name that used to log on to Windows Vista currently.

    The second command can also used improved lcacls:

    icacls c:\Windows\System32\drivers\tcpip.sys /grant “username”:f

  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 need all drivers to be signed. So run the following command in DOS prompt:

    bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

    Note: Above command no longer supported, and users require to press F8 on system startup to bypass driver signing integrity check.

  5. Replace the tcpip.sys in C:\windows\system32\drivers folder with the patched tcpip.sys downloaded from step 1 (remember the use the correct x64 or x86 version). Normally, this procedure can be done by simply login to Windows Vista with administrator account. However, if the process failed, reboot the computer and then press F8 to boot up in Safe Mode, and then copy and paste overwrite the tcpip.sys.
  6. Next, the maximum number of TCP half complete connection limits need to be set in registry. Open registry editor (regedit), and navigate to the following registry key:

    HKEY_LOCALL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  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 (another download link) 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.

New: Windows Vista Event ID 4226 Auto Patcher

Windows Vista Event ID 4226 Auto Patcher has been renamed as Vista tcpip.sys and UAC Auto Patcher, which now has more than 6 versions of auto patcher download links for different versions of tcpip.sys with the release of various hotfixes and SP1. Visit here for details.

New: Half-Open Limit Fix (Automated tcpip.sys Patch using Test Self-Signed Certificate)

Also Available – Driver Version: CrackTcpip.sys for Vista SP1 v.668 – a non-patching method to bypass TCP connection limit.

Also available is TCP/IP auto patcher for 64-bit (x64) Windows Vista SP1.

Gui Version: VistaTcpPath TCP Auto Patcher which works for Vista RTM (non-SP1) version of tcpip.sys.

Old Version:

Version 1.0
Version 1.2
Version 1.3
Version 1.4
Version 1.5

With thanks to YaronMaor for batch script.

The TCP connection limit which trigger Event ID 4226 has now increased to 500 (or any other value you set), and will likely fix the error for re-occurring again.


371 Responses to “Windows Vista tcpip.sys Connection Limit Patch for Event ID 4226”

Pages: « 1511 10 9 8 7 [6] 5 4 3 2 1 » Show All

  1. Rick
    January 14th, 2008 03:27
    150

    Follow-up: the DDISABLE_INTEGRITY_CHECKS issue turns out to be well known and is unrelated to the patch.

    Basically, when any of these updates are installed, you cannot run the DDISABLE_INTEGRITY_CHECKS command:

    KB943899
    KB943078
    KB932596
    KB938979
    KB941649

    And there may be others. The F8 workaround, as previously mentioned, is the only solution right now for this idiocy (I certainly don’t recommend uninstalling the KBs just for this). Watch this thread for further developments on this “evil updates” issue:
    http://forums.microsoft.com/technet/showpost.aspx?postid=2012166&siteid=17&sb=0&d=1&at=7&ft=11&tf=0&pageid=2

  2. Rick
    January 14th, 2008 03:16
    149

    RyanHo, You’re talking about 20689, right?

    I don’t know why that line in the batch wouldn’t work for you. Did you run it from an elevated prompt?

    Everyone: When posting, please cite version and platform.

  3. YaronMaor
    January 14th, 2008 03:09
    148

    Hi All,

    I’ve just updated the recent patch to include the 64bit of v16567 driver.
    http://www.yaronmaor.net > “Repair” section.
    As Rick wrote before, please send us details on 64bit systems installed with patch. which version did you install? did it work for you? did the earlier versions work before?

    Thanks,
    YaronM

  4. RyanHo
    January 14th, 2008 03:08
    147

    Rick, you are right. It actually works. But I have another problem.

    bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

    The option “DDISABLE_INTEGRITY_CHECKS” doesn’t work, I don’t know why. I have to press F8 in boot menu and select “don’t check driver integrity”.

  5. Rick
    January 14th, 2008 03:04
    146

    Silverbreaker: Was the RTM 64-bit patch working for you before? I ask because if it wasn’t, the new one won’t either, since it was done in the same way.

    Let’s consider the new 64-bit patch a “work in progress” at this point until we can get more feedback.

    I’d also like to hear any feedback on the 64-bit 16567, which is forthcoming if it’s not already there.

  6. Silverbreaker
    January 14th, 2008 02:33
    145

    @YaronMaor and @Rick

    your Patch (1.9) doesn’t work on my 20689 x64 vista!! the tcpip.sys crachs after the reboot!

    please fix the problem!

  7. Rick
    January 13th, 2008 23:47
    144

    My theory about the KB941644 lottery is this. I’m anxious to hear from anyone who can prove or disprove it:

    -If you already have 6.0.6000.16xxx before installing it, you’ll get 6.0.6000.16567.
    -If you already have 6.0.6000.2xxxx before installing it, you’ll get 6.0.6000.20689.

    If true, I’d recommend people already be on a 6.0.6000.2xxxx hotfix before installing it, since I expect that the larger, seemingly “newer” 20689 version is the more comprehensive fix, a “QFE” (integrates all other fixes which apply to that module) rather than a “GDR” (contains only the specific fix and not all others). Why Microsoft would do it this way I can’t understand, since they’re both roughly the same size.

    This would be a convenient way to get onto 6.0.6000.2xxxx if you haven’t installed KB941644 yet:
    http://support.microsoft.com/kb/940646

  8. YaronMaor
    January 13th, 2008 20:30
    143

    Hi CD,

    I was waiting for someone to come-up with this situation… :)
    Please send me a copy of the tcpip.sys file with the version 16567 archived in RAR or ZIP.
    send it to: info at yaronmaor dot net.
    I will patch it and add it to the patch-package.

    Thanks,
    YaronM

  9. THE_CD
    January 13th, 2008 18:52
    142

    Hi there

    I got 16567 version of file (tcpip.sys) after instaling KB941644 in Vista Utlimate x64.
    Anyone there with same case.
    YaronMaor are you planing patch this version of file for 64bit system ?
    Salutation

    CD

  10. YaronMaor
    January 13th, 2008 15:06
    141

    Hi All,

    There’s a new revision (v1.9b) for the patch that includes support for 64bit and also to the two file versions that comes with the 32bit (16567 & 20689).
    Please follow the README.TXT file that comes with the patch.
    find it at: http://www.yaronmaor.net
    under the “repair” section.

    Cheers,
    YaronM

  11. Rick
    January 13th, 2008 13:38
    140

    For anyone wondering how to mod 64-bit, it’s the same procedure as in post #131, with the following exception:

    1) With UltraEdit (or your favorite binary file editor), search for this pattern:
    0f 87 24 01 00 00

  12. Rick
    January 13th, 2008 07:32
    139

    Er, that’s: info at yaronmaor dot net

  13. Rick
    January 13th, 2008 06:48
    138

    Rob, please email your 64-bit 20689 to yaronmaor dot net. Thanks.

  14. Rick
    January 13th, 2008 06:09
    137

    Rob, KB941644 installs 16567 in some cases and 20689 in other cases (read a few posts back), but regardless we need the original UNpatched 16386 to be able to see what needs to be done.

    BTW, since I take it you were using the patched version (of 16386) on 64-bit until recently, how did it work for you?

  15. RobG
    January 13th, 2008 05:37
    136

    YaronM,

    Mine is the version 20689….

  16. YaronMaor
    January 13th, 2008 04:10
    135

    Hi RobG,

    Please send a copy of the unpatched version of 64-bit v6.0.6000.16386 tcpip.sys to the following address:
    info at yaronmaor dot net

    thanks,
    YaronM

  17. Rick
    January 13th, 2008 03:56
    134

    Rob, I’d guess that you could follow the same recipe, but without seeing the original version I wouldn’t know.

  18. RobG
    January 13th, 2008 03:46
    133

    YaronM,

    Is it difficult to make the patch to 64 bit version ???

  19. YaronMaor
    January 12th, 2008 23:57
    132

    Hi All,

    in the link below you can find the new v1.9 of the tcpip patch supporting KB941644 (for 32bit only). Find it under the “Repair” section:
    http://www.yaronmaor.net

    Thanks for Rick for his helpful information in cracking the tcpip driver.

    Cheers,
    YaronM

  20. Rick
    January 12th, 2008 15:21
    131

    Modified 6.0.6000.16567 (32-bit), in case anyone wants to try it out. How I did it is explained below. Let me know how it works.

    http://rapidshare.de/files/38276806/tcpip_eventid4226fix_6.0.6000.16567__32-bit_.zip.html

    Well, by doing extensive searching, I found out the purpose of the mystery pair of bytes starting at 140H: the checksum. No wonder it was different with each revision of the file.

    So, I took 6.0.6000.16567 (32-bit) and did the following. With this recipe, any version that comes along can be easily modded:

    1) With UltraEdit (or your favorite binary file editor), search for this pattern:
    0F 87 8b 00 00 00
    2) In the found location, replace those six bytes with:
    90 90 90 90 90 90
    3) Save the file and close the editor.
    4) Download PEChksum here (you can ignore the other four programs in the archive).
    http://www.bitsum.com/files/pesuite.zip
    5) Copy PEChksum.exe to the same directory as your modified tcpip.sys, open an elevated command prompt in that directory, and run:
    PEChksum tcpip.sys
    6) You’re done.

    Your output will look like this (values will vary by version; this is the output for 6.0.6000.16567):

    + Processing file: tcpip.sys
    + Original checksum: 0×000C86AB
    + New checksum : 0×000C9DD5
    + Checksum required correction.
    Modules analyzed: 1
    Modules whose checksum was corrected: 1

    PEChksum automatically makes the modification necessary to the file: the checksum, which in this case was located at 140H-141H. This is necessary because you modified the file earlier.

    In summary, these are the changes for this particular file:

    tcpip.sys 6.0.6000.16567
    00000140 : AB D5
    00000141 : 86 9D
    0003F479 : 0F 90
    0003F47A : 87 90
    0003F47B : 8B 90
    0003F47C : 00 90
    0003F47D : 00 90
    0003F47E : 00 90

  21. Rick
    January 10th, 2008 00:24
    130

    OK, so here’s my line of thinking on patching 6.0.6000.16567. Tell me if I’m crazy, please.

    Comparing the RTM version with your patch in UltraEdit, the only differences I see are these:

    RTM: 140H-141H: 67 0F
    Patch: 140H-141H: 91 26

    RTM: 3F47dH-3F482H: 0F 87 8b 00 00 00
    Patch: 3F47dH-3F482H: 90 90 90 90 90 90

    When looking in 6.0.6000.16567 for something comparable, I found:

    -The first pattern is still 140H-141H, but the new values there are: AB 86. The byte following, at 142H, is now 0C instead of 0D.
    -3f479H-3f47fH is the new location for the second pattern, and all the numbers around it also match the original so it’s definitely the right location.

    So the second change seems easy. The first one is more ambiguous, since I’m not sure if the third byte should also be changed.

  22. Rick
    January 9th, 2008 23:55
    129

    There appear to be two sets of files with this update listed here in the Security Update Deployment, Windows Vista (all editions), File Information section. Since we both got 6.0.6000.16567 (I tested on the Enterprise edition) it’s pretty safe to assume most will get that, but the other version is mentioned for tcpip.sys as well, so eventually someone’s going to turn up with it.

    http://www.microsoft.com/technet/security/bulletin/ms08-001.mspx

  23. admin
    January 9th, 2008 15:47
    128

    After installing KB941644, I too get tcpip.sys version 6.0.6000.16567. 6.0.6000.20689 probably is for other files?

  24. Rick
    January 9th, 2008 14:33
    127

    Clarification: After actually installing MS08-001, I got v6.0.6000.16567 of TCPIP.SYS, not what I mentioned earlier. Both versions are mentioned in the technote for 32-bit, so apparently some 32-bit flavors get one and some the other. First I’ve heard of such a thing, but I can’t think of any other explanation.

  25. Rick
    January 9th, 2008 04:02
    126

    Just a heads up, MS today released the first mainstream update to TCPIP.SYS since 32-bit RTM. It’s part of Security Bulletin MS08-001 and is v6.0.6000.20689.

    By “first” I’m not counting betas and not counting a couple optional updates made available only via obscure KB articles. This one is being pushed out to everyone via Windows Update, though technically speaking it is optional if you don’t use automatic updates.

    So now the search is on for the patched version (just like was created for the RTM version), though why an intelligent updater like the original one for XP isn’t available is still a mystery.

Pages: « 1511 10 9 8 7 [6] 5 4 3 2 1 » Show All

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. To receive notification of latest comments posted, subscribe to My Digital Life Comments RSS feed or register to receive new comments in daily email digest.
Custom Search

New Articles

Incoming Search Terms for the Article

tcpip.sys - vista connection limit - vista tcp patch - tcpip.sys vista - TCPIP.SYS Patch - VISTA MAX TCP CONNECTIONS - vista tcpip patch - vista tcp ip patch - tcpip.sys patch vista - max tcp connections vista - windows 7 tcp ip patch - windows 7 connection limit - tcp/ip.sys - tcp ip patch windows 7 - vista tcp connection limit - windows 7 max connections - vista concurrent connections - Event ID 4226 vista - TCP/IP failed to establish an outgoing connection because the selected local endpoint was recently used to connect to the same remote endpoint. This error typically occurs when outgoing connections are opened and closed at a high rate, causing all available local ports to be used and forcing TCP/IP to reuse a local port for an outgoing connection. To minimize the risk of data corruption, the TCP/IP standard requires a minimum time period to elapse between successive connections from a given local endpoint to a given remote endpoint. - tcpip vista - TCPIP.sys patch for vista - windows 7 4226 - event id 4226 windows 7 - tcp patch windows 7 - vista max connections - windows vista connection limit - tcp patch - tcpip patch - half-open connections vista - tcp connection limit vista - VistaTcpPatch.exe - tcpip.sys 64 bit - patch tcpip.sys vista - tcp limit - vista sp2 tcpip reg - Vista TCPIP 4226 - windows 7 tcp paTCH - event id 4226 patch - 4226 Patch - vista tcpip - event id 4227 - tcpip patch vista - vista maximum connections - tcp ip patch - tcp patch vista - Vista Event 4226 Patch - vista half open - max half open vista - maximum connections vista - vista tcp ip limit -