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.

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!

  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;
      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;
      }
    }
    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 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
  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:
     wget 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:
       wget 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;
      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;
      }
    }
    	
  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 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
  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:
     wget 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:
       wget 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