Trouble with Wireless Connections - 2 Fixes

Status
Not open for further replies.
Aug 6, 2008
429
Honolulu
If you are using a wireless router and your remote PC is having connection issues, such problems as logging on, slow downloads, or intermittent connections these two fixes should be the first place to look.

The reason is that your hub or router software may have corrupted these two important files. This will not fix your connection if you set it up incorrectly or if your router is too far away and passing through too many walls.

Once I ran these fixes my download speeds went from regular cable to between High Cable and N x T1 speeds, and I am far away and have too many walls, using a pre-N network.

Here they are in order of fix:

"http://www.mydigitallife.info/2007/06/18/repair-and-reset-windows-vista-tcpip-winsock-catalog-corruption/"

"http://www.mydigitallife.info/2007/06/19/reinstall-and-reset-tcpip-internet-protocol-in-windows-vista-2003-and-xp/"

There is another site that helps:

http://www.speedguide.net/read_articles.php?id=2574

but one must be more technically proficient. As concerns Vista unless you have the latest of the latest gear I find the fast service is achieved when only receive-side scaling is enabled and the other features turned off "disabled", your mileage may vary, contary to what is recommended in this article. In most wireless cases it is best to "disable" auto-tuning.

If you use an NVidia motherboard set the network controller to 100 Full Duplex, if that does not work set it to 100 Half-Duplex.

Here is a safe place from Microsoft to test your speeds:

http://tech.msn.com/speedtest.aspx

The following forum posts are excellent for those with NVidia motherboards particually the post by sirshaw concerning MMCSS throttles bandwidth in vista: and the post immediately after it by Shivan regarding controller settings.

Here are the forum posts:

http://forums.nvidia.com/lofiversion/in ... 36178.html


BE WARNED REGARDING THE NVIDIA FORUM ONLY (THE ONE ABOVE)

IF YOU DO NOT UNDERSTAND HOW TO SET REGISTRY SETTINGS DO NOT DO IT ONE CAN TURN ONE'S COMPUTER INTO A PAPERWEIGHT.


Finally running the ATI ControlCenter in the bottom right Icon box can cause serious interference with both wireless and ethernet connections, disable the icon, or not if it is not causing a problem. Although it is a known issue so best to disable the icon.

Hope this helps.

Aloha.
 
I would be very careful with these fixes. They are really for loss of connectivity, not slow wireless connections. They can cause some installed software not to work correctly and might require re-installation (for example, Google desktop search).
Setting the MTU and RWIN are the most effective way to maximize your download speeds, whether connected wireless or wired to the net but you do need a basic understanding of registry tweaks to do this.
 
WaterBear,

I hope the following addresses your concerns, which seem somewhat alarmist. I understand of course making adjustments to one's computer can be a scary for the inexperienced, so I thought I would address your concerns, and others that may have viewed your remarks, with fuller explanations.

A quick note on "Google Desktop Search" I hope you patched it as the old version left your computer wide open to hack attacks that you would not have been aware of, personally I keep this type of stuff off my computer for these reasons, as the old saying goes "An ounce of prevention....." If you ever got a request asking you if you wanted Google Search to act as a server and you answered yes I would re-install your operating system for safety's sake. Now I know that too sounds alarmist but do a Google Search on this subject and one will be in for an unpleasant suprise

As you will see from the explanation below one does not have to be "careful" with these fixes, but simply understand them.

BUT ADJUSTING MTU IS FRAUGHT WITH DANGER. And while it can infrequently help, mostly in DSL cases, and hardly ever in cable since Vista arrived, it is not for the faint of heart, one really needs to understand what one is doing.

Regarding RWIN, these days as you will see below it is best, in most cases, to disable RWIN (this sets it to default therefore no maximization as this is not optimal) in a Vista wireless setup.

ALL OF THESE REMARKS REFER TO WIRELESS ONLY. That is why it is titled "Wireless Connections", direct wired setups are different in their configuration.

The first two fixes only bring Winsock and TCIP state back to its original Microsoft shipped state, when everything should have worked fine especially in Vista; so no problems or dangers here.

Many persons unnecessarily re-install their operating system when their internet connection gets shaky. In nearly all cases these two small fixes will bring the original Microsoft connection settings back and the internet will work again. This fix is Microsoft fixing Microsoft, hardly scary stuff.

The speedguide Vista suggestions are as I stated are up to you and can be enabled or disabled without being on line, so no problems or dangers here either. They can help with speed that is why I suppose they call it "SpeedGuide".

