[RESOLVIDO] ]Wifi lenta no Linux TP-Link TL-881ND Modulo ath9k

Iniciado por Tom.net, 18 de Junho de 2017, 17:23

tópico anterior - próximo tópico

druidaobelix

Citação de: Tom.net online 19 de Junho de 2017, 01:14
[O Wget funciona para rede interna? Não sei como se faz, se sim, por favor me explica como eu faço.

Poderíamos pensar em ter servidor ftp na máquina, em ambos os sistemas operacionais e então partindo do mesmo ponto ir lá buscar um arquivo padrão de bom tamanho que se possa medir o tempo a partir do próprio wget, que funciona tanto no Linux quanto no Windows.

De uma forma geral, em conexão anônima:

wget ftp://meuservidor.com.br

Vamos ver se na semana sobra algum tempo para planejarmos isso.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

De toda forma, enquanto isso, vamos alargar a experiência de procurar uma solução, pois baseado no histórico de uma certa instabilidade com essa placa AR9287 da Qualcomm Atheros, vou dar um palpite, mas é só um palpite mesmo, não sei se de fato irá produzir resultados na velocidade.

A abordagem é mais ampla, isto é, envolve também a conexão externa, sob a suposição de que se a transferência interna está afetada, a externa em alguma medida também estaria, mas como dito, é apenas uma suposição.

Se ainda não fez, de uma maneira mais ampla, experimente essas medidas:

1) no roteador em Channel Width onde está atualmente 40MHz, altere para 20MHz se existir essa opção naquele campo;

2) Experimente com os canais 1, 6 e 11 ao invés do 4 que está atualmente;

3) Desligue IPv6 do sistema

No navegador Firefox:

no about:config do firefox a chave booleana network.dns.disableIPv6 de 'false' para 'true'

globalmente:

acrescente a chave "ipv6.conf.all.disable_ipv6=1" no arquivo /etc/sysctl.conf

Para ativar a alteração faça:

sudo sysctl -p

Confirme se deu certo fazendo:

ip -o -6 addr show wlp11s0 | sed -e 's/^.*inet6 \([^ ]\+\).*/\1/'

o comando acima deve resultar em nada.

4) Verifique o resultado de:

sudo iw reg get

Se o código de country estiver como 00, substitua para o código específico da sua localidade (BR para Brasil; PT para Portugal; para outros locais consulte aqui:

https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Para alterar temporariamente:

sudo iw reg set BR

Caso produza efeito, então torne permanete alterando:

sudo gedit /etc/default/crda

Coloque o código adequado na linha, como por exemplo:

REGDOMAIN=BR

Salvar
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Ah, sim, ia esquecendo, enquanto isso, para termos mais um parâmetro de comparação, instale o wget no Windows aí existente e, se sua conexão internet for razoavelmente boa, baixe um arquivo iso, um mesmo arquivo, de um mesmo lugar, num mesmo horário aproximado, de tráfego mais livre, ou seja, baixar num sistema e no outro mais ou menos no mesmo horário.


Se sua conexão internet for de fato razoavelmente boa use, por exemplo, tanto para o Windows como para o Linux, o link:

wget -c http://cdimage.ubuntu.com/lubuntu/releases/17.04/release/lubuntu-17.04-desktop-amd64.iso

Essa arquivo acima tem 912MB.

md5:

3d3484845bd82e0653c7a1aeb32f5564 *lubuntu-17.04-desktop-amd64.iso

Se a conexão internet não for tão boa assim, então use um arquivo menor:


wget -c http://cdimage.ubuntu.com/lubuntu/releases/17.04/release/lubuntu-17.04-alternate-amd64.iso

Esse arquivo tem 684MB

md5:

c3786bfd6b679a0c75f3b9441359533c *lubuntu-17.04-alternate-amd64.iso

Note que é importante fazer mais ou menos num mesmo horário de tráfego mais livre, na madrugada é um bom momento.

Use como parâmetro a linha final fornecida pelo wget, algo assim:

lubuntu-17.04-alter 100%[===================>] 684,00M  4,38MB/s    in 2m 37s

É um parâmetro interessante para comparar nos dois sistemas operacionais.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

galactus

Citação de: Tom.net online 19 de Junho de 2017, 00:55
Instalei e setei o Kernel 4.9 Xanmod, não fiz mais nada, primeiro teste já deu 5mbps, não é os 100% mas já chegou nos 50%.
Obrigado galactus.  ;)

Melhorou a conexão, mas não é o que a placa/rede pode entregar. Agradeço se tiverem mais dicas pra testarmos.


Copie e cole as seguintes linhas no sysctl.conf:

net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 0
fs.file-max = 150000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216


Salve o arquivo e depois como root execute:  sysctl -p

Tente a transferência novamente!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Tom.net

Citação de: galactus online 19 de Junho de 2017, 03:33
Citação de: Tom.net online 19 de Junho de 2017, 00:55
Instalei e setei o Kernel 4.9 Xanmod, não fiz mais nada, primeiro teste já deu 5mbps, não é os 100% mas já chegou nos 50%.
Obrigado galactus.  ;)

