I got a new laptop, and it came with Vista. To be honest, I didn’t really want Vista, but it’s being pushed in a big way – XP laptops are pretty rare already. (What I REALLY wanted was a Linux laptop, but that’s another matter).
Unfortunately, on firing up the machine and connecting it to my wireless hub, it could only see parts of the web. With my work laptop, sat right next to it, I could see any site that I tried to look at, but my new Vista laptop couldn’t – it couldn’t find microsoft sites, McAfee, Mozilla.com, cNet.com, etc.. But it could find google (and other sites) right away.
So, I tried pinging these sites – and got a response. But I couldn’t ever get a web page back. Curious.
I’ve seen this before, so I tried changing the MTU (Maximum Transfer Unit) settings for my machine – only to discover that they’ve moved in Vista. So, I found a little application to change the settings. I restarted, and it continued to not work.
Curious. So I took my laptop to work, and tried the problem sites there. Over my work connection, I could see whatever sites I wanted to. This upped it to Curious and Frustrating – it was some sort of inter-relationship between Vista, and my connection at home.
Thus, I contacted Belkin support. They took a wee while over replying, but I received a response, the guts of which is below:
To get the issue resolved, we suggest you to change the MTU on the Vista computer.The first method to set the MTU is using DrTCP (http://www.dslreports/drtcp). You will need to run DrTCP as Administrator (right click the executable and select `Run as administrator`), otherwise it will not work. The other tricky thing is that the names of the network interface are shown a bit cryptic – see the screenshot – but you should be able to identify them. As usual, enter the MTU value, click Save and click Exit. After making the change, you will need to reboot the PC.
When the PC has rebooted, you can check if the MTU is set correctly by going to a command prompt and issuing the command: netsh interface ipv4 show interfaces, which you can abbreviate to netsh int ip show int, as the screenshot shows. This will list all the network interfaces with their MTU`s in a readable way. (In case you were wondering, the MTU shown for the Loopback interface is a dummy value of 2^32-1 – or 32 binary 1`s).
You can also set the MTU using the command line, for that purpose open the command prompt as administrator (right click it and select `Run as administrator`), and issue the command: netsh int ip set interface “9” mtu=1400, where the 9 is the number of the interface for the previous screenshot (be sure to include the quotes) and you can change the MTU to any value desired. The change is effective immediately but will not survive a reboot. To make it permanent, repeat the command and append “store=persistent” to it: netsh int ip set interface “9” mtu=1400 store=persistent.
If you only run the last command and not the one without the store= option, you`ll need to reboot for the new MTU to take effect.
To test if the MTU is effective, ping the router with the -f and -l options: the maximum size of the ping packet should be 28 less than the MTU. In this example ping 192.168.2.1 -f -l 1372 should give a reply, ping 192.168.2.1 -f -l 1373 should give the message that fragmentation is needed but the DF flag is set.
“Okay”, I thought, “I’ve tried the MTU settings and that didn’t work. But I’ll try their way anyway”. I used the DrTCP application, followed their instructions – and the problem continued. Arse. Finally, as a last gasp, I used the command line instructions they’d also given and success! The MTU setting changes worked this time, although why they didn’t when I’d changed them both times before is a mystery.
Of course, by this time I’d gotten so annoyed with it all that I’d tried a reinstall of Vista, so I’ll have to reinstall all of the stuff it came with. This isn’t as daft as it might seem – I’ve had a similar problem to this before, but it turned out that it was a problem applying Windows 2000 SP4, and that I had to reinstall the service pack to fix it.
Oh well, I prefer a clean system anyway.
Anyway, kudos to Belkin UK tech support. I was impressed.
Thanks for this post. This solved a problem with a Tenda adsl modem + wifi router and Tiscali, I had to change both Vista using the command line net sh … and used DrTCP to change an XP Desktop, I set MTU to 1400 on both and they worked a treat. What was unusual is that my own XP Laptop worked fine, without any modification.
I would be interested to know what is the underlying reason that this fix works. I appreciate MTU having a dramatic affect on performance when fragmentation takes place, but what is actually causing some Broadband connections to need MTU reduced frm 1500 to 1400 to work well. Is it the ADSL modem ? ISP Network ?
Just a note.
DrTCP does not work on VISTA, it says so in the documentation. Thats why you had to use the command line netsh…. commands.