December13

KB935458 v2 - Vista hotfix for TcpAckFrequency

If you just want the files asap, skip the rest of the read and scroll down to the end.

While browsing through the World of Warcraft Tech Support forums, I came across this thread which has something of a fix for high pings. For the technical side as to how and why this works, I suggest you read the thread. The short version is that the WoW servers apparantly wait for the client to send an “ACK” before sending the client new data. The problem is, the client does not always send that “ACK” right away, so you’re left with a period of time where both the client and server are waiting on each other. This *could* be fixed on Blizzard’s end at some point, but until then, there are a few ways of fixing this on your own.

The way to do this in Windows is basically to add a registry entry. The downside is that it changes this setting for the entire computer, and might affect other high-bandwidth programs negatively (the computer will now send a lot more ACK’s than it did before). There were well-written instructions in the thread mentioned above, so I’ll paste them here:

basically windows user type “regedit” in windows “run..” dialog to bring up registry menu then find:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\
Parameters\Interfaces\
There will be multiple NIC interfaces listed in there, find the one you use to connect to the internet, there will be several interfaces listed (they have long names like {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}. Click each one, the right one will have lots of settings in it and you will see your machines IP address listed there somewhere. Right-click in the right hand pane and add a new DWORD value, name it TcpAckFrequency, then right click the entry and click Modify and assign a value of 1.

you can change it back to 2 (default) at a later stage if it affects your other TCP application performance. it tells windows how many TCP packets to wait before sending ACK. if the value is 1, windows will send ACK everytime it receives a TCP pckage. sounds straight forward to me.

The problem is that if you’re using Vista, it won’t work unless you install a certain hotfix first. I did a google search, and the only place I could find with the hotfix was http://thehotfixshare.net (which was actually mentioned in the forum). It’s a great site, and they offer the download for free, but you have to register first, and they don’t allow hotmail or yahoo email addresses (possibly others), which could leave some people out in the cold. Therefore, I’m offering the files here as well. If you feel like “giving back”, head to their site and make a donation - if it weren’t for them I wouldn’t have the files in the first place.

Keep the following in mind:

  • These hotfixes are for Vista only. Don’t try to install them on XP (you don’t need them anyway).
  • Install at your own risk. If they bork your system, are riddled with viruses that my virus scanner missed, or somehow cause you or your machine to participate in the annihilation of mankind, I’m not being held responsible. USE AT YOUR OWN RISK!
  • One is for 32-bit Vista, one is for 64-bit Vista. Install the right one. Not the wrong one, not both.
  • After you’ve finished with the hotfix, remember to add the TcpAckFrequency registry key!

Good luck!

Downloads
Vista 32-bit - Windows6.0_KB935458_v2_x86.msu.zip
Vista 64-bit - Windows6.0_KB935458_v2_x64.msu.zip

EDIT: A few people were having issues downloading the files (getting garbled text instead of the download). I downloaded the files from thehotfixshare.net and put them back up, just in case something went awry on the server. They’re now zipped.

One other note - a post at thehotfixshare.net in the x64 section noted that “this is fix for non sp1 systems only”. If you’ve installed Vista’s Service Pack 1, these may not work, although if Microsoft included it in the SP1 update (no idea if they did or not), then you might be able to use the registry key. Just make sure you write down (or print) where you change the registry so that you can reverse the change if it doesn’t work and you lose network access or something.

Posted by Matthew Gadient under Internet. Scroll down for comments.

13 Responses to “KB935458 v2 - Vista hotfix for TcpAckFrequency”

  1. Steffen Bo Christensen Says:

    What do i do, if the update doesnt wants to install on my comp?

    Have Vista Ultimate x64 OEM.

  2. halsa Says:

    TcpAckFrequency registry key! ?

  3. Chris Says:

    Im running a 32 bit windows machine and when i try to download the 32 bit fix, after everything runs a window pops up that says “The Update Does Not Apply to your system”

    Im guessing thats a bad thing, what do i do?

  4. nick kinsey Says:

    hope this works and if so thanks heaps

  5. Acid Says:

    Hmpf Help,

    i have the hotfix download and want it install on Vista Ultimate 32bit

    but they say me thats the install aren´t work… pls help

  6. phil Says:

    the 32 bit vista dosnt work for me.. the link.

  7. Matthew Gadient Says:

    Quite a few people seem to have been having some issues getting it to install. I checked the links and they’re still working. My install was the 32-bit version on 2 copies of Vista Ultimate 32-bit (2 different machines) and it went without issue, so for those who are having problems, I’d suggest checking in the WoW forums to see if others have had similar issues. For reference, the machines I did them on were home-built with relatively clean Vista installs, and were up-to-date patch-wise at the time. One was a Core2Duo and the other an Athlon XP, so spec-wise they were pretty different.

    On a positive note, Blizzard did make a change in a patch released after this post that *should* make the TcpAckFrequency unnecessary, although I’ve heard from a few people that the change (to an algorithim of some sort IIRC) didn’t have an effect on their machines.

    If anyone’s had an issue installing, but found out what was causing it and fixed it, please feel free to post your solution here for others :)

  8. Brandon Says:

    Yea, i think the download link is broken…

  9. Matthew Gadient Says:

    I’ll try to grab another copy from the hotfixshare and repost it.

  10. Bryan Says:

    Yeah, did everything this said, checked and recgecked just in case it screwed up, and it’s done nothing for me. I know it’s not my internet connection, considering everythign else is still blazing fast. Whatever they did in the recent maintenance, it’s completly screwed me over, and I’m not happy about it.

  11. SIGGI Says:

    i found a new link

    http://rapidshare.com/files/75956760/Windows6.0_KB935458_v2_x86.msu.html
    download it form ther !

  12. Matthew Gadient Says:

    Updated the post with the following:

    EDIT: A few people were having issues downloading the files (getting garbled text instead of the download). I downloaded the files from thehotfixshare.net and put them back up, just in case something went awry on the server. They’re now zipped.

    One other note - a post at thehotfixshare.net in the x64 section noted that “this is fix for non sp1 systems only”. If you’ve installed Vista’s Service Pack 1, these may not work, although if Microsoft included it in the SP1 update (no idea if they did or not), then you might be able to use the registry key. Just make sure you write down (or print) where you change the registry so that you can reverse the change if it doesn’t work and you lose network access or something.

  13. CW Says:

    Vista SP1 does indeed contain the fix from the hotfix. You can just apply the registry change if you are on Vista SP1 or later.

Leave a Reply