SpeedGuide can control RWIN but many wireless adapters (direct Ethernet settings can be set normally at "normal") settings are not compatible with "wireless" router settings so in many cases it is best to set this to disable. So while RWIN can be of help in slightly increasing the download speed it is sadly often useless with wireless routers unless you have the latest and best - most of us do not. Setting RWIN to work, enable = "normal", in Vista will in most cases slow your connection. Here are RWIN suggestions for Vista from SpeedGuide:

"TCP Auto-Tuning

To turn off the default RWIN auto tuning behavior, (in elevated command prompt) type:

netsh int tcp set global autotuninglevel=disabled

The default auto-tuning level is "normal", and the possible settings for the above command are:

disabled: uses a fixed value for the tcp receive window. Limits it to 64KB (limited at 65535).
higlyrestricted: allows the receive window to grow beyond its default value, very conservatively
restricted: somewhat restricted growth of the tcp receive window beyond its default value
normal: default value, allows the receive window to grow to accommodate most conditions
experimental: allows the receive window to grow to accommodate extreme scenarios (not recommended, it can degrade performance in common scenarios, only intended for research purposes. It enables RWIN values of over 16 MB)

Our recommendation: normal (unless you're experiencing problems).

If you're experiencing problems with your NAT router or SPI firewall, try the "restricted", "highlyrestricted", or even "disabled" state.

Notes:
- Reportedly, many home NAT routers with a SPI firewall may have problems with enabled tcp auto-tuning in it's "normal" state, resulting in slow speeds, packet loss, and general reduced network performance.
- auto-tuning also causes problems with older routers that do not support TCP Windows scaling. See MSKB 935400
- netsh set commands take effect immediately after executing, there is no need to reboot."



The NVidia board fixes are again for only those of you that understand registry fixes, computer experts. These can have a dramatic affect on both speed and connectivity. Frankly I should not have included them as they are mainly for direct Ethernet connections and do not apply to wireless for the most part.

The speedguide Winsock, and TCIP fixes will not corrupt anything; The speedguide fixes can be enabled or disabled.

It is commonly thought that setting the MTU and RWIN manually can help, and they can a little, they are also very easy to mess up and in most cases should normally only be attempted by someone who is computer savvy that is why I did not list them.

Unfortunately there isn't any way to manually configure the RWIN settings in Vista - unlike previous versions of windows, it doesn't have a registry variable for "TCPWindowSize" that can be tweaked. Vista uses TCP Auto-Tuning and therefore is supposed to automatically adjust the TCP window size for the best performance for a particular connection. Of course it does not always do this, see SpeedGuide's comments above on disabling and the reason why.

MTU settings can be set manually in Vista but require elevated privileges, but why bother as these are set automatically in Vista. Even if you have administrator privileges you will still need to run cmd as Administrator. If you miss out this step then you will get the error "The requested operation requires elevation". In addition they need to be the same at both the router, and wireless or Ethernet cards. That is why I did not list this adjustment as it is too easy to mess up especially if you have more than one computer on your network.

MTU settings in my experience with wireless routers and cards are normally set up correctly in Vista at 1500 (1472) if you do not understand the last two sets of numbers it would be advisable to completely study how to set MTU in Vista, but once studied you will find in all likelihood it is working correctly as it is set automatically. Note for those of you that have studied do a lot of ping tests.

One cannot "maximize" MTU numbers they have to be correct (optimized) for the type of router you are using, if one is using a cable wireless router it is normally 1500 (1472), you cannot play with this number to increase speed it has to be set correctly to the type of router and/or network you are using. That it increases speed is a falsehood, but setting it incorrectly can lower connection speeds. Vista normally sets the correct number for non-DSL cable routers.

For other types of networks MTU numbers are as follows; for ADSL (DSL lines) it varies by country, and could be incorrect in Vista, but can get as low (or lower) as 1458 (1430), so here it could be advantageous to change your MTU if it is not correct. Dialup Connections are 576 (548). IEEE 802.3/802.2 is 1492 (1464) and PPPoE is the same although optimal MTU for PPPoE over ATM is 1454.

MTU should rarely, if ever be set below 1400 (1372) - except dialup - or higher than 1500 (1472), a rare exception on the high side would be Ethernet (Jumbo) or Gigabit networking (most of us do not utilize this network), where numbers can exceed 9000.

One important note if you work with a VPN from your office it is best not to mess with the MTU if it is working the reasons being as follows - let your IT person do that.

VPN creates an encryption overhead (encryption, padding, checksum, etc.), which adds about 100 bytes to the TCPIP-payload. This overhead must not exceed the MTU of the connection as the packets will become fragmented. When the other side receives an encrypted packet it inspects the checksum and it will fail if the packet has been tampered with (fragmented).

However it seems Waterbear that you think it would be better to adjust MTU manually; so please go ahead and explain to these folks how to do it, I am not that brave.

I realize proof-reading this it sounds very complicated but like swimming pool chemistry it is really very simple in it's basic form and you should not get too bound up in the minutia of MTU and RWIN, if you can avoid it. Just enjoy your computer if it seems ok, fix-it only if you have to. The speed differences are hardly noticeable.

Finally the suggestions are mostly hardware re-sets and do not affect installed software, Waterbear please explain your reasoning for this "Google Search" somewhat alarmist statement in technical terms as I can find no reason from many years of practical experience with more computers and fixes than I can count, and even after searching google, for it to be correct, but I am always willing to learn.
 
Here is a way to ping in Vista.

Go to: All programs/Accessories/then right click on your mouse Command Prompt and "Run As Administrator"/ then type as follows (copying and paste will not work):

PING http://www.google.com -f -l 1472

The result will be something like this:

Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.

C:\Windows\system32>PING http://www.google.com -f -l 1472

Pinging http://www.l.google.com [74.125.19.99] with 1472 bytes of data:
Reply from 74.125.19.99: bytes=56 (sent 1472) time=89ms TTL=245
Reply from 74.125.19.99: bytes=56 (sent 1472) time=109ms TTL=245
Reply from 74.125.19.99: bytes=56 (sent 1472) time=84ms TTL=245
Reply from 74.125.19.99: bytes=56 (sent 1472) time=88ms TTL=245

Ping statistics for 74.125.19.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 84ms, Maximum = 109ms, Average = 92ms

C:\Windows\system32>

This is a fairly fast response considering I am using an old Belkin Pre-N Wireless router at great distance from my USB Wireless adapter through at least 5 walls.

A good ping speed is considered to be 50 or lower, a 100 or lower is decent, but distance of the ping, and size of the file is very important - a 32 bit file will travel faster. My 1472 bits of data had to go from Honolulu to the mainland and back a distance of approximately 8200 miles round trip by underwater cable. If you ping your local ISP it should be less than 50 ideally.

The above trace took 13 hops.

My Vista TCP/IP tweakable parameters are using the command:

netsh int tcp show global

as follows:

Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.

C:\Windows\system32>netsh int tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : disabled
Receive Window Auto-Tuning Level : disabled
Add-On Congestion Control Provider : none
ECN Capability : disabled
RFC 1323 Timestamps : disabled


C:\Windows\system32>

Please note I only use Receive-Side Scaling State, if I add the other speed optimizations, particularly the RWIN one which is "Receive Window Auto-Tuning Level" the speed tends to drop. I think this is partly due to the old router, distance and walls. One should test different settings, each router acts differently and distance plays a part.

Experts on Microsoft Tech Web Site feel that if Receive Window Auto-Tuning Level is disabled then there is no point in enabling the other features as they rely heavily on RWIN expanding and this is not going to happen in an old wireless network and even many new wireless routers have yet to support these features. So the setup "TCP Global Parameters" above in most cases would be optimal.

Finally a great site to test your internet connection configuration is Microsoft's here:

“http://www.microsoft.com/windows/using/tools/igd/default.mspx”

Hope this helps
 
If you do manually change the MTU settings, which may be necessary if you have a DSL line (ADSL), hopefully WaterBear will describe how to do this, it is important that you disable RWIN tuning otherwise Vista will ignore your settings.

Here is how to ignore:

Go to: All programs/Accessories/then right click on your mouse Command Prompt and "Run As Administrator"/ then type as follows:

netsh int tcp set global autotuninglevel=disabled

To test if it was done type:

netsh int tcp show global

The following line should read like this:

Receive Window Auto-Tuning Level : disabled

Aloha.
 
Changing the MTU size in Vista is easy, much easier than earlier versions of NT from XP down since it does not require editing the registry. It only requires opening a command prompt as administrator and running the following command:
netsh interface ipv4 set subinterface "Network Connection" mtu=xxxx store=persistent
where xxxx is the MTU value.
I hope that answers your question (and since I use to do sys admin and hardware maintenance for an ISP I have no problem with editing the Windoze registry, but I would not recommend it for someone who really does not understand it.)

As per Google desktop search, I don't use it but was only using it as an example of the many programs that people install that do change the TCP/IP stack when installed and was pointing out that your 'tweaks' will reset the stack to default conditions necessitating the re installation of such programs. In other words, it will break them and people should be aware of that before they try them. They are by no means innocuous.
 
WaterBear,

Thank you for your reply. When do you sleep it must have been around 3:30 am where you live? You are really dedicated.

Your answer is correct; however, I thought I might try expanding on it as it is little brief and does not explain how to find the correct MTU, to help those who are not as knowledgably, so here goes the expanded explanation on how to get your MTU correct in Vista.

In most cases unless you have a DSL line or VPN, your MTU setting will be correct and if it is correct and your internet is dropping you continually, or being very slow, 99% of time you are going to have to reset Winsock as described in the previous post and possibly reset the IP/TCIP stack (which could mean you might have to re-install a program).

THE OTHER REASON THAT IT COULD BE SLOW IS YOU HAVE A VIRUS(or viruses) OR SPYWARE.

So you might want to try running a DEEP scan with a good anti-virus and anti-spyware program first.

If a program or two needs to be re-installed it seems that it is a small price to pay for a fast and trouble free internet. I have 40 programs installed on my machine and not one lost a connection, nor did any have to be-reinstalled. I do not have Google Search for security reasons.

Firstly you need to know your cards connection’s name:

Go to: All programs/Accessories/then right click on your mouse Command Prompt and "Run As Administrator"/ then type as follows:

Type: ipconfig /all

And you will get something like this:

Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.

C:\Windows\system32>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : Office-PC
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : Belkin

Wireless LAN adapter Wireless Network Connection 2:

Connection-specific DNS Suffix . : Belkin
Description . . . . . . . . . . . : RT73 USB Wireless LAN Card #2
Physical Address. . . . . . . . . : **-**-**-**-**-** (numbers hidden by me)
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : (numbers hidden by me)(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.2.2(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Thursday, November 13, 2008 12:55:59 PM
Lease Expires . . . . . . . . . . : Sunday, December 20, 2144 9:46:35 PM
Default Gateway . . . . . . . . . : 192.168.2.1
DHCP Server . . . . . . . . . . . : 192.168.2.1
DNS Servers . . . . . . . . . . . : 192.168.2.1
NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter Local Area Connection* 6:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Physical Address. . . . . . . . . : (numbers hidden by me)
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : (numbers hidden by me) (Preferred)
Link-local IPv6 Address . . . . . (numbers hidden by me) (Preferred)
Default Gateway . . . . . . . . . : ::
NetBIOS over Tcpip. . . . . . . . : Disabled

Tunnel adapter Local Area Connection* 7:

Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : Belkin
Description . . . . . . . . . . . : isatap.Belkin
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes

C:\Windows\system32>


This will tell you the adapters name in this case the wireless adapters name is “Wireless Network Connection 2”. You will need this later.

Now if, as stated before, you have a wireless network on a cable line (NOT DSL that is another story)in all likelihood Vista set the MTU correctly, the MTU is nearly always 1500. You can test it as follows, the reason you ping with 1472 is that the header is always 28 bits so if added together they come to 1500:
If using network router and want to test, ping your own ip address.

Example.

Go to: All programs/Accessories/then right click on your mouse Command Prompt and "Run As Administrator"/ then type as follows:


PING 192.168.2.1 -f -l 1472 (Please note the first 2.1 could be 0.1, or 0.2, or 1.1, or 0.2, or 1.2 etc. depending on your routers address)


The response would be something like this:
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.

C:\Windows\system32>PING 192.168.2.1 -f -l 1472

Pinging 192.168.2.1 with 1472 bytes of data:
Reply from 192.168.2.1: bytes=1472 time=12ms TTL=64
Reply from 192.168.2.1: bytes=1472 time=10ms TTL=64
Reply from 192.168.2.1: bytes=1472 time=13ms TTL=64
Reply from 192.168.2.1: bytes=1472 time=7ms TTL=64

Ping statistics for 192.168.2.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 7ms, Maximum = 13ms, Average = 10ms

C:\Windows\system32>

Now if it failed it would look like this (here I set the file at 1500 or 28 bits too high):



Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.

C:\Windows\system32>PING 192.168.2.1 -f -l 1500

Pinging 192.168.2.1 with 1500 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

Ping statistics for 192.168.2.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

C:\Windows\system32>

This indicates my router cannot handle an MTU of 1528, most/near all wireless routers cannot, notice the 100% loss. Keep pinging with a lower number until 0% is lost.

So now you know what size to set the MTU.

If it were a DSL line you would need to ask your provider for the MTU size and then test by taking that number and take way 28, for example 1458 -28 = 1430.

With a DSL line, in few cases only, it might pay to slightly lower the number. You can test this by pinging google.com with different numbers to see which number is the fastest (a lower number is better), as follows:

Go to: All programs/Accessories/then right click on your mouse Command Prompt and "Run As Administrator"/ then type as follows (do not copy it will not work correctly):


PING http://www.google.com -f -l 1472
The results should look like this:

Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.

C:\Windows\system32>PING http://www.google.com -f -l 1472

Pinging http://www.l.google.com [74.125.19.99] with 1472 bytes of data:
Reply from 74.125.19.99: bytes=56 (sent 1472) time=84ms TTL=244
Reply from 74.125.19.99: bytes=56 (sent 1472) time=85ms TTL=244
Reply from 74.125.19.99: bytes=56 (sent 1472) time=110ms TTL=244
Reply from 74.125.19.99: bytes=56 (sent 1472) time=82ms TTL=244

Ping statistics for 74.125.19.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 82ms, Maximum = 110ms, Average = 90ms

C:\Windows\system32>

If you have a laptop and a cable wireless at home and DSL line at work or visa-versa Vista can become confused thinking that your DSL line is a cable line at MTU 1500 or visa-versa that cable line is a DSL line at MTU 1458 (or whatever it is). So you would need to specify each connection as WaterBear has described, by re-running ipconfig /all, to obtain the Network name stated.

An example of what you would type in cmd/ with admin rights follows for my wireless network connection 2:

Go to: All programs/Accessories/then right click on your mouse Command Prompt and "Run As Administrator"/ then type as follows:


netsh interface ipv4 set subinterface "Wireless Network Connection 2" mtu=1500 store=persistent



IF YOU ARE COMPUTER PROFICIENT WITH THE REGISTRY AND ONLY IF YOU UNDERSTAND REGISTRY ENTRIES OTHERWISE YOU CAN TURN THE COMPUTER INTO A DOORSTOP


Do as this website suggests its fast:

“http://www.windowsreference.com/win...he-mtu-size-in-windows-xp-2003-2000-vista/”

Hope this helps.
 
As per the time I log on I usually don't get home from work until around 1 am or so and I do't go right to bed when I get in. Thank you for asking.
As far as not giving enough information, if anyone is going to be messing with their TCP/ip stack then they really don't need more info than I gave. If they do they need to learn a LOT more before they start messing around.

As far as bricking a computer by editing the registry, if you have a registry backup before you begin you will be ok (as long as you know how to restore it from the recovery console). If not you will have to reinstall windoze. Personally, I try to stay away from Micro$oft products as much as possible. I can remember the company when they were just reselling a buggy version of basic as their own (that was back in the day that I was working as a software and hardware designer for a few old platforms such as CP/M, Apple ][, Commodore, and AT&T unix PC running System V (company I worked for was a VAR for that system.) This should give you an idea of how many years I have had my hands in computers both professionally and personally. Funny things, the same bugs still exist today in VisualBasic! They never cleaned up the code! Says a lot about a company, doesn't it?
 
WaterBear,

Your right about the registry it is backed up so there should not be any issues about returning to the prior setup, unless someone does something unusual to it.

Visual Basic, is buggy but for the most part it performs as needed, but it is a very old program and re-writing it so that it works completely trouble free would most probably either too expensive, or possibly impossible. My stepson who is the senior programmer for a large internet security programming company feels that most new programs should be written in the newer languages but it will take time for that to happen. And yes he gets frustrated with VB when I ask him to fix stuff for me.

I cannot agree with your opinion on Microsoft, I am not sure where we would be today without them, but that is a simple matter of difference of opinion.

I think that I have written all I need to in these posts on these subjects so I will not probably be posting on this subject anymore.

Thank you for your replies,

Aloha.
 

Enjoying this content?

Support TFP with a donation.

Give Support
Status
Not open for further replies.
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.