Bom SNR, baixo desempenho de Wifi

Bom SNR, baixo desempenho de Wifi

Meu roteador wifi baseado em Atheros tem um SNR muito bom (geralmente acima de +20, também porque estou a apenas alguns metros dele), mas um desempenho muito ruim. Na maioria das vezes o ping é horrível (veja o final da postagem), o TCP obviamente não é muito melhor e muitas vezes não consegue nem concluir a troca de chaves WPA ou obter seu endereço IP.

O ganho da antena é de 3 dB e o roteador está a uma altura de aprox. 1,3 m. Está muito próximo de uma estação base DECT (menos de 10 cm). Há uma parede atrás dele. Há um armário de madeira a cerca de 1 metro de distância do roteador, mas não fica no caminho entre o ponto de acesso e o laptop. Na vizinhança posso ver até 4 pontos de acesso ativos incluindo o meu. O ponto de acesso está transmitindo apenas um SSID, embora teoricamente pudesse fazer dois com endereços MAC diferentes.

Outras informações provavelmente irrelevantes: o roteador está em modo bridge e o uplink é para uma rede cabeada, o que é relativamente complexo porque também hospeda meu escritório em casa, mas tem bom desempenho (tempo de ping < 2 ms).

Aqui está um exemplo de ping coletado sem nenhum outro tráfego no wifi. Nenhum pacote perdido, mas me parece que a rede está sendo fechada por períodos perceptíveis, variando de 0,2 a 2 segundos (mas já vi cinco pings chegando ao mesmo tempo após 5 segundos de apagão):

64 bytes from 192.168.10.2: icmp_seq=0 ttl=64 time=17.549 ms
64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=844.128 ms
64 bytes from 192.168.10.2: icmp_seq=2 ttl=64 time=19.354 ms
64 bytes from 192.168.10.2: icmp_seq=3 ttl=64 time=268.005 ms
64 bytes from 192.168.10.2: icmp_seq=4 ttl=64 time=292.110 ms
64 bytes from 192.168.10.2: icmp_seq=5 ttl=64 time=823.084 ms
64 bytes from 192.168.10.2: icmp_seq=6 ttl=64 time=1.353 ms
64 bytes from 192.168.10.2: icmp_seq=7 ttl=64 time=676.620 ms
64 bytes from 192.168.10.2: icmp_seq=8 ttl=64 time=176.904 ms
64 bytes from 192.168.10.2: icmp_seq=9 ttl=64 time=11.536 ms
64 bytes from 192.168.10.2: icmp_seq=10 ttl=64 time=1.413 ms
64 bytes from 192.168.10.2: icmp_seq=11 ttl=64 time=862.640 ms
64 bytes from 192.168.10.2: icmp_seq=12 ttl=64 time=1.436 ms
64 bytes from 192.168.10.2: icmp_seq=13 ttl=64 time=822.594 ms
64 bytes from 192.168.10.2: icmp_seq=14 ttl=64 time=1.419 ms
64 bytes from 192.168.10.2: icmp_seq=15 ttl=64 time=870.897 ms
64 bytes from 192.168.10.2: icmp_seq=16 ttl=64 time=1.417 ms
64 bytes from 192.168.10.2: icmp_seq=17 ttl=64 time=918.914 ms
64 bytes from 192.168.10.2: icmp_seq=18 ttl=64 time=6.308 ms
64 bytes from 192.168.10.2: icmp_seq=19 ttl=64 time=848.949 ms
64 bytes from 192.168.10.2: icmp_seq=20 ttl=64 time=8.535 ms

Informações adicionais, o comportamento em que "a cada segundo algo dá errado" é verdadeiro mesmo quando o wifi funciona. Simplesmente não vaitão mau...

64 bytes from 192.168.10.2: icmp_seq=42 ttl=64 time=8.209 ms
64 bytes from 192.168.10.2: icmp_seq=43 ttl=64 time=2.727 ms
64 bytes from 192.168.10.2: icmp_seq=44 ttl=64 time=11.154 ms
64 bytes from 192.168.10.2: icmp_seq=45 ttl=64 time=1.931 ms
64 bytes from 192.168.10.2: icmp_seq=46 ttl=64 time=12.076 ms
64 bytes from 192.168.10.2: icmp_seq=47 ttl=64 time=2.908 ms
64 bytes from 192.168.10.2: icmp_seq=48 ttl=64 time=15.090 ms
64 bytes from 192.168.10.2: icmp_seq=49 ttl=64 time=1.805 ms
64 bytes from 192.168.10.2: icmp_seq=50 ttl=64 time=15.800 ms
64 bytes from 192.168.10.2: icmp_seq=51 ttl=64 time=2.382 ms
64 bytes from 192.168.10.2: icmp_seq=52 ttl=64 time=17.613 ms
64 bytes from 192.168.10.2: icmp_seq=53 ttl=64 time=1.841 ms
64 bytes from 192.168.10.2: icmp_seq=54 ttl=64 time=19.485 ms
64 bytes from 192.168.10.2: icmp_seq=55 ttl=64 time=1.876 ms
64 bytes from 192.168.10.2: icmp_seq=56 ttl=64 time=21.485 ms
64 bytes from 192.168.10.2: icmp_seq=57 ttl=64 time=1.888 ms
64 bytes from 192.168.10.2: icmp_seq=58 ttl=64 time=23.365 ms
64 bytes from 192.168.10.2: icmp_seq=59 ttl=64 time=1.876 ms

Além disso, desligar a estação DECT não altera nada.

informação relacionada