Melhorou a conexão, mas não é o que a placa/rede pode entregar. Agradeço se tiverem mais dicas pra testarmos.


Copie e cole as seguintes linhas no sysctl.conf:

net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 0
fs.file-max = 150000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216


Salve o arquivo e depois como root execute:  sysctl -p

Tente a transferência novamente!
Olá,
galactus, inseri a modificação sugerida, até reiniciei a máquina, mas a taxa de transferência continuou na faixa de 5mbps.

=======
Sobre o teste no linux e windows com wget vou instalar hj à noite um servidor ftp e baixar em cada sistema e postar os resultados aqui.

Enviado de meu XT1650 usando Tapatalk


zekkerj

Transferência entre duas máquinas Windows pode usar vários truques de "tcp offloading", janelas maiores, etc...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

druidaobelix

#21
Citação de: Tom.net online 19 de Junho de 2017, 09:47
Sobre o teste no linux e windows com wget[...]

Baixe o wget para Windows a partir desse link, que está funcionando e é confiável, referenciado pelo GNU ( http://wget.addictivecode.org/Faq.html  )

https://eternallybored.org/misc/wget/

Se estiver com o Windows10 instalado pode baixar o wget64.exe que está na coluna 64-bit binary, funciona perfeitamente.

Para usar é igual ao que se faz no Linux.

wget64.exe -c http://cdimage.ubuntu.com/lubuntu/releases/17.04/release/lubuntu-17.04-alternate-amd64.iso

A linha final de resultado é também exatamente igual:

Aqui, na execução de teste, deu apenas 1 segundo de diferença entre um e outro, ou seja, desempenhos absolutamente iguais da transferência no Linux e no Windows.

A importância desse teste, que é apontado externamente para a internet, é também para se ter um indício de que não se está procurando solução no lugar errado.

Quando se faz um transferência interna de arquivos, isto é, na rede interna, existem outras coisas envolvidas que não apenas a placa wireless propriamente dita, pois o protocolo tcp/ip está sendo usado por um software específico de rede.

Quando envolve apenas máquinas Windows, isto é, de Win para Win, vai usar o software de rede específico deles.

Quando envolve apenas máquinas Linux, é de uma outra forma.

Quando envolve máquinas com Linux e Windows simultaneamente, há o samba envolvido, o que dependendo da configuração também pode interferir nessa velocidade de transferência.

Bem, de toda forma, faça o teste baixando um arquivo padrão usando a internet, como mencionado no post #17 e vamos ver os resultados objetivos comparados.



www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

zekkerj

Outro programa que pode ajudar é o IPerf. Esse programa abre uma conexão TCP direta entre duas máquinas e gera tráfego aleatório, assim você pode testar somente a rede, sem depender do disco, ou de qualquer outro aplicativo auxiliar. Se não me engano há uma versão Windows chamada "JPerf", baseado em Java, com gráficos que ajudam bastante a interpretar o resultado.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Tom.net

Opa, obrigado pessoal, farei os testes hj à noite, com wget iPerf, internet e rede interna.
Meus testes de Linux pra Linux acabei usando o Samba também, tem bastante tempo q uso linux mas é mesclado com windows na rede então nunca procurei outra forma de compartilhamento, seria o NFS?

Enviado de meu XT1650 usando Tapatalk


Tom.net

#24
Citação de: druidaobelix online 19 de Junho de 2017, 01:24
De toda forma, enquanto isso, vamos alargar a experiência de procurar uma solução, pois baseado no histórico de uma certa instabilidade com essa placa AR9287 da Qualcomm Atheros, vou dar um palpite, mas é só um palpite mesmo, não sei se de fato irá produzir resultados na velocidade.

A abordagem é mais ampla, isto é, envolve também a conexão externa, sob a suposição de que se a transferência interna está afetada, a externa em alguma medida também estaria, mas como dito, é apenas uma suposição.

Se ainda não fez, de uma maneira mais ampla, experimente essas medidas:

1) no roteador em Channel Width onde está atualmente 40MHz, altere para 20MHz se existir essa opção naquele campo;

2) Experimente com os canais 1, 6 e 11 ao invés do 4 que está atualmente;

3) Desligue IPv6 do sistema

...........

Salvar

1) o teste da largura do canal eu já havia verificado e quando uso largura de 20Mhz a wifi cai pela metade do desempenho, fica constantemente a 150M, ao invés de 300M.

2) os canais 1, 6 e 11 estão mais congestionados, por isso eu evitei. Antes estava no 6.

3) Desativei no Roteador, tanto na Wan quando no DHCP dele, e também na configuração de rede no Linux.

4) Já cheguei a testar essas configs, estava com Set em BR por padrão no sistema, depois mudei BO, por último pra US, e agora que alterei o Kernel para Xanmod 4.9 ele ficou com Country 98 DFS-UNSET, "sudo iw reg set BR" não está mais funcionando pra alterar, não muda, mas pelo menos está melhor que o padrão de antes.

