===== Velocidades de Download Homologadas por Modelo =====
^ Modelo ^ Velocidade Máxima ^
| Greatek GWR-1200AC | 200 Mbps |
| Intelbras Action RG1200AC | 200 Mbps |
| Intelbras Action GF1200AC | 200 Mbps |
| Multilaser RE708 | 200 Mbps |
| TP-Link EC220-G5 | 350 Mbps |
| TP-Link Archer C5 | 300 Mbps |
| TP-Link Archer C21 | 300 Mbps |
| TP-Link Archer C7 | 300 Mbps |
| TP-Link WDR3600 | 150 Mbps |
| TP-Link WDR4300 | 150 Mbps |
| TP-Link WR2543 | 120 Mbps |
| Demais modelos | 100 Mbps |
^ Modelos TR-069 ^ Velocidade Máxima ^
| ZTE H199 | 550 Mbps |
| ZTE H198 | 100 Mbps |
| TP-Link EC220-G5 | 230 Mbps |
| FastWireless FW323DAC | 250 Mbps |
| Huawei EG8145V5 | 1000 Mbps |
| Huawei EG8145V5-V2 | 1000 Mbps |
| Huawei EG8245Q2 | 250 Mbps |
| Huawei EG8145X6 | 700 Mbps |
| Huawei HG8121H | 150 Mbps |
| D-Link DIR-842 | 180 Mbps |
| D-Link DIR-841 | 180 Mbps |
| Greatek Stavix | 250 Mbps |
| Greatek GWR1200 | 300 Mbps |
| Unee MP-G421R | 300 Mbps |
| Intelbras WiFiber 121AC | 350 Mbps |
| Tenda HG9 | 350 Mbps |
| Nokia Beacon 1 HA-020W-B | 800 Mbps |
| Nokia G-2425G-A | 850 Mbps |
=== Por que existem essas limitações de banda diferentes para cada modelo? ===
A medição de velocidade atualmente possui uma limitação de velocidade para cada modelo. O teste de velocidade feito diretamente nos roteadores medirá no máximo as velocidades na tabela abaixo. Para medir velocidades maiores, use um dos medidores convencionais como o Speedtest e Fast.com.
Porque testes de velocidade exigem muito processamento, e as CPUs existentes nos roteadores são limitadas comparadas a de celulares e computadores. Lembre-se que o roteamento de pacotes nesses roteadores utiliza pouca CPU, e portanto medições feitas por dispositivos na rede podem conseguir resultados maiores.
===== Vídeo sobre o Teste de Velocidade =====
[[https://www.youtube.com/watch?v=Smh0cqcn0sw]]
===== Configuração do Servidor =====
=== Sistemas operacionais testados: ===
Ubuntu 20.04,22.04 Debian 10 e 11
=== Requisitos de hardware: ===
Placa de rede gigabit. Contudo, caso ofereça planos de 500 Mbps, ou mais, é recomendado que tenha uma interface 10 Gbps.
É recomendado que nenhum outro serviço que utilize a rede esteja rodando na máquina. Recomendamos pelo menos 500MB de RAM livres para o processo do Nginx que será mantido em execução. Recomendamos ao menos 4 núcleos de CPU para download simultâneo dos arquivos durante o teste de velocidade. Ao menos 500MB de espaço devem estar disponíveis para armazenamento dos arquivos de teste que serão baixados durante o teste de velocidade.
**Atenção! Verifique se o link de rede para o servidor está configurado para gigabit tanto no downlink quanto no uplink!**
- Atualizar lista de repositórios através do comando:
(Ubuntu) sudo apt-get update
(CentOS) sudo yum check-update
- Instalar o Nginx (versão 1.10.3 ou superior)
- (Somente para CentOS) Insira o comando:
sudo yum install epel-release
- Insira o seguinte comando:
(Ubuntu) sudo apt-get install nginx
(CentOS) sudo yum install nginx
- Abra o arquivo de configuração do Nginx com o comando: nano /etc/nginx/nginx.conf
- Se você já possui um serviço configurado no Nginx, edite o seu arquivo atual para incluir as configurações abaixo. Ficar atento ao substituir o usuário do nginx "User nginx", porque para cada distribuição o nome do usuário será diferente. Por exemplo no Ubuntu18 por padrão o usuário criado é "www-data".
- Lembramos que por motivos de performance de rede, não recomendamos que outros serviços estejam configurados na mesma máquina.
- Configure o Nginx para receber requisições HTTP editando o arquivo aberto:
user nginx;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
- Configure os arquivos do Nginx para incluir a configuração do servidor de medição com os comandos:
sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled
sudo touch /etc/nginx/sites-available/measure
sudo ln -s /etc/nginx/sites-available/measure /etc/nginx/sites-enabled/measure
- Abra o arquivo de configuração do servidor com o comando: nano /etc/nginx/sites-available/measure
- Configure o servidor para realizar medições editando o arquivo aberto:
server {
listen 80;
autoindex on;
client_max_body_size 2g;
location /measure {
alias /etc/nginx/flash-measure-data/;
sendfile_max_chunk 1m;
}
location /measure/tr069 {
alias /etc/nginx/flash-measure-data/tr069/;
sendfile_max_chunk 1m;
}
location ~ "/upload/([0-9a-zA-Z-._]*)$" {
dav_methods PUT;
client_body_temp_path /tmp/incoming;
client_body_in_file_only off;
alias /tmp/incoming/$1;
create_full_put_path on;
dav_access group:rw all:r;
client_body_buffer_size 100m;
}
location / {
return 403;
}
}
- Você pode substituir o valor da variável "listen" por outra porta que não seja a 80.
- Se você alterar a porta utilizada, lembre-se de configurar o seu firewall para que seus roteadores consigam acessar o servidor!
- Não se esqueça de inserir um ; no final da linha caso altere a porta! Exemplo:
listen 25752;
- Gere os arquivos de medição que serão utilizados através dos comandos:
sudo mkdir /etc/nginx/flash-measure-data
for i in $(seq 1 3); do sudo dd if=/dev/urandom of=/etc/nginx/flash-measure-data/file$i.bin bs=1M count=50; done
- Para gerar os arquivos de medição que serão utilizados nos dispositivos TR-069 utilize os comandos:
sudo mkdir /etc/nginx/flash-measure-data/tr069
fileSizes=(512 1920 6400 19200 32000 64000 192000 320000 448000 640000 1920000)
for i in ${fileSizes[@]}; do sudo dd if=/dev/urandom of=/etc/nginx/flash-measure-data/tr069/file_"$i"KB.bin bs=1K count=$i; done
- (Somente para CentOS) Habilite o serviço Nginx através do comando: sudo systemctl enable nginx
- Carregue o serviço Nginx através do comando:
(Ubuntu) sudo service nginx start
(CentOS) sudo systemctl start nginx
- Teste se o servidor está funcionando acessando em qualquer navegador: wget http://<>/measure
- Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL: wget http://<>:<>/measure
- Você deverá ver uma listagem de arquivos contendo 3 arquivos de 50MB cada: file1.bin, file2.bin, file3.bin
- Confira também se os arquivos para o teste de velocidade em dispositivos TR-069 foram gerados em /measure/tr069. Você deverá ver uma listagem de arquivos contendo 10 arquivos de x KB cada nomeados como file_xKB.bin, onde x são os valores de 512 a 640000 listados no passo 9.
- Caso os arquivos não sejam exibidos com sucesso, por favor excluir o link para a pasta "/etc/nginx/sites-enabled/default" através do comando abaixo. Por favor antes de excluir, validar se esta configuração está está sendo utilizado por outro serviço.rm -f /etc/nginx/sites-enabled/default
===== Atualização do Servidor para testes de velocidade em dispositivos TR-069 =====
Se você já tem um servidor para teste de velocidade configurado, então precisará de poucos passos para habilitar o teste de velocidade para dispositivos TR-069.
- Atualize o Nginx removendo a limitação de conexões para o melhor funcionamento das medições em dispositivos TR-069. Remova a linha: limit_req_zone $request_uri zone=measure:1m rate=3r/m;
- Atualize o arquivo de configuração do servidor com a nova rota para os arquivos direcionados ao teste para dispositivos TR-069 com o comando: nano /etc/nginx/sites-available/measure
- Adicione o trecho relacionado à "location /measure/tr069":
server {
listen 80;
autoindex on;
client_max_body_size 2g;
location /measure {
alias /etc/nginx/flash-measure-data/;
sendfile_max_chunk 1m;
}
location /measure/tr069 {
alias /etc/nginx/flash-measure-data/tr069/;
sendfile_max_chunk 1m;
}
location ~ "/upload/([0-9a-zA-Z-._]*)$" {
dav_methods PUT;
client_body_temp_path /tmp/incoming;
client_body_in_file_only off;
alias /tmp/incoming/$1;
create_full_put_path on;
dav_access group:rw all:r;
client_body_buffer_size 100m;
}
location / {
return 403;
}
}
- Você pode substituir o valor da variável "listen" por outra porta que não seja a 80.
- Se você alterar a porta utilizada, lembre-se de configurar o seu firewall para que seus roteadores consigam acessar o servidor!
- Não se esqueça de inserir um ; no final da linha caso altere a porta! Exemplo:
listen 25752;
- Gere os arquivos de medição que serão utilizados nos dispositivos TR-069. Utilize os comandos:
sudo mkdir /etc/nginx/flash-measure-data/tr069
fileSizes=(512 1920 6400 19200 32000 64000 192000 320000 448000 640000 1920000)
for i in ${fileSizes[@]}; do sudo dd if=/dev/urandom of=/etc/nginx/flash-measure-data/tr069/file_"$i"KB.bin bs=1K count=$i; done
- Recarregue o serviço Nginx através do comando:
(Ubuntu) sudo service nginx restart
(CentOS) sudo systemctl restart nginx
- Teste se o servidor está funcionando acessando em qualquer navegador: wget http://<>/measure/tr069
- Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL: wget http://<>:<>/measure/tr069
- Você deverá ver uma listagem de arquivos contendo 10 arquivos de x KB cada nomeados como file_xKB.bin, onde x são os valores de 512 a 640000 listados no passo 5.
- Caso os arquivos não sejam exibidos com sucesso, por favor excluir o link para a pasta "/etc/nginx/sites-enabled/default" através do comando abaixo. Por favor antes de excluir, validar se esta configuração está está sendo utilizado por outro serviço.rm -f /etc/nginx/sites-enabled/default
===== Realizando um Teste de Velocidade =====
- Faça login no Flashman com o usuário admin para configurar o serviço de medição
- Vá em configurações, digite o IP e a porta do servidor configurado acima e salve
- Escolha um roteador que esteja com o Flashbox atualizado (versão 0.24.0 ou superior) e clique em Opções, e então em Medição de Velocidade
- Aperte o botão para começar a medição e aguarde o resultado
- Em caso de erro recorrente, certifique-se de que o roteador consegue acessar o servidor de medição
- Se você configurou uma porta diferente da 80 no passo 7 anteriormente, verifique se a regra apropriada está no seu firewall