Problem with TCPAckFrequency and TCPDelAckTicks

Get help and discuss anything related to tweaking your internet connection, as well as the different tools and registry patches on the site. TCP Optimizer settings and Analyzer results should be posted here.
Post Reply
cperry7467
New Member
Posts: 5
Joined: Tue Sep 14, 2010 11:53 am

Problem with TCPAckFrequency and TCPDelAckTicks

Post by cperry7467 »

I believe I found a bug that is causing severe speed problems when using the Optimizer. Here are the details...
OS: Windows XP SP3
Broadband Connection: 50Mbps Download x 5Mbps Upload

If I launch TCP Optimizer and slide the bar to 50Mbps, just select my primary network adapter (Broadcom NetXtreme 57xx Gigabit Controller), select Optimal and modify then things work great. I'm hitting 50-60Mbps everytime to speed test servers.

However, if instead I check the box for "Modify all Network Adapters" which is just one more adapter (Intel Pro Wireless 2200BG Network Connection) and apply the changes my speeds go to hell, between 1-4Mbps.

I started looking at the settings when I do both methods and the only difference is that the TCPAckFrequency and TCPDelAckTicks is getting set to "1500" when I modify all adapters as opposed to "N/A" for when I just modify the one by itself. Another interesting point is that if I first launch the program, select the one adapter and apply the optimal settings it says it will set the 2 options to "N/A". If I exit that without committing the changes, select modify all and click apply, it shows the value being set to "1500". Then if I exit that, uncheck modify all and go back to just modifying the 1 adapter it still shows "1500" for the new setting. Weird little bug....

I started looking online and it appears the valid range for this setting is 0-6, and in TCP Optimizer itself under custom settings the only options are N/A, 0 and 1 which all 3 work fine. So I think there is something causing these 2 settings to get set to 1500 by mistake when selecting modify all adapters.
User avatar
mccoffee
Posts: 13365
Joined: Sat Nov 03, 2001 12:00 pm
Location: Cleveland, Ohio, United States

Post by mccoffee »

i"m going to have Philip take a look at this post.

If you can post a link to the article with the valid ranges so we could all see what the promblem maybe
thanks

try some of the tips suggested here
http://smallvoid.com/article/winnt-nagle-algorithm.html
Comptia a+ n+
cperry7467
New Member
Posts: 5
Joined: Tue Sep 14, 2010 11:53 am

Post by cperry7467 »

That's actually one of the articles I read. And if you look, for XP it says:
TcpAckFrequency = 2 (Default=2, 1=Disables delayed ACK, 2-n = If n outstanding ACKs before timed interval, sent ACK)

Looking at that I would say 1500 is not a valid value for the setting. Even if it is, it's definitely causing a problem.

It doesn't mention XP specifically for the TcpDelAckTicks but it mentions it for 2000:
TcpDelAckTicks = 1 (Default=2, 0=Disables delayed ACK, 1-6 = 100-600 ms)

Which that one looks like it could be 0-6 for Win2000. Can't find much about it for XP.
cperry7467
New Member
Posts: 5
Joined: Tue Sep 14, 2010 11:53 am

Post by cperry7467 »

http://support.microsoft.com/kb/328890
Subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<Interface GUID>
Entry: TcpAckFrequency
Value Type: REG_DWORD, number
Valid Range: 0-255
Default: 2


http://technet.microsoft.com/en-us/libr ... 38206.aspx
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ interface-name

TcpDelAckTicks
Range 0-6
soyoguide
New Member
Posts: 3
Joined: Tue Sep 07, 2010 11:57 am

Post by soyoguide »

I'm having the same problem, XP or 2003. I just delete these two key off the interface and it work great after that.
cperry7467
New Member
Posts: 5
Joined: Tue Sep 14, 2010 11:53 am

Post by cperry7467 »

Yup, I did the same thing and it fixed it on mine. Just not sure why it's setting it in the first place.
User avatar
Philip
SG VIP
Posts: 11732
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Thanks for catching this, seems it is a bug when selecting "All network adapters". Will be fixed in the next release.
User avatar
Philip
SG VIP
Posts: 11732
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Fixed, released version 3.0.5
Disclaimer: Please use caution when opening messages, my grasp on reality may have shaken loose during transmission (going on rusty memory circuits), even though my tin foil hat is regularly audited for potential supply chain tampering. I also eat whatever crayons are put in front of me.
๑۩۞۩๑
cperry7467
New Member
Posts: 5
Joined: Tue Sep 14, 2010 11:53 am

Post by cperry7467 »

No prob. Glad I could help!
User avatar
KEiGHT
Regular Member
Posts: 131
Joined: Thu Feb 27, 2014 2:39 am
Location: Romania

Post by KEiGHT »

TcpAckFrequency=1 (disable Nagling algorithm)
TcpDelAckTicks=0 (disable Nagling algorithm) works only when Nagling is enabled !
TCPNoDelay=1 (disable Nagling algorithm)

Here is where SG TCP Optimizer is wrong set for Windows 7 SP1 x64;

TcpDelAckTicks

Specifies the time interval that defines the end of a segment stream. When this interval elapses between the receipt of TCP segments, TCP considers the segment stream to be complete, and it sends an ACK message to acknowledge the segment. Otherwise, TCP acknowledges every other segment only. This interval is used in TCP's delayed acknowledgment strategy, in accordance with RFC 1122, Requirements for Internet hosts—communication layers.

TcpDelAckTicks default value is 2 in the registry of windows 7 , which in SG TCP Optimizer shows disabled: 0
If I set this one with SG TCP Optimizer, his value will be set as 0 but in SG TCP Optimizer after restart, show default n/a instead of Disabled: 0
The odd fact is , cuz if I set in registry to 2, in SG TCP Optimizer will appear correct value Disabled: 0 and if I set it to Disabled: 0 with SG TCP Optimizer in registry will appear 0 but in SG TCP Optimizer shows default n/a instead of Disabled: 0

Why is that ?

===========
So, the real configs for registry are here;

;Online Gaming config:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{GUID}]
"TcpAckFrequency"=dword:00000001
"TcpDelAckTicks"=dword:00000000
"TCPNoDelay"=dword:00000001

;Internet browsing/download Normal config:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{GUID}]
"TcpAckFrequency"=dword:00000002
"TcpDelAckTicks"=dword:00000002
"TCPNoDelay"=dword:00000000
Every man has his destiny.
Post Reply