=====
EDITADO!!!

Wohoooo! ;D ;D ;D
obrigado a todos.
druidaobelix ainda não tenho certeza, mas depois que fiz os teste no Linux, fui pro Windows e fiz os teste lá também, o problema ainda continuava. A única coisa que fiz agora de diferente foi usar o comando que você passou druidaobelix.

"sudo iw reg set BR"

quando uso o "sudo iw reg get" ele retorna Country 98 DFS-UNSET, porém, parece que resolveu o problema, REFIZ os testes no iperf e os resultados de Upload (iperf como server) e de Download foram MELHORES! que no Windows!!!!! :D

Segue print no Windows e o print antes e depois no Linux do iperf.

WINDOWS




LINUX, antes:



LINUX depois:


galactus

No meu caso usar o iw reg set BR piorou muito!   

A saída do comando iw reg set foi ISO/IEC 3166-1 alpha2



druidaobelix, qual o motivo da região fazer melhorar ou piorar a transferência do arquivo?

No meu caso os meus roteadores são importados. É por isso? Eu teria que "casar" a região com a dos meus roteadores?
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

druidaobelix

#26
Citação de: galactus online 20 de Junho de 2017, 08:39
druidaobelix, qual o motivo da região fazer melhorar ou piorar a transferência do arquivo?
No meu caso os meus roteadores são importados. É por isso? Eu teria que "casar" a região com a dos meus roteadores?

Em linhas gerais é isso aí mesmo, começa pela diferença de quais canais operam em quais países.

Dá uma olhada nessa página, há uma conversa interessante sobre isso.

Wi-Fi Routers - The Differences for Each Region?

https://slashdot.org/story/06/05/04/0024239/wi-fi-routers---the-differences-for-each-region

Veja, por exemplo, que o limite imposto pela txpower que aparece no iwconfig na verdade pode ser quebrado (mas não se deve, é ilegal), inclusive se aumentando a potência de radiofrequência (e interferindo em outros aparelhos, nos seus próprios e dos vizinhos, por isso não se deve).

Uma vez escrevi algo rapidamente sobre isso aqui no Fórum, veja o post #5 desse tópico:

http://ubuntuforum-br.org/index.php/topic,120836.msg663403.html#msg663403
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

#27
Citação de: Tom.net online 19 de Junho de 2017, 01:14
O Wget funciona para rede interna? Não sei como se faz, se sim, por favor me explica como eu faço.

E apenas para não ficar 'pendurada' uma questão, mencionada lá nos posts #14 e #15, que é a possibilidade de uso do wget em rede interna.

Sim, de fato há essa posssibilidade, o wget funciona também em rede local, por exemplo numa intranet e, no caso específico mencionado, no acesso a um servidor ftp, se bem que não há mais utilidade prática aqui no tópico, vez que a questão central da taxa de transferência da placa wireless foi resolvida.

Nada obstante, ainda que por curiosidade técnica, de uma forma geral a sintaxe é a seguinte:

wget -c ftp://user:senha@host/path/arquivo

No caso o host pode ser referenciado pelo ip da máquina onde está o server ftp, observando ainda que /path/arquivo não é de fato o caminho "físico" na máquina hospedeira, porque o servidor ftp é um "containner", como se fosse um chroot, com limites definidos no arquivo de configuração do servidor ftp (por exemplo, /etc/proftpd/proftpd.conf no caso do ftp server proftpd), no qual se define onde estarão os arquivos do ftp server (por exemplo /var/www ou qualquer outro), então o /path/arquivo é o caminho *dentro* desse "containner" e não o caminho físico real da máquina hospedeira.

Voltando à sintaxe, um exemplo, supondo um usuário hipotético pedro com a senha 123456, na máquina hospedeira do ftp server de ip da rede interna 192.168.1.105, onde há o arquivo teste.mp4, então o comando seria o seguinte:

wget -c ftp://pedro:123456@192.168.1.105/teste.mp4

A sintaxe também pode ser assim:

wget -c --ftp-user=user --ftp-password=password ftp://host/path/arquivo

exemplo, usando os mesmos dados do exemplo anterior:

wget -c --ftp-user=pedro --ftp-password=123456 ftp://192.168.1.105/teste.mp4


Como dito, isso é apenas uma curiosidade técnica, não há geralmente uma utilidade real para esse uso do wget numa rede interna, até porque existem interfaces gráficas muito mais práticas e igualmente robutas, a exemplo do filezilla, dentre outras.

Serviria nesse caso específico em que se buscava um mesmo instrumento, isto é, um mesmo software, no caso o wget, para fazer a medição de taxa de transferência tanto no ambiente Linux quanto no Windows, ainda que o próprio fpt por cmdline, por si só, já poderia dar isso.

No Linux funciona facilmente, sem problemas, bastando usar o esquema acima, fácil de fazer e operar. Depois seria montar a mesma coisa dentro do Windows, isto é, acesso ftp por linha de comando dentro do Windows. Na essência é praticamente a mesma coisa.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.