Dopo aver terminato la configurazione di un’installazione di Ubuntu Linux ho provato la connessione ad internet per il download degli aggiornamenti, utilizzando una connessione residenziale Telecom passante per un router Alice Gate W2+. Ho rilevato subito la presenza di un problema, dato che la connessione sembrava “congelarsi” ad ogni richiesta dopo aver scaricato qualche migliaio di byte.

Dopo aver fatto delle prove via WiFi e via Ethernet ho osservato che in entrambi i casi la connessione veniva stabilita senza problemi: il lease dell’indirizzo IP era immediato, non c’erano problemi di DNS ed il ping funzionava senza interruzioni o latenze.

Il problema si verificava con in fase di download di dati, come l’apertura di un sito con Firefox, il download di un file con wget o di pacchetti con apt. Il problema è chiaramente legato al router Telecom ed in rete si trovano tutte le istruzioni per sostituire il firmware originale con una versione custom, priva di limitazioni (oltretutto gli ultimi custom firmware hanno recuperato la possibilità di sfruttare il VoIP di Telecom, ma non l’IPTV). Dato che però lo stesso problema non si è verificato né su un iMac, né tantomeno su un portatile Windows Vista, ho ritenuto più interessante capire il “problema di dialogo” tra Ubuntu e questo router.

Dando per scontato che il problema fosse legato ad un incompatibilità dello stack TCP del kernel di Ubuntu sono andato a fare qualche tentativo modificando la configurazione TCP, fino a trovare la soluzione: a quanto pare questo bel router non supporta l’ECN e, con alcuni firmware, neanche il window scaling. Pertanto andiamo a disabilitare le opzioni in modo definitivo: apriamo con un qualunque editor il file /etc/sysctl.conf (come root o utilizzando sudo) e modifichiamo i seguenti valori come segue:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_ecn= 0

Dopo aver salvato le modifiche tutto dovrebbe funzionare all’istante!

Aggiornamento (07.07.09)

Grazie alla segnalazione di Massimiliano Calamelli ho appreso che, esattamente come accade su qualche Mac, anche su Linux potrebbe essere necessario modificare l’MTU della connessione per poter risolvere ulteriori problemi di connessione.

A memoria, mi pare di ricordare che per modificare l’MTU sia sufficiente editare il file di configurazione delle interfacce di rete:

sudo nano -w /etc/network/interfaces

per aggiungere, in coda alle istruzioni relative all’interfaccia wireless l’opzione:

mtu 1492

Salvate ed uscite da nano (CTRL+o e CTRL+x). Per applicare la modifica anche alla sessione in corso, quindi senza riavviare:

sudo ifconfig <interfaccia_wireless> mtu 1492

Articoli correlati:

  1. Script per correggere i problemi del Mac OS con Alice Gate!
  2. Alice Gate 2 Plus: altri problemi in… Vista!
  3. Problemi di upload (web e ftp) con Alice Gate 2 Plus Wi-Fi

Taggato con:

Archiviato in: HardwareLinuxNetworkingTroubleshooting

Ti è piaciuto questo articolo? Iscriviti ai miei feed RSS per saperne di più!