mattgadient.com

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_MACHINESYSTEMCurrentControlSetServicesTcpip
ParametersInterfaces
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.

Leave a Reply

95 Comments on "KB935458 v2 – Vista hotfix for TcpAckFrequency"

Sort by:   newest | oldest | most voted
Oratac

Okay, Well I’m running a 32bit Vista and I downloaded the 32bit download, but then I try to install it, it tells me “This Update Is Not For Your Computer” Can youhelp me with this? Thanks 😀

Petter Nilsson

Hey man. I can’t thank you more for this. Help me with me Wow ms a Bunch of times now. Going from about 300+ ms to about 50-80. Thanks ALOT!

required

Does it matter whether or not the DWORD Value is 32bit or 64bit? I created a 32bit value since most of the stuff is based off a 32bit platform. I’m using Vista 64

Any thoughts?

dumi

@Daro
OMG and u think, 800ms is a good thing??? Its almost impossible to play wow with 800ms.
Haven’t test it yet, there is a server maintenance right now. People should open the eyes more and read the whole content of this site coz there are nice explanations on how to do this.

Studio Kay
Studio Kay

I’m using Windows 7 Ultimate 64 bit and I can say that by just adding in the registry will work without the hotfix; however, no change will occur unless you add the TCPNoDelay registry under software/microsoft/msmq and set the value to 1.

taek

Hello?

i have a question.

play the fasterping.

error – fasterping already run

What should i do?

Daro

Thanks alot! This really helped fix my lagging problems.
Was at 7000ms and within 10 mins it went down to 800ms =)

zollnea

hey i need help windows vista help.

ok i have downloaded all those things i have ran them and everything clicked all of them and all i get is cannot install or sumthing i have no idea how to put ;;regedit;; in or were i dont no what HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters isor how to get there

all i see is TcpAckfrequency [01] and donate at the top and apply at the bottem were is the box were i type this stuff in help me please

mabey sumbody can walkthrough it for me step by step what to downlaod first and what to do next and next sorry i am really bad when it comes to this stuff

Sesamo

Hi there,

I was wondering if this hotfix is valid for Windows 7 as well, i’ve tryed to install it but it keeps saying that it is not applicable to my computer, therefore i think that it can’t be used.

I’d like to have this hotfix for Windows 7 as well so that i can use Faster Ping. If u could give me a link to download it i’d deeply appreciate it.

Tyvm

help

if i download the wrong one wat will happen??

Evee

Hi there ^^ Well I looked at this and I’ve done this before; I have SP1 but my games are STILL lagging. I don’t know why and it’s frustrating. Maybe because the servers are busy? Could that be it? But it should still work even though the game is…busy. -_- I don’t know what’s wrong with the computer. T_T

Shady

Hi Matt, I am running on a 64 bit Vista with sp1 do I still need this hotfix? Because if I try disabling nagle the XP way, it doesn’t work at all. Oh yeah and how can I add this hotfix to the registry editor? Thanks!

James

Matt is there a fix for this on Vista 64 bit machines
or will this work for these machines

Petter

Hello Matt, I got some problems with this thing.
I got Vista 32-bit with the SP1.
And if I understood u right I should just go do the thing u said above with the Regedit stuff. So I did but my Ms(ping) dident change at all.
U know what to do?

Would be awsome bein looking for this for ages!…

Thanks in advance!

///Petter

Min

Hi there,
For me, i use Vista 32bit sp1 and when i installed it, the fast ping ran without a problem.
But I moved my house so I got a different connection for internet and now the fast ping doesnt work it pops a tab saying
“Application attempted to perform an operation not allowed by the security policy. To grand this app the required permission, contact your system ad or use ms .net framework config tool. Requested registry access is not allowed”
I have no clue what is wrong. the TcpAckfreq file was alrdy in the w/e u posted up there and it was setted to 1

Uh i sorta need help
Thanks

brett kruger

hi there

ok basically ive gone and changed my registry to 1 as said above but in my system TcpAckFrequency was already there and as a 1? but still my latency is about 500ms any help here?

jonathan

i’m wireless as well

jonathan

i have a problem, i can’t find my ip address under interfaces. and there are like 3-4 folders that are very long as well. which one do i have to put it under?

Cutt

what about windows 7? Does it work on it?

Katherin
Just wanted to give an update to this info. #1 If you have SP1 you can not install the hotfix but it does apear to be included in SP1 so you should be fine #2 if you want to try this fix HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1. Click Ok and close the registry editor, then reboot your PC.” You should know this regline is not in Vista if you want to use it you will have to add it manualy i wrote a scrip to add this and am including it here if you want to use it. If you do creat a TXT file and call it what ever you want, then go into it and paste What is between the *** ***… Read more »
Gin
For months already, I havent been able to solve this issue, I followed all the directions there, tried to add the DWORD ( TcpAckFrequency ) and ( TcpNoDELAY ). The thing is, theres already that type of file in that folder, and it was set on “1”. I’m real confused, I’m using a Vista SP1 32bit, installing the hot fix doesnt work, because yeah, I have an SP1. These arent working so far. Although, theres some weird thing, in the “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}.” There are 2 files that got alot of setting, I’m not sure which one do I use to connect to the internet.. However, one of them already has the TcpAckFrequency file, while the other one doesnt, and I… Read more »
BrianZ

Problem I have is when i do the regedit and i look for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters, I do not have the MSMQ folder. Any ideas why not?

RyanS

I was directed here from the FasterPing progem because I run vista, but neither of the above links work for my computer, or so it said

Dynath

Hi Matt,

I’m running vista 32-bits with SP1 and I’m planning to try this out, but if I don’t like it I can just delete the added registry keys and all would go back to normal, right?

Also, is this add needed too? :

2 – TCPNoDelay
This one is pretty simple

info here: technet2.microsoft.com/window….mspx?mfr=true

Type “regedit” in windows “run..” dialog to bring up registry menu

Then find:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers

Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1.

Click Ok and close the registry editor, then reboot your PC.”

Nyqvist

Is there coming any hotfix for Windows 7?

Hank White

I got the HotFix but Vista gives me the same crap it gives me for every HotFix. Does not apply to this system. I have both V1 and V2. Won’t take either. I have Sp1 and tried to remove and re-install it. No good. I have tried just adding the Ack Keys on my own and it hasn’t blown up yet. Any idea how to get this retarded OS to take it’s own hacks?

Matthew Gadient

Hank White:

As mentioned, SP1 already includes it, so it won’t allow you to install the hotfix (since it’s technically already there). You should be able to simply add the registry key.

Dylan

tacpAckfrequency what is that and how should i know what to enter in the box

wAkE uP

Hi dudes i a have downloaded the hotfix successfully and the program.

The problem is that i dont know how to fix my TcpAckfrequency, i mean what should i say in the box

Thanks in advanse

Matthew Gadient

wAkE uP:
It’s this section of the post you’ll want to look towards…

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.

Phoebe

Hello,

I have Vista on a 32-bit Operating System but I did not download the link. I just went ahead and did the whole Regedit process as directed up there. It did improve my lagging a lot, (from what I can see) so I’m not sure if I really needed the download or not. Oh, and I also use wireless…which still worked for me. :]

Matthew Gadient

Phoebe:

I’m going to guess you’ve already got Vista’s Service Pack 1 installed, so don’t bother trying to download/install the files I listed – they’re unnecessary with SP1 and probably wouldn’t install for you anyway.

Glad it’s working for ya!

Khabaal

Hello Matt,

After using Faster Ping, is it good to do the registry editing described above?
Is the hotfix included in the SP for Vista now?

Thanks,
Khabaal

Matthew Gadient

Khabaal:

I haven’t personally used Faster Ping. You could try using the hotfix anyway, although unless they recommend it, it may not give any additional benefit.

Khabaal

Hi Matt,

Couple of questions:
– After running Faster Ping, would entering the registry key described above, give good results? (Faster Ping sets TcpAckfrequency to 1)
– the hotfix with DL link above is now part of vista with sp1?
– about TCPNoDelay, is this only for XP since I didn’t find the folder where you input the changes(2 – TCPNoDelay
This one is pretty simple

Discussed here

Type “regedit” in windows “run..” dialog to bring up registry menu

Then find:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters

Right-click in the right hand pane and add a new DWORD value, name it TCPNoDelay, then right click the entry and click Modify and assign a value of 1.

Click Ok and close the registry editor, then reboot your PC.)
Many thanks,
Khabaal

EZRyder
EZRyder

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.

Matthew Gadient

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

Matthew Gadient

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.

Yujiza

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.

Craig

Quick vbscript to make (and unmake) this change to your PC.
Saves messy registry editing.

http://pastie.org/286039

Matthew Gadient

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!

Poly

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.

Johannes
Johannes

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.

Matthew Gadient

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.

Matthew Gadient

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.

s62215

“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

Aristeidis

Many thanks

Matthew Gadient

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).

spyke

” 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

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

Engmatic

Colabearhugs man, dropped my latency from 250 to 80.

Matthew Gadient
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 0x00000001 (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… Read more »
korey

when i try to turn it back ot default it wont save

korey

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

Josh
Josh

Hi there.

XP x32 Premium Ed
Swedish system
NOT Sp1

Downloaded a fix for WoW @ 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?

Chris
Chris

Hey matthew what do you mean by the registery key?

wpDiscuz