===== 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