Windows Vista doesn’t suck (so much)

BSODHo avuto un po’ di problemi con il recente sistema operativo dello zio Bill, sistema che pensavo di rimuovere rapidamente… Ma grazie al provvido intervento che operò quel sacramento del Tarchiapone gli immancabili BSOD che mi si presentavano di continuo (anche dopo aver corretto la connessione del cavo IDE) sono spariti. Invero la mia era una posizione ideologica a priori, nei confronti del nuovo sistema operativo Microsoft, come al solito: la soluzione era semplice. Avviando il programma di diagnostica suggerito da Daniele, infatti, il sistema mi ha semplicemente suggerito di provvedere agli aggiornamenti di Windows e anche (suggerimento meno immediato) di aggiornare i driver della nuova scheda video Nvidia. La pedissequa esecuzione di cotali procedure mi ha consentito di risolvere il problema in maniera definitiva.

Rimandando quindi a un prossimo futuro la configurazione di Debian GNU/Linux (in particolar modo il funzionamento della scheda video con due monitor) mi son messo a installare programmi e configurare il sistema con garrula letizia . Ma un altro insidioso problema mi si è presentato innanzi… lì per lì non capivo cosa stesse succedendo: alcuni programmi che dovevano usare la rete per funzionare… non funzionavano affatto. Ad esempio non riuscivo a completare la procedura di login di Skype. Oppure il programma Slickr (lo screen saver che pesca le foto da flickr) non riusciva a connettersi. Problemi anche con Google Earth.
Dopo molte ricerche sul web senza alcun esito, la disinstallazione di ogni forma di antivirus e protezione, e una serie interminabile di bestemmie… arrivò come un fulmine a ciel sereno l’ovvia intuizione. Windows Vista è affetto dallo stesso problema di Debian netinst, cioè dei kernel più recenti che implementano di default l’opzione del TCP Window scaling. O, per meglio dire, ad avere il problema sono alcuni apparati di rete, nella fattispecie il mio modem / router ADSL. Il tcp window scaling è un’opzione del protocollo TCP introdotta ben 15 anni fa nell’RFC 1323 che definisce una serie di estensioni per il miglioramento delle performance. Da quello che si legge qui:

Window scaling is a Transport Control Protocol (TCP) option introduced for addressing performance problems. Some Internet routers cause TCP data transfers that use window scaling to fail, particularly when there’s a mismatch between the scales chosen by two computers transferring the data.

ovvero

Il window scaling è un’opzione introdotta nel protocollo TCP allo scopo di risolvere problemi di prestazioni. Alcuni router provocano il non funzionamento dei trasferimenti dati TCP che usano questa opzione, in particolar modo quando le scale (del window scaling, appunto) dei due computer coinvolti nel trasferimento non coincidono.

Anche in ambito Linux c’è stata discussione sulla sua implementazione proprio a causa della presenza in rete di dispositivi in grado di causare problemi.

Sperando che possa essere di utilità a qualcuno, vediamo…

Come disabilitare il TCP Window Scaling in Windows Vista

Facendo semplicemente riferimento ad un articolo di Microsoft, per disabilitare l’opzione TCP Window Scaling in Windows Vista è necessario lanciare un’istruzione dal prompt dei comandi. L’articolo non specifica che è necessario eseguire il prompt in modalità Amministratore.
Occorre individuare il prompt dei comandi fra i programmi: in Windows Vista (come già in XP) si trova nella sezione Accessori. Da qui clicchiamo sull’icona del programma con il tasto destro del mouse e sul menù contestuale scegliamo la voce “Esegui come amministratore”.

Cmd come amministratore

Dopo aver dato risposta affermativa ai controlli di sicurezza di Windows, nella finestra del prompt, digitiamo il comando:

netsh interface tcp set global autotuninglevel=disabled

A questo punto, se il sistema accetta le nostre istruzioni, dovremmo vedere comparire la scritta OK.

Finestra del prompt

Possiamo chiudere la finestra e a questo punto il TCP window scaling è disabilitato e lo sarà anche sussessivamente (le operazioni effettuate non devono essere rieseguite dopo il riavvio del sistema).
Dopo aver effettuato questa semplice operazione, i miei problemi di connessione sono spariti.
Non ho mancato comunque di aprire una segnalazione di guasto a Parla.it chiedendo la sostituzione del router o del firmware dello stesso.
Per riabilitare il TCP window scaling il comando necessario è il seguente:

netsh interface tcp set global autotuninglevel=normal

e in questo modo è possibile avvalersi delle migliori prestazioni di rete che questo meccanismo dovrebbe essere in grado di assicurare.

2 Commenti a “Windows Vista doesn’t suck (so much)”

  1. Edo afferma:

    la quantita’ di post nerd su questo blog sta riaumentando!

  2. Daniele afferma:

    Bah, comunque senti. L’annosa disquisizione su s.o. è stata ed è un po’ inutile. Io son sempre stato amante del DOS4. Il primo con interfaccia grafica rigorosamente ascii.