20080116

Why I hate Vista (almost)

Repeat after me:

netsh interface tcp set global autotuning=disabled

netsh interface tcp set global autotuning=disabled

netsh interface tcp set global autotuning=disabled

...until Vista gets it right.

The symptom: a Vista PC can't make network connections, copy files efficiently or simply run normal applications.  I got caught out with Firefox previously, and now with Live Messenger.

The cause: a change in the way Vista handles network packets, and an inability of certain routers to cope with it. Receive Window Auto-Tuning allows Vista to change the size of packets it sends, according to the network capacity and performance.  Only trouble is not all routers support this behaviour properly, particularly ones with a stateful firewall (listening, Cisco?).  Of course, it worked flawlessly with my Cisco 837, and so I forgot about it - until Messenger started failing after I began to use the Netgear yesterday.  I didn't think about this, blaming everything on the router, until I realised that the other PC here (which runs XP) has continued to work just fine.  OK, what's specific to Vista?  The window tuning...

I'm really not sure whether or not this is allowed behaviour.  For some reason, I seem to recall a RFC specifically authorising this sort of trick, but it escapes me now (comments, please).  Since everything worked fine with XP, I'll blame the OS for now and suggest that this default behaviour be amended to work with the rest of the world.  So far, from what I remember, only Internet Explorer is specifically configured to take proper advantage of the change.

So now I have to backtrack, removing all the diagnostic firewall entries and other dross, until I have once again reduced things to the minimum and regained the scintillating (for me - don't forget, I've been used to what seems like a 128 kbit/s connection) performance.

No comments: