KB935458 v2 – Vista hotfix for TcpAckFrequency
Nov 10 2009 note: If you’re using Windows 7, do not try to install the hotfix – it’s for Vista only. However, you should be able to enter the registry key under Windows 7 – I did, and there weren’t any negative effects I could see although I have no idea if it’s providing any benefit (no way to test it at the moment), so feel free to leave a comment if you’ve created the key, and note whether you saw any benefit in games. Make sure you write down where you enter the registry key in case something buggers up so that you can remove the key if necessary.
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.

What do i do, if the update doesnt wants to install on my comp?
Have Vista Ultimate x64 OEM.
TcpAckFrequency registry key! ?
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?
hope this works and if so thanks heaps
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
the 32 bit vista dosnt work for me.. the link.
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
Yea, i think the download link is broken…
I’ll try to grab another copy from the hotfixshare and repost it.
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.
i found a new link
http://rapidshare.com/files/75956760/Windows6.0_KB935458_v2_x86.msu.html
download it form ther !
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.
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.
I don’t use vista, i use windows XP and I’m wondering which one works for that or if the two hot fix don’t apply to XP
The issue has been fixed in vista sp1
Did everything… Had 400ms before still have 400ms now. Application did nothing but tell me to restart my comp when I pushed the button. How do I know if it did anything at all???
i don’t know about what people are saying about the broken link, worked fine for me
but “the udate does not apply to your system” is happening
i downloaded, and used winrar to extract,then i was given the original zipped file, a folder, and an icon, when i click the icon, it starts a search for updates and says “the update doesn’t apply to your system”
did i do something wrong?
or is that normal?
if i did do something wrong, or something i wasn’t suposed to do, please help
In regards to the 400ms before and after, make sure you also added the registry key after installing the patch. It’s also quite possible that delayed ACK’s aren’t what’s causing your latency to be high. There are many possible causes for high latency, this is simply a fix for one.
In regards to the “update does not apply to your system” message, it’s possible that it was automatically installed by Windows Update at some point (or you installed SP2 which includes it). You can try just adding the registry key and restarting, but REMEMBER where the registry key is (write down the location in the registry) so you can remove it if it *doesn’t* work (in which case you might lose network/internet access until you remove the registry key and restart).
Hey Matt I just DL’d this along with something called Faster Ping to try to lower my latency while gaming.
Unfortunately doing so has cost me the ability to stream videos at a reasonable rate and I’m wondering if you could tell me how to revert this.
I’ve switched my Tcp thing back to 2 along with NoDelay back to 0 but still am not getting anything at all. My only guess is that it is this update I DL’d from here causing the problem and I’m not sure how to remove it from my system.
Tyvm!
Hey Matt, not sure how this works, typed a post before but it’s not showing up on the site
In case you didn’t get it, just wanted to say that I installed this hotfix along with a gaming mod that is made to lower latency and improve gameplay.
Unfortunately I’m experiencing awful buffering times on streaming videos since I installed this (a problem I’m reading many people are having) but reversing the changes in registry keys in Regedit haven’t seemed to fix it.
The only thing I can think of is that this hotfix is somehow preventing my settings from going back to normal and I’m unsure of how to disable/uninstall it.
Any help would be very much appreciated.
Danny,
Been a while since I’ve read up about those ping-enchancing services. However from what I recall reading, at least one of them seemed to work at least in part by working around either delayed ACK’s or Nagle’s Algorithm. It’s great if both the patch *and* a ping enchancing service work much better than one or the other alone – however depending on what the particular cause is for your own high pings, I wouldn’t be surprised if that might not be the case.
In any case, as I mentioned earlier, there *is* the potential that higher bandwidth stuff can be negatively affected by the increased amount of ACK’s being sent by the registry setting, and streaming video certainly falls under the category of higher bandwidth stuff. The thing is… removing the registry setting (or changing it to 2) should set it back to the default setting which was used beforehand after a restart. You shouldn’t really *have* to uninstall the patch itself, since all it really does AFAIK is let you change the setting from the default to something else.
However, since it was presumably working fine before the change, here are some uninstall instructions (make sure you’ve removed the registry key before uninstalling):
Assuming you’re using Vista, head to Control Panel (Start/Control Panel). If you’re in classic view, choose “Programs and Features”. If not, then under “Programs” there should be a section called “Uninstall a Program”.
Either way you should be seeing a list of installed programs. In the LEFT pane, under Tasks there should be an option called “View installed updates”. Select it and it should show you all the installed updates. You’re looking for the one with “KB935458″ in brackets. Uninstall it, restart and it should hopefully be gone.
Good luck!
I’m way behind, what is the registry key stuff everyone is talking about? As far as I’ve used it, it just installed itself and started running. What else is there to do, in layman’s terms?
Umm, I wasn’t sure if I had 32 or 64 bit, so I downloaded 32 bit and when I right clicked to open, it said something like virtual error and now I can’t see my desktop, I can only alt tab to firefox and my other opened programs? WTF
Hey I downloaded this for the same reason as danny and unfortunately im connected to a network with someone else in my household. Their computer is on XP while mine is Vista. We share the Satellite Internet Connection and my computer is on a mobile router.
Since I downloaded the XP computer won’t connect and neither will mine. I uninstalled it on my computer and can’t find it on the other computer. Could it possibly have transferred if it’s an open network?
HELP PLEASE
I have 32 bit vista but when I try to download I get an infinite amount of tabs at a steady pace on my window so I close the window and I have my download box witch says what I downloaded… I clicked open there and I get an infinite amount of windows on my screen… WTF!!!
Jeff,
Unless you tried installing the patch on XP (which it doesn’t sound like you did), there’s no way it should have affected the XP machine.
If I were to start hypothesizing about possibilities, I suppose it’s possible that something to do with Vista’s networking went haywire and is making your router puke.
Easy solution regardless is to unplug the Vista computer, restart your router/modem/etc, and see what happens. If the XP computer works fine at that point (and plugging the Vista machine in again kills it), then I’d start playing with the Vista machine a a bit. However, if the XP machine still won’t go even after removing the Vista one from the network, I’m inclined to think it’s an entirely different connection problem that by coincidence began to happen at the same time you did the update.
The above is null and void if you did try and patch the XP machine (since you shouldn’t have as these are vista-only patches), or if you tried adding the registry key in XP (in which case, just remove the key).
Uncreative,
I just tried both with firefox and IE, and could not reproduce this.
Try:
-right-clicking the file and choosing “Save As”
-restart your browser (possibly computer as well)
Other things that can cause this:
-Spyware/adware on your computer. Nasty stuff will even watch to see when you try and download something (clicking on a zip/exe/rar/etc link), and then redirect the download to *something else* which usually isn’t so good for your computer, privacy, etc.
-Popups/Popunders – Neither of which you should be seeing on this site anyway (it only has google banner ads and google youtube ads, neither of which should be causing pops of any sort) so a bit of a moot point.
-Another site displaying this one in a frame that serves ads/etc when you click on a link. If you *don’t* see a URL starting with “http://mattgadient.com/” in your URL bar up top, this is another possibility.
I also got the message that says “The Update Does Not Apply to your system†I am running Vista 32bit, and do not have a clue what to do to get this to work.
Everyone i have talked to raves about how well fasterping works and i really want it on this pc. My latency and framerate could use some work, and this is my last resort..
Please help me! By getting that message, does it mean the file is no good? I didn’t see any reply to Chris’ message, so I re-posted.
Plx help me Thx
Travis,
Likely one of two things:
1) Your copy of Vista is already patched / up-to-date . Click Start, right-click on “Computer” and choose “Properties”. If you see “Service Pack 1″ listed under the Windows Edition towards the top, you won’t be able to install the update, since it appears to be built into the service pack (and would thus already be installed). However, you *should* be able to add the registry key at that point (write down the location so you can remove it if it doesn’t work).
2) You downloaded the 64-bit version by mistake.
Good luck.
what is the registery key?
i dont quite understand what you mean by the tckpck register key
and by any chance could you tell me how to check my IP adress?
please and thank you
Hey matthew what do you mean by the registery key?
Hi there.
XP x32 Premium Ed
Swedish system
NOT Sp1
Downloaded a fix for WoW @ http://www.curse.com/downloads/details/10599/
Ran it.
Then it told me to go here and run this fix.
Problem started around here ..
Can’t run any of the 2 files (“The Update Does Not Apply to your system”).
Had around 70-80 ping before (steady as hell, NEVER any random DC’s), now when I logon I got 40-50 ping and then it slowly gets higher and higher until the client disconnects .. and we start over.
So my question is easy .. how do I put it all back to “vista default” settings?
does it matter if its at decimal or hexadecimal? because it didint seem to work on vista sp1(i downloaded hotfix from site) the default was decimal so i turned it to hexdecimal but it seems my ping is higher now pls help
when i try to turn it back ot default it wont save
korey:
I’m not 100% sure on this, but it seems to me that the decimal/hexidecimal setting just allows you to enter whichever format you want (for example you could type “ff” in hexadecimal to get a value of “255″ in decimal). Since 1 in hex is the same as 1 in dec, it should make no difference whatsoever (if you look at the Data values for all REG_DWORDS in the list, it shows decimal values of everything in brackets).
Providing that you have a line that looks like:
TcpAckFrequency REG_DWORD 0×00000001 (1)
you should be fine. If it’s had the opposite effect and actually *increased* your latency, then it’s likely that the ack’s aren’t the reason for your particular latency issues – simply removing the line (or changing it to a value of 2) *should* reverse the change. As always, be careful when playing with the registry and make sure you have everything backed up just in case….
Good luck!
Colabearhugs man, dropped my latency from 250 to 80.
let me get this straight. if i have service pack one, then this is already installed? im sitting on 500ms, and my buddy who did this on XP is running at 150-200ms….
i am really lost in the sauce on this bro, lol. any idea’s?
i play WoW on a CMT server.
gracias
” No network interface were found on this local machine ” is what it tells me when i run fast ping. I tried both hotfix, but they dont take since my vista is latest with everything, just got this pc.
adam:
The patch/hotfix itself is already installed with SP1 (to my understanding anyway). You would still have to add the registry key though (basically the indented, italisized part of the instructions).
Many thanks
“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.”
if i want to undo all these, do i just change the value to 2, or do i delete the Dword added?
thanks in advance
s62215:
If you’re the one who added the entry (likely), go ahead and delete it. If it was already there (added by a ping-enhancing program for example), I’d just change the value.
You’ll probably need to restart the computer for the change to take effect.
What is the registration key that is keep being mentioned? i can not find it anywhere. Well admitedly I am a huge noob when it comes to these things as I never bothered about them. But I can not find the so said registration key and can’t understand where to add it for it to take effect.
Johannes:
The key doesn’t exist, so you won’t find it.
You have to find the *location* in the registry and then add the key. If you’re not really comfortable in the registry though, might be best to have a friend who is comfortable do it for you, as things can go bad (like Windows not working anymore) if you accidently do something incorrectly.
Thank you! Took my framerate from about 200 – 250 down to 75!!!
I downloaded Service Pack 1 a few days ago, so only needed to do the registry change.
Quick vbscript to make (and unmake) this change to your PC.
Saves messy registry editing.
http://pastie.org/286039
Craig:
That’s a neat little vbscript! Would probably help to spit out a message based on whether it’s deleted or added the key (guessing just another WScript.echo for the if and else conditions although I’ve never played with vbscript). In any case, thanks!
Hello,
Before I get right to the point, I wish to say that this program served me extremely well for my latency with a server located very far away from my location.
Now that I’m back on a server which is located closer to me, and the ping is low, I wish to remove this program completely.
I read above that I should look for a Windows Update file with “KB935458″ in the name. I looked maybe 5 times now, through all the updates, and I can’t find it.
This is on windows vista—can there possibly be another way of removing this program where everything goes back to normal?
Thanks for the assistance, it’s greatly appreciated.
~ Yujiza.
Yujiza,
You shouldn’t have to remove the update. The update itself does *nothing* except to *allow* you to change the registry value from the default (from 2 to 1 in this case). It’s the registry change itself that has the actual effect.
All you should really have to do is find the registry key called TcpAckFrequency (check the writeup for the location), and change it from 1 back to 2. Alternately you could try deleting the TcpAckFrequency registry key altogether which should have the same effect.
As always, back stuff up and write down what you’ve changed before restarting the computer so you can reverse whatever you did if things go unexpectedly wrong.
Good luck.
Try changing it to 5 instead of 2, for a client, and 13 for a server. You see big improvement. We did this on XP, SP2, and ran WireShark – free download – to track the packets, and sure enoiugh, it went from sending 2 packets before each ACK to 5 packets, on a client. Over a WAN this can really add up.
EZRyder:
:O Yeah, high numbers would probably be just dandy for a lot of other things (and reduce the bandwidth taken up by so many ACK’s flying around). Don’t think a high number would be ideal for WoW though :p