Essa é uma revisão anterior do documento!


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.

Modelo Velocidade Máxima
Greatek GWR-1200AC 200 Mbps
Intelbras Action RG1200AC 200 Mbps
Multilaser RE708 200 Mbps
TP-Link Archer C5 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 Full-load
ZTE H199 550 Mbps Sim
ZTE H198 100 Mbps Não
FastWireless FW323DAC 250 Mbps Não
Huawei EG8145V5 850 Mbps Sim
Huawei EG8245Q2 250 Mbps Não
Greatek Stavix 250 Mbps Não
Intelbras WiFiber 350 Mbps Não

Atenção

Na data atual (04/03/2020), os modelos Greatek GWR300N e Multilaser RE172 ainda não estão habilitados para realizarem testes de velocidade. Estamos trabalhando para que a sobrecarga feita na CPU durante o teste não prejudique o funcionamento do roteador. Por favor entre em contato conosco para mais informações.

Disponibilizamos o teste de velocidade para dispositivos TR-069. Os modelos marcados com “Sim” na coluna Full-load possuem uma configuração avançada no TR-069 que confere maior estabilidade ao resultado da medição.

Por que existem essas limitações?

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.

Sistemas operacionais testados:

Ubuntu 20.04, Debian 10

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!

  1. Atualizar lista de repositórios através do comando:
    (Ubuntu) sudo apt-get update
    (CentOS) sudo yum check-update
  2. Instalar o Nginx (versão 1.10.3 ou superior)
    1. (Somente para CentOS) Insira o comando:
      sudo yum install epel-release
    2. Insira o seguinte comando:
      (Ubuntu) sudo apt-get install nginx
      (CentOS) sudo yum install nginx
  3. Abra o arquivo de configuração do Nginx com o comando:
    nano /etc/nginx/nginx.conf
    1. 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”.
      1. Lembramos que por motivos de performance de rede, não recomendamos que outros serviços estejam configurados na mesma máquina.
  4. 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/*;
    }
  5. 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
  6. Abra o arquivo de configuração do servidor com o comando:
    nano /etc/nginx/sites-available/measure
  7. Configure o servidor para realizar medições editando o arquivo aberto:
    server {
      listen 80;
      autoindex on;
      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 / {
        return 403;
      }
    }
    1. Você pode substituir o valor da variável “listen” por outra porta que não seja a 80.
      1. Se você alterar a porta utilizada, lembre-se de configurar o seu firewall para que seus roteadores consigam acessar o servidor!
      2. Não se esqueça de inserir um ; no final da linha caso altere a porta! Exemplo:
        listen 25752;
  8. 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
  9. 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)
    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
  10. (Somente para CentOS) Habilite o serviço Nginx através do comando:
    sudo systemctl enable nginx
  11. Carregue o serviço Nginx através do comando:
    (Ubuntu) sudo service nginx start
    (CentOS) sudo systemctl start nginx
  12. Teste se o servidor está funcionando acessando em qualquer navegador:
    http://<<ip do servidor>>/measure
    1. Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL:
      http://<<ip do servidor>>:<<porta configurada>>/measure
    2. Você deverá ver uma listagem de arquivos contendo 3 arquivos de 50MB cada: file1.bin, file2.bin, file3.bin
    3. 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.
    4. 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

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.

  1. 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;
  2. 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
  3. Adicione o trecho relacionado à “location /measure/tr069”:
    server {
      listen 80;
      autoindex on;
      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 / {
        return 403;
      }
    }
    	
  4. Você pode substituir o valor da variável “listen” por outra porta que não seja a 80.
    1. Se você alterar a porta utilizada, lembre-se de configurar o seu firewall para que seus roteadores consigam acessar o servidor!
    2. Não se esqueça de inserir um ; no final da linha caso altere a porta! Exemplo:
      listen 25752;
  5. 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)
    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
  6. Recarregue o serviço Nginx através do comando:
    (Ubuntu) sudo service nginx restart
    (CentOS) sudo systemctl restart nginx
  7. Teste se o servidor está funcionando acessando em qualquer navegador:
    http://<<ip do servidor>>/measure/tr069
    1. Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL:
      http://<<ip do servidor>>:<<porta configurada>>/measure/tr069
    2. 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.
    3. 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
  1. Faça login no Flashman com o usuário admin para configurar o serviço de medição
  2. Vá em configurações, digite o IP e a porta do servidor configurado acima e salve
  3. 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
  4. Aperte o botão para começar a medição e aguarde o resultado
    1. Em caso de erro recorrente, certifique-se de que o roteador consegue acessar o servidor de medição
    2. Se você configurou uma porta diferente da 80 no passo 7 anteriormente, verifique se a regra apropriada está no seu firewall