<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2600934848988649093</id><updated>2026-07-10T20:18:15.172-03:00</updated><category term="OpenWRT"/><category term="roteador"/><category term="upgrade"/><category term="14.07"/><category term="backup"/><category term="BB"/><category term="LEDE"/><category term="USB"/><category term="desastre"/><category term="instalação"/><category term="linux"/><category term="15.05"/><category term="CC"/><category term="HD"/><category term="compilação cruzada"/><category term="extroot HD"/><category term="recuperação"/><category term="12.09"/><category term="LEDE 17.01.0"/><category term="MultiWAN"/><category term="QoS"/><category term="SSH"/><category term="criação de pacotes"/><category term="nat"/><category term="18.06"/><category term="19.07"/><category term="21.02"/><category term="3g"/><category term="MultiLAN"/><category term="MultiWLAN"/><category term="VPN"/><category term="debug"/><category term="failsafe"/><category term="impressora"/><category term="programação embarcada"/><category term="repetidor wireless"/><category term="rsync"/><category term="samba"/><category term="scanner"/><category term="switches"/><category term="tar"/><category term="trunk"/><category term="vídeo"/><category term="12.04"/><category term="4/32"/><category term="GPT"/><category term="IPv6"/><category term="MBR híbrida"/><category term="Mesh"/><category term="RHEL"/><category term="VPN."/><category term="Wifi"/><category term="arquivos"/><category term="borg"/><category term="cisco"/><category term="deinstalação"/><category term="dgs-1210"/><category term="dlna"/><category term="extensão wireless"/><category term="heartbleed"/><category term="horário de verão"/><category term="hplip"/><category term="mediabox"/><category term="minidna"/><category term="máquina virtual"/><category term="ponte por wireless"/><category term="sane-backends"/><category term="scp"/><category term="servidor de impressão"/><category term="sftp"/><category term="swap"/><category term="tcpdump"/><category term="torrent"/><category term="twice nat"/><category term="wireshark"/><title type='text'>luizluca</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8328494430878062609</id><published>2024-11-04T00:12:00.000-03:00</published><updated>2024-11-04T00:12:34.020-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mesh"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="repetidor wireless"/><category scheme="http://www.blogger.com/atom/ns#" term="Wifi"/><title type='text'>OpenWrt: múltiplos APs e fast roaming (e o tal de mesh)</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;text-align: justify;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;A frase &quot;a internet está horrível hoje&quot; certamente já foi dita por todos em algum momento. Com muita frequência, isso é devido a perda de pacotes. Qualquer perda de pacotes acima de 1% torna a conexão inviável.&amp;nbsp;E qual o problema de perder uns pacotinhos se ainda tem os outros 99%?&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;De forma bem simplificada, o protocolo de transmissão de dados mais usado, o TCP, oportunisticamente vai aumentando rapidamente a velocidade que os pacotes são enviados até que esgotamos a capacidade de transmissão de dados em algum ponto entre a origem e o destino. Nesta situação, ocorre a perda de pacotes. O protocolo, então, volta a uma velocidade baixa e novamente vai aumentando a velocidade, repetindo o ciclo. Perder pacotes nesta situação é o esperado pois serve como um sinal de que o canal está cheio. O problema ocorre quando esta perda de pacotes é devido a um problema no canal, que faz o pacote se perder muito antes de você usar a capacidade disponível. O protocolo se confunde com a perda, achando que o canal está congestionado, e reinicia o processo de subida da velocidade de transmissão lá de baixo. Como a velocidade nunca sobe muito, você terá a sensação da &quot;internet horrível&quot;.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;a href=&quot;https://letmegooglethat.com/?q=quando+eu+era+crian%C3%A7a+pequena+l%C3%A1+em+barbacena&quot; target=&quot;_blank&quot;&gt;Quando eu era pequeninho lá em Barbacena&lt;/a&gt;&amp;nbsp;(link se você não tem idade para ter entendido a referência), o grande vilão que gerava perda de pacotes era o ruído do canal analógico da conexão discada. Porém, hoje com conexões digitais, fibra e planos de centenas de megabits por segundo, é mais difícil o problema ser o canal com a operadora (se for o seu caso, saiba que isso não é normal). O mais comum mesmo é perder pacotes dentro da rede local, ou melhor, perder pacotes na conexão da WiFi. Não importa muito o motivo da redução na qualidade do sinal da Wifi (espelho, estrutura de ferro, canos de água), mas a solução varia entre colocar um AP com mais potência e melhor antena ou multiplicar a quantidade de APs.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;b&gt;Nota:&lt;/b&gt; vou usar AP (&lt;i&gt;access-point&lt;/i&gt;) aqui como o equipamento que oferece uma rede Wifi. Se ele faz o papel de roteador ou não, isso é uma questão da camada de rede e não é importante para o tema deste texto. Roteador wifi é apenas um roteador com função de AP (e normalmente switch também).&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;O que eu mais vejo nas varreduras de Wifi são múltiplos APs com nomes do tipo: &quot;Fulano Sala&quot;, &quot;Fulano Quarto&quot; ou &quot;Repetidor cozinha&quot;, ou ainda &quot;Rede 5Ghz&quot; e &quot;Rede 2.5Ghz&quot;. Todavia, desde os primórdios da Wifi, muito antes da era dos &lt;i&gt;smartphones&lt;/i&gt;, a Wifi foi desenvolvida para tratar diversas redes com o mesmo nome. Então, a solução de quem desenvolveu o protocolo era colocar todas as redes com o mesmíssimo nome (e, obviamente, configuração da autenticação) e deixar o cliente da Wifi decidir qual é a melhor opção.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Então, se é uma maravilha, por que ninguém faz assim? Bem, o problema de usar o mesmo nome tem relação com o &quot;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;deixar o cliente da Wifi decidir&quot;. Tivemos casos de clientes que não lidavam bem com isso pois era um cenário não muito bem testado pelos fabricantes mais rústicos. Porém, faz tempo que todos os clientes usuais (geralmente um android ou IOS) trabalham super bem com redes homônimas. Outro problema é que os clientes são apegados a rede que eles conectaram. Até perder o sinal e o cliente buscar uma nova rede, ele não trocava de AP. Então, se o sinal estava fraco mas operacional, o seu celular ia ficar conectado no AP inicial, mesmo se você estivesse do lado de um outro roteador. A solução de contorno nesta situação era desligar e religar a wifi para o cliente escolher novamente o melhor AP&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;(alguns fabricantes fizeram ajustes neste comportamento para serem mais proativos)&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;. Não é muito diferente de ter duas redes com nomes diferentes configuradas, com a desvantagem de você não saber explicitamente qual rede está conectado. Neste caso, até faz sentido a proliferação das redes de nomes duplos pois, ao menos, você saberia onde está conectado e economiza um clique na troca manual.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Então é isso? Continuo com minha rede &quot;Repetidor Cozinha&quot;? Não, podemos fazer muito melhor do que isso. Temos uma evolução do protocolo (já antiga, de 2008) chamada &lt;a href=&quot;https://en.wikipedia.org/wiki/IEEE_802.11r-2008&quot; target=&quot;_blank&quot;&gt;802.11r (&lt;i&gt;fast roaming&lt;/i&gt;)&lt;/a&gt;. Nestas redes de mesmo nome, o cliente é orientado a proativamente verificar se um outro AP de mesmo nome mas com sinal melhor está funcional. O cliente faz uma autenticação acelerada e, estando tudo OK, muda a rede quase que de forma imperceptível. Isso vale tanto para trocar de AP como de 2.5 Ghz para 5 Ghz. Simplesmente funciona.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Comercialmente, o 802.11r geralmente aparece em produtos vendidos com a característica comercial &quot;&lt;i&gt;Mesh&lt;/i&gt;&quot;. Porém, apesar de geralmente estar junto, &lt;i&gt;mesh&lt;/i&gt; (ou malha) refere-se ao protocolo &lt;a href=&quot;https://en.wikipedia.org/wiki/IEEE_802.11s&quot;&gt;802.11s&lt;/a&gt;&amp;nbsp;(ou algo similar proprietário do fabricante) usando na comunicação entre APs e não entre o AP e o cliente. No caso de redes em malha, o AP pode falar com o outro por um canal sem fio, podendo fazer isso de forma direta ou saltando por outros APs membros da rede. Se ligar um cabo entre os dois APs, o recurso &quot;mesh&quot; perde o sentido.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Mas um repetidor Wifi não faz exatamente isso? Sim, especialmente se forem apenas 2 APs. Se os APs ficarem estáticos e sempre ligados, não faria diferença em configurá-los como repetidores usando &lt;a href=&quot;https://pt.wikipedia.org/wiki/Wireless_Distribution_System&quot;&gt;WDS&lt;/a&gt; ou como rede &lt;i&gt;mesh&lt;/i&gt;. Redes&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;Mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;é questão de software e seu&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;roteador&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;velho de guerra de 10 anos atrás poderia sim fazer uma rede&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;Mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;se a firmware permitisse (ex: se suportar OpenWrt e ter uma driver compatível). Mas como já falei,&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;Mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;entre 2 APs não é melhor do que colocar um deles como um repetidor WDS e configurar nos dois o mesmo nome de rede. E, para melhor experiência do usuário, ative o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;802.11r para que a transição entre APs seja imperceptível.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&quot;Mas eu troquei para roteadores&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;Mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;e minha rede melhorou muito!&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Claro que trocar seu roteador velho e seu repetidor de R$ 49,90 por dois roteadores mesh de R$ 700,00, a qualidade da rede deve melhorar. Não pelo uso de mesh em si, mas por serem equipamentos melhores e mais novos.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Agora um resumão:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Vou um novo AP, vale a pena comprar um do tipo&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;? O &lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; não faz sentido sozinho. Se não for comprar mais de um, não compre pelo &quot;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&quot;, mas o HW deles tende a ser bom;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Vou comprar dois novos APs, vale a pena comprar do tipo&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;? O&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;mesh&lt;/i&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;ainda &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;não faz sentido para apenas 2 APs. A função de repetidor WDS com &lt;i&gt;fast roaming&lt;/i&gt; seria equivalente&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;, mas o HW deste tipo de roteador &quot;mesh&quot; tende a ser bom. Se for conectá-los por cabo, o &lt;i&gt;mesh&lt;/i&gt; é ainda menos importante.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;O importante é usar o mesmo nome e ter o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;802.11r. Contudo, a linha mesh pode facilitar a configuração igual nos dois APs;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Vou comprar diversos APs para cobrir uma região grande, vale a pena comprar do tipo&amp;nbsp;&lt;i&gt;mesh&lt;/i&gt;?&amp;nbsp;Bem, se for um galpão ou coisa do tipo, faz sentido comprar uma linha empresarial. Os APs empresariais normalmente possuem conectividade &lt;i&gt;mesh&lt;/i&gt;&amp;nbsp;e um gerenciamento centralizado melhor. Não acho que a linha residencial deva ser usada nestes caso;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Tenho um AP repetidor conectado no outro por WDS. Devo usar o mesmo nome de rede? Provavelmente sim, principalmente se puder ativar o 802.11r. Se já usa OpenWrt&amp;nbsp; recente nos dois, a resposta é sim pois suporte para 802.11r é &lt;i&gt;software&lt;/i&gt; e não depende de driver. Você também pode criar redes ocultas adicionais nos mesmos APs quando quiser forçar um teste em um deles. Eu as configuro nos clientes, mas sem conexão automática.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Tenho um AP repetidor WDS antigo que não suporta 802.11r, devo usar o mesmo nome de rede? Pode usar, mas você pode sentir falta de saber qual rede está conectado. No Android, tem uma opção de desenvolvedor para mostrar o endereço MAC (BSSID) do AP conectado que pode te ajudar. Mas, com conexões de internet acima de 100 Mbps, tira o escorpião do bolso e compra algo melhor. O diferencial para o usuário é oferecer o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;802.11r.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;E você vai saber que a Wifi está boa quando não precisar pensar nela, mesmo naquele cômodo distante da casa.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Em um próximo texto eu mostro alguns detalhes da configuração do 802.11r residencial no OpenWrt. Porém, é tão simples que talvez nem precise de uma postagem específica.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8328494430878062609/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2024/11/openwrt-multiplos-aps-e-fast-roaming-e.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8328494430878062609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8328494430878062609'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2024/11/openwrt-multiplos-aps-e-fast-roaming-e.html' title='OpenWrt: múltiplos APs e fast roaming (e o tal de mesh)'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8257274491721008247</id><published>2024-08-11T10:52:00.003-03:00</published><updated>2024-08-11T10:52:00.127-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="instalação"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="switches"/><title type='text'>OpenWrt: switches D-Link DGS 1210-28 F3 e DGS 1210-52 F3 - instalando o OpenWrt</title><content type='html'>&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;text-align: justify;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;No&amp;nbsp;&lt;a href=&quot;https://luizluca.blogspot.com/2024/08/openwrt-switches-d-link-dgs-1210-28-f3.html&quot;&gt;artigo anterior&lt;/a&gt;,&amp;nbsp;mostrei os problemas que eu enfrentei com a firmware original dos switches D-Link DGS 1210-28 F3 e DGS 1210-52 F3. Neste artigo vamos às limitações do OpenWrt e o processo de instalação.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O OpenWrt 23.05 está com o suporte bem estável para estes modelos e outros da mesma linha. Não recomendo as versões anteriores pois, além de não ter mais suporte, ela tinha alguns recursos faltando e vinha com uma configuração inicial que acabava exigindo o uso da serial (interna). Na versão atual, 23.05, temos uma configuração inicial mais clássica, com acesso inicial pela 192.168.1.1. Ainda estou trabalhando para fornecer uma firmware que possa ser gravada pela interface &lt;strike&gt;WEB&lt;/strike&gt;&amp;nbsp;(ops, ela reinicia, lembra do último artigo?) CLI do fabricante.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Com o OpenWrt, o switch funciona muito bem, fazendo o trabalho de encaminhamento de pacotes com competência. O desempenho é o mesmo pois este trabalho é do hardware. A interface de gerência é a que se espera do OpenWrt, com opção de uso do SSH ou pela Web. E, incrivelmente, ela não se perde e reinicia sozinha depois de um tempo! Você pode, até o limite da flash, instalar pacotes extras ou mesmo subverter o switch transformando ele em um roteador ou outra coisa qualquer. O OpenWrt é uma distribução Linux e ela não impõe como você vai usar o seu equipamento, desde que o hardware dele dê conta. Só lembre-se que ele tem uma CPU fraca e não vai conseguir, por exemplo, fazer NAT muito mais do que uns 200Mbps. Não testei o LACP (link aggregation), mas o STP (para evitar loops) parece ter algum problema e não impediu uma tempestade de broadcast. As portas combo (SFP+ethernet) também podem não estar funcionando para alguns modelos.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O switch possui &quot;partições&quot; na flash para armazenar o kernel e o sistema raiz (rootfs). Bem, no caos, 2 de cada pois temos suporte para 2 firmwares. Além disso temos outras partições com informações do sistema (como o endereço MAC), gerenciar de boot, configuração do gerenciador de boot e uma partição de dados onde a firmware original grava seus dados. Algo assim:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;table class=&quot;inline table table-striped table-bordered table-condensed&quot; style=&quot;background-color: white; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); color: #333333; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; margin-bottom: 20px; max-width: 100%; width: auto;&quot;&gt;&lt;thead style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr class=&quot;row0&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;th class=&quot;col0 leftalign&quot; style=&quot;border-color: rgb(204, 204, 204) rgb(221, 221, 221) rgb(221, 221, 221); border-image: initial; border-style: solid; border-width: 1px 1px 2px; box-sizing: border-box; line-height: 21px; padding: 0px 4px; text-align: left; vertical-align: bottom;&quot;&gt;dev&lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot; style=&quot;border-color: rgb(204, 204, 204) rgb(221, 221, 221) rgb(221, 221, 221); border-image: initial; border-style: solid; border-width: 1px 1px 2px; box-sizing: border-box; line-height: 21px; padding: 0px 4px; text-align: left; vertical-align: bottom;&quot;&gt;size&lt;/th&gt;&lt;th class=&quot;col2 leftalign&quot; style=&quot;border-color: rgb(204, 204, 204) rgb(221, 221, 221) rgb(221, 221, 221); border-image: initial; border-style: solid; border-width: 1px 1px 2px; box-sizing: border-box; line-height: 21px; padding: 0px 4px; text-align: left; vertical-align: bottom;&quot;&gt;erasesize&lt;/th&gt;&lt;th class=&quot;col3 leftalign&quot; style=&quot;border-color: rgb(204, 204, 204) rgb(221, 221, 221) rgb(221, 221, 221); border-image: initial; border-style: solid; border-width: 1px 1px 2px; box-sizing: border-box; line-height: 21px; padding: 0px 4px; text-align: left; vertical-align: bottom;&quot;&gt;name&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr class=&quot;row1&quot; style=&quot;background-color: #f9f9f9; box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd0&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00080000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;BOOT&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row2&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd1&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00040000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;BDINFO&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row3&quot; style=&quot;background-color: #f9f9f9; box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd2&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00040000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;BDINFO2&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row4&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd3&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00180000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;KERNEL1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row5&quot; style=&quot;background-color: #f9f9f9; box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd4&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00c00000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;ROOTFS1&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row6&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd5&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00180000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;KERNEL2&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row7&quot; style=&quot;background-color: #f9f9f9; box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd6&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00040000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;SYSINFO&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row8&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd7&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00c00000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;ROOTFS2&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;row9&quot; style=&quot;background-color: #f9f9f9; box-sizing: border-box;&quot;&gt;&lt;td class=&quot;col0 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;mtd8&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;003c0000&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;00010000&lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot; style=&quot;border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 21px; padding: 0px 4px; vertical-align: top;&quot;&gt;JFFS2&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O problema é que o kerrnel do OpenWrt é maior do que a partição de kernel. Mas temos como dar uma contornada nesta limitação. As &quot;partições&quot; na flash são só uma declaração no sistema operacional de intervalos da flash, com os endereços de início e tamanho. O gerenciador de boot, por exemplo, não considera estes limites para iniciar o sistema e apenas precisa do endereço do começo do kernel para carregá-lo. Então, a solução para encaixar o kernel maior do OpenWrt foi colocar o kernel até onde couber em KERNEL1 e continuar o resto (kernel, rootfs e a overlay) na ROOTFS1.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para a instalação inicial do OpenWrt na firmware original da D-Link, foi utilizado este subterfúgio de dividir o kernel no meio (nossa vantagem é que eles não validam o conteúdo). Depois de instalado, dentro do OpenWrt, isso é tratado de forma transparente pois temos uma declaração de partição que já aglutina as duas áreas. Só tem um porém: no espaço reservado da segunda imagem, temos uma partição&amp;nbsp;SYSINFO entre&amp;nbsp;KERNEL2 e&amp;nbsp;ROOTFS2. Então, esta estratégia só funciona se o OpenWrt for instalado na posição da imagem 1.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Como podemos fazer ele gravar na posição da imagem 1? A firmware original grava sempre na outra da que está em uso. Então, primeiro pela CLI (telnet ou SSH) ou pela web da firmware original, mude a imagem padrão para image2 e reinicie o switch. Só para lembrar, se o switch estiver com a configuração de fábrica, o endereço IP inicial é 10.90.90.90 e somente o telnet estará habilitado. Pela CLI ficaria assim (depois de conectar pelo telnet):&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;pre class=&quot;code&quot; style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; text-wrap: wrap; word-break: break-all;&quot;&gt;DGS-1210-20&amp;gt; config firmware image_id 2 boot_up
DGS-1210-20&amp;gt; save
DGS-1210-20&amp;gt; reboot&lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div&gt;(acho que o save não precisa, mas eu não testei sem)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Depois que subir novamente o sistema original, você pode enviar a nova firmware OpenWrt para o switch. Infelizmente, você precisará utilizar o modo CLI (telnet ou SSH) pois a interface web reinicia se você enviar qualquer nova firmware (mesmo a original!). Você precisará também de um servidor TFTP. Tem várias opções no mercado. Considerando que o IP do servidor TFTP é 1.2.3.4, você pode usar:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;pre class=&quot;code&quot; style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; text-wrap: wrap; word-break: break-all;&quot;&gt;DGS-1210-20&amp;gt; download firmware_fromTFTP 1.2.3.4 openwrt-realtek-rtl838x-d-link_dgs-1210-28-squashfs-factory_image1.bin image_id 1
DGS-1210-20&amp;gt; reboot &lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ao reiniciar, você deve estar com o OpenWrt rodando. O endereço IP inicial é o mesmo de qualquer OpenWrt: 192.168.1.1 e procure usar sempre a primeira porta para fazer a configuração inicial pois, para todo equipamento que usa DSA, só ela irá funcionar caso você inicie o modo failsafe do OpenWrt.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E se eu quiser voltar para a firmware original? Tem como? Sim, e de uma forma até fácil. Lembra que não tocamos na firmware da posição image 2? Bem, podemos selecioná-la para iniciar no próximo boot:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;pre class=&quot;code&quot; style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; text-align: start; text-wrap: wrap; word-break: break-all;&quot;&gt;root@OpenWrt:/# fw_setenv bootcmd run addargs\; bootm 0xb4e80000
root@OpenWrt:/# fw_setenv image /dev/mtdblock7
root@OpenWrt:/# reboot&lt;/pre&gt;&lt;div&gt;Depois que a firmware original iniciar, o sistema ainda vai estar achando que está usando a image 1 pois, aparentemente, ele guarda isso também dentro da configuração. Para resolver esta inconsistência, basta forçar a reconfiguração novamente:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;level3&quot; style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;pre class=&quot;code&quot; style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; text-wrap: wrap; word-break: break-all;&quot;&gt;DGS-1210-20&amp;gt; config firmware image_id 2 boot_up&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;E se quiser voltar novamente ao OpenWrt:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;pre class=&quot;code&quot; style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; text-wrap: wrap; word-break: break-all;&quot;&gt;DGS-1210-20&amp;gt; config firmware image_id 1 boot_up
DGS-1210-20&amp;gt; save
DGS-1210-20&amp;gt; reboot&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Estes switches e diversos roteadores do OpenWrt estão migrando para drivers de switch DSA. Isso muda algumas coisa na forma de gerenciar as portas. Talvez eu escreva algo sobre isso.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Até a próxima!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8257274491721008247/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2024/08/openwrt-switches-d-link-dgs-1210-28-f3_01044574794.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8257274491721008247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8257274491721008247'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2024/08/openwrt-switches-d-link-dgs-1210-28-f3_01044574794.html' title='OpenWrt: switches D-Link DGS 1210-28 F3 e DGS 1210-52 F3 - instalando o OpenWrt'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-5982960229006507450</id><published>2024-08-04T16:13:00.000-03:00</published><updated>2024-08-04T16:13:00.792-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dgs-1210"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="switches"/><title type='text'>OpenWrt: switches D-Link DGS 1210-28 F3 e DGS 1210-52 F3 - problemas com a firmware original</title><content type='html'>&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;text-align: justify;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Sim, faz tempo que não tem postagens. Vou tentar postar sobre alguns assuntos que trabalhei nos últimos meses/ano mas ainda não escrevi sobre. Porém, muito desses assuntos são mais divertidos e curiosidades. Todavia, nas últimas semanas entrei em uma nova seara: switches. Não exatamente switches, com os quais trabalho faz tempo, mas switches com OpenWrt. Esse sim é algo que pode ser útil para outras pessoas da mesma forma que resolveu um monte de problemas que eu estava tendo.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O mártir, digo, switch alvo são na verdade 2: D-Link DGS 1210-28 e o D-Link DGS 1210-52, ambos versão de hardware F3. Perto de um roteador, um switch é um equipamento quase sem graça: configura algumas VLANs, algumas portas, o básico de monitoramento e autoria e esquece. No máximo, eventualmente uma ou outra porta é ajustada (quando a designação de VLAN não for dinâmica) e, com sorte, uma ou outra atualização de firmware para corrigir problemas de segurança. Porém, esta linha de switches se superou frente a qualquer coisa que eu tenha visto. Ele se anuncia como um switch gerenciável, mas ele é mais um switch adolescente: depois de um tempo ele para de te escutar e se torna autônomo (também conhecido como não responde mais na interface de gerenciamento). Vamos primeiro ao &quot;por que não a firmware da D-Link&quot; ou os problemas encontrados.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O &lt;a href=&quot;https://www.dlink.com.br/wp-content/uploads/2018/11/DGS-1210_Series_F1_Datasheet_09HQ.pdf&quot; target=&quot;_blank&quot;&gt;datasheet do produto&lt;/a&gt; diz que ele tem IPv6 e que tem suporte a SLAAC, mais precisamente &quot;&lt;i&gt;RFC2462, RFC4862 IPv6 Stateless Address Auto-configuration
(SLAAC)&lt;/i&gt;&quot;. Porém, não tem uma forma de &quot;ativar o SLAAC&quot;. Ele usa IPv6 fixo ou pede pelo DHCP. Eventualmente aparece o endereço SLAAC funcionando mas não sei qual alinhamento de planetas precisa acontecer. E se reiniciar, não vai funcionar novamente.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;OK, esquece o SLAAC, vamos de DHCPv6. Tudo sai funcionando e você acha que contornou o problema até que depois de alguns minutos... o switch não responde mais na rede IPv6. Parece que ele esquece o roteador padrão da rede. E isso ocorre independentemente se este roteador está usando um endereços e rotas estáticos ou DHCPv6 (só lembrando que o DHCPv6 não informa a rota padrão, que ainda vem do Router Advertisement). Também ocorre quando você configura o DHCPv4 depois que o IPv6 estava funcionando.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Bem, nos resta o IPv4. Para mim, é uma opção pior pois a rede IPv4 onde estará o switch está atrás de uma NAT. Por IPv6 teria um endereço acessível. Mas tudo bem, fazemos o SSH ao roteador de depois SSH ao switch. Aí vem a próxima surpresinha: a interface SSH é algo que eles chamam de &quot;Compact CLI&quot;. Mas que diabos é isso? Traduzindo, é uma interface de gerenciamento que não gerencia. Só permite regravar e chavear a firmware e a configuração em uso (tem suporte para armazenar 2 configurações e duas flashes), definir a senha do admin (o único usuário), configurar o IPv4 e.... não, é só isso mesmo. E o pior de tudo que é uma trava em software. Se olhar com carinho a firmware original, vai ver todos os comandos de uma interface de gerenciamento completa, que é desativada quando você a acessa.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&quot;Mas eu provavelmente farei a geração de configuração em lote e só preciso enviar ela...&quot; só que não. A configuração não é textual: é um formato binário. Para modificar a configuração, você precisaria ter um switch que funciona, subir a configuração remota, fazer a modificação, salvar, baixar a configuração binária e enviar ao switch remoto comandando um download TFTP na &quot;Compact CLI&quot;. Sem IPv6 nem um CLI útil, nos resta a interface WEB pelo IPv4, acessada fazendo túneis pelo roteador.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E funciona? No geral sim... por alguns dias. Até que eventualmente o IPv4 também escuta algo que não gosta, fica de mal e não quer mais falar com você. Isso parece ocorrer quando eu reinicio o roteador da rede, mas não estou certo ainda. Só sei que acontece. Acho que a interface de gerenciamento se perde e trava se uma tentativa de solicitação de DHCPv4 falhar depois que ela já estava funcionando. Só volta se reiniciar e, em geral, neste e em outros problemas já listados, só se fizer um reinício &quot;à frio&quot; (desligando a energia). Agora coloque uns 600 quilômetros entre você e o switch e terá uma ideia do tamanho do problema.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E esses são só os problemas mais sérios do gerenciamento da firmware original. Temos vários outros:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ol&gt;&lt;li&gt;NTP não funciona para endereços IPv4 terminados com .0 (sim, tão válidos como qualquer outro se a máscara for maior que /24), não funciona para IPv6 (e olha que ele te obriga a informar 3 servidores!);&lt;/li&gt;&lt;li&gt;Todo upload enviado pela web reinicia o roteador, seja chave SSH, firmware&amp;nbsp;e provavelmente configuração (os dois últimos ainda dá para enviar pela &quot;Compact CLI&quot;);&lt;/li&gt;&lt;li&gt;O campo da tabela do endereço IPv6 é pequeno: corta o final do endereço (demorei para perceber);&lt;/li&gt;&lt;li&gt;Tem uma figura no fundo da árvore de itens (menu lateral) de uma pilha de swiches que acaba ficando em baixo dos itens se o item do menu aberto tem muitas entradas. Atrapalha bastante a leitura;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;(Deve ter mais, mas não investi tempo nisso. Esses foram os que eu tropecei e ainda lembro.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Mas o equipamento não é todo ruim. Pelo preço, ele tem algo de muito bom: ele tem o recurso de ter 2 firmwares e 2 configurações. Se ele estiver remoto e der algum problema na configuração ou em uma atualização, ele vai reiniciar e voltar a configuração que funciona, certo? Não. Ele diz tem o recurso mas não implementaram a lógica o gerenciador de boot (u-boot) que se esperaria para usar duas imagens. Se uma firmware travar e reiniciar, ele NUNCA vai chavear para a outra. NUNCA. E não tem nem mesmo como dar uma dica. Não tem &quot;apertar RESET&quot;, &quot;dar três pulinhos&quot;, &quot;tomar água de cabeça para baixo&quot;, nada vai fazer ele chavear a outra imagem ou configuração. Aqui vem a melhor parte: você só consegue chavear para a outra firmware de uma firmware que está funcionando. E se a que foi escolhida para iniciar falhar, é tão ruim como se ela fosse a única, anulando quase qualquer vantagem de ter duas.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Mas espere, na documentação tem um procedimento para gravação emergencial de firmware. Segura o RESET por 12 segundos e envia pelo software proprietário da D-Link (mas precisa ser uma versão antiga dele). Sim, funciona mas.... pegadinha do Malandro! Novamente só se iniciado de uma firmware D-Link que está funcionando. &quot;Luiz, acho que você escreveu algo errado. Isso não faz sentido. Para que ter uma gravação emergencial se ela só funciona a partir de uma firmware que está funcionando?&quot;. Primeiro eu achei que estava fazendo algo de errado. Entrei em contato com a D-Link e pedi orientações. A solução? RMA (para quem não conhece, enviar para a assistência). Tudo bem, posso enviar, mas se voltar a acontecer? Tem como arrumar o problema? E se acontecer em um equipamento distante? D-Link: &quot;RMA&quot;. E se for em vários? D-Link: &quot;RMA&quot;. O botão simplesmente não funciona a partir de um boot frio, nem para zerar a configuração. A única forma de forçar o modo de gravação emergencial no boot frio é corrompendo ambas as firmwares. Até chegar nisso, você já tentou iniciar uma firmware com problema e já transformou seu switch em um peso de papel.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;A impressão que tenho é que o equipamento foi montado para atender &quot;requisitos&quot; no papel. Ele tem tudo que se espera mas quase tudo não faz direito. Parece que o plano de testes dele foi bem &quot;simples&quot;, próximo da linha do &quot;go horse&quot;. Funcionou em um caso? Check! (se é que ao menos algo simples assim tenha ocorrido).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E sim, a D-Link está ciente dos problemas. Mas não tenho esperança que algum dos problemas seja resolvido.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Fora os problemas nas funcionalidades, temos outros requisitos &quot;não funcionais&quot; problemáticos. Não é algo específico desde equipamento mas as firmwares de muitos equipamentos são compostas por uma SDK fornecida pelo fabricante do chip (SoC), incorporada com uma interface de gerenciamento padronizada da empresa da marca. E isso nem sempre é feito pela &quot;marca&quot;, mas por uma terceira figura que faz a junção dos dois lados da solução. Pode ser por isso que esses produtos parecem ser um &quot;cachorro sem dono.&quot; As SDK dos fabricantes quase sempre ficam congeladas no tempo. No caso deste switch, é um kernel&amp;nbsp;2.6.19 (de nov/2006), com um busybox e uma uclibc da época. Imagina a quantidade de vulnerabilidades que ocorreram desde então que muito provavelmente não foram aplicadas nesses ambientes. O uso de bibliotecas sem suporte e o compartilhamento de SDK entre fabricantes é o que provoca problemas que estranhamente afetam diversas linhas de fabricantes distintos, como esse &lt;a href=&quot;https://www.cisoadvisor.com.br/pesquisadores-de-seguranca-tornam-publico-bug-de-iot-nao-corrigido%EF%BF%BC/&quot;&gt;problema do uclibc&lt;/a&gt;&amp;nbsp;que, diferentemente do que foi divulgado em diversas matérias, &lt;b&gt;NÃO AFETA VERSÕES SUPORTADAS DO OPENWRT&lt;/b&gt;, nem mesmo a já abandonada 19.07 pois não usam mais o uclibc e sim o musl.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E o OpenWrt está livre de todos os problemas? Não. Ao menos não todos estes listados aqui. No próximo artigo vamos à instalação do OpenWrt e também suas limitações.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Até a próxima.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/5982960229006507450/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2024/08/openwrt-switches-d-link-dgs-1210-28-f3.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/5982960229006507450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/5982960229006507450'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2024/08/openwrt-switches-d-link-dgs-1210-28-f3.html' title='OpenWrt: switches D-Link DGS 1210-28 F3 e DGS 1210-52 F3 - problemas com a firmware original'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-7878133072446786221</id><published>2021-09-06T10:00:00.007-03:00</published><updated>2021-09-06T10:00:00.235-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="21.02"/><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="extroot HD"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>OpenWrt: atualizando para a versão 21.02</title><content type='html'>&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;text-align: justify;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Enfim temos uma&amp;nbsp;&lt;a href=&quot;https://openwrt.org/releases/19.07/notes-19.07.0&quot;&gt;nova versão&lt;/a&gt;&amp;nbsp;do OpenWrt. Mãos a obra para atualizar!&lt;br /&gt;&lt;br /&gt;Parece repeteco do artigo de upgrade do 19.07, mas é assim mesmo. O 19.07 seria o último com suporte para o alvo ar71xx. Agora, a migração para o ath76 é obrigatório. No 19.07 os modelos com pouca RAM e Flash poderiam apresentar problemas, mas ainda eram &quot;suportados&quot;. Agora com o 21.02 eles não terão mais uma imagem pronta. Quem quiser e souber como fazer, deve usar o Image Builder e fazer sua própria firmware.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para começar, o upgrade só é suportado vindo da 19.07.x. Então, se estiver saltando da 18.06.x, dê uma paradinha na 19.07 antes de prosseguir.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;96,72% dos problemas com instalação/atualização com OpenWrt que ajudo é em relação a escolha incorreta da imagem da firmware. O OpenWrt tem uma página que simplifica a busca pela firmware correta, mas nada é à prova de pessoas criativas. Pegue o arquivo no download da última versão estável e nunca em um endereço qualquer, mesmo que seja em um artigo na wiki do OpenWrt (lembre-se como funciona uma wiki). Normalmente a wiki referência a versão em desenvolvimento, que não é a que você quer. As versões dentro de &quot;(stables) releases&quot;, exceto as com o rc (release candidate) são estáveis. Pegue preferencialmente a mais nova (com número maior). Evite qualquer firmware que tenha no caminho palavras como &quot;trunk&quot;, &quot;snapshot&quot; ou &quot;rc1&quot;, &quot;rc2&quot;... exceto se estiver testando algo. As versões estáveis também mencionam a respectiva versão do OpenWrt no nome do arquivo como em &quot;openwrt-21.02.0-ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin&quot;, ao contrário da versão instável/em desenvolvimento &quot;openwrt-ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin&quot;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;A nomenclatura da versão é adota o formato: ano.mês.correção. O ano/mês se referem ao momento que foi criado um ramo nos fontes para o lançamento da nova versão e não propriamente quando o lançamento final ocorreu. Já o último número é apenas um sequencial de correção. Então, para quem usa uma versão 21.02.x, a próxima 21.02.x+1 deverá conter apenas bugs resolvidos (em especial, os de segurança) e deve ser considerada como recomendada. Estas versões de correção são lançadas com certa frequência. É bom acompanhar (e atualizar).&lt;br /&gt;&lt;br /&gt;Na página principal, temos um atalho para cada versão lançada com o nome &quot;&lt;a href=&quot;https://firmware-selector.openwrt.org/?version=21.02.0&quot;&gt;Download a firmware image for your device (firmware selector)&lt;/a&gt;&quot;. Essa é a versão amigável de escolha da firmware buscando por texto. Observe sempre a versão do hardware! Para upgrades entre versões do OpenWrt, sempre use o &quot;sysupgrade&quot; e &quot;factory &quot;para instalações da firmware original de fábrica.&lt;br /&gt;&lt;br /&gt;Finalmente, é muito importante ler a wiki do seu roteador independente se ele já funcionava na versão anterior! São poucos minutos de leitura que podem salvar horas de trabalho ou mesmo seu roteador. A wiki atual está ainda aquém do que era mas sempre vale a busca. Para modelos antigos, a antiga ainda tem seu valor.&lt;br /&gt;&lt;br /&gt;Bem, se eu simplesmente ir na interface, fornecer a nova imagem, ele vai funcionar? Provavelmente, mas talvez não é a maneira que dê menos trabalho. A atualização pode preservar as configurações mas não os programas instalados. Se você tem raiz expandida em unidade externa, a encrenca é ainda maior.&lt;br /&gt;&lt;br /&gt;&quot;Mas eu nunca instalei um programa!&quot; OK, use a interface web e provavelmente todas as configurações serão migradas sem problemas. Já testei isto em mais de um roteador e funcionou sem problemas. Mas faça o backup antes! Caso tenha instalado algum pacote, continue lendo.&lt;br /&gt;&lt;br /&gt;Se está&amp;nbsp;migrando da ar71xx para a ath79, o backup não poderá ser aplicado às cegas. Será necessário migrar manualmente ou refazer a configuração do zero. Se quiser arriscar, as configurações &quot;incompatíveis&quot; serão as que referenciam os LEDs (leds em system), o arranjo da rede (switches e vlans no network) e os rádios (radio em wireless). O resto é, na sua grande maioria, reaproveitável até mesmo para outras arquiteturas.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar, precisamos do plano de retorno caso a nova versão não se comporte como o esperado. Faça sempre um backup geral do seu sistema. No processo de upgrade, eu sugiro que sejam feitas as três formas diferentes de backup que eu comento no artigo sobre o tema: backup padrão gerado pelo sistema, lista de pacotes instalados e todos os arquivos do overlay. Este último serve apenas para o plano de retorno caso algo importante não funcione para você na nova versão (e para recuperar algo que não entrou no backup do sistema).&lt;br /&gt;&lt;br /&gt;Recomendo estes backup:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# sysupgrade -o -k -u -b backup.tgz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Em resumo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&#39;-u&#39;: salva tudo da /overlay, exceto aquilo que vem dos pacotes, mas inclui os arquivo de configuração modificados e os listados em /etc/sysupgrade.conf&lt;/li&gt;&lt;li&gt;&#39;-o&#39;: ignora os arquivos que são idênticos ao /rom (já estavam assim na firmware)&lt;/li&gt;&lt;li&gt;&#39;-k&#39;: inclui uma lista de pacotes instalados para reinstalação&lt;/li&gt;&lt;li&gt;&#39;-b&#39;: somente gera um backup, não atualiza o sistema&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Dá até para fazer por SSH:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;pc1$ ssh router sysupgrade -o -k -u -b - &amp;gt; backup.tgz&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;Mantenha seu backup.tgz em um lugar seguro, não no /tmp do roteador que se apaga ao reiniciar!&lt;br /&gt;&lt;br /&gt;Agora, finalmente, você está pronto para enviar a nova firmware. Se você usa um armazenamento externo para expandir a raiz, leia até o final deste post antes de iniciar o processo!&lt;br /&gt;&lt;br /&gt;Você pode optar por fazer o upgrade pela interface web ou pelo terminal. Inclusive, você pode baixar o arquivo diretamente no roteador. Só cuidado ao colar a URL. O openwrt.org usa HTTPS por padrão mas o &quot;wget&quot; do OpenWrt não tem suporte para HTTPS (por padrão). Se tiver problemas, remova o &quot;s&quot; de &quot;https&quot;. E sempre salve no /tmp.&lt;br /&gt;&lt;br /&gt;E pode fazer pela Wifi? Os fabricantes não recomendam usar sempre um computador &quot;conectado por cabo&quot;? Sim, e já tive problemas com atualização a partir da firmware do fabricante por não escutar isto. Mas não com OpenWrt. Se estiver atualizando (e não instalando a primeira vez!), pode fazer pela Wifi sem problemas. Quando a gravação for iniciada, todo o processo já está independente do computador cliente. Só não pode faltar energia 😉&lt;br /&gt;&lt;br /&gt;Se optar pela interface Web, vá no menu para gravar a nova firmware, informe o arquivo .bin baixado. Confirme e reze. Se só tinha configurações e nada instalado a mais, a opção para preservar as configurações será suficiente. Caso contrário, poderá optar por preservar (ou não) as configurações e aplicar o backup gerado por &quot;sysupgrade -o -k -u -b&quot; na sequência. Se for fazer pela linha de comando, pode até usar o sysupgrade diretamente sem buscar um backup externo &quot;sysupgrade -o -k -u openwrt-21.02-....img&quot;&lt;br /&gt;&lt;br /&gt;Se optar por preservar as configurações, tudo que seria guardado em um backup do sistema (os arquivos listado pelo &quot;sysupgrade -l&quot;) será restaurado. Se você instalou algum pacote e guardou a lista do que foi instalado (lembra que eu sugeri há alguns parágrafos atrás?), esta é a hora que você reinstala os pacotes desejados. Se for instalar manualmente, procure instalar os pacotes de mais alto nível (ex: &quot;luci-app-minidlna&quot; antes de &quot;minidlna&quot;), pois eles irão, por dependência, baixar os pacotes necessários. No final do processo, é bom refazer a listagem do que está instalado e comparar com o que você tinha na versão anterior.&lt;br /&gt;&lt;br /&gt;Caso tenha gerado o backup com&amp;nbsp;&quot;sysupgrade -o -k -u&quot;, você pode aplicá-lo depois da instalação, independentemente de ter optado por preservar as configurações durante a instalação.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Agora falta reinstalar os pacotes. A opção &#39;-k&#39; do backup gerou uma lista de pacotes instalados. Vamos aproveitá-la:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg update&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# grep &quot;\toverlay&quot; /etc/backup/installed_packages.txt | cut -f1 | xargs -r opkg install&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# rm /etc/backup/installed_packages.txt&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# reboot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Podem ser criados arquivos sufixados com &quot;-opkg&quot; em /etc/. Este são arquivos de configuração originais do pacote e são criados pois você modificou algo na configuração. Sugiro que verifique se não existe alguma coisa introduzida neste pacote que deveria ser adicionada no seu arquivo de configuração. Eu gosto do diff ou do &quot;vim -d&quot; para este trabalho comparando o arquivoconf com arquivoconf-opkg. Ao final do processo, eu gosto de apagar qualquer -opkg para deixar claro que apliquei tudo que queria.&lt;br /&gt;&lt;br /&gt;As atualizações de segurança serão disponibilizadas por meio de atualização de pacotes (exceto as que exijam mudar o kernel). Para listar os pacotes atualizáveis:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg update&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg list-upgradable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O maior problema é que estas atualizações de segurança, quando de pacotes embutidos oriundos na firmware instalada, ocuparão o espaço duas vezes no roteador pois ao substituir arquivos existentes na firmware inicial, ainda será preservado a versão em somente leitura para recuperação. Se for um problema para seu caso, a alternativa é esperar a próxima versão com a correção ou gerar uma nova firmware com o pacote atualizado.&lt;br /&gt;&lt;br /&gt;Por fim, faça um novo backup geral. É sempre bom preservar o seu trabalho. Lembre-se que agora você pode gerar o backup com:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# sysupgrade -o -k -u -b backup.tgz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Só não esqueça de tirá-lo do /tmp pois ele será perdido ao desligar o roteador.&lt;br /&gt;&lt;br /&gt;Se precisar retornar a versão anterior do OpenWrt, realize a gravação da firmware antiga, entre no modo de recuperação, monte a raiz e restaure o backup.&lt;br /&gt;&lt;br /&gt;Se você não usa uma unidade externa para expandir o espaço interno, seu trabalho acabou. Para os demais, o processo é um pouco mais complicado. Ao atualizar o sistema, você terá um kernel novo que é incompatível com os módulos de kernel ou mesmo com as bibliotecas existentes na unidade externa, que ainda pertencentes à versão anterior. Você precisaria reinstalá-los. Esta é a sugestão de como proceder.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar, gere os backups sugeridos anteriormente. É importante preservar seu trabalho anterior. Ainda sem instalar a nova firmware, reinicie o sistema sem a unidade externa. Se você seguiu minha sugestão de manter uma configuração básica na flash interna, você ainda terá um ambiente funcional. Com isto, ele vai usar somente a flash interna (com a configuração que você tinha antes de usar a unidade externa).&lt;br /&gt;&lt;br /&gt;Com a unidade externa conectada, faça o backup como sugerido anteriormente. Reinicie o roteaador sem a unidade externa e faça o procedimento de atualização descrito neste artigo para quem não usa raiz expandida, inclusive com a etapa de backups. Você terá que preservar os dois conjuntos de backups: com e sem a unidade externa em uso. Ao final do processo, você deverá ter a sua configuração básica restabelecida. Caso tenha optado por não preservar as configurações na gravação, você pode aproveitar o backup gerado quando a unidade externa estava desconectada (o segundo) para restaurar as configurações.&lt;br /&gt;&lt;br /&gt;Neste momento, a unidade externa ainda está com os programas da versão anterior, que são geralmente incompatíveis com a nova versão (os módulos de kernel sempre o são). Por isto, precisamos nos livrar de todos os arquivos da versão anterior do OpenWrt presentes na unidade externa. Na unidade externa, na partição usada como overlay, remova todo o conteúdo ou mova tudo para um subdiretório (ou para outra unidade se não estiver com espaço livre) afim de que este não seja usado. Como sugestão, crie um &quot;openwrt-versao-xxx&quot; e mova tudo para lá. Refaça a configuração de uso de uma unidade externa (que no mínimo será reinstalar os pacotes necessários). Reinicie o sistema. Você deve estar agora com mais espaço na raiz.&lt;br /&gt;&lt;br /&gt;Neste ponto, você ainda terá as mesmas configurações que tinha quando usou o sistema sem a unidade externa. Envie o primeiro backup da versão anterior feito com a unidade externa conectada (primeiro backup). Na sequência, reinstale os pacotes extras, assim como é feito para ambientes sem a raiz expandida. Complete o trabalho com aquele backup final.&lt;br /&gt;&lt;br /&gt;Espero que apreciem a nova versão. De agora em diante, vou apenas focar em configurações específicas para OpenWrt 21.02, que ainda podem funcionar nas versões anteriores.&lt;br /&gt;&lt;br /&gt;Até a próxima.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/7878133072446786221/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2021/09/openwrt-atualizando-para-versao-2102.html#comment-form' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7878133072446786221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7878133072446786221'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2021/09/openwrt-atualizando-para-versao-2102.html' title='OpenWrt: atualizando para a versão 21.02'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-3460492567056457266</id><published>2021-09-05T00:56:00.002-03:00</published><updated>2021-09-05T00:56:22.341-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="21.02"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>OpenWrt: versão 21.02 lançada!</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Mais um artigo da&lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;text-align: justify;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;sobre o OpenWrt.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Enfim, a 21.02 foi lançada! Demorou bem mais do que o que seria o esperado mas antes tarde que mais tarde. Vamos as novidades:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Primeiro, se você tem um dispositivo com 4&amp;nbsp;&lt;span style=&quot;text-align: justify;&quot;&gt;MB de flash e 32&amp;nbsp;&lt;/span&gt;MB de RAM, vai ficar difícil para você. O mínimo agora é 8 MB de flash e 64 MB de RAM. É o fim da linha para muitos entre o TL-WR740ND e TL-WR1043ND. Se souber o que está fazendo, pode customizar a firmware removendo supérfluos com a interface web. Porém, mesmo removendo coisas, a memória RAM limitada pode acabar te sabotando.&amp;nbsp;Eu ainda uso esporadicamente um&amp;nbsp;TL-WR740ND como AP, mas não arriscaria minha internet com ele como roteador, em especial pela Wifi.&amp;nbsp;Minha sugestão? Agradeça a seu velho companheiro e compre um roteador novo. Ou&amp;nbsp;você pode segurar por mais um tempo no 19.07 que ainda terá atualizações de correções e segurança até a próxima versão maior do OpenWrt.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&quot;E qual modelo você recomenda?&quot;A recomendação é buscar modelos com 16 MB de flash e 128 MB de RAM. E a oferta no mercado não está ajudando, principalmente no Brasil. &lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Só não se apegue na esperança que vai surgir um novo modelo lindo, cheio de recursos e barato. Nada de revolucionário surgiu por anos e o velho TP-Link Archer C7 ainda desponta na lista das recomendações. &lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;Os&amp;nbsp;&lt;/span&gt;baseados em Broadcom nunca tiveram e não vão ter drivers da Wifi, o que elimina quase metade dos modelos acessíveis. Resta dos econômicos um ou outro modelo da TP-Link, D-Link ou Xiaomi ou adicionar um dígito no preço e comprar um Linksys, ASUS,.... Se está aguardando algo com&amp;nbsp;&lt;span style=&quot;text-align: left;&quot;&gt;IEEE 802.11ax (vulgo Wifi 6), por enquanto só tem suporte alguns roteadores que usam MediaTek.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;A grande novidade da versão é a introdução do DSA no lugar do swconfig. Antes, e&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;ra como se o OpenWrt fosse um computador com uma porta (ou mais) ligada a um switch gerenciável e o swconfig era o software para configurar este switch. Agora com o DSA, as portas do switch se apresentam como portas do sistema operacional (aparecem no &quot;ip link&quot;) e elas são agrupadas como já ocorre com pontes em software (pelo comando &quot;ip&quot;). O sistema operacional cuida, de forma transparente, de escolher como arranjar as portas para usar os recursos em hardware. Mas isso dá algum benefício ao usuário final? Não muito. Uma vantagem é que mudanças no link das portas agora são visíveis ao sistema operacional. Antes o OpenWrt não tinha como saber que a porta usada pela Wan está sem link. Para quem administra o OpenWrt, talvez o DSA seja mais intuitivo pois, para os iniciantes, era difícil ver que a única interface de rede que o sistema operacional via (eth0) não era nenhuma das 5 portas que ele via externamente. Para o projeto a mudança é muito bem vinda pois o DSA já está no kernel do Linux, enquanto o swconfig nunca foi e nunca será aceito. Assim, pode-se reduzir os custos de manter as modificações em paralelo.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&quot;Ótimo, vou logo instalar o 21.02 para ver como o DSA...&quot; Pera aí! A maioria dos modelos não foi migrada. Acredito que o próximo esforço do projeto será migrar tudo para DSA mas, por enquanto, a lista de modelos suportados é pequena. Todavia, a introdução do DSA trouxe uma nova família de produtos para o OpenWrt: switches gerenciáveis de rede. Por enquanto são só modelos (de diversos fabricantes) baseados em Realtek.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;Não vejo a hora de poder padronizar a gestão de switches de rede em OpenWrt.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O DSA exigiu uma mudança na configuração e aproveitaram o embalo para trocar uns nomes. A configuração antiga ainda vale mas uma configuração nova irá usar nomes diferentes para algumas seções e campos e a interface web vai migrar algumas coisas no primeiro uso. Vai exigir uma pequena adaptação mas vejo como uma mudança para o bom sentido pois temos configurações bem isolada mostrando o que é camada 2 (&quot;device&quot;) e camada 3 (&quot;interface&quot;).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ah, se for atualizar para um modelo que migrou para DSA, você verá um erro assustador dizendo que a imagem não é compatível por causa dele. Infelizmente a única forma de instalar de dentro do OpenWrt é forçando a instalação. O problema é &quot;forçar&quot; permite também a instalação de uma imagem errada. Faça com cuidado e preferencialmente em modelos com um método de recuperação de firmware corrompido.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Outra novidade é a inclusão do WPA3 na imagem padrão. Já era possível usar WPA3 no 19.07, mas era preciso instalar e trocar alguns pacotes. E como o WPA3 precisa de uma implementação de SSL, tudo que dependeria de SSL sai quase &quot;de graça&quot;, como a interface web por https://. Isso foi um dos motivos (mas não o único) da incompatibilidade com flashes de 4 MB.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para quem ainda não migrou do ar71xx para o ath76, como esperado, o ar71xx não existe mais. A maioria dos modelos foram migrados e, apesar de não existir uma migração automática, muito da migração é um copia/cola.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E como qualquer nova versão, temos muitas atualizações, com destaque ao kernel 5.4. Ativaram também a aleatorização dos endereços de memória (ASLR) e recursos necessários para containers. Logo poderemos ver os serviços do OpenWrt conteinerizados.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Por fim, esta versão foi lançada com um problema sério conhecido. Para quem depende da aceleração do NAT por software (software offload) para conseguir usar a velocidade de internet contratada, existe o problema de perda de pacotes com o IPv6. Então, para estes, talvez seja bom esperar por uma versão com este problema corrigido.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vale a pena atualizar? Realmente é uma pergunta difícil de responder. A nova versão trouxe pouco para o OpenWrt. Claro que junto com a nova versão temos uma miríade de pacotes adicionados e atualizados que podem ter melhorias de seu interesse. Mas para quem não instala nada no OpenWrt além da imagem padrão, fica difícil justificar o trabalho do upgrade (mesmo que pequeno). Eu vou atualizar meus equipamentos pelas atualizações nos pacotes e por obrigação de ofício. Depois envio uma postagem sobre o upgrade.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Até a próxima.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/3460492567056457266/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2021/09/openwrt-versao-2102-lancada.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/3460492567056457266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/3460492567056457266'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2021/09/openwrt-versao-2102-lancada.html' title='OpenWrt: versão 21.02 lançada!'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-490842143213188674</id><published>2020-01-10T11:30:00.000-03:00</published><updated>2020-01-10T11:30:07.330-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="19.07"/><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="instalação"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>OpenWrt: atualizando para a versão 19.07</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Mais um artigo da&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot;&gt;série&lt;/a&gt;&amp;nbsp;sobre o OpenWrt.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
Enfim temos uma &lt;a href=&quot;https://openwrt.org/releases/19.07/notes-19.07.0&quot;&gt;nova versão&lt;/a&gt; do OpenWrt. Mãos a obra para atualizar!&lt;br /&gt;
&lt;br /&gt;
No &lt;a href=&quot;http://luizluca.blogspot.com/2020/01/openwrt-versao-1907-lancada.html&quot;&gt;post anterior&lt;/a&gt;, comentei sobre o lançamento do OpenWrt 19.07. Dois pontos importantes para relembrar:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;se seu dispositivo tem 4 MBytes de flash, talvez não funcione e você terá que fazer um downgrade. Vou fazer um artigo sobre isso;&lt;/li&gt;
&lt;li&gt;para os usuários da plataforma ar71xx na versão 18.06, temos a opção de se manter no ar71xx (mas na versão 19.07) ou migrar para a ath76.&lt;/li&gt;
&lt;/ul&gt;
96,72% dos problemas com instalação/atualização com OpenWrt/LEDE que ajudo é em relação a escolha incorreta da imagem da firmware. O OpenWrt tem uma página que simplifica a busca pela firmware correta, mas nada é à prova de pessoas criativas. Pegue o arquivo no download da última versão estável e nunca em um endereço qualquer, mesmo que seja em um artigo na wiki do OpenWrt (lembre-se como funciona uma wiki). Normalmente a wiki referência a versão em desenvolvimento, que não é a que você quer. As versões dentro de &quot;(stables) releases&quot;, exceto as com o rc (release candidate) são estáveis. Pegue preferencialmente a mais nova (com número maior). Evite qualquer firmware que tenha no caminho palavras como &quot;trunk&quot;, &quot;snapshot&quot; ou &quot;rc1&quot;, &quot;rc2&quot;... exceto se estiver testando algo. As versões estáveis também mencionam a respectiva versão do OpenWrt no nome do arquivo como em &quot;openwrt-19.07.0-ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin&quot;, ao contrário da versão instável/em desenvolvimento &quot;openwrt-ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin&quot;.&lt;br /&gt;
&lt;br /&gt;
A nomeclatura da versão é adota o formato: ano.mês.correção. O ano/mês se referem ao momento que foi criado um ramo nos fontes para o lançamento da nova versão e não propriamente quando o lançamento final ocorreu. Já o último número é apenas um sequencial de correção. Então, para quem usa uma versão 19.07.x, a próxima 19.07.x+1 deverá conter apenas bugs resolvidos (em especial, os de segurança) e deve ser considerada como recomendada. Estas versões de correção são lançadas com certa frequência. É bom acompanhar (e atualizar).&lt;br /&gt;
&lt;br /&gt;
Na página principal, temos um atalho para cada versão lançada com o nome &quot;Download a firmware image for your device&quot;. Isso irá redirecionar uma tabela de hardware suportáveis, com filtragem dinâmica. Alternativamente, você sempre pode optar por clicar em &quot;All firmware images&quot; e buscar manualmente sua firmware, como ocorria com versões anteriores. Na dúvida, se você já é um usuário do OpenWrt, você pode descobrir a plataforma olhando o arquivo /etc/openwrt_release ou /etc/os-release:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router:~#&amp;nbsp; grep _TARGET /etc/openwrt_release&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_TARGET=&#39;ar71xx/generic&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router:~# grep _BOARD /etc/os-release&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;LEDE_BOARD=&quot;ar71xx/tiny&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router:~# grep _BOARD /etc/os-release&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;OPENWRT_BOARD=&quot;ramips/mt7620&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
OK, chegamos a uma lista enorme de firmwares! Vamos entender o que significa cada parte do nome do arquivo. Tomemos por exemplo &quot;openwrt-19.07.0-ath79-generic-tplink_archer-c7-v4-squashfs-sysupgrade.bin&quot;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;openwrt é o sistema operacional que você está instalando 😉&lt;/li&gt;
&lt;li&gt;19.07.0&amp;nbsp;é a versão do openwrt. Em firmwares instáveis, este campo não existe!&lt;/li&gt;
&lt;li&gt;ath79 é a plataforma do seu dispositivo. Você descobre isso na wiki do projeto ou na tabela de hardware (&lt;a href=&quot;https://openwrt.org/toh/views/toh_fwdownload&quot;&gt;ToH&lt;/a&gt;), campo &quot;&lt;i&gt;Target&lt;/i&gt;&quot;.&lt;/li&gt;
&lt;li&gt;generic é o subtipo do layout da flash. Normalmente será o &quot;&lt;i&gt;generic&lt;/i&gt;&quot;, exceto para casos especiais como roteadores com 4 MB que usam &quot;&lt;i&gt;tiny&lt;/i&gt;&quot;.&lt;/li&gt;
&lt;li&gt;tplink_archer-c7-v4&amp;nbsp;este é o modelo do seu roteador. Observe em especial a versão do HW (v4) pois ela pode mudar completamente o dispositivo, inclusive de família do SoC e se é suportado pelo OpenWrt.&lt;/li&gt;
&lt;/ul&gt;
&quot;squashfs&quot; é o tipo do armazenamento da imagem. Nesta, existe uma cópia imutável dos arquivos (ROM) e o resto da flash é usada para, de forma transparente, guardar as modificações (overlay). Tudo parece editável para o usuário. A diferença é que você pode, a qualquer momento, apagar as diferenças e restaurar o sistema pós-instalação. Existem outros formatos como o jffs2 (com escrita total sem recuperação), initram (rodar sem gravar na flash), mas normalmente são para casos marginais.&lt;br /&gt;
&lt;br /&gt;
&quot;sysupgrade&quot; é a função da firmware. Esta é para atualizar de um OpenWrt para outro (e, em alguns casos, de outros firmwares alternativos como DD-WRT). Porém, não deve ser reconhecido pela firmware original do roteador. Para primeira instalação, ainda com a firmware original, use a variante &quot;factory&quot;.&lt;br /&gt;
&lt;br /&gt;
Finalmente, é muito importante ler a wiki do seu roteador independente se ele já funcionava na versão anterior! São poucos minutos de leitura que podem salvar horas de trabalho ou mesmo seu roteador. A wiki atual está ainda aquém do que era mas sempre vale a busca. Para modelos antigos, a antiga ainda tem seu valor.&lt;br /&gt;
&lt;br /&gt;
Bem, se eu simplesmente ir na interface, fornecer a nova imagem, ele vai funcionar? Provavelmente, mas talvez não é a maneira que dê menos trabalho. A atualização pode preservar as configurações mas não os programas instalados. Se você tem raiz expandida em unidade externa, a encrenca é ainda maior.&lt;br /&gt;
&lt;br /&gt;
&quot;Mas eu nunca instalei um programa!&quot; OK, use a interface web e provavelmente todas as configurações serão migradas sem problemas. Já testei isto em mais de um roteador e funcionou sem problemas. Mas faça o backup antes! Caso tenha instalado algum pacote, continue lendo.&lt;br /&gt;
&lt;br /&gt;
Se optou por migrar da ar71xx para a ath79, o backup não poderá ser aplicado às cegas. Será necessário migrar manualmente ou refazer a configuração do zero. Se quiser arriscar, as configurações &quot;incompatíveis&quot; serão as que referenciam os leds (leds em system), o arranjo da rede (switches e vlans no network) e os rádios (radio em wireless). O resto é, na sua grande maioria, reaproveitável até mesmo para outras arquiteturas.&lt;br /&gt;
&lt;br /&gt;
Em primeiro lugar, precisamos do plano de retorno caso a nova versão não se comporte como o esperado. Faça sempre um backup geral do seu sistema. No processo de upgrade, eu sugiro que sejam feitas as três formas diferentes de backup que eu comento no artigo sobre o tema: backup padrão gerado pelo sistema, lista de pacotes instalados e todos os arquivos do overlay. Este último serve apenas para o plano de retorno caso algo importante não funcione para você na nova versão (e para recuperar algo que não entrou no backup do sistema).&lt;br /&gt;
&lt;br /&gt;
A partir da versão 19.07 (depois dela estar instalada) teremos mais opções para gerar o backup. Se estiver familizarizado com a CLI, as novas opções facilitam em muito o processo. Tudo que você precisará está no backup gerado com:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# sysupgrade -o -k -u -b backup.tgz&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Em resumo:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&#39;-u&#39;: salva tudo da /overlay, exceto aquilo que vem dos pacotes, mas inclui os arquivo de configuração modificados e os listados em /etc/sysupgrade.conf&lt;/li&gt;
&lt;li&gt;&#39;-o&#39;: ignora os arquivos que são idênticos ao /rom (já estavam assim na firmware)&lt;/li&gt;
&lt;li&gt;&#39;-k&#39;: inclui uma lista de pacotes instalados para reinstalação&lt;/li&gt;
&lt;li&gt;&#39;-b&#39;: somente gera um backup, não atualiza o sistema&lt;/li&gt;
&lt;/ul&gt;
Para atualizações da versão anterior, você pode baixar o novo sysupgrade no /tmp e usá-lo com:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# wget http://luizluca.github.io/sysupgrade&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# chmod +x ./sysupgrade&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# ./sysupgrade -o -k -u -b backup.tgz&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
E salve seu backup.tgz em um lugar seguro.&lt;br /&gt;
&lt;br /&gt;
Agora, finalmente, você está pronto para enviar a nova firmware. Se você usa um armazenamento externo para expandir a raiz, leia até o final deste post antes de iniciar o processo!&lt;br /&gt;
&lt;br /&gt;
Vocẽ pode optar por fazer o upgrade pela interface web ou pelo terminal. Inclusive, você pode baixar o arquivo diretamente no roteador. Só cuidado ao colar a URL. O openwrt.org usa HTTPS por padrão mas o &quot;wget&quot; do OpenWRT não tem suporte para HTTPS (por padrão). Se tiver problemas, remova o &quot;s&quot; de &quot;https&quot;. E sempre salve no /tmp.&lt;br /&gt;
&lt;br /&gt;
E pode fazer pela Wifi? Os fabricantes não recomendam usar sempre um computador &quot;conectado por cabo&quot;? Sim, e já tive problemas com atualização a partir da firmware do fabricante por não escutar isto. Mas não com OpenWRT. Se estiver atualizando (e não instalando a primeira vez!), pode fazer pela Wifi sem problemas. Quando a gravação for iniciada, todo o processo já está independente do computador cliente. Só não pode faltar energia 😉&lt;br /&gt;
&lt;br /&gt;
Se optar pela interface Web, vá no menu para gravar a nova firmware, informe o arquivo .bin baixado. Confirme e reze. Se só tinha configurações e nada instalado a mais, a opção para preservar as configurações será suficiente. Caso contrário, poderá optar por preservar (ou não) as configurações e aplicar o backup gerado por &quot;sysupgrade -o -k -u -b&quot; na sequência.&lt;br /&gt;
&lt;br /&gt;
Se optar por preservar as configurações, tudo que seria guardado em um backup do sistema (os arquivos listado pelo &quot;sysupgrade -l&quot;) será restaurado. Se você instalou algum pacote e guardou a lista do que foi instalado (lembra que eu sugeri há alguns parágrafos atrás?), esta é a hora que você reinstala os pacotes desejados. Se for instalar manualmente, procure instalar os pacotes de mais alto nível (ex: &quot;luci-app-minidlna&quot; antes de &quot;minidlna&quot;), pois eles irão, por dependência, baixar os pacotes necessários. No final do processo, é bom refazer a listagem do que está instalado e comparar com o que você tinha na versão anterior.&lt;br /&gt;
&lt;br /&gt;
Caso tenha gerado o backup com&amp;nbsp;&quot;sysupgrade -o -k -u -b&quot;, você pode aplicá-lo depois da instalação, independentemente de ter optado por preservar as configurações. A diferença é que o processo de reinstalação de pacotes é simplificado.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg update&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# grep &quot;\toverlay&quot; /etc/backup/installed_packages.txt | cut -f1 | xargs -r opkg install&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# rm /etc/backup/installed_packages.txt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# reboot&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Podem ser criados arquivos sufixados com &quot;-opkg&quot; em /etc/. Este são arquivos de configuração originais do pacote e são criados pois você modificou algo na configuração. Sugiro que verifique se não existe alguma coisa introduzida neste pacote que deveria ser adicionada no seu arquivo de configuração. Eu gosto do diff ou do &quot;vim -d&quot; para este trabalho comparando o arquivoconf com arquivoconf-opkg. Ao final do processo, eu gosto de apagar qualquer -opkg para deixar claro que apliquei tudo que queria.&lt;br /&gt;
&lt;br /&gt;
As atualizações de segurança serão disponibilizadas por meio de atualização de pacotes (exceto as que exijam mudar o kernel). Para listar os pacotes atualizáveis:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg update&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg list-upgradable&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
O maior problema é que estas atualizações de segurança, quando de pacotes embutidos oriundos na firmware instalada, ocuparão o espaço duas vezes no roteador pois ao substituir arquivos existentes na firmware inicial, ainda será preservado a versão em somente leitura para recuperação. Se for um problema para seu caso, a alternativa é esperar a próxima versão com a correção ou gerar uma nova firmware com o pacote atualizado.&lt;br /&gt;
&lt;br /&gt;
Por fim, faça um novo backup geral. É sempre bom preservar o seu trabalho. Lembre-se que agora você pode gerar o backup com:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# sysupgrade -o -k -u -b backup.tgz&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Só não esqueça de tirá-lo do /tmp pois ele será perdido ao desligar o roteador.&lt;br /&gt;
&lt;br /&gt;
Se precisar retornar a versão anterior do OpenWRT, realize a gravação da firmware antiga, entre no modo de recuperação e restaure a overlay.&lt;br /&gt;
&lt;br /&gt;
Se você não usa uma unidade externa para expandir o espaço interno, seu trabalho acabou. Para os demais, o processo é um pouco mais complicado. Ao atualizar o sistema, você terá um kernel novo que é incompatível com os módulos de kernel ou mesmo com as bibliotecas existentes na unidade externa, que ainda pertencentes à versão anterior. Você precisaria reinstalá-los. Esta é a sugestão de como proceder.&lt;br /&gt;
&lt;br /&gt;
Em primeiro lugar, gere os backups sugeridos anteriormente. É importante preservar seu trabalho anterior. Ainda sem instalar a nova firmware, reinicie o sistema sem a unidade externa. Se você seguiu minha sugestão de manter uma configuração básica na flash interna, você ainda terá um ambiente funcional. Com isto, ele vai usar somente a flash interna (com a configuração que você tinha antes de usar a unidade externa).&lt;br /&gt;
&lt;br /&gt;
Com a unidade externa conectada, faça o backup como sugerido anteriormente. Reinicie o roteaador sem a unidade externa e faça o procedimento de atualização descrito neste artigo para quem não usa raiz expandida, inclusive com a etapa de backups. Você terá que preservar os dois conjuntos de backups: com e sem a unidade externa em uso. Ao final do processo, você deverá ter a sua configuração básica restabelecida. Caso tenha optado por não preservar as configurações na gravação, você pode aproveitar o backup gerado quando a unidade externa estava desconectada (o segundo) para restaurar as configurações.&lt;br /&gt;
&lt;br /&gt;
Neste momento, a unidade externa ainda está com os programas da versão anterior, que são geralmente incompatíveis com a nova versão (os módulos de kernel sempre o são). Por isto, precisamos nos livrar de todos os arquivos da versão anterior do OpenWrt presentes na unidade externa. Na unidade externa, na partição usada como overlay, remova todo o conteúdo ou mova tudo para um subdiretório (ou para outra unidade se não estiver com espaço livre) afim de que este não seja usado. Como sugestão, crie um &quot;openwrt-versao-xxx&quot; e mova tudo para lá. Refaça a configuração de uso de uma unidade externa (que no mínimo será reinstalar os pacotes necessários). Reinicie o sistema. Você deve estar agora com mais espaço na raiz.&lt;br /&gt;
&lt;br /&gt;
Neste ponto, você ainda terá as mesmas configurações que tinha quando usou o sistema sem a unidade externa. Envie o primeiro backup da versão anterior feito com a unidade externa conectada (primeiro backup). Na sequência, reinstale os pacotes extras, assim como é feito para ambientes sem a raiz expandida. Complete o trabalho com aquele backup final.&lt;br /&gt;
&lt;br /&gt;
Espero que apreciem a nova versão. De agora em diante, vou apenas focar em configurações específicas para OpenWrt 19.07, que ainda podem funcionar nas versões anteriores.&lt;br /&gt;
&lt;br /&gt;
Até a próxima.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/490842143213188674/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2020/01/openwrt-atualizando-para-versao-1907.html#comment-form' title='15 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/490842143213188674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/490842143213188674'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2020/01/openwrt-atualizando-para-versao-1907.html' title='OpenWrt: atualizando para a versão 19.07'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-9035294795683008831</id><published>2020-01-10T00:08:00.000-03:00</published><updated>2020-01-10T00:08:06.127-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="19.07"/><category scheme="http://www.blogger.com/atom/ns#" term="4/32"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>OpenWrt: versão 19.07 lançada!</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Mais um artigo da &lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot;&gt;série&lt;/a&gt; sobre o OpenWrt.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Enfim, depois de muito tempo (era para ser 19.01) e alguns atrasos (o 7 na versão significa julho), temos uma nova versão do OpenWrt! E obviamente temos um batalhão de correções e algumas novidades interessantes.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Uma primeira e mais impactante é a introdução da plataforma ath79 que irá substituir o muito popular ar71xx. Se você tem um dispositivo TP-Link, tem uma grande probabilidade de usar o ar71xx. A plataforma compartilha um kernel e normalmente atende a uma família de SoC (no caso do ar71xx e ath79, Qualcomm Atheros ar71xx, ar72xx, ar91xx, ar93xx, qca95xx). Só para não misturar, plataforma não é o mesmo que &lt;a href=&quot;https://pt.wikipedia.org/wiki/Conjunto_de_instru%C3%A7%C3%B5es&quot;&gt;ISA&lt;/a&gt; (conjunto de instruções), que pode ser compartilhado entre diversas plataformas como ARM, MIPS (big e little endian), RISC-V e x86. O maior problema do ar71xx era que a descrição do hardware era feita por código C em arquivos tipo march. Cada vez que aparecia um novo dispositivo, mais um pedacinho de código era anexada no kernel (lembra que ele é compartilhado na plataforma?) e isso vai fazendo ele crescer. A alternativa é usar &lt;a href=&quot;https://en.wikipedia.org/wiki/Device_tree&quot;&gt;Device Tree&lt;/a&gt;, que descreve o hardware de cada dispositivo em uma linguagem própria. Esse arquivo é compilado para cada dispositivo e é anexado ao kernel durante a montagem da firmware. Assim, cada firmware terá apenas a descrição do seu próprio hardware, salvando alguns escassos kbytes de flash. O ath79 é basicamente a migração do ar71xx para o Device Tree. E, principalmente, nos últimos anos, nada entra no Linux que não use Device Tree. Isso permite iniciar os trabalhos de subir o ath79 do OpenWrt para o kernel principal. Agora, vou tentar antecipar algumas perguntas:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
P: Meu dispositivo usa ar71xx no 18.06. Posso migrar para ath79?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
R: Provavelmente, mas nem todos foram portado. E o ar71xx ainda continua a existir no 19.07.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
P: Posso só fazer um sysupgrade do ar71xx para o ath79?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
R: Sim, mas as configurações não são exatamente compatíveis. Migrações sem preservar as configurações funcionarão perfeitamente quando o modelo estiver suportando em ambas.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
P: Posso manter a configuração do ar71xx no ath79?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
R: Na sua essência sim, mas a migração do march para Device Tree permitiu arrumar a casa. Então o nome de LEDs e o caminho das placas Wireless mudaram. O nome dos modelos do roteador também podem ter mudado. É possível que, simplesmente aplicando a configuração do ar71xx, diversas coisas deixem de funcionar, o que exigiria um retrabalho a mais. Sugiro fazer um bom backup e começar do zero, restaurando pontualmente os arquivos.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
P: Devo migrar agora do ar71xx para o ath79?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
R: Para novos dispositivos, sim. Para upgrades limpos (sem preservar a configuração), sim. Todavia, provavelmente a migração será mais suave (ou não) na próxima versão quando a plataforma ar71xx será removida definitivamente.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Outra novidade interessante é a padronização do kernel na versão 4.14. Isso traz o suporte para a aceleração do roteamento a um bom nível para boa parte das plataformas. Infelizmente poucos têm uma internet de mais de 200 Mbps para usufruir desta melhoria.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Um outro recurso interessante é o suporte ao 802.11r Fast Transition ou Fast Roaming. Para ambientes com múltiplos APs com o mesmo nome/senha, o&amp;nbsp;802.11r permite a rápida troca de APs. Só não vai funcionar com o wpad-mini (o wpad-basic é o suficiente).&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Temos também o suporte para WPA3. Porém, deve exigir o wpad-openssl (o wpad-wolfssl está com problemas).&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Agora umas pequenas melhorias de autoria deste que vos escreve.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;trafficshaper: pacote para configurar limitação, reserva e priorização de taxa de transferência para classes de máquinas. Era uma pedida frequente.&lt;/li&gt;
&lt;li&gt;sysupgrade agora pode gerar backups mais limpos ignorando arquivos não modificados (-u), mais completos, salvando além da configuração (-o) e com uma lista dos pacotes instalados e sua &quot;origem&quot; (-k). &lt;a href=&quot;http://luizluca.blogspot.com/2018/08/openwrt-atualizando-para-versao-1806.html&quot;&gt;Comentei&lt;/a&gt; sobre estas opções no passado. No artigo da atualização, devo citá-las novamente.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Provavelmente cada um carece de uma postagem própria.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Por fim, o lado ruim. Como grande parte das atualizações, tudo cresceu de tamanho. Os proprietários de dispositivos com flash de 4 MBytes podem não conseguir atualizar. Para os dispositivos que ainda funcionam, esta será a sua última versão pois o plano é encerrar o suporte para flash pequenas (4 Mbytes ou menos) ou com pouca memória RAM (32 MBytes ou menos) depois da versão 19.07. É o fim da linha para o TL-WR740ND.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Até a próxima.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/9035294795683008831/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2020/01/openwrt-versao-1907-lancada.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/9035294795683008831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/9035294795683008831'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2020/01/openwrt-versao-1907-lancada.html' title='OpenWrt: versão 19.07 lançada!'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8744373996352843858</id><published>2019-11-12T23:46:00.000-03:00</published><updated>2019-11-12T23:46:01.385-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>OpenWrt: desativando horário de verão (pela última vez?)</title><content type='html'>&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;color: #6699cc; line-height: 20px; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&amp;nbsp;sobre o OpenWrt.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
Essa vai ser uma postagem relâmpago! Neste ano, para a alegria e tristeza de muitos, não teremos mais horário de verão. Como diversos sistemas, o OpenWrt também irá exigir uma pequena configuração para resolver o &quot;problema&quot;.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.85px;&quot;&gt;O OpenWrt, na verdade, não tem o banco de dados com as regras do fuso horário. Ele simplesmente tem um campo&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;courier new&amp;quot;, courier, monospace; font-size: 14.85px;&quot;&gt;system.@system[0].timezone&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.85px;&quot;&gt;&amp;nbsp;onde você pode configurar quando ocorre a mudança no horário e outro&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &amp;quot;courier new&amp;quot;, courier, monospace; font-size: 14.85px;&quot;&gt;system.@system[0].zonename&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14.85px;&quot;&gt;&amp;nbsp;com o &quot;nome fantasia&quot; do fuso horário. Quem provê uma lista com os nomes dos fusos e &quot;regras&quot; é o Luci (interface web), com toda limitação inerente a esta forma de representação das regras (como o caso onde o fim do horário de verão era postergado&amp;nbsp;em uma semana se ele fosse coincidir com o Carvanal).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px;&quot;&gt;
&lt;span style=&quot;font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px;&quot;&gt;
&lt;span style=&quot;font-size: 14.85px;&quot;&gt;Mas vamos a prática. Rode:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;courier new&amp;quot;, courier, monospace; font-size: 14.85px; text-align: justify;&quot;&gt;uci set system.@system[0].timezone=&#39;BRT3&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;courier new&amp;quot;, courier, monospace; font-size: 14.85px; text-align: justify;&quot;&gt;uci commit&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;courier new&amp;quot;, courier, monospace; font-size: 14.85px; text-align: justify;&quot;&gt;reboot&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
E seja feliz.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
Agora, vamos combinar: não tenho uma opinião forte quanto a ter ou não o horário de verão. SÓ PARE DE MUDAR A REGRA! Muito obrigado.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; text-align: justify;&quot;&gt;
Até a próxima.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8744373996352843858/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2019/11/openwrt-desativando-horario-de-verao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8744373996352843858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8744373996352843858'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2019/11/openwrt-desativando-horario-de-verao.html' title='OpenWrt: desativando horário de verão (pela última vez?)'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-7467071967833461972</id><published>2018-10-22T02:36:00.000-03:00</published><updated>2018-10-22T13:36:24.985-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="horário de verão"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>OpenWrt: horário de verão novo</title><content type='html'>&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;color: #6699cc; line-height: 20px; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&amp;nbsp;sobre o OpenWRT/LEDE.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Senta que lá vem a história... (se quiser só a parte técnica, pule para o final)&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Era uma vez, em uma terra sombria, existiam computeiros que sofriam todos os anos do mesmo mal: horário de verão. Não por acordar mais cedo, que geralmente também é verdade, mas pelo trabalho de reconfigurar dezenas, centenas, milhares de equipamentos com uma regra de mudança de horário mais volúvel que uma pluma ao vento. E pior, &lt;a href=&quot;http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5920.htm&quot;&gt;era definido em cima da hora&lt;/a&gt;. Parecia algo insolúvel, digno dos teoremas de Fermat. Porém, quando todos já haviam perdido a esperança, surge do alto do seu cavalo branco um ser iluminado que define uma &lt;a href=&quot;http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6558.htm&quot;&gt;regra fixa&lt;/a&gt;! Eureka! E todos viveram feliz para sempre... até este ano. A partir deste ano, o horário começa na primeira semana de novembro. E talvez mude &lt;a href=&quot;https://oglobo.globo.com/economia/governo-voltara-discutir-se-acaba-com-horario-de-verao-22397585&quot;&gt;de novo&lt;/a&gt; no próximo ano, e &lt;a href=&quot;http://agenciabrasil.ebc.com.br/educacao/noticia/2018-09/mec-pede-alteracao-no-inicio-do-horario-de-verao-por-conta-do-enem&quot;&gt;de novo&lt;/a&gt;....&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Mas para que mexer?! Bem, existe uma lenda de um estado chamado Acre. Eles usam um horário com 2 horas a menos que Brasília. Com o horário de verão, esta diferença fica de 3 horas. E eu com isso?! Veja bem, a cada quatro anos, temos eleições nacionais. E para não influenciar os que ainda estão votando, não são divulgados os resultados parciais até o horário de encerramento da votação. Lembra do Acre? Eles também votam para presidente! Então, no primeiro turno, a primeira parcial nacional divulgada é às 19 horas (Brasília). Já no segundo turno, com o Acre ainda mais atrasado (no horário!), eles votam até às 20 horas (bem, tem mais brasileiro no exterior que no Acre e que ainda estarão votando... mas não vem ao caso). Depois de três horas do fim da votação, quase todos os votos já foram totalizados e, normalmente, temos uma boa ideia do resultado final. Uns dizem que isso traz ansiedade à sociedade. Outros que pode passar a ideia que estão &quot;modificando o resultado&quot;. Tem até gente que diz que &quot;perde a graça&quot;, meio como &quot;ejaculação precoce&quot;.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Em resumo: para não influenciar os eleitores do Acre mas ainda divulgar o resultado às 19h,&amp;nbsp;&lt;a href=&quot;http://resolveram%2C%20ent%C3%A3o%2C%20mudar%20%20ent%C3%A3o%2C%20quando%20voc%C3%AA%20se%20lembrar%20do%20dia%20que%20acordou%20mais%20cedo/&quot;&gt;mudaram&lt;/a&gt; o início do horário para o primeiro domingo depois das eleições (ou primeiro domingo de novembro). Valeu Temer! Ótimo trabalho! Dane-se o custo de reconfigurar milhões de dispositivos, dane-se quem já planejava eventos anuais para não coincidir com a troca (ENEM?), dane-se quem vai perder uma hora de sono com trocas antecipadas do horário, DANE-SE TUDO! Eu acho que é mais importante saber o resultado PARCIAL das eleições nacionais uma hora antes. Eu quero e pronto!&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Pergunta para qualquer um se eles querem ser acordados por engano uma hora antes ou ter o resultado parcial das eleições nacionais uma hora antes? Se já sabe a resposta, era só seguir. Isso é mais ou menos o que seria uma tal de democracia.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Só uma observação: no Acre temos 547.680 eleitores. Se eles votarem de forma bem distribuída ao longo das 10 horas de votação, a divulgação às 19h de Brasília poderia influenciar 10% do eleitorado, ou 54.768 eleitores. Se descontar os históricos 30% de brancos, nulos e abstenções, seriam um pouco mais de 38.000 eleitores! Agora pense quantos destes mudariam o voto sabendo da PARCIAL nos outros estados. Se for uns 20%, são míseros 7.667 eleitores. TUDO ISSO PARA ISSO?!&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Início parte técnica&lt;/h4&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Mas voltando ao OpenWrt, ele não usa banco de dados de horário. A configuração do fuso já incluí o horário de verão.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# uci show system.@system[0].timezone&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;system.cfg01e48a.timezone=&#39;BRT3BRST,M10.3.0/0,M2.3.0/0&#39;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Se você configurou pela interface web (Luci) o fuso de São Paulo, ele tem um banco de dados com essas regras e preenche para você. Se você estiver como Luci atualizado, este banco está atualizado. Porém, ele é usado apenas durante a mudança de configuração pelo Luci. Se mudar a regra, ele não vai automaticamente trocar a configuração.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Para resolver:&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# uci set system.@system[0].timezone=&#39;BRT3BRST,M11.1.0/0,M2.3.0/0&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# uci commit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# reboot&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Também pode trocar o fuso pela interface web ou editar o /etc/config/system. Fica a gosto do cliente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
O formato da configuração é bem simples. Nota-se que o retorno está definido no terceiro domingo de fevereiro. E não é que temos uma exceção? Essa regra quebra se a volta for no carnaval (algo raro). Para não dar mais uma hora de folia, adia-se o final para o próximo final de semana.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-align: justify;&quot;&gt;
Então é isso. Bom sono a todos. Até a próxima.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/7467071967833461972/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/10/openwrt-horario-de-verao-novo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7467071967833461972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7467071967833461972'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/10/openwrt-horario-de-verao-novo.html' title='OpenWrt: horário de verão novo'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-587440743595433805</id><published>2018-08-19T00:34:00.000-03:00</published><updated>2018-08-19T17:28:46.366-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="18.06"/><category scheme="http://www.blogger.com/atom/ns#" term="extroot HD"/><category scheme="http://www.blogger.com/atom/ns#" term="instalação"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>OpenWrt: atualizando para a versão 18.06</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; line-height: 20px; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&amp;nbsp;sobre o OpenWRT/LEDE.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;No &lt;a href=&quot;http://luizluca.blogspot.com/2018/08/openwrt-lancada-versao-1806.html&quot;&gt;post anterior&lt;/a&gt;, comentei sobre o lançamento do OpenWrt 18.06. Agora vamos instalá-lo.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Sim, este artigo repete diversos pontos do artigo da versão &lt;a href=&quot;http://luizluca.blogspot.com/2017/03/openwrtlede-atualizando-para-lede-17010.html&quot;&gt;LEDE 17.01&lt;/a&gt; e a&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/10/openwrt-atualizando-para-versao-1505.html&quot; target=&quot;_blank&quot;&gt;anteanterior&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Só um aviso: já foi lançada a versão 18.06.1 devido a uma &lt;a href=&quot;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5390&quot;&gt;vulnerabilidade no kernel&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;96,72% dos problemas com instalação/atualização com OpenWrt/LEDE que ajudo é em relação a escolha incorreta da imagem da firmware. Como sempre, recomendo a versão squashfs, que possui&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/2012/05/openwrt-turbine-seu-roteador_16.html&quot; target=&quot;_blank&quot;&gt;modo de recuperação&lt;/a&gt;. A variante jffs2 e ext4 nem estão mais disponível por padrão para a maioria dos dispositivos. Pegue o arquivo no download da última versão estável e nunca em um endereço qualquer,&amp;nbsp;&lt;b&gt;mesmo que seja na wiki do OpenWrt&lt;/b&gt;. Normalmente a wiki referência&amp;nbsp;a versão em desenvolvimento, que não é a que você quer. As versões dentro de &quot;(stables) releases&quot;, exceto as com o rc (release candidate) são estáveis. Pegue preferencialmente a mais nova (com número maior). Evite qualquer firmware que tenha no caminho palavras como &quot;trunk&quot;, &quot;snapshot&quot; ou &quot;rc1&quot;, &quot;rc2&quot;... exceto se estiver testando algo.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;As versões estáveis também mencionam a respectiva versão do OpenWrt no nome do arquivo como em &quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;openwrt-&lt;/span&gt;&lt;b style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;18.06.1&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;-ar71xx-generic-archer-c7-v4-squashfs-sysupgrade.bin&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&quot;, ao contrário da versão instável/em desenvolvimento &quot;openwrt-ar71xx-generic-archer-c7-v4-squashfs-sysupgrade.bin&quot;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;A nomeclatura da versão é adota o formato: ano.mês.correção. O ano/mês se referem ao momento que foi criado um ramo nos fontes para o lançamento da nova versão e não propriamente quando o lançamento final ocorreu. Já o último número é apenas um sequencial de correção. Então, para quem usa uma versão 18.06.x, a próxima 18.06.x+1 deverá conter apenas bugs resolvidos (em especial, os de segurança) e deve ser considerada como recomendada. Estas versões de correção são lançadas com certa frequência. É bom acompanhar (e atualizar).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em&amp;nbsp;&lt;a href=&quot;https://downloads.openwrt.org/&quot;&gt;downloads&lt;/a&gt;, navegue para releases, a versão desejada (ex:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;18.06.x&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;), a &quot;arquitetura alvo&quot; em uso no seu roteador. Se você já é um usuário do OpenWRT, você pode vê-la olhando o arquivo /etc/openwrt_release:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router:~#&amp;nbsp;&amp;nbsp;grep _TARGET /etc/openwrt_release&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_TARGET=&#39;ar71xx/generic&#39;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ou:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router:~&lt;span style=&quot;text-align: start;&quot;&gt;# grep _BOARD /etc/os-release&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;LEDE_BOARD=&quot;ar71xx/tiny&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; text-align: justify;&quot;&gt;OK, chegamos a uma lista enorme de firmwares! Vamos entender o que significa cada parte do nome do arquivo. Tomemos por exemplo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;openwrt-&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;18.06.1&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;-ar71xx-generic-archer-c7-v4-squashfs-sysupgrade.bin&lt;/span&gt;&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;openwrt&lt;/b&gt;&amp;nbsp;é o sistema operacional que você está instalando ;-)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;18.06.1&lt;/b&gt;&amp;nbsp;é a versão do openwrt.&amp;nbsp;&lt;b&gt;Em firmwares &lt;u&gt;instáveis&lt;/u&gt;, este campo não existe!&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;ar71xx&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;é a família do SoC (chip) do seu dispositivo. Você descobre isso na wiki do projeto ou abrindo o seu roteador e lendo os CI.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;generic&lt;/b&gt;&amp;nbsp;é o subtipo do layout da flash. Normalmente será o &quot;&lt;b&gt;generic&lt;/b&gt;&quot;, exceto para casos especiais como roteadores com 4 MB que agora usam &quot;&lt;b&gt;tiny&lt;/b&gt;&quot;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;archer-c7-v4&lt;/b&gt;&amp;nbsp;este é o modelo do seu roteador. Observe em especial a versão do HW (v4) pois ela pode mudar completamente o dispositivo, inclusive de família do SoC e se é suportado pelo OpenWrt.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;squashfs&lt;/b&gt;&amp;nbsp;é o tipo do armazenamento da imagem. Nesta, existe uma cópia imutável dos arquivos (ROM) e o resto da flash é usada para, de forma transparente, guardar as modificações (overlay). Tudo parece editável para o usuário. A diferença é que você pode, a qualquer momento, apagar as diferenças e restaurar o sistema pós-instalação. Pode existir também o formato jffs2. Neste, não existe uma ROM e tudo pode ser realmente apagado. Alterou o arquivo errado? Vai ter que recuperar pela serial, JTAG ou arrancando a flash. Não recomendo!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;sysupgrade&lt;/b&gt;&amp;nbsp;é a função da firmware. Esta é para atualizar de um OpenWrt/LEDE para outro (e, em alguns casos, de outros firmwares alternativos como DD-WRT). Porém, não deve ser reconhecido pela firmware original do roteador. Para primeira instalação, ainda com a firmware original, use a variante &quot;&lt;b&gt;factory&lt;/b&gt;&quot;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Finalmente, é muito importante&amp;nbsp;&lt;b&gt;ler a wiki do seu roteador independente se ele já funcionava na versão anterior!&lt;/b&gt;&amp;nbsp;São poucos minutos de leitura que podem salvar horas de trabalho ou mesmo seu roteador.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Bem, se eu simplesmente ir na interface, fornecer a nova imagem, ele vai funcionar? Provavelmente, mas talvez não é a maneira que dê menos trabalho. A atualização pode preservar as configurações mas não os programas instalados. Se você tem raiz expandida em unidade externa, a encrenca é ainda maior.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Mas eu nunca instalei um programa! OK, use a interface web e provavelmente todas as configurações serão migradas sem problemas. Já testei isto em mais de um roteador e funcionou sem problemas. Mas&amp;nbsp;&lt;b&gt;faça o&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;backup&lt;/a&gt;&lt;/span&gt;&amp;nbsp;antes&lt;/b&gt;! Caso tenha instalado algum pacote, continue lendo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em primeiro lugar, precisamos do plano de retorno caso a nova versão não se comporte como o esperado. Faça sempre um&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;backup&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;geral do seu sistema. No processo de upgrade, eu sugiro que sejam feitas as três formas diferentes de backup que eu comento no&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;artigo sobre o tema&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;backup&amp;nbsp;gerado pelo sistema, lista de pacotes instalados e todos os arquivos do overlay&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;. Este último serve apenas para o plano de retorno caso algo importante não funcione para você na nova versão (e para recuperar algo que não entrou no backup do sistema).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Eu fiz uma &lt;a href=&quot;https://patchwork.ozlabs.org/cover/959151/&quot;&gt;proposta&lt;/a&gt; de melhoria do backup do OpenWrt para simplificar este processo. Vamos ver como será a aceitação. Mais abaixo mostro como usá-la.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agora, finalmente, você está pronto para enviar a nova firmware. Se você usa um&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot; target=&quot;_blank&quot;&gt;armazenamento externo&lt;/a&gt;&amp;nbsp;para expandir a raiz, leia até o final deste post&amp;nbsp;&lt;b&gt;antes de iniciar o processo&lt;/b&gt;! Faça o upgrade pela interface web ou pelo terminal. Inclusive, você pode baixar o arquivo diretamente no roteador.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Só cuidado ao colar a URL. O&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;downloads.openwrt.org usa HTTPS por padrão mas o &quot;wget&quot; do OpenWRT não tem suporte para HTTPS (por padrão). Se tiver problemas, remova o &quot;s&quot; de &quot;https&quot;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E pode fazer pela Wifi? Os fabricantes não recomendam usar sempre um computador &quot;conectado por cabo&quot;? Sim, e já tive problemas com atualização a partir da firmware do fabricante por não escutar isto. Mas não com OpenWRT. Se estiver atualizando (e não instalando a primeira vez!), pode fazer pela Wifi sem problemas. Quando a gravação for iniciada, todo o processo já está independente do computador cliente. Só não pode faltar energia ;-)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E depois do &quot;Enter&quot;/&quot;Gravar&quot;, é a hora que você reza. Sempre dá um frio na barriga.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se optar por preservar as configurações, tudo que seria guardado em um backup do sistema (listado pelo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sysupgrade -l&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;) será restaurado. Se você instalou algum pacote e guardou a lista do que foi instalado (lembra que eu sugeri há alguns parágrafos atrás?), esta é a hora que você reinstala os pacotes desejados. Se for instalar manualmente, procure instalar os pacotes de mais alto nível (ex: &quot;luci-app-minidlna&quot; antes de &quot;minidlna&quot;), pois eles irão, por dependência, baixar os pacotes necessários. No final do processo, é bom refazer a listagem do que está instalado e comparar com o que você tinha na versão anterior.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Podem ser criados arquivos sufixados com &quot;-opkg&quot; em /etc/. Este são arquivos de configuração originais do pacote e são criados pois você modificou algo na configuração. Sugiro que verifique se não existe alguma coisa introduzida neste pacote que deveria ser adicionada no seu arquivo de configuração. Eu gosto do diff ou do &quot;vim -d&quot; para este trabalho comparando o arquivoconf com arquivoconf-opkg. Ao final do processo, eu gosto de apagar qualquer -opkg para deixar claro que apliquei tudo que queria.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;As atualizações de segurança serão disponibilizadas por meio de atualização de pacotes (exceto as que exijam mudar o kernel). Para listar os pacotes atualizáveis:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg update&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# opkg list-upgradable&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O maior problema é que estas atualizações de segurança, quando de pacotes embutidos oriundos na firmware instalada, ocuparão o espaço duas vezes no roteador pois ao substituir arquivos existentes na firmware inicial, ainda será preservado a versão em somente leitura para recuperação. Se for um problema para seu caso, a alternativa é esperar a próxima versão com a correção ou&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/2012/01/openwrt-turbine-seu-roteador_25.html&quot;&gt;gerar uma nova firmware&lt;/a&gt;&amp;nbsp;com o pacote atualizado.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Por fim,&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;faça um novo backup&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;geral. É sempre bom preservar o seu trabalho.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se estiver familizarizado com um terminal, você pode experimentar os novos modos de backup que eu comentei anteriormente. As novas opções são:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&#39;-u&#39;: salva tudo da /overlay, exceto aquilo que vem dos pacotes, mas inclui os arquivo de configuração modificados e os listados em /etc/sysupgrade.conf&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&#39;-o&#39;: ignora os arquivos que são idênticos ao /rom (já estavam assim na firmware)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&#39;-k&#39;: inclui uma lista de pacotes instalados para reinstalação&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Isso simplifica em muito as instalações mais complexas, com arquivos e pacotes extra. O resultado final é próximo ao que você tem em uma atualização de distribuição no Linux, onde os arquivos são preservados e os pacotes reinstalados:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#&amp;nbsp;wget http://luizluca.github.io/sysupgrade&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# chmod +x ./sysupgrade&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#&amp;nbsp;./sysupgrade -o -k -u -b backup.tgz&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#&amp;nbsp;wget&amp;nbsp;https://downloads.openwrt.org/releases/.../openwrt....bin&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# sysupgrade -f backup.tgz&amp;nbsp;openwrt...-sysupgrade.bin&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&amp;lt;agora ele reinicia&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#&amp;nbsp;opkg update&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# grep &quot;\toverlay&quot; /etc/backup/installed_packages.txt | cut -f1 | xargs -r opkg install&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# rm /etc/backup/installed_packages.txt&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# reboot&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se precisar retornar a versão anterior do OpenWRT, realize a gravação da firmware antiga, entre no modo de recuperação e restaure a overlay.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se você não usa&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;uma unidade externa para expandir o espaço interno, seu trabalho acabou. Para os demais, o processo é um pouco mais complicado... Ao atualizar o sistema, você terá um kernel novo que é incompatível com os módulos de kernel&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;ou mesmo com as bibliotecas&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;existentes na unidade externa, que ainda pertencentes à versão anterior. Você precisaria reinstalá-los. Esta é a sugestão de como proceder:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em primeiro lugar, gere todos os backups sugeridos anteriormente. É importante preservar seu trabalho anterior. Ainda sem instalar a nova firmware, reinicie o sistema sem a unidade externa. Se você seguiu&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot; target=&quot;_blank&quot;&gt;minha sugestão de manter uma configuração básica na flash interna&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;, você ainda terá um ambiente funcional. Com isto, ele vai usar somente a flash interna (com a configuração que você tinha antes de usar a unidade externa).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ainda com a unidade externa desconectada, faça o procedimento de atualização descrito neste artigo para quem não usa raiz expandida, inclusive com a etapa de backups. Você terá que preservar os dois conjuntos de backups:&amp;nbsp;&lt;b&gt;com e sem&lt;/b&gt;&amp;nbsp;a unidade externa em uso. Ao final do processo, você deverá ter a sua configuração básica restabelecida.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Caso tenha optado por não preservar as configurações na gravação, você pode aproveitar o backup gerado quando a unidade externa estava desconectada (o segundo) para restaurar as configurações.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Neste momento, a unidade externa ainda está com os programas da versão anterior, que são geralmente incompatíveis com a nova versão (os módulos de kernel sempre o são). Por isto,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;precisamos nos livrar de todos os arquivos da versão anterior do OpenWRT presentes na unidade externa. N&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;a unidade externa&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;, na partição usada como overlay, remova todo o conteúdo ou mova tudo para um subdiretório (ou para outra unidade se não estiver com espaço livre) afim de que este não seja usado. Como sugestão, crie um &quot;openwrt-versao-xxx&quot; e mova tudo para lá. Refaça a&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot;&gt;configuração de uso&lt;/a&gt;&lt;/span&gt;&amp;nbsp;de uma unidade externa (que no mínimo será reinstalar os pacotes necessários). Reinicie o sistema. Você deve estar&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;agora&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;com mais espaço na raiz.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Neste ponto, você ainda terá as mesmas configurações que tinha quando usou o sistema sem a unidade externa. Envie o primeiro backup da versão anterior feito com a unidade externa conectada (primeiro backup). Na sequência, reinstale os pacotes extras, assim como é feito para ambientes sem a raiz expandida. Complete o trabalho com aquele backup final.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Espero que apreciem a nova versão. De agora em diante, vou apenas focar em configurações específicas para OpenWrt 18.06, que ainda podem funcionar nas versões LEDE 17.01, OpenWRT 15.05, 14.07, 12.09 e 10.03.1.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Se pintar um problema, tem sempre o&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; target=&quot;_blank&quot;&gt;fórum&lt;/a&gt;&amp;nbsp;deste blog.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/587440743595433805/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/08/openwrt-atualizando-para-versao-1806.html#comment-form' title='27 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/587440743595433805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/587440743595433805'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/08/openwrt-atualizando-para-versao-1806.html' title='OpenWrt: atualizando para a versão 18.06'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8121455188856046925</id><published>2018-08-05T00:07:00.000-03:00</published><updated>2018-08-05T00:07:51.752-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="18.06"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>OpenWrt: Lançada a versão 18.06!</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; line-height: 20px; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&amp;nbsp;sobre o OpenWRT.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Enfim temos novamente uma nova versão do OpenWrt: a versão 18.06!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;OpenWrt? E o LEDE? Para quem perdeu a novela, tem a versão &quot;&lt;a href=&quot;https://luizluca.blogspot.com/2017/02/lede-e-o-novo-openwrt-lancado-primeira.html&quot;&gt;mais&lt;/a&gt;&quot;&amp;nbsp;&quot;&lt;a href=&quot;https://luizluca.blogspot.com/2018/01/lede-renomeado-para-openwrt-projetos.html&quot;&gt;longa&lt;/a&gt;&quot;. Vai um resumo: os desenvolvedores do OpenWrt se estranharam com os &quot;fundadores&quot;, criaram um novo projeto levando quase todo mundo. O LEDE se tornou um projeto vibrante enquanto o OpenWrt mor-ré-u de solidão. Diante da situação, os dois grupos conversaram e resolveram se unir novamente. Basicamente aproveitaram o nome do OpenWrt e todo o resto do LEDE (código, wiki, fonte, ...). Então, o OpenWrt 18.06 é muito mais próximo do LEDE 17.01 do que do OpenWrt 15.05. Independentemente se estava usando OpenWrt ou LEDE, a sua próxima versão será&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;OpenWrt 18.06.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E o que temos de novidades? Sim!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Como sempre, o kernel muitos softwares foram atualizados.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Vamos aos destaques:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Dois kernels&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Teremos alguns roteadores com o kernel 4.14 e outros com o 4.9:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Kernel 4.9.111 for ar7, &lt;b&gt;ar71xx&lt;/b&gt;, arc770, at91, brcm2708, brcm63xx, ixp4xx, lantiq, layerscape, mpc85xx, orion, rb532 and uml&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Kernel 4.14.52 for apm821xx, archs38, armvirt, ath25, bcm53xx, brcm47xx, cns3xxx, gemini, imx6, ipq40xx, ipq806x, kirkwood, malta, mediatek, mvebu, mxs, octeon, octeontx, omap, oxnas, pistachio, ramips, sunxi and x86&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;E isso importa para o usuário final? Sinceramente, geralmente não. Porém, o próximo item depende da versão do kernel.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Aceleração de fluxo de rede&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Até agora, &lt;a href=&quot;http://luizluca.blogspot.com/2014/11/openwrt-barrier-breaker-1407.html&quot;&gt;eu mencionava&lt;/a&gt; que uma das poucas desvantagens do OpenWrt é que ele tem um desempenho menor de NAT do que a firmware proprietária. Isso devido a uma gambi^H&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;^H um&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&quot;mecanismo de acelaração de NAT em hardware&quot; existente somente nas firmwares proprietárias. Bem, desenvolveram uma &lt;a href=&quot;https://lwn.net/Articles/738214/&quot;&gt;solução equivalente&lt;/a&gt; e aceita pela comunidade Linux, com alternativa de aceleração tanto em software puro como com auxĩlio de hardware. Blah, blah, blah... o que significa tudo isso? Bem, antes um roteador &quot;normal&quot;, (aquele que você deve ter em casa e não os multi-ultra-dual-core), conseguia rotear WAN entre LAN algo&amp;nbsp;entre 200 Mbps e 4&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;00 Mbps, mesmo com ambas sendo GigabitEthernet. Agora, com a aceleração, é possível ver taxas próximas a velocidade do &quot;fio&quot; (1000Mbps) como transferência de 940 Mbps, mesmo em roteadores mais simples.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mas tem um grande porém.... só vale para os roteadores cujo algo já utilizem o kernel 4.14. E grande parte dos vendidos no Brasil com suporte ao OpenWrt usam ar71xx.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mas pera aí. É sério isso Luiz? Você realmente acha que conseguir rotear acima de 200 Mbps com um roteador caseiro vai mudar a vida de alguém &lt;/span&gt;&lt;b style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;u&gt;no Brasil&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;? Bem, ainda não. Mas quem sabe no futuro próximo poderemos ter internet de algumas centenas de Mbps pagável por pessoas que ainda usam roteadores &quot;normais&quot; com OpenWrt. Enfim, o destaque vale mesmo pelo fato de não ser mais um ponto negativo.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Atualização do CAKE&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Para quem não conhece, um algoritmo de escalonamento&amp;nbsp;de pacotes é o cara que controla a(s) fila(s) de pacotes entrando e saindo. O&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;CAKE é&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;um desses e busca&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;preservar a latência sempre baixa, sem necessidade de qualquer configuração além de ativá-lo. Na atualização,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;ele consegue lidar melhor com pacotes que chegam no seu roteador (vindos da internet). Na prática, é o que mais sentimos e o mais difícil de controlar.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Para quem usa o QoS no roteador, será uma atualização bem vinda.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Aumento do tamanho da firmware&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Isso é um problema a cada nova versão. O normal é que novas versões de programas ocupem mais espaço. Isso vale para os programas do OpenWrt. Então, a vida já difícil de quem tinha um roteador com 4 MBytes de flash se tornará ainda pior. Podem ter casos de ser tão pequeno o espaço livre que não será possível preservar as configurações. Se isso ocorrer com você, é bom abrir um bug.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Para minimizar isso, foi criada uma variante tiny (ex: ar71xx/tiny em oposição ao ar71xx/generic) que preserva as funcionalidades mas remove os símbolos do kernel, poupando alguns sagrados kbytes. Então, seu roteador TL-WR740ND v1 ainda pode ser usado (eu uso!).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Wireguard&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;O Wireguard não é propriamente uma novidade desta versão. Porém, é nela que começa a aparecer o suporte para valer no OpenWrt. Para quem não conhece, o Wireguard é uma nova solução de VPN que busca ser muito mais simples do que as &quot;padrão de mercado&quot;, como o IPSec (se conseguir, fuja disso mais rápido que puder) e OpenVPN. Quem já configurou qualquer uma dessas e se deparar com uma configuração do wireguard irá se perguntar: &quot;OK, só isso? Não pode já estar funcionado&quot;. O wireguard é tão bem vindo que o Linus, que tem mais coisa para fazer, se &lt;a href=&quot;http://lkml.iu.edu/hypermail/linux/kernel/1808.0/02472.html&quot;&gt;meteu&lt;/a&gt; no desenvolvimento&amp;nbsp;de rede do Linux para aclamá-lo. Teve até &lt;a href=&quot;https://www.wyden.senate.gov/imo/media/doc/Wyden%20Letter%20to%20NIST%20Re%20Gov%20Use%20of%20Secure%20VPNs.pdf&quot;&gt;carta de senador gringo para o NIST&lt;/a&gt; para recomendar sua avaliação como alternativa às VPN existentes (IPSec e OpenVPN). Mas isso fica para outro artigo.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;________________________________________&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Parece pouca novidade e nada que me interessa. E então, devo atualizar? Provavelmente sim. A versão 15.05 chegou ao seu fim de vida e a 17.01 caminha para o mesmo destino. Sem atualização, fatidicamente você estará no futuro exposto a alguma vulnerabilidade. Se ela for explorável remotamente, ela será, nem que seja para minerar bitcoin no seu roteador. Mas meu roteador é muito lento para minerar bitcoin! Sim, mas ele também pode injetar o minerador nas páginas que você acessar e quem vai minerar será seu computador, celular, TV...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Minha recomendação é &quot;se o hardware não é um limitador, atualize&quot;. Se seu roteador não aguenta a nova versão (por questão de espaço), é bom avaliar o que é menos ruim: comprar um novo roteador de R$ 100,00 ou manter seu roteador antigo?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;No próximo artigo, algumas dicas do procedimento de atualização. No fundo, o &lt;a href=&quot;https://luizluca.blogspot.com/2017/03/openwrtlede-atualizando-para-lede-17010.html&quot;&gt;dito para o 17.01&lt;/a&gt; ainda vale.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; line-height: 20px;&quot;&gt;Se pintar um problema, tem sempre o&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; target=&quot;_blank&quot;&gt;fórum&lt;/a&gt;&amp;nbsp;deste blog.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; line-height: 20px;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8121455188856046925/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/08/openwrt-lancada-versao-1806.html#comment-form' title='8 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8121455188856046925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8121455188856046925'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/08/openwrt-lancada-versao-1806.html' title='OpenWrt: Lançada a versão 18.06!'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8222416297876252605</id><published>2018-04-17T02:50:00.002-03:00</published><updated>2018-04-17T02:50:33.708-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IPv6"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>OpenWrt: Configurando IPv6 (6 anos depois)</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;font-family: arial, helvetica, sans-serif; text-align: justify;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt/LEDE.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;O que motivou iniciar o uso do OpenWrt não foi os inúmeros recursos a mais que você pode fazer com ele. O real motivador foi que eu queria usar IPv6 na minha rede. &lt;a href=&quot;https://luizluca.blogspot.com.br/2012/01/openwrt-turbine-seu-roteador_21.html?showComment=1523933573250#c5383906252131343462&quot;&gt;Escrevi sobre isso em 2012&lt;/a&gt;. Acho que cabe retomar o assunto.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Na época, o IPv6 no OpenWrt era opcional. As operadoras entregarem IPv6 era lenda urbana, quando não queriam te &quot;vender&quot; o pacote extra IPv6. O acesso IPv6 era coisa de universidade. A única alternativa era criar um túnel (lento) para um broker IPv6.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;De lá para cá, muita coisa mudou.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Hoje, todas as operadoras que se consideram minimamente significativas oferecem IPv6 a seus clientes. Então, se você não tem IPv6, já sabe o nível da sua operadora. As operadoras já estão com falta de IPv4 faz um tempo, tendo que apelar para técnicas como &lt;a href=&quot;https://en.wikipedia.org/wiki/Carrier-grade_NAT&quot;&gt;CGN&lt;/a&gt; (NAT na operadora) que, basicamente, coloca uma NAT na frente da sua NAT. O problema é que a sua NAT você tinha um certo nível de controle, podendo abrir/encaminhar portas. Já a NAT da operadora... Isso&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;quebra um monte de coisas que iriam conectar na sua casa (ex: torrent, VPN, Câmera IP...). Se sua operadora tem que usar CGN, mas ao menos entrega IPv6, é a vida. Procure migrar suas coisas para IPv6. Se ela usa CGN mas não entrega IPv6... ela é incompetente. Procure trocar de operadora.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;No mundo do OpenWrt, o IPv6 melhorou muito. Hoje em dia, ele vem autoconfigurado para IPv6. O normal é ele funcionando tão bem quanto IPv4, sem a necessidade de qualquer configuração.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Não precisa de pacotes extras, ele s&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;implesmente sai funcionando.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Vamos a um básico IPv6. Primeiro, o endereço. O IPv4 usava 32-bit, que dava um pouco mais de 4 bilhões de endereços (2^32). Deste tanto, tinha que tirar algumas &lt;a href=&quot;https://en.wikipedia.org/wiki/Reserved_IP_addresses&quot;&gt;faixas reservadas&lt;/a&gt;, um tanto para equipamentos intermediários, endereço de rede, broadcast. No fim, temos endereços para bem menos do que 4 bilhões de equipamentos. E com 7 bilhões de pessoas no planeta, isso era insuficiente. No IPv6, o pessoal exagerou e resolveu aumentar de 32-bit para 128-bit. Fica um trambolho deste tamanho:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: sans-serif; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;2001:db8:85a3:8d3&lt;/span&gt;&lt;span style=&quot;color: #222222;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;1319:8a2e:370:7348&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Cada conjunto separado por &quot;:&quot; tem 16-bit, ou&amp;nbsp;65536 variações. Com dois destes poderíamos colocar a internet IPv4 inteira (e temos 8 aqui). Como os números começaram a ficar grandes, resolveram usar notação hexadecimal, que inclui os algarismos normais e as letras de A até F. Isto permite usar endereços legíveis engraçadinhos. Caso tenha uma sequência de zeros, usa-se a notação &quot;::&quot;, mas somente uma vez no endereço.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Existem variações para endereços especiais, como multicast, link-local&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;, mas no caso geral, o endereço IPv6 pode ser dividido em duas partes, cada uma com 64-bit. No exemplo anterior, seriam as partes verdes e azul. A verde é seu prefixo de rede, que identifica uma rede IPv6 no mundo. A parte azul é o identificador da interface. Para fazer a analogia com&amp;nbsp; algo que todos têm&amp;nbsp;familiaridade, seria algo assim no IPv4 privado da sua rede atual:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: sans-serif; font-size: large; text-align: start;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #38761d; font-family: sans-serif; font-size: large; text-align: start;&quot;&gt;192.168.3&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: sans-serif; font-size: large; text-align: start;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: sans-serif; font-size: large; text-align: start;&quot;&gt;131&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: large; text-align: start;&quot;&gt;/24&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Então, com IPv4 você normalmente trabalha com redes /24 com 254 endereços &quot;livres&quot;. Com IPv6, no mínimo temos&amp;nbsp;18.446.744.073.709.551.616&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&amp;nbsp;(2^64). Para quê tudo isso? Bem, assim você pode usar o endereço MAC da sua placa (48-bit) e obter automaticamente um endereço sem chance de conflito. Esse é o método de obtenção de endereços sem estado (&lt;a href=&quot;https://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration_(SLAAC)&quot;&gt;SLAAC&lt;/a&gt;). Funciona assim:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;b&gt;equipamento&lt;/b&gt;: olá! tem um roteador aí? Eu preciso de uma rede!&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;b&gt;roteador&lt;/b&gt;: Oi, eu sou o roteador no endereço&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;fe80::1234:1234:3214:1234.&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&amp;nbsp;Eu ofereço o prefixo de rede&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;2001:db8:85a3:8d3::/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;E o equipamento começa a usar 2001:db8:85a3:8d3:1319:8a2e:370:7348 usando&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;fe80::1234:1234:3214:1234 como roteador padrão. Sem mais nenhum passo. Sem nenhuma negociação ou confirmação.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Este endereço, apesar de parecer &quot;aleatório&quot;, será sempre igual, claro, se mantido o prefixo de rede.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Equipamentos mais simples (&lt;a href=&quot;https://pt.wikipedia.org/wiki/Internet_das_coisas&quot;&gt;IoT&lt;/a&gt;) podem só funcionar desta forma.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;E o DNS? Esse pode vir pelo serviço&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;RDNSS, que vem junto com a resposta do roteador. Mas nem todos os clientes e roteadores suportam isso.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;E não tem DHCPv6? Tem sim. Ele funciona de uma forma bem parecida com DHCPv4, mas pode tanto gerar os endereços dos clientes da mesma forma que o SLAAC ou da forma tradicional do IPv4: alocando de uma faixa de endereços (que podem ser fixados).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;O prefixo de rede ainda pode ser dividido em duas partes: prefixo de roteamento e um identificador de subrede. O prefixo de roteamento é o que identifica todas as redes gerenciadas pelo seu roteador. Então, qualquer rede &quot;acessível globalmente&quot; no seu roteador compartilha essa parte inicial. O que sobra até atingir os 64-bit é usado pelo seu roteador para subdividir a rede em múltiplas redes locais.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Vamos ao OpenWrt.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Ao ligar o OpenWrt, ele cria aleatoriamente um endereço de rede local (&lt;a href=&quot;https://en.wikipedia.org/wiki/Unique_local_address&quot;&gt;ULA&lt;/a&gt;). Sim, o recomendado é ser aleatório mesmo. Esse endereço é um /48 e sempre começa com &quot;fd&quot;. Ex:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;ab:1234:1343&lt;/span&gt;::/48&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Você pode ver (ou modificar) este endereço na aba &quot;network/interfaces&quot;, lá no final. Isto seria equivalente a sua rede privada 192.168.1.0/24 do IPv4. Diferentemente do IPv4, eu não recomendo que mude este valor.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;O OpenWrt usa o &quot;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;prefixo de roteamento&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;fdab:1234:1343:: e adiciona um identificador&amp;nbsp;de subrede para formar uma rede final, normalmente de tamanho /64, mas pode ser modificado pela opção &quot;ip6assign&quot;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;. E de onde ele pega identificador de subrede? Do campo &quot;ip6hint&quot;. Se não definido, ele usa zero. Para o endereço anterior, ficaria:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mas é igual? Não! Agora tem um monte de zeros até chegar ao /64. De 48 para 64 são 16-bit ou 4 algarismos/letras em hexadecimal. Seria igual a isso:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;0000&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Onde o magenta é o identificador da subrede. Se ele fosse &quot;12&quot;, o resultado seria:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;0012&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Simples? Por enquanto estamos só na rede local. O DHCPv6 pode ser configurado no mesmo local onde era configurado o IPv4, ao final da edição de cada interface. Lá você pode configurar se o roteador se anunciará como roteador (para SLAAC), se terá DHCPv6 e qual modo de endereços será distribuído pelo DHCPv6: SLAAC, por atribuição ou ambos.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E como ficariam os endereços de rede? O OpenWrt normalmente usa o identificador de rede ::1 para si. Então, na subrede&amp;nbsp;fdab:1234:1343:123A::/64, ele ficaria com:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;001&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::&lt;span style=&quot;color: #38761d;&quot;&gt;1&lt;/span&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mas o &quot;::1&quot; pode ser modificado pelo campo&amp;nbsp;ip6ifaceid. &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E uma máquina na rede? Se ela tiver o endereço MAC&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;11:22:33:44:55:66, por&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SLAAC ela teria o endereço:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;001&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;&lt;b&gt;1&lt;/b&gt;3&lt;b&gt;22:33&lt;/b&gt;ff:fe&lt;b&gt;44:5566&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Note que o MAC sofre uma pequena alteração, mas ele é visível no endereço. E se for por atribuição DHCPv6, será dinâmico (com relativa estabilidade) como no DHCPv4. E se eu quiser fixar? Assim como a interface tem o atributo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;ip6ifaceid&quot;, a entrada DHCP onde você fixa o IPv4 terá um campo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;hostid&quot; (na interface WEB está como &quot;IPv6-Suffix&quot;)&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;onde você pode preencher o que quiser lá (até 64-bit ou 16 algarismos hexadecimais). Se for &quot;cafe&quot;, o endereço ficaria:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;001&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;cafe&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Pronto. Temos uma rede local que fala IPv6. Isto vai estar disponível em qualquer OpenWrt recente, mesmo que sua operadora não ofereça IPv6. Os endereços&amp;nbsp;fd00::/8 não são (normalmente) roteáveis para a internet. Só devem ser usados dentro da sua rede doméstica ou corporativa.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Agora vamos falar com a Internet.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O básico de um roteador é ter uma interface WAN e uma ou mais LAN. Normalmente o endereço WAN IPv6 é obtido por DHCPv6 (ex: NetVirtua) ou por PPPoE/PPPoA (ex: Oi). Como é um protocolo diferente do IPv4, no OpenWrt é necessário usar uma segunda interface (ex: wan6) que utiliza o mesmo dispositivo físico da wan IPv4. Por padrão, ele já vem com uma wan6 configurada como DHCPv6, que resolve em grande parte dos casos.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O que muda do DHCPv4? Na requisição do DHCPv6, além de pedir um endereço para a interface WAN, existe um pedido de um campo adicional chamado de &quot;prefixo de rede delegada&quot; (Prefix Delegated - PD).&amp;nbsp; Você receberá da sua operadora um endereço WAN para seu roteador e um prefixo de rede com endereços reais (globais) para distribuir dentro da sua rede. O tamanho do prefixo solicitado pode ser modificado pelo campo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;reqprefix&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&quot;, mas as operadoras não vão respeitar mesmo. Você receberá algo como:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;IPv6 WAN:&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;2804:14d:baba:1000&lt;/span&gt;::&lt;span style=&quot;color: #38761d;&quot;&gt;17d7&lt;/span&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;IPv6 prefixo delegado:&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;2804:14d:baba:1f&lt;/span&gt;00::/&lt;b&gt;56&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Se a WAN IPv6 utilizar endereço IP fixo, você pode informar a rede delegada manualmente.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O que o OpenWrt faz com isso? O IPv6 WAN é usado para a interface WAN. Ele pode ser, inclusive um /128. Já o prefixo delegado é distribuído para todas as LANs internas. Da mesma forma que ocorreu com a&amp;nbsp; rede ULA, ele utilizará o prefixo roteado em conjunto com o identificador da subrede para criar prefixos de rede para cada rede interna. No exemplo, a operadora ofereceu um prefixo /56 (ex: Oi ADSL residencial), que permitiria subdividi-lo em 256 redes. É o suficiente para uma residência ou mesmo para um pequeno negócio.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;( Bem, tem algumas operadoras que entregam apenas um /64 para seus clientes. &lt;b&gt;Sim NetVirtua, estou apontando para você&lt;/b&gt;. Pode ser trauma da escassez de IPv4 mas não se justifica no mundo IPv6. Até a Oi, que normalmente não é usada como bom exemplo, oferece uma rede /56. Com uma rede /64, eu não tenho espaço para subdividir a rede em múltiplas redes LAN e ainda usar SLAAC. Isto quer dizer que não tenho como criar uma segunda LAN com IPv6. Mas quem precisa de duas LAN? Isso é coisa de empresa! Claro, o vizinho que eventualmente fez uma visita e precisou conectar na Wifi aqui em casa jamais irá enviar um vídeo por engano ao meu Chromecast, nem mesmo irá olhar sem querer na babá eletrônica... realmente a segunda rede é desnecessária. Não preciso dizer qual foi a resposta do Call Center da Net. Mas voltando... )&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Com as redes do exemplo, a LAN do roteador passa a ter estes dois endereços:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;001&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::&lt;span style=&quot;color: #38761d;&quot;&gt;1&lt;/span&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;2804:14d:baba:1f&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;1&lt;/span&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E a máquina que tem&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;o endereço MAC&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;11:22:33:44:55:66? Se usar tanto o SLAAC como o sufixo &quot;cafe&quot;, teremos todos estes endereços configurados:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;001&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;:&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;1&lt;/b&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;3&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;22:33&lt;/b&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ff:fe&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;44:5566&lt;/b&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;fd&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ab:1234:1343:&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;001&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;cafe&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;2804:14d:baba:1f&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;:&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;1&lt;/b&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;3&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;22:33&lt;/b&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ff:fe&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;44:5566&lt;/b&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;2804:14d:baba:1f&lt;/span&gt;&lt;span style=&quot;color: magenta; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;cafe&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E para cada outra LAN no roteador, basta configurar o campo&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;ip6hint dela com um identificador diferente das demais LAN e ela receberá seu cunhão de endereços automaticamente.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E se não tiver espaço para uma segunda LAN? O que posso fazer? E se minha operadora não entregar um prefixo delegado? Infelizmente, ainda temos a alternativa de usar NAT66 (NAT entre duas redes IPv6).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Beleza. Acabei de olhar a interface do meu computador e tem esses quatro endereços aí e mais um monte! Sim, temos ainda endereços usados apenas no contexto do enlace local (link-local), que começam com &quot;fe80&quot;. Ele seria equivalente ao famigerado&amp;nbsp;169.254.0.0/24 do IPv4.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;fe80&lt;/span&gt;::&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;1&lt;/b&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;3&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;22:33&lt;/b&gt;&lt;span style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;ff:fe&lt;/span&gt;&lt;b style=&quot;color: #38761d; font-family: arial, helvetica, sans-serif; font-size: x-large;&quot;&gt;44:5566&lt;/b&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; font-size: large;&quot;&gt;/64&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Este endereço normalmente nem responde aos serviços de rede normais. Ele é usado para as tarefas administrativas do IPv6, como encontrar um outro equipamento na mesma rede ou o seu roteador. É necessário.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mas tenho muito mais endereços! Bem, o endereço MAC não é algo muito &quot;mutável&quot; nas máquinas. Como ele começou a fazer parte do endereço visível na internet, ficou fácil rastrear os equipamentos que usam SLAAC. Mesmo que você mude o prefixo, o final sempre será o mesmo. Com isso você obtem o MAC e individualiza o computador. Solução? Uma &lt;a href=&quot;https://en.wikipedia.org/wiki/IPv6#SLAAC_privacy_extensions&quot;&gt;extensão de privacidade&lt;/a&gt;. Além de todos os endereços listados anteriormente, a máquina pode periodicamente criar novos endereços com o identificador de interface (parte verde) aleatória. Quando usada a extensão de privacidade, o endereço SLAAC fixo é usado para receber conexões que queiram se conectar no computador enquanto os endereços aleatórios são usados pelo computador para acessar serviços remotos. Depois de um tempo, o endereço aleatório é desativado e outro é criado. Com isso, o serviço remoto não tem como rastrear o equipamento apenas pelo endereço de origem. Se deixar um computador que usa a extensão de privacidade&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;muito tempo ligado&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;, é normal ver uma lista mais de uma dezena de endereços IPv6.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E tem mais assuntos IPv6? Tem! Firewall IPv6,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;NAT66 (sim, NAT para IPv6 as vezes é necessário),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;multihoming (duas WANs), VPN sobre IPv6, e assim por diante. Mas isso fica para outro artigo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Se pintar uma dúvida, temos o &lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot;&gt;fórum&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8222416297876252605/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/04/openwrt-configurando-ipv6-6-anos-depois.html#comment-form' title='39 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8222416297876252605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8222416297876252605'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/04/openwrt-configurando-ipv6-6-anos-depois.html' title='OpenWrt: Configurando IPv6 (6 anos depois)'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>39</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-2376304708948582773</id><published>2018-04-11T01:01:00.000-03:00</published><updated>2018-04-17T02:52:30.691-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="rsync"/><category scheme="http://www.blogger.com/atom/ns#" term="samba"/><category scheme="http://www.blogger.com/atom/ns#" term="VPN"/><title type='text'>OpenWrt/LEDE: fazendo seus backups no roteador (e distribuindo-os): parte 3</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Mais um artigo da &lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; sobre o OpenWrt/LEDE.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
No &lt;a href=&quot;https://luizluca.blogspot.com.br/2018/01/openwrtlede-fazendo-seus-backups-no.html&quot;&gt;primeiro artigo deste tema&lt;/a&gt;, comentei o que uma solução de backup deveria ter. Passei pela solução que usava anteriormente (crashplan) e uma brevíssima introdução aos recursos do borg. Depois &lt;a href=&quot;https://luizluca.blogspot.com.br/2018/01/openwrtlede-fazendo-seus-backups-no_29.html&quot;&gt;apresentei&lt;/a&gt; a configuração do backup em um HD externo no seu roteador. Neste artigo, iremos implementar a sincronia entre repositórios.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Só relembrando, esse é o esquema do backup:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDxay7mVmB2JP1cZlrhx9XNS4XiN-YN4pw3sGa4Fu1fnmnqDbIw2jE6sYp2KyUNOLWbUwhirLGaetAeqIZeMDayb7xTm4U2X2fQzSI8bF2_5KxzyR_kRvT20aBcDjxbfy9PFaNtS5l5Q/s1600/backup.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDxay7mVmB2JP1cZlrhx9XNS4XiN-YN4pw3sGa4Fu1fnmnqDbIw2jE6sYp2KyUNOLWbUwhirLGaetAeqIZeMDayb7xTm4U2X2fQzSI8bF2_5KxzyR_kRvT20aBcDjxbfy9PFaNtS5l5Q/s640/backup.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
O computador roda o borg e copia os arquivos (amarelo) para um repositório no roteador. Esse repositório é acessado por CIFS e aponta para um HD externo conectado na USB. Em um segundo momento, um rsync sincroniza esse repositório com um destino remoto utilizando o rsync. O destino remoto também é um roteador com um HD externo conectado, mas poderia ser qualquer destino com suporte a rsync. A comunicação do rsync é feita dentro de uma VPN, que interliga o roteador de origem e destino do repositório.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Este artigo aborda a parte verde do diagrama.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Sincronizando repositórios&lt;/h2&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Já ouvi a estória do &quot;eu tinha backup, mas perdi junto&quot;. Incêndio, roubo, descarga elétrica durante o backup, não são se preocupar em &quot;não queimar&quot; o HD externo do seu backup. E o backup parece ter um certo magnetismo que o atrai para próximo da fonte original da informação, em especial antes de eventos catastróficos.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Como já havia comentado na parte 1 deste assunto, distribuir geograficamente o backup de forma automatizada era um requisito. A opção foi utilizando o rsync sobre uma VPN, onde o repositório do backup, conectado no roteador (que sempre está ligado), é enviado lentamente para um outro armazenamento remoto, também conectado em outro roteador (que sempre está ligado).&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
A parte da VPN é &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/01/openwrt-servidor-vpn-com-openvpn.html&quot;&gt;assunto antigo&lt;/a&gt;. O rsync pode ser feito pelo SSH, com autenticação por chaves. Porém, isso exige um certo grau de confiança da ponta remota pois as mesmas chaves podem abrir uma sessão no roteador remoto. Outra opção é um serviço rsyncd. Apesar de não ter autenticação, você pode controlar pelo firewall e pela restrição do próprio rsyncd quem pode acessar esse serviço. Se somente o teu roteador puder conectar no roteador remoto, só você poderá apagar algo indevidamente.&lt;br /&gt;
&lt;br /&gt;
No roteador que receberá a cópia:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto# opkg update&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto# opkg install rsyncd&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
A configuração não foi UCIficada e deve ser feita diretamente em /etc/rsyncd.conf. Só adicionar:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/etc/rsyncd.conf:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;(...)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;[fulano@gmail.com]&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;path = /mnt/HD-externo-XYZ/backup/borg/fulano@gmail.com&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;read only = no&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;fake super = yes&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
O identificador fulano@gmail.com é arbitrário. Eu gosto de usá-lo pois o repositório normalmente terá mais de um cliente. E nada melhor do que o email para lembrar o nome do repositório.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Agora, basta ativar e disparar o serviço:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto# /etc/init.d/rsyncd enable&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto# /etc/init.d/rsyncd start&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Opcionalmente, se já estiver usando o xinetd (por exemplo, &lt;a href=&quot;http://luizluca.blogspot.com.br/2014/05/openwrt-configurando-um-scanner-de-rede.html&quot;&gt;para o scanner na rede - SANE&lt;/a&gt;), pode também usar o xinetd ao invés do serviço rsyncd:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;service rsync&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;disable         = no&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;socket_type     = stream&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;port            = 873&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;protocol        = tcp&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;wait            = no&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;user            = root&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;server          = /usr/bin/rsync&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;server_args     = --daemon&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;log_on_failure  += USERID&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
E falta, agora, somente a rotina que envia do meu roteador-local para o roteador-remoto.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;rsync --bwlimit=30k --partial --archive --delete --delay-updates --delete-after&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/mnt/HD-externo-abc&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/borg/&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;fulano@gmail.com&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
E se usar por cima do SSH:&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;rsync --bwlimit=30k --partial --archive --delete --delay-updates --delete-after&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/mnt/HD-externo-abc&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/borg/&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/mnt/HD-externo-XYZ/backup/borg/fulano@gmail.com/&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
A primeira opção --bwlimit limita a taxa de transferência para o rsync. Ajuste para sua realidade. Como eventualmente teremos múltiplos gigabytes para serem enviados, o processo pode durar dias. A recomendação é sempre deixar um tanto para outros fins. O --partial permite continuar o envio quando a conexão foi perdida. Eu gosto de usar o --delay-updates --delete-after para manter o repositório íntegro durante a cópia. Se espaço for um problema do outro lado e ele não aguentar armazenar a mais a diferença a ser enviada, pode usar o --inplace e --delete-before. E sempre,&amp;nbsp;&lt;a href=&quot;https://linux.die.net/man/1/rsync&quot;&gt;man é seu amigo&lt;/a&gt;.&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Agora é só colocar na cron. Como o processo pode rodar &quot;por dias&quot;, é importante que ele não volte a rodar se o rsync anterior ainda estiver em execução. Por isso, podemos melhorar o comando usando o comando &quot;lock&quot;:&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;lock -n /tmp/rsync.lock &amp;amp;&amp;amp; {&amp;nbsp;bwlimit=30k --partial --archive --delete --delay-updates --delete-after&amp;nbsp;&amp;nbsp;/mnt/HD-externo-abc/borg/&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;::fulano@gmail.com/; lock -u /tmp/rsync.lock; }&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Se rodar novamente este comando enquanto a execução anterior ainda estiver em curso, você vai receber um:&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Can&#39;t lock /tmp/rsync.lock&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
E, como esperado, não teremos dois rsync em execução.&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
No OpenWrt, não temos os /etc/cron.* que usamos no Linux. Sendo assim, temos que usar o bom e velho &#39;crontab -e&#39;. Para rodar todos os dias 1 AM:&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;0 1 * * *&amp;nbsp;lock -n /tmp/rsync.lock &amp;amp;&amp;amp; {&amp;nbsp;bwlimit=30k --partial --archive --delete --delay-updates --delete-after&amp;nbsp;&amp;nbsp;/mnt/HD-externo-abc/borg/&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;roteador-remoto&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;::fulano@gmail.com/; lock -u /tmp/rsync.lock; }&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Outra funcionalidade interessante é abortar o processo quando ele demorar muito tempo. Assim você pode manter a rotina apenas durante a madrugada. Todavia, isso só faz sentido se usar a opção &quot;--partial&quot;. Bem, a partir deste ponto, a linha do comando vai ficar muito longa, mesmo por um costumas &lt;i&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/One-liner&quot;&gt;one-liner&lt;/a&gt;&lt;/i&gt;. É hora de fazer um script:&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# Sincroniza repositorio local com remoto&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;RSYNC_TIMEOUT=${1:?Informe o tempo maximo em segundos deste script}; shift&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;REPO_LOCAL=${1:?Informe o repositorio local}; shift&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;REPO_REMOTE=${1:?Informe o repositorio remoto}; shift&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;REPO_LOCK=/tmp/rsync-remote.lock&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;lock -n &quot;$REPO_LOCK&quot; || {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Falha ao obter lock! Existe um rsync-backup rodando?&quot; &amp;gt;&amp;amp;2&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;trap &quot;lock -u &#39;$REPO_LOCK&#39;&quot; EXIT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;rsync --archive --partial --delete --delay-updates --delete-after &quot;$@&quot; &quot;$REPO_LOCAL&quot; &quot;$REPO_REMOTE&quot; &amp;amp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;pid_rsync=&quot;$!&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;(sleep $RSYNC_TIMEOUT; echo &quot;Estouro de tempo ($RSYNC_TIMEOUT segundos)&quot; &amp;gt;&amp;amp;2; kill -TERM $pid_rsync) &amp;amp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;pid_timeout=&quot;$!&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# Deveria ser kill -TERM -$pid_timeout... mas com o ash nao fuciona ainda&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;trap &quot;lock -u &#39;$REPO_LOCK&#39;; kill -TERM $pid_timeout $pid_rsync 2&amp;gt;/dev/null&quot; EXIT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;wait $pid_rsync&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;err=$?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;exit $err&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Que ficaria na cron assim:&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#&amp;nbsp; Roda todos os dias 1AM por 6 horas (21600 segundos)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;0 1 * * *&amp;nbsp;/caminho/para/rsync-backup.sh 21600&amp;nbsp;/mnt/HD-externo-abc/borg/&amp;nbsp;roteador-remoto::fulano@gmail.com/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E é isso. Agora você já tem um mecanismo de sincronia dos backups.&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Recuperando dados&lt;/span&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Primeiro, vamos imaginar o cenário onde você precisa recuperar os dados do repositório remoto.&amp;nbsp;Você deve ter perdido os dados principais e também seu backup local. Nesta situação, é provável que você nem tenha mais o seu computador para recuperar os dados.&lt;br /&gt;
&lt;br /&gt;
A primeira alternativa de recuperação é ir fisicamente onde o backup remoto está e copiar o repositório. O melhor seria primeiro reconstruir seu repositório local e depois recuperar o que você quiser com calma a partir dele.&lt;br /&gt;
&lt;br /&gt;
Se o acesso físico for complicado, você pode simplesmente reconstruir seu repositório local fazendo um rsync inverso, como origem o repositório remoto e destino um caminho local. Vai demorar mas funciona.&lt;br /&gt;
&lt;br /&gt;
Por fim, se precisar apenas de uma ou outra coisa, eu recomendaria testar a montagem remota em cima de rsync, como em&amp;nbsp;&lt;a href=&quot;https://github.com/zaddach/fuse-rsync&quot;&gt;fuse-rsync&lt;/a&gt;. Não testei mas deve funcionar perfeitamente.&lt;br /&gt;
&lt;br /&gt;
Ah, e não se esqueça que você sempre precisa ter acesso a chave ou a senha usada na criação do repositório. E isso sem depender do próprio backup ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;
Se pintar uma dúvida, tem sempre o&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; style=&quot;color: #6699cc; text-decoration-line: none;&quot;&gt;fórum&lt;/a&gt;&amp;nbsp;deste blog.&amp;nbsp;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/2376304708948582773/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/04/openwrtlede-fazendo-seus-backups-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/2376304708948582773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/2376304708948582773'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/04/openwrtlede-fazendo-seus-backups-no.html' title='OpenWrt/LEDE: fazendo seus backups no roteador (e distribuindo-os): parte 3'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDxay7mVmB2JP1cZlrhx9XNS4XiN-YN4pw3sGa4Fu1fnmnqDbIw2jE6sYp2KyUNOLWbUwhirLGaetAeqIZeMDayb7xTm4U2X2fQzSI8bF2_5KxzyR_kRvT20aBcDjxbfy9PFaNtS5l5Q/s72-c/backup.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-5087182537067623013</id><published>2018-01-29T01:57:00.001-02:00</published><updated>2018-01-29T01:57:28.247-02:00</updated><title type='text'>OpenWrt/LEDE: fazendo seus backups no roteador (e distribuindo-os): parte 2</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mais um artigo da &lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt; sobre o OpenWrt/LEDE.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
No &lt;a href=&quot;https://luizluca.blogspot.com.br/2018/01/openwrtlede-fazendo-seus-backups-no.html&quot;&gt;artigo anterior&lt;/a&gt;, comentei o que uma solução de backup deveria ter. Passei pela solução que usava anteriormente (crashplan) e uma brevíssima introdução aos recursos do borg. Neste artigo, vamos configurar o repositório.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
O esquema ficou desta forma:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDxay7mVmB2JP1cZlrhx9XNS4XiN-YN4pw3sGa4Fu1fnmnqDbIw2jE6sYp2KyUNOLWbUwhirLGaetAeqIZeMDayb7xTm4U2X2fQzSI8bF2_5KxzyR_kRvT20aBcDjxbfy9PFaNtS5l5Q/s1600/backup.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDxay7mVmB2JP1cZlrhx9XNS4XiN-YN4pw3sGa4Fu1fnmnqDbIw2jE6sYp2KyUNOLWbUwhirLGaetAeqIZeMDayb7xTm4U2X2fQzSI8bF2_5KxzyR_kRvT20aBcDjxbfy9PFaNtS5l5Q/s640/backup.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
O computador roda o borg e copia os arquivos (amarelo) para um repositório no roteador. Esse repositório é acessado por CIFS e aponta para um HD Externo conectado na USB. Em um segundo momento, um rsync sincroniza esse repositório com um destino remoto utilizando o rsync. O destino remoto também é um roteador com um HD Externo conectado, mas poderia ser qualquer destino com suporte a rsync. A comunicação do rsync é feita dentro de uma VPN, que interliga o roteador de origem e destino do repositório. Muito complicado? Nem tanto. Como diria &lt;a href=&quot;https://pt.wikipedia.org/wiki/Jack,_o_Estripador&quot;&gt;Jack&lt;/a&gt;, &quot;vamos por partes...&quot;.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Neste artigo vou abordar apenas a flecha vermelha. No próximo trato da verde.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Instalação&lt;/h2&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
O primeiro passo para usar o borg é a instalação. A versão do repositório do ubuntu 17.10 é suficiente:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# apt install borgbackup&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Ou baixe diretamente do &lt;a href=&quot;https://github.com/borgbackup/borg/releases&quot;&gt;projeto&lt;/a&gt;. Eu prefiro a segunda opção. Este é um arquivo &quot;autosuficiente&quot;, só baixar, dar permissão de execução e usar.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Repositório&lt;/h2&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
O destino do repositório será no roteador. Como não vou rodar o borg lá, terei que acessar o disco do roteador por um sistemas de arquivos em rede. Optei pelo &lt;a href=&quot;http://luizluca.blogspot.com.br/2013/04/openwrt-compartilhando-seu-hd-na-rede.html&quot;&gt;C&lt;/a&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/04/openwrt-compartilhando-seu-hd-na-rede.html&quot;&gt;IFS (samba)&lt;/a&gt;. No lado do cliente, eu gosto de usar o autofs:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# apt install autofs cifs-utils&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Eu gosto de configurar o /cifs, que monta sob demanda compartilhamentos CIFS:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/etc/auto.master:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/cifs       /etc/auto.smb --timeout=300&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
E dispare o serviço&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# systemctl enable autofs&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# systemctl start autofs&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Seu roteador estará acessível em /cifs/router/&amp;lt;compartilhamento&amp;gt;/&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Iniciando o repositório&lt;/h2&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Para criar um novo repositório, é só rodar:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# borg init /cifs/router/&amp;lt;compartilhamento&amp;gt;/borg&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Os repositórios borg podem ser protegidos por uma chave. Para uso interativo, isso não é problema. Contudo, se o objetivo é fazer backup agendado, não será a melhor opção. O borg permite informar uma chave por variável ambiente. Crie um arquivo de senhas ou gere um aleatoriamente.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# mkdir -p /etc/borg&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# openssl rand -base64 32 &amp;gt; /etc/borg/borg.key&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# chmod 400 /etc/borg/borg.key&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Eu pessoalmente prefiro senhas boas mas que possam ser decoradas. Mas gosto é gosto.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Você agora pode passar essa senha chamando o borg desta maneira:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# BORG_PASSCOMMAND=&quot;$(cat /etc/borg/borg.key)&quot; borg ...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Ou também pode usar diretamente o BORG_PASSPHRASE com o conteúdo da senha:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# BORG_PASSPHRASE=&quot;naoconteparaninguem&quot; borg ...&lt;/span&gt;&lt;/div&gt;
&lt;h2 style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Fazendo backups&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
O backup é feito com uma chamada simples do borg. Um exemplo já passando a senha seria:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# BORG_PASSPHRASE=&quot;naoconteparaninguem&quot; borg create /cifs/router/&amp;lt;compartilhamento&amp;gt;/borg /meu/dir1 /meudir2 ...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Não vou me estender nas &lt;a href=&quot;https://borgbackup.readthedocs.io/en/stable/&quot;&gt;diversas opções&lt;/a&gt; disponíveis. Porém, é indicado colocar isso em um script para facilitar a chamada.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Os backups no borg são rápidos e econômicos. Ele só copia as diferenças e faz isso de forma bem eficiente. Normalmente uma chamada de backup sem alteração é executada em menos de 30 segundos. Ele tem um cache local dos índices e um novo backup sem muitas alterações gera pouca carga sobre o repositório. Já que é tão barato, resolvi fazer uma vez por hora. A chamada do &quot;borg create&quot; foi colocada em um script em /etc/cron.hourly/meubackup. Quem quiser, alternativamente, pode editar a cron diretamente com &#39;crontab -e&#39;.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Pronto! Temos uma rotina de backup!&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Limpando o repositório&lt;/h2&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
OK, tudo lindo e maravilhoso... mas vai ficar fazendo backup toda hora (literalmente) e nunca apagar nada? Bem, um novo backup sem alteração é bem econômico e fazer muitos deles realmente não é algo significativo. Porém, as diversas versões de arquivos alterados e apagados, e mesmo os metadados, eventualmente encheriam o disco. E, em alguns casos, eliminar permanentemente alguns dados pode ser salutar, em especial quando iniciar um novo relacionamento.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Para apagar, o borg pode executar o prune &lt;a href=&quot;https://pt.wikipedia.org/wiki/Baseado&quot;&gt;baseado&lt;/a&gt; em critérios como &quot;mantenha todos os últimos backups desta semana, um backup por dia nos últimos 10 dias com backup, 6 backups semanais...&quot;. Eu, por exemplo, estou usando:&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;pc# BORG_PASSPHRASE=&quot;naoconteparaninguem&quot; borg prune --keep-within 1d --keep-hourly 20 --keep-daily 30 --keep-weekly 53 --keep-yearly 20 /cifs/router/&amp;lt;compartilhamento&amp;gt;/borg&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Pode parecer estranho pedir para manter todos os backups das últimas 24 horas, mas somente um backup por hora nas últimas 20 horas. Bem, como o computador nem sempre está ligado, os 20 backups horários podem ser mais antigos do que &quot;todos os backups das últimas 24 horas&quot;. Tudo isso depende de cada caso.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Como esta operação pode demorar mais tempo do que um backup normal, eu rodo semanalmente. Contudo, fica a gosto do cliente.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
No próximo artigo, a parte de sincronia remota do repositório. Se pintar uma dúvida, tem sempre o &lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot;&gt;fórum&lt;/a&gt; deste blog.&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;
Até a próxima!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/5087182537067623013/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/01/openwrtlede-fazendo-seus-backups-no_29.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/5087182537067623013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/5087182537067623013'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/01/openwrtlede-fazendo-seus-backups-no_29.html' title='OpenWrt/LEDE: fazendo seus backups no roteador (e distribuindo-os): parte 2'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTDxay7mVmB2JP1cZlrhx9XNS4XiN-YN4pw3sGa4Fu1fnmnqDbIw2jE6sYp2KyUNOLWbUwhirLGaetAeqIZeMDayb7xTm4U2X2fQzSI8bF2_5KxzyR_kRvT20aBcDjxbfy9PFaNtS5l5Q/s72-c/backup.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8329049091299265052</id><published>2018-01-06T17:34:00.000-02:00</published><updated>2018-01-06T17:34:03.670-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>LEDE renomeado para OpenWRT: projetos &quot;reunificados&quot;</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: arial, helvetica, sans-serif;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; font-family: arial, helvetica, sans-serif; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: arial, helvetica, sans-serif;&quot;&gt;&amp;nbsp;sobre o OpenWrt/LEDE.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: arial, helvetica, sans-serif; font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Faz quase um ano que postei sobre o lançamento do LEDE, um fork do projeto OpenWrt. Enfim, muita água rolou e agora temos novidades significativas. Mas o que aconteceu desde o lançamento do LEDE?&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O surgimento do LEDE atraiu todos os desenvolvedores do OpenWrt. Ficou somente os desenvolvedores originas, &quot;donos da marca&quot; e da infraestrutura. Bem, como eles já não faziam grandes contribuições por algum tempo, o OpenWrt parou de ter um desenvolvimento significativo. Em suma, o OpenWrt mo-rré-u. O LEDE, em contrapartida, estava mais vibrante que o OpenWrt antes dele.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Então, o tempo passou, houveram conversas, e chegaram a um acordo. Os desenvolvedores do OpenWrt não tinham muito o que barganhar além do nome. Por uma série de votações, ficou decido que:&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Os desenvolvedores remanescentes do OpenWrt ganhariam acesso de escrita ao LEDE, se tornando efetivamente desenvolvedores do projeto (por meio de votação como para qualquer novo desenvolvedor);&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O código usado seria do LEDE, com eventuais melhorias exclusivas do OpenWrt sendo submetidas para avaliação, como qualquer outro patch (bem, sendo GPL, qualquer um já poderia ter feito isso sem pedir autorização);&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mantém-se as regras do projeto LEDE;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O OpenWrt CC está, na prática, abandonado, sendo recomendado o uso do LEDE 17.04.x;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Todos os direitos do OpenWrt e do LEDE foram doados para uma entidade sem fins lucrativos isenta, para não ter mais um &quot;dono da bola&quot;;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O nome do projeto LEDE será alterado para OpenWrt.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Este último ponto, sobre o nome, foi polêmico. Não houve uma maioria absoluta mas uma votação equilibrada entre: voltar ao OpenWrt, manter o LEDE e posição neutra. Por poucos votos (acho que foi um), ganhou a volta ao nome OpenWrt.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;E o que muda de agora em diante? O LEDE já usa o nome OpenWrt na sua &lt;a href=&quot;https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/&quot;&gt;versão em desenvolvimento&lt;/a&gt;. A infraestrutura do LEDE deve assumir o domínio do openwrt.org. Os servidores antigos do OpenWrt serão absorvidos. A próxima versão do LEDE será chamada OpenWrt e o nome LEDE deve desaparecer com o tempo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Falta ainda decidir outros pontos até o lançamento da próxima versão estável (nos próximos meses) como a solução de controle de bugs, fórum e wiki.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Resumão: O OpenWrt de antes mo-rré-u. LEDE foi renomeado para OpenWrt. O LEDE ganhou uns servidores e três desenvolvedores.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O lado bom é que os usuários do OpenWrt CC nem irão notar que mudaram de projeto. Quando a nova versão do LEDE...,digo, OpenWrt for lançada, será que nem uma nova versão do OpenWrt.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Até a próxima!&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8329049091299265052/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/01/lede-renomeado-para-openwrt-projetos.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8329049091299265052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8329049091299265052'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/01/lede-renomeado-para-openwrt-projetos.html' title='LEDE renomeado para OpenWRT: projetos &quot;reunificados&quot;'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-7785333680063836085</id><published>2018-01-04T02:28:00.000-02:00</published><updated>2018-01-04T02:28:30.984-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="borg"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>OpenWrt/LEDE: fazendo seus backups no roteador (e distribuindo-os): parte 1</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; text-align: justify; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt/LEDE.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Neste artigo vou mostrar a estrutura de backup que, com o auxílio de roteadores OpenWRT/LEDE, permite o backup de arquivos na rede e o envio desse backup de forma eficiente para pontos remotos sem a necessidade de deixar o computador ligado. Como vai ficar muito longo, primeiro vou levantar os requisitos e comentar a solução selecionada. Em um segundo artigo mostro as configurações efetuadas.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Costumo dizer &quot;não adianta rezar, só backup salva&quot;. Todo mundo sabe que é preciso fazer as cópias de segurança, que são importantes, etc, mas poucos realmente o fazem. Mesmo os &quot;entendidos&quot; não fazem backup por uma simples razão: dá trabalho e é chato.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Um bom backup é feito de forma automatizada. Na maioria dos casos, só vamos lembrar dele quando precisar recuperar algo. E surpresa? Não tinha o backup!&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Um bom backup não é uma simples cópia. Um bom backup deve ter versões, pois você pode levar um tempo para ver em algum momento sumiram suas fotos. Se tiver só uma cópia e ela foi feito depois do problema, não tem o que recuperar.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Um bom backup deve ser geograficamente distribuído. Mas precisa? Pense que se alguém for roubar sua casa, ele pode querer levar aquele HD externo junto com o seu computador. Pode ocorrer um pico de tensão e queimar o HD e o computador enquanto o backup era feito. Pode pegar fogo na sala onde ambos estão. Preferencialmente, nunca deixe todas as suas cópias no mesmo local. Vai copiar em um HD externo? Use dois, de forma intercalada e não deixe as duas cópias e o seu computador juntos. E dizem que sou paranoico.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Como os backups podem estar afastados do seu controle (&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;geograficamente distribuído)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;, um bom backup é cifrado (&quot;criptografado&quot;). Não precisa ser algo para enfrentar a NSA, mas algo que o custo para quebrar seja maior que o valor de seus dados. Não precisa ser muito chato neste ponto: uma senha em texto plano pode cifrar os backups e este arquivo pode ficar aberto no seu computador. Afinal, se alguém roubar essa senha no seu computador, ele vai poder abrir os arquivos no backup, que ele já teve acesso para poder ler o arquivo de senhas.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Principalmente, um bom backup deve ser recuperável. De nada adianta fazer o backup e descobrir que você não pode recuperá-lo. Ele deve, no mínimo estar íntegro.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Como posso fazer tudo isso? Pague por um serviço de &lt;a href=&quot;https://www.google.com.br/search?q=cloud+backup&amp;amp;oq=cloud+backup&quot;&gt;backup na nuvem&lt;/a&gt;. Ou tenha um pouco mais de trabalho e faça você mesmo. Neste artigo vou mostrar a infraestrutura que montei para fazer backups de forma a oferecer esses recursos com o mínimo de custo computacional e de forma mais automatizada possível.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Eu usei por anos o Code42 Crashplan. Porém, eles &lt;a href=&quot;https://tech.slashdot.org/story/17/08/22/1633220/code42-says-crashplan-backup-service-will-discontinue-all-personal-backup-plans&quot;&gt;abandonaram a versão gratuita&lt;/a&gt;, que permitia&amp;nbsp;o backup distribuído entre amigos. Ele funcionava surpreendentemente&amp;nbsp;bem, fazendo o backup de forma oportuna tanto no meu roteador (&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/04/openwrt-compartilhando-seu-hd-na-rede.html&quot;&gt;montado por CIFS&lt;/a&gt;) como nos meus amigos remotos. O problema era ter que deixar o computador ligado por horas (ou dias) para enviar um novo lote de fotos. Era um desperdício de energia e vida-útil do computador. A parte mais triste era que o backup já estava disponível 24/7 em um &lt;a href=&quot;http://luizluca.blogspot.com.br/2013/01/openwrt-conectando-um-hd-pela-usb.html&quot;&gt;disco conectado no roteador&lt;/a&gt;. Só não tinha como copiar para o local remoto. O Crashplan foi desenvolvido em Java e não tinha a menor condição de rodar em um roteador com 64 MBytes de RAM.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;A sincronia dos repositórios de backup com o ponto remoto também poderia ser feita usando o &lt;a href=&quot;https://www.samba.org/ftp/rsync/rsync.html&quot;&gt;rsync&lt;/a&gt;. Contudo, o formato do repositório de backup mudava tanto a cada novo backup que o volume de dados a ser copiado superava em muito os novos arquivos salvos. A solução, em tempos e tempos,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;era fisicamente &amp;nbsp;levar um dos repositórios ao encontro do outro e copiar localmente os arquivos (mesmo com rsync e USB 3.0, levava horas).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Então, além dos que se espera de um bom backup, uma solução ideal deveria enviar os arquivos de forma minimamente eficiente para o roteador (ex: CIFS, SFTP). Alternativamente, também poderia ser viável utilizar um agente da solução diretamente no roteador. Todavia, portar novos programas para o ambiente do roteador &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/03/openwrt-criando-novos-pacotes-introducao.html&quot;&gt;nem sempre é possível&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O envio dos dados ao repositório remoto também era um requisito importante. Eu realmente queria evitar o computador ligado para enviar dados que já estão no roteador. A solução de backup, então, deve facilitar a replicação. Isto pode ser obtido se o formato do repositório for eficientemente sincronizável por rsync. Outra solução seria com o agente rodando no roteador, que dificilmente teria sucesso pelas restrições do roteador.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Nas pesquisas por uma solução de backup, encontrei o &lt;a href=&quot;https://github.com/borgbackup/borg&quot;&gt;borg&lt;/a&gt;. Ele está disponível em algumas distribuições e também em um &lt;a href=&quot;https://github.com/borgbackup/borg/releases&quot;&gt;arquivo autossuficiente&lt;/a&gt;. Tem uma arquitetura bem simples. Nem configuração existe no computador. Você apenas aponta para o repositório e manda uma série de caminhos. É um software livre, que vai evitar o mesmo problema de abandono do Crashplan. Até tem uma &lt;a href=&quot;https://github.com/borgbackup/borgweb&quot;&gt;interface web&lt;/a&gt;, mas realmente, estou mais interessado na linha de comando.&amp;nbsp;Uma parte importante do borg é a estrutura do repositório de backup. Os dados são salvos em blocos deduplicados no repositório e um &quot;backup&quot; referência&amp;nbsp;uma série de blocos que formam a estrutura de diretório. Novos backups só enviam a diferença. E os backups não sobrescrevem dados antigos.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;Assim, ele é excelente para ser sincronizado usando rsync!&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;A impressão que toda a estrutura do repositório foi pensado com esse propósito.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;A única limitação é que você deve ter um repositório por máquina. O borg guarda um cache dos blocos já copiados para agilizar novos backups. Esse cache é validado antes de fazer o backup. Se os metadados do repositórios estiverem mais novos, o cache é invalidado. Com duas máquinas usando o mesmo repositório, toda vez que a outra fizer o backup, o próximo backup não utilizará o cache e será bem mais lento pois terá que baixar todos os metadados do repositório. Mas isso não foi um limitador para meu uso.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;No próximo artigo, vamos direto para a configuração do borg utilizando o roteador como destino e sincronizador de backups.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Até a próxima&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;Se pintar uma dúvida, tem sempre o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; style=&quot;font-family: arial, helvetica, sans-serif;&quot; target=&quot;_blank&quot;&gt;fórum&amp;nbsp;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;deste blog.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/7785333680063836085/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2018/01/openwrtlede-fazendo-seus-backups-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7785333680063836085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7785333680063836085'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2018/01/openwrtlede-fazendo-seus-backups-no.html' title='OpenWrt/LEDE: fazendo seus backups no roteador (e distribuindo-os): parte 1'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-7343671338970771769</id><published>2017-05-31T03:55:00.000-03:00</published><updated>2017-05-31T03:55:08.937-03:00</updated><title type='text'>OpenWrt/LEDE: sane-backends 1.0.27 e hplip submetido ao repositório oficial</title><content type='html'>&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; text-align: justify; text-decoration-line: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWrt/LEDE.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Faz longos 2 anos desde a última atualização do sane-backends. Enfim, lançaram uma nova versão: 1.0.27. Se notar a falta da 1.0.26, ela não existiu mesmo.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mudou algo? Sim, bugs, falhas de segurança, melhorias diversas. Nada de grande nota. Alguns dos patches do pacote também foram aceitos no projeto, reduzindo o meu trabalho de mantê-lo.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As instruções para instalação continuam &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/10/openwrt-nova-versao-do-sane-backends-e.html&quot;&gt;as mesmas&lt;/a&gt;. Com a diferença que o repositório para o LEDE está em &lt;a href=&quot;http://luizluca.github.io/lede/&quot;&gt;http://luizluca.github.io/lede/&lt;/a&gt;. Quem já está com o pacote instalado e quer somente atualizar, basta adicionar o repositório (veja no atalho anterior) e trocar o install por upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;router# opkg list-upgradable | grep sane&lt;br /&gt;router# opkg upgrade &amp;lt;os pacotes do sane listados anteriormente)&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Por sinal, sempre é bom observar os pacotes atualizáveis pelo &quot;opkg list-upgradable&quot;. Normalmente são só correções de bugs (em especial, de falhas de segurança).&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;Para pacotes instalados depois da gravação da firmware, não deve dar problema. Para os que já estavam na firmware, tem que ver se terá espaço livre para instalá-los.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Para quem não está com pressa, a próxima versão do OpenWrt/LEDE já terá a versão atualizada sem a necessidade de adicionar o meu repositório.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Outra novidade importante é que submeti o hplip ao repositório oficial. O entrave até agora era a falta do cups, que ficou sem mantenedor desde a versão OpenWrt CC. Eu criei um pequeno pacote libcups apenas para gerar as bibliotecas necessárias para o SANE compilar. Se for aceito, vai simplificar bastante a instalação do hplip.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;Se pintar um problema, tem sempre o&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; style=&quot;background-color: white; color: #6699cc; font-family: Arial, Helvetica, sans-serif; text-align: justify; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;fórum&amp;nbsp;&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;deste blog.&amp;nbsp;Até a próxima.&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;post-body entry-content&quot; id=&quot;post-body-6713712404847944749&quot; itemprop=&quot;description articleBody&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: 1.4; orphans: 2; position: relative; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: 1128px; word-spacing: 0px;&quot;&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;
&lt;div style=&quot;font-size: 14.85px; text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;clear: both; font-size: 14.85px;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/7343671338970771769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2017/05/openwrtlede-sane-backends-1027-e-hplip.html#comment-form' title='17 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7343671338970771769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/7343671338970771769'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2017/05/openwrtlede-sane-backends-1027-e-hplip.html' title='OpenWrt/LEDE: sane-backends 1.0.27 e hplip submetido ao repositório oficial'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-467359015773289329</id><published>2017-05-21T01:54:00.001-03:00</published><updated>2017-05-21T01:54:45.962-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="SSH"/><category scheme="http://www.blogger.com/atom/ns#" term="tcpdump"/><category scheme="http://www.blogger.com/atom/ns#" term="wireshark"/><title type='text'>OpenWRT/LEDE: Capturando pacotes de dentro do roteador</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mais um artigo da &lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot;&gt;série&lt;/a&gt; sobre o OpenWRT/LEDE.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Algumas vezes já me perguntaram o que deveria aprender para ser um bom administrador de redes. &amp;nbsp;A resposta é sempre a mesma: &quot;Várias coisas, mas principalmente o Wireshark&quot;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O Wireshark é uma excelente ferramenta de diagnóstico e de estudo. Eu normalmente recomendo que qualquer bom administrador de redes deve entender todos os campos até a camada do TCP/UDP/ICMP e boa parte dos protocolos mais usados como DHCP (bootp), DNS, HTTP. Se entender para que cada campo serve, implicitamente vai conhecer quase tudo que precisa.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Além, claro, de capturar pacotes, o wireshark tem diversas ferramentas de análise excelentes para diagnósticos&amp;nbsp;diversos (ver nota [1] no fim do artigo). Ele próprio também faz diversas validações de protocolos conhecidos. Perdi a conta da quantidade de problemas que o próprio wireshark informou. Bastou capturar pacotes, abrir no wireshark e ele já mostrava o pacote com uma cor diferente e uma bela mensagem informando o problema.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Qualquer coisa que eu falar além sobre os recursos do wireshark será superficial&amp;nbsp;demais para ser útil. Então, vamos ao tema propriamente dito deste artigo.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Os melhores (e alguns dos ruins também) permitem que você capture de alguma forma o tráfego que passa nas suas interfaces. E o OpenWRT/LEDE? Bem, ele não tem uma forma padrão de fazer isso pois não precisa.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Por ser simplesmente um Linux, existem diversas formas de fazer essa captura de forma simples. Se existir uma unidade de armazenamento no roteador, pode fazer a captura em arquivo e analisar depois. Mas se quiser fazer &quot;ao vivo&quot;, pode usar o recurso de &lt;i&gt;pipes&lt;/i&gt;. A que eu mais gosto é usando um SSH para rodar o tcpdump no roteador e, por &lt;i&gt;pipe&lt;/i&gt;, fazer um wireshark local ler os pacotes enviados pela entrada padrão. Parece complexo mas é só uma linha:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;$ ssh root@router tcpdump -U -w - -s0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: monospace;&quot;&gt;-i &lt;b&gt;eth0.2&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: monospace;&quot;&gt;| wireshark -i - -k&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;A eth0.2 é a interface que quero capturar. Poderia ser outra como a br-lan ou mesmo any para pegar pacotes de todas as redes. Só tome cuidado de excluir o próprio SSH da captura para não criar um processo retroalimentado: &quot;um pacote qualquer capturado é enviado por SSH que é um pacote qualquer e novamente capturado...&quot;. Então, use os &lt;a href=&quot;http://lmgtfy.com/?q=pcap+filter&quot;&gt;filtros pcap&lt;/a&gt; como argumento do tcpdump para excluir, no mínimo, o SSH da captura (se ele estiver utilizando uma interface capturada). Ex:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;$ ssh root@router tcpdump -U -w - -s0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: monospace;&quot;&gt;-i any &lt;b&gt;not port 22&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: monospace;&quot;&gt;| wireshark -i - -k&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;Ou:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: monospace; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;$ ssh root@router tcpdump -U -w - -s0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: monospace; text-align: justify;&quot;&gt;-i any&amp;nbsp;&lt;b&gt;not host oip.do.meu.pc&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: monospace; text-align: justify;&quot;&gt;| wireshark -i - -k&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;Ah, é preciso antes de tudo instalar o tcpdump no roteador. Recomendo o pacote tcpdump-mini, que deve atender as necessidades básicas para capturar pacotes para análise no wireshark.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;Isso vale também para capturar pacotes de servidores remotos que não têm wires&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;hark (e nem deveriam), mas normalmente têm o tcpdump. Só trocar no comando o &quot;router&quot; para o nome do servidor e pode reaproveitar&amp;nbsp;a dica.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Tunelar pelo SSH pode não ser a forma mais eficiente de fazer essa captura mas é a mais simples. Casos especiais onde o excesso de tráfego e os restritos recursos do roteador não aguentarem o trabalho, pode-se pensar em enviar os pacotes por netcat e sem criptografia. Mais inseguro, complicado mas bem mais leve para o roteador. Mas casos especiais são especiais e fica para outra oportunidade.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.85px;&quot;&gt;Alguma dúvida?&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.85px;&quot;&gt;Criei um&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.85px;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; style=&quot;color: #6699cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;fórum&lt;/a&gt;&amp;nbsp;para o blog e vou criar um tópico para cada novo artigo.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Até a próxima!&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;[1] : na verdade, eu nem gosto de capturar pacotes diretamente com o wireshark pois a captura de pacotes exige privilégios especiais, que normalmente são supridos rodando a captura como root. Entretanto, como qualquer software, o wireshark é passível de vulnerabilidades. Um atacante que conheça uma delas pode injetar pacotes que a exploram em qualquer interface que ele tenha acesso, mesmo em uma insegura como a entrada da internet. Se um administrador capturar esse pacotes com o wireshark, ele processará o pacote malicioso e o atacante tomará conta do wireshark. Se o wireshark estiver rodando como root, o atacante rodará o código malicioso com os acessos de root na máquina atual. Então, procurem não rodar o wireshark como root e, na dúvida, use-o com captura remota e rode-o dentro de uma máquina virtual&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;descartável&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;sem acessos especiais.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/467359015773289329/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2017/05/openwrtlede-capturando-pacotes-de.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/467359015773289329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/467359015773289329'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2017/05/openwrtlede-capturando-pacotes-de.html' title='OpenWRT/LEDE: Capturando pacotes de dentro do roteador'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-8595370790950863570</id><published>2017-03-16T01:59:00.000-03:00</published><updated>2017-03-16T01:59:08.228-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="compilação cruzada"/><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="hplip"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="programação embarcada"/><category scheme="http://www.blogger.com/atom/ns#" term="sane-backends"/><title type='text'>OpenWRT/LEDE: Debugando código dentro do roteador (e corrigindo bugs)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Mais um artigo da série &lt;a href=&quot;http://luizluca.blogspot.com.br/search/label/OpenWRT&quot;&gt;OpenWRT&lt;/a&gt;/&lt;a href=&quot;http://luizluca.blogspot.com.br/search/label/LEDE&quot;&gt;LEDE&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Fazer o debug de um programa muda a forma de desenvolvimento de um código. É imensamente melhor do que usar printf ao longo do código. Você pode ver os valores de qualquer variável, adicionar paradas condicionais, ver onde ele engasgou, etc. Para tudo isto, basta compilar seu código com os símbolos de debug, acesso ao código fonte (ajuda) e um debugger.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Uma das coisas que eu acho fantástico no mundo Linux é, diante de um problema, instalar os símbolos, código fonte e disparar um debugger. Isto com o processo rodado! Apesar dos programas instalados não conterem os símbolos, normalmente a distribuição fornece estes símbolos em um pacote a parte. Eu parto de um processo problemático em execução para um passo a passo dentro do código em poucos minutos. Fantástico!&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agora voltamos ao tema do artigo: como posso &quot;debugar&quot; dentro do OpenWRT/LEDE? Temos os símbolos nos executáveis? Não, são removidos antes de serem empacotados pelo sstrip. Mesmo que não fossem, normalmente você não teria espaço no roteador para instalar um executável com os símbolos de debug e mais o código fonte (ao menos que tenha &lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot;&gt;expandido o disco com uma unidade externa&lt;/a&gt;). O gdb seria até pequeno, mas é sem símbolos e o fonte ele não tem muita utilidade. Mesmo se tivesse tudo isso, ainda debugar pelo gdb remotamente não é a forma mais amigável para este trabalho. Para coisas maiores, uma interface gráfica pode deixar o trabalho mais agradável.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Felizmente o OpenWRT/LEDE já está preparado para esta interação. Vamos tomar como exemplo o &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/10/openwrt-nova-versao-do-sane-backends-e.html&quot;&gt;sane-backends&lt;/a&gt;, pacote que mantenho no OpenWRT/LEDE. Ele estava com um comportamento engraçado. O scanner&amp;nbsp;aparecia na listagem mas sempre falhava ao escanear. Rodando localmente um escaneamento, eu obtinha:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router.lan3:~#&lt;b&gt; scanimage &amp;gt;/dev/null&lt;br /&gt;Trace/breakpoint trap&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Parei o xinetd (que estava aguardando pelos pedidos do saned) e rodei o saned em modo debug. Novamente, o famigerado erro:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router.lan3:~#&lt;b&gt; saned -d 128&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;[saned] main: starting debug mode (level 2)&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
[saned] saned (AF-indep+IPv6) from sane-backends 1.0.25 starting up&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
[saned] do_bindings: [0] bind failed: Address in use&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
[saned] check_host: access by remote host: ::ffff:192.168.3.20&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
[saned] init: access granted to luizluca@::ffff:192.168.3.20&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;Trace/breakpoint trap&lt;/b&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Não fui apresentado, mas pelo nome, parece algo explicitamente introduzido. Alguma verificação falhou e abortou o programa. Sem mais informações por meio de mensagens, resta o debug do código.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O primeiro passo é ter os fontes e os códigos compilados. Provavelmente tudo isso se aplica caso opte por usar o SDK, mas vou, a princípio&amp;nbsp;considerar que você está usando a árvore completa do projeto. Você precisa dos fontes e configurar o ambiente para compilar, ao menos, o sane-backend. Esta preparação já foi feita em outro artigo sobre &lt;a href=&quot;http://luizluca.blogspot.com.br/2017/03/openwrtlede-compilando-partir-dos-fontes.html&quot;&gt;compilação a partir dos fontes&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;No roteador, eu irei debugar o programa saned, que não contém informações de debug. No pacote, ele é bem reduzido&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;(menos que 33 kbytes):&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;$ tar --to-stdout -xzf bin/packages/mips_24kc/packages/sane-daemon_1.0.25-2_mips_24kc.ipk ./data.tar.gz | tar tzv ./usr/sbin/saned&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;-rwxr-xr-x root/root &amp;nbsp; &amp;nbsp; &lt;b&gt;32900&lt;/b&gt; 2017-03-12 22:40 ./usr/sbin/saned&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;
&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Porém, antes de ser limpo pelo sstrip, ele tinha:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;$ stat -c &quot;%A %U %G %y %s %n&quot; staging_dir/target-mips_24kc_musl-1.1.16/root-ar71xx/usr/sbin/saned&lt;br /&gt;-rwxr-xr-x luizluca deluca 2017-03-12 22:40:49.510354194 -0300 &lt;b&gt;44200&lt;/b&gt;&amp;nbsp;staging_dir/target-mips_24kc_musl-1.1.16/root-ar71xx/usr/sbin/saned&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agora vamos recompilar o pacote com os símbolos. Você pode fazer isso adicionando a opção no menuconfig para incluir os símbolo de debug em toda a árvore. Eu prefiro adicionar pontualmente os símbolos em alguns pacotes. Para isto, basta incluir a configuração extra na chamada do make:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;$ make -j5 package/sane-backends/{clean,compile} &lt;b&gt;CONFIG_DEBUG=y&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Adicione ainda um V=s se quiser ver muitas letrinhas passando (ou precisar resolver problemas de compilação). Se fizer, observe um -g3 a mais nos argumentos do gcc.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O resultado é um executável relativamente maior:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;$ stat -c &quot;%A %U %G %y %s %n&quot; staging_dir/target-mips_24kc_musl-1.1.16/root-ar71xx/usr/sbin/saned&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;-rwxr-xr-x luizluca deluca 2017-03-12 23:56:52.157169597 -0300 &lt;b&gt;188296&lt;/b&gt; staging_dir/target-mips_24kc_musl-1.1.16/root-ar71xx/usr/sbin/saned&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Mas o ipkg continua exatamente igual, pois os símbolos ainda foram removidos antes do empacotamento.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;No meu caso, uso o &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/10/openwrt-nova-versao-do-sane-backends-e.html&quot;&gt;driver hplip&lt;/a&gt;. Então, incluí em todo o processo anterior este pacote. Além de adicionar no menuconfig, o make ficou assim:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;$ make -j5 package/{sane-backends,hplip}/clean package/{sane-backends,hplip}/compile CONFIG_DEBUG=y&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Tudo pronto, agora vamos ao roteador. Vou instalar o gdbserver. Como o nome já diz, é um servidor do gdb, permitindo que um gdb na minha máquina use&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;um executável rodando em uma máquina remota.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;root@router.lan3:~# opkg install gdbserver&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;E agora, repito o comando do saned mas pelo gdbserver:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;root@router.lan3:~# gdbserver :9000 /usr/sbin/saned -d 128&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Process /usr/sbin/saned created; pid = 4391&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Listening on port 9000&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;
&lt;/span&gt;

&lt;div&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;A princípio, ele inicia o processo parado, aguardando a conexão do gdb e sua autorização para continuar. No lado do computador, o OpenWRT/LEDE já fornece um &quot;facilitador&quot;&amp;nbsp;para configurar o gdb remoto:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ ./scripts/remote-gdb router:9000 staging_dir/target-mips_24kc_musl-1.1.16/root-ar71xx/usr/sbin/saned&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Pronto! Estou com o debugger na mão. Peço ao gdb para parar ao receber qualquer sinal (&quot;catch signal all&quot;). Depois, libero a execução (&quot;cont&quot;) até chegar em algo interessante.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;Thread 1 &quot;saned&quot; hit Catchpoint 1 (signal SIGTRAP), memcpy (__n=270, __os=0x77dc3a76 &amp;lt;ms+770086&amp;gt;, __od=0x77dc3a74 &amp;lt;ms+770084&amp;gt;)&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; at /home/luizluca/prog-local/lede/17.01/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/include/&lt;b&gt;fortify&lt;/b&gt;/string.h:48&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;48&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;__builtin_trap();&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;(gdb) bt&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#0 &amp;nbsp;memcpy (__n=270, __os=0x77dc3a76 &amp;lt;ms+770086&amp;gt;, __od=0x77dc3a74 &amp;lt;ms+770084&amp;gt;) at /home/luizluca/prog-local/lede/17.01/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/include/&lt;b&gt;fortify&lt;/b&gt;/string.h:48&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#1 &amp;nbsp;device_id (fd=1,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; buffer=0x77dc3a74 &amp;lt;ms+770084&amp;gt; &quot;\001\020MFG:HP;MDL:Officejet J4660 series;CMD:MLC,PCL,PML,DW-PCL,DESKJET,DYN;1284.4DL:4d,4e,1;CLS:PRINTER;DES:CB786A;SN:BR145GF09J052W;S:038000C484001021002c1f0005cc2d8002b;J:&quot;, &#39; &#39; &amp;lt;repete 20 vezes&amp;gt;, &quot;;Z:0102,050&quot;..., size=1024) at &lt;b&gt;io/hpmud/musb.c:773&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#2 &amp;nbsp;0x77cbe5cd in musb_open (pd=&amp;lt;optimized out&amp;gt;) at io/hpmud/musb.c:1160&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#3 &amp;nbsp;0x77cb8067 in hpmud_open_device (uri=&amp;lt;optimized out&amp;gt;, iomode=HPMUD_DOT4_MODE, dd=0x41b0a4) at io/hpmud/hpmud.c:539&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#4 &amp;nbsp;0x77ebbc51 in sclpml_open (device=0x418a96 &quot;/usb/Officejet_J4660_series?serial=BR145GF09J052W&quot;, pHandle=0x7ffffaf4) at scan/sane/sclpml.c:2016&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#5 &amp;nbsp;0x77eb02f7 in sane_hpaio_open (devicename=0x418a96 &quot;/usb/Officejet_J4660_series?serial=BR145GF09J052W&quot;, pHandle=0x7ffffaf4) at scan/sane/hpaio.c:267&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#6 &amp;nbsp;0x77f3f673 in sane_dll_open (full_name=&amp;lt;optimized out&amp;gt;, meta_handle=0x0) at dll.c:1201&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#7 &amp;nbsp;0x77f31e97 in sane_open (name=&amp;lt;optimized out&amp;gt;, h=&amp;lt;optimized out&amp;gt;) at dll-s.c:23&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#8 &amp;nbsp;0x00403391 in process_request (w=0x418198 &amp;lt;wire&amp;gt;) at saned.c:1916&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#9 &amp;nbsp;0x00403a99 in handle_connection (fd=&amp;lt;optimized out&amp;gt;) at saned.c:2283&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#10 0x00402031 in run_standalone (argv=&amp;lt;optimized out&amp;gt;, argc=3) at saned.c:3167&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#11 main (argc=&amp;lt;optimized out&amp;gt;, argv=&amp;lt;optimized out&amp;gt;) at saned.c:3345&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Hum... fortify... O LEDE introduziu opções de compilação que restringem alguns comportamentos inseguros (_FORTITY_SOURCE), &quot;fortificando&quot; o programa contra ataques. Pela pilha, isso foi dentro do hplip. Acho que ele tem algum problema...&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
A chamada em questão foi em&amp;nbsp;io/hpmud/musb.c, linha&amp;nbsp;773:&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp;771 &amp;nbsp; &amp;nbsp; if (len &amp;gt; 2)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;772 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; len -= 2;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;773 &amp;nbsp; &amp;nbsp; memcpy(buffer, buffer+2, len); &amp;nbsp; &amp;nbsp;/* remove length */&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;774 &amp;nbsp; &amp;nbsp; buffer[len]=0;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;775 &amp;nbsp; &amp;nbsp; DBG(&quot;read actual device_id successfully fd=%d len=%d\n&quot;, fd, len);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Opa! Copiando o buffer sobre ele mesmo para tirar os dois primeiros bytes? OK, mas não usando memcpy! Muito feio! Isto nunca &lt;a href=&quot;http://stackoverflow.com/a/4415926&quot;&gt;era para dar certo&lt;/a&gt;... O &lt;b&gt;memcpy&lt;/b&gt; simplesmente copia de um lado para outro, desconsiderando sobreposição. Isto quer dizer, pode copiar do começo ao fim (ou o inverso), em blocos de vários bytes, etc. Foi sorte ter funcionado até agora (e funcionou?). A alternativa correta é o &lt;b&gt;memmove&lt;/b&gt;, que verifica possíveis sobreposições e decide se copia de trás para frente, ou do início ao fim. Caso não tenha sobreposições, simplesmente chama o &lt;b&gt;memcpy&lt;/b&gt;. E &amp;nbsp;claro que temos sobreposições aqui!&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Vamos tentar a última versão 3.16.11 do hplip? Não, ainda está lá o memcpy. Vamos precisar fazer um patch.&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
A melhor forma de trabalhar com patches dos programas empacotados no OpenWRT/LEDE é pelo quilt. Ele gerencia os patches de forma menos dolorida, em especial para atualizar os endereços depois de uma mudança de versão, onde os &quot;hunks&quot; funcionaram. Como acabei de atualizar a versão do hplip, devem ocorrer mudanças nos fontes e os patches existentes precisam ser atualizados:&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ make package/hplip/{clean,prepare} QUILT=y&lt;br /&gt;$ cd build_dir/target-mips_24kc_musl-1.1.16/hplip-3.16.11&lt;br /&gt;$ quilt push&lt;br /&gt;Aplicando caminho 010-libusb_fix.patch&lt;br /&gt;patching file configure.in&lt;br /&gt;Hunk #1 succeeded at 561 (offset 38 lines).&lt;br /&gt;Agora no caminho 010-libusb_fix.patch&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt refresh # atualizar o endereço do patch&lt;br /&gt;Patch atualizado 010-libusb_fix.patch&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;Tudo certo até aqui. Patch atualizado sem esforço.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt push&lt;br /&gt;Aplicando caminho 020-remove_cups_dep_on_scan.patch&lt;br /&gt;patching file scan/sane/hpaio.c&lt;br /&gt;Hunk #2 FAILED at 172.&lt;br /&gt;Hunk #3 FAILED at 232.&lt;br /&gt;Hunk #4 FAILED at 259.&lt;br /&gt;3 out of 4 hunks FAILED -- rejects in file scan/sane/hpaio.c&lt;br /&gt;patching file Makefile.am&lt;br /&gt;Hunk #1 succeeded at 60 with fuzz 1 (offset 1 line).&lt;br /&gt;Caminho 020-remove_cups_dep_on_scan.patch não aplica (force com -f)&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Hum... conflito. Preciso intervir manualmente.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt push -f&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Aplicando caminho 020-remove_cups_dep_on_scan.patch&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;patching file scan/sane/hpaio.c&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Hunk #2 FAILED at 172.&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Hunk #3 FAILED at 232.&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Hunk #4 FAILED at 259.&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;3 out of 4 hunks FAILED -- saving rejects to file scan/sane/hpaio.c.rej&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;patching file Makefile.am&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Hunk #1 succeeded at 60 with fuzz 1 (offset 1 line).&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Caminho 020-remove_cups_dep_on_scan.patch aplicado (forçado; necessita ser atualizado)&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt edit scan/sane/hpaio.c&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;&amp;lt;faz a mágica para resolver o conflito...&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt refresh&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Agora vamos, enfim, fazer o novo patch:&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt new 030-replace_unsafe_memcpy_with_memmove.patch&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$&amp;nbsp;quilt edit io/hpmud/musb.c&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;troca o memcpy por memmove&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ quilt refresh&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;De volta a raiz do projeto, pedimos que ele atualize os patches:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;make package/hplip/update QUILT=y&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
E, por fim, limpar e recompilar:&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;make package/hplip/{clean,compile} CONFIG_DEBUG=y&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Tudo compilado, só copiar, instalar e testar&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;$ scp bin/packages/mips_24kc/packages/hplip-* root@router:/tmp&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
root@router.lan3:~# opkg install /tmp/*hplip*&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
Upgrading hplip-common on root from 3.15.7-1 to 3.16.11-1...&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
Upgrading hplip-sane on root from 3.15.7-1 to 3.16.11-1...&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
Configuring hplip-common.&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
Configuring hplip-sane.&lt;/div&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;root@router.lan3:~#&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
E...&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: arial, helvetica, sans-serif; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.usanetwork.com/sites/usanetwork/files/2015/12/pilot_cover.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Funcinou!&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://www.usanetwork.com/sites/usanetwork/files/2015/12/pilot_cover.jpg&quot; title=&quot;&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
Infelizmente, o &quot;funcionar&quot; é não mostram uma mensagem de erro e não abortar o processo. Não faz muito sentido colar a saída.&lt;br /&gt;
&lt;br /&gt;
Agora, para a cereja do bolo, &lt;a href=&quot;https://bugs.launchpad.net/hplip/+bug/1672256&quot;&gt;bug submetido ao hplip&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Até a próxima. Happy Hacking!&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/8595370790950863570/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2017/03/openwrtlede-debugando-codigo-dentro-do.html#comment-form' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8595370790950863570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/8595370790950863570'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2017/03/openwrtlede-debugando-codigo-dentro-do.html' title='OpenWRT/LEDE: Debugando código dentro do roteador (e corrigindo bugs)'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-2448229452365458828</id><published>2017-03-12T23:41:00.000-03:00</published><updated>2017-03-17T14:49:09.231-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="compilação cruzada"/><category scheme="http://www.blogger.com/atom/ns#" term="criação de pacotes"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE 17.01.0"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="programação embarcada"/><category scheme="http://www.blogger.com/atom/ns#" term="trunk"/><title type='text'>OpenWRT/LEDE: Compilando a partir dos fontes</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Mais um artigo da série&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/search/label/OpenWRT&quot;&gt;OpenWRT&lt;/a&gt;/&lt;a href=&quot;http://luizluca.blogspot.com.br/search/label/LEDE&quot;&gt;LEDE&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Dificilmente alguém vai precisar compilar o seu sistema operacional. Isto se aplica também aos ambientes embarcados. O OpenWRT/LEDE fornece o &lt;a href=&quot;http://luizluca.blogspot.com.br/2012/01/openwrt-turbine-seu-roteador.html&quot;&gt;acréscimo de programas por pacotes&lt;/a&gt;, a &lt;a href=&quot;http://luizluca.blogspot.com.br/2012/01/openwrt-turbine-seu-roteador_25.html&quot;&gt;personalização dos pacotes de uma firmware&lt;/a&gt;, ou mesmo &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/03/openwrt-criando-novos-pacotes-introducao.html&quot;&gt;um ambiente de desenvolvimento para compilar pacotes individuais&lt;/a&gt;. Tudo isso evita em muito a necessidade de recompilar todo o ambiente. Todavia, às&amp;nbsp;vezes é inevitável.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Sempre que a mudança não é em &quot;um pacote&quot;, vai precisar recompilar a árvore. Mudança de um parâmetro do kernel? Parâmetro do gerenciador de boot? Alguma outra coisa? Pode se preparar para recompilar tudo.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E tudo é bastante coisa. O ambiente não só recompila o que vai no roteador mas compiladores, ligadores, ferramentas de geração de firmware, sistema de arquivos, etc. Tudo para ser o mais independente possível do sistema operacional onde está sendo compilado.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Como eu começo? Primeiro precisa de algumas ferramentas básicas, como o git, o gcc (para compilar o gcc do OpenWRT/LEDE, o make e algumas bibliotecas de desenvolvimento para compilar o menuconfig. Já existem algumas linhas de comando prontas para instalar estes requisitos no site do &lt;a href=&quot;https://lede-project.org/docs/guide-developer/install-buildsystem#examples_of_package_installations&quot;&gt;LEDE&lt;/a&gt;. Vale a olhada. Depois, só baixar os fontes. Vou pegar o atual ramo estável do LEDE:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git clone --branch lede-17.01 https://github.com/lede-project/source.git&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E depois configurar o ambiente:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;make menuconfig&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;No menuconfig, você pode configurar todo seu ambiente. Normalmente você terá que configurar, ao menos, o alvo (target) e, preferencialmente, o modelo do roteador (por padrão, ele gera firmware para todos!). Este é o local para adicionar os pacotes. A simbologia é:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;[*] significa que o pacote estará na firmware gerada ou uma opção foi selecionada;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;[M]&amp;nbsp;significa que o pacote será gerado (ipk) mas não estará na firmware;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;[ ] significa que o pacote não será compilado ou opção não selecionada.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Saindo e salvando, basta compilar:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;make&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ou, se tiver processadores sobrando, deixar o make usar diversos processadores:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;make -j9&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Não achei no menu um pacote! Busque apertando &quot;/&quot; no menuconfig. Ainda não o Luci! A maioria dos pacotes estão nos feeds adicionais, por padrão sem pacotes incluídos. Para incluir o &quot;meu-pacote-querido&quot;:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;./scripts/feeds update&lt;br /&gt;./scripts/feeds install meu-pacote-querido&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E ele aparecerá no menu (previamente ainda não selecionado).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ao terminar o processo do make, sua firmware estará em:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;bin/targets/&lt;b&gt;&amp;lt;alvo configurado&amp;gt;&lt;/b&gt;/generic/&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Os pacotes estarão em:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;bin/targets/&lt;b&gt;&amp;lt;alvo configurado&amp;gt;&lt;/b&gt;/generic/packages/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; (para os específicos deste alvo)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;bin/packages/&lt;b&gt;&amp;lt;arquitetura&amp;gt;&lt;/b&gt;/luci&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;(para pacotes da arquitetura que o&amp;nbsp;&amp;lt;alvo configurado&amp;gt; pertence&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Você está pronto para se divertir. Só gravar a nova firmware ou copiar e instalar os novos pacotes.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Quer mudar algo depois? Mexer em um pacote? As receitas estarão em packages ou em feeds. Se mudar um pacote, como o sane-backends, pode recompilá-lo individualmente:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;make package/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;b&gt;meu-pacote-querido&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/compile&lt;/span&gt;&lt;/blockquote&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ou rodar simplesmente o make geral e deixar ele encontrar o que falta fazer (vai demorar mais). Se tiver problemas, pode mostrar as informações da compilação:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;make package/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;meu-pacote-querido&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;/compile &lt;b&gt;V=s&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;É isso pessoal. Espero que esta informação ajude nos primeiros passos de desenvolvimento do OpenWRT/LEDE. Quem sabe não ajude a revelar um novo desenvolvedor para o projeto?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Happy hacking!&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/2448229452365458828/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2017/03/openwrtlede-compilando-partir-dos-fontes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/2448229452365458828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/2448229452365458828'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2017/03/openwrtlede-compilando-partir-dos-fontes.html' title='OpenWRT/LEDE: Compilando a partir dos fontes'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-6002928546088224180</id><published>2017-03-02T22:21:00.000-03:00</published><updated>2017-03-13T02:00:27.385-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE 17.01.0"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>OpenWRT/LEDE: atualizando para LEDE 17.01.0</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 14.85px; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; font-family: arial, helvetica, sans-serif; font-size: 14.85px; line-height: 20px; text-decoration: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 14.85px; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&amp;nbsp;sobre o OpenWRT/LEDE.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 14.85px; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 14.85px; line-height: 13.86px;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Como citei no &lt;a href=&quot;http://luizluca.blogspot.com.br/2017/02/lede-e-o-novo-openwrt-lancado-primeira.html&quot;&gt;post anterior&lt;/a&gt;, o sucessor do OpenWRT é o LEDE. E este acaba de lançar a sua primeira versão: 17.01.0.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Sim, este artigo repete diversos pontos do artigo de&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/10/openwrt-atualizando-para-versao-1505.html&quot; style=&quot;font-family: arial, helvetica, sans-serif;&quot; target=&quot;_blank&quot;&gt;atualização anterior&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;. Afinal, apesar da mudança no nome, ainda é a mesma base.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;96,72% dos problemas com instalação/atualização com LEDE que ajudo é em relação a escolha incorreta da imagem da firmware. Como sempre, recomendo a versão squashfs, que possui&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/2012/05/openwrt-turbine-seu-roteador_16.html&quot; target=&quot;_blank&quot;&gt;modo de recuperação&lt;/a&gt;. Pegue o arquivo no download da última versão estável e nunca em um endereço qualquer,&amp;nbsp;&lt;b&gt;mesmo que seja na wiki do OpenWRT/LEDE&lt;/b&gt;. Normalmente a wiki referencia a versão em desenvolvimento, que não é a que você quer. As versões dentro de &quot;releases&quot;, exceto as com o rc (release candidate) são estáveis. Pegue preferencialmente a mais nova (com número maior). Evite qualquer firmware que tenha no caminho palavras como &quot;trunk&quot;, &quot;snapshot&quot; ou &quot;rc1&quot;, &quot;rc2&quot;... exceto se estiver testando algo. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;As versõe estáveis também referenciam a versão do LEDE no nome como em &quot;lede-&lt;/span&gt;&lt;b style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;17.01.0&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;-r3205-59508e3-ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin&quot;, ao contrário da versão instável/em desenvolvimento &quot;lede-ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin&quot;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;A nomeclatura da versão é parecida com a adotada pelo OpenWRT: ano.mês.correção. O ano/mês se referem ao momento que foi criado um ramo nos fontes para o lançamento da nova versão. Já o último número é apenas um sequencial de correção. Então, para quem usa uma versão 17.01.x, a próxima 17.01.x+1 conterá apenas bugs resolvidos (em especial, os de segurança) e deve ser considerada como recomendada. Prometeram lançar versões de correções periodicamente. Vamos acompanhar&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em &lt;a href=&quot;https://downloads.lede-project.org/&quot;&gt;downloads&lt;/a&gt;, navegue para releases, a versão desejada (&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;17.01.0&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;até agora), &quot;targets&quot; &amp;nbsp;e seguindo o caminho da &quot;arquitetura alvo&quot; em uso no seu roteador. Se você já é um usuário do OpenWRT, você pode vê-la olhando o arquivo /etc/openwrt_release:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;root@router:~~# cat /etc/openwrt_release&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_ID=&#39;OpenWrt&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_RELEASE=&#39;15.05&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_REVISION=&#39;r46767&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_CODENAME=&#39;chaos_calmer&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;b&gt;DISTRIB_TARGET=&#39;ar71xx/generic&#39;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_DESCRIPTION=&#39;OpenWrt Chaos Calmer 15.05&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;DISTRIB_TAINTS=&#39;&#39;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;A diferença no LEDE para o OpenWRT é a presença do &quot;targets&quot; e, no mesmo nível, &quot;packages&quot;. Comentei esta diferença no post anterior, mas normalmente o &quot;packages&quot; não é para você e será usado quase que exclusivamente pelo opkg de forma transparente.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;OK, chegamos a uma lista enorme de firmwares! Vamos entender o que significa cada parte do nome do arquivo. O formato mudou um pouco no LEDE. Tomemos por exemplo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;lede-17.01.0-r3205-59508e3-ar71xx-generic-tl-wr2543-v1-squashfs-sysupgrade.bin&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;lede&lt;/b&gt; é o sistema operacional que você está instalando ;-)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;17.01.0&lt;/b&gt; é a versão do lede. &lt;b&gt;Em firmwares instáveis, este campo não existe!&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;r3205&lt;/b&gt; é um sequencial do número de mudanças no fonte. Serve para saber se um arquivo é mais velho do que outro.&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Caso apareça algo a mais como r3205+2, significa que alguém deve ter feito 2 mudanças não oficiais sobre a versão r3205.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;59508e3&lt;/b&gt; é a versão resumida do hash da última mudança no git. Você pode usar comandos git sobre ela nos fontes do LEDE como &quot;git log&amp;nbsp;59508e3&quot;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;ar71xx&lt;/b&gt; é a família do SoC (chip) do seu dispositivo. Você descobre isso na wiki do projeto ou abrindo o seu roteador e lendo os CI.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;generic&lt;/b&gt; é o formato do layout da flash. Normalmente será o &quot;generic&quot;, exceto para casos especiais.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;tl-wr2543-v1&lt;/b&gt; este é o modelo do seu roteador! Observe em especial a versão do HW (v1) pois ela pode mudar completamente o dispositivo, inclusive de família do SoC.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;squashfs&lt;/b&gt; é o tipo do armazenamento da imagem. Nesta, existe uma cópia imutável dos arquivos (ROM) e o resto da flash é usada para, de forma transparente, guardar as modificações (overlay). Tudo parece editável para o usuário. A diferença é que você pode, a qualquer momento, apagar as diferenças e restaurar o sistema pós-instalação. Pode existir também o formato jffs2. Neste, não existe uma ROM e tudo pode ser realmente apagado. Alterou o arquivo errado? Vai ter que recuperar pela serial, JTAG ou arrancando a flash. Não recomendo!\&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;sysupgrade&lt;/b&gt; é a função da firmware. Esta é para atualizar de um OpenWRT/LEDE para outro (e, em alguns casos, de outros firmwares alternativos como DD-WRT). Porém, não deve ser reconhecido pela firmware original do roteador. Para primeira instalação, ainda com a firmware original, use a variante &quot;&lt;b&gt;factory&lt;/b&gt;&quot;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Finalmente, é muito importante&amp;nbsp;&lt;b&gt;ler a wiki do seu roteador independente se ele já funcionava na versão anterior!&lt;/b&gt;&amp;nbsp;São poucos minutos de leitura que podem salvar horas de trabalho ou mesmo seu roteador. Durante esta fase de OpenWRT e LEDE, sugiro que procurem na wiki de ambos os projetos.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Bem, se eu simplesmente ir na interface, fornecer a nova imagem, ele vai funcionar? Provavelmente, mas talvez não é a maneira que dê menos trabalho. A atualização pode preservar as configurações mas não os programas instalados. Se você tem raiz expandida em unidade externa, a encrenca é ainda maior.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Mas eu nunca instalei um programa! OK, use a interface web e provavelmente todas as configurações serão migradas sem problemas. Já testei isto em mais de um roteador e funcionou sem problemas. Mas&amp;nbsp;&lt;b&gt;faça o&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;backup&lt;/a&gt;&lt;/span&gt;&amp;nbsp;antes&lt;/b&gt;! Caso tenha instalado algum pacote, continue lendo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em primeiro lugar, precisamos do plano de retorno caso a nova versão não se comporte como o esperado. Faça sempre um&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;backup&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;geral do seu sistema. No processo de upgrade, eu sugiro que sejam feitas as três formas diferentes de backup que eu comento no&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;artigo sobre o tema&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;backup&amp;nbsp;gerado pelo sistema, lista de pacotes instalados e todos os arquivos do overlay&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;. Este último serve apenas para o plano de retorno caso algo importante não funcione para você na nova versão (e para recuperar algo que não entrou no backup do sistema).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agora, finalmente, você está pronto para enviar a nova firmware. Se você usa um&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot; target=&quot;_blank&quot;&gt;armazenamento externo&lt;/a&gt;&amp;nbsp;para expandir a raiz, leia até o final deste post&amp;nbsp;&lt;b&gt;antes de iniciar o processo&lt;/b&gt;! Faça o upgrade pela interface web ou pelo terminal. Inclusive, você pode baixar o arquivo diretamente no roteador. Ex:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# cd /tmp&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# wget&amp;nbsp;http://downloads.lede-project.org/releases/17.01.0/targets/.../generic/lede-17.01.0-r3205-59508e3-....-squashfs-sysupgrade.bin&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;# sysupgrade&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;lede-17.01.0-r3205-59508e3-....-squashfs-sysupgrade.bin&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Só cuidado ao colar a URL. O&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;downloads.lede-project.org usa HTTPS por padrão mas o wget do OpenWRT não tem suporte para HTTPS (por padrão). Contudo, o&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;downloads.lede-project.org aceita http sem problemas, só tirar o &quot;s&quot; se tiver problemas.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E pode fazer pela Wifi? Os fabricantes não recomendam usar sempre um computador &quot;conectado por cabo&quot;? Sim, e já tive problemas com atualização a partir da firmware do fabricante por não escutar isto. Mas não com OpenWRT/LEDE. Se estiver atualizando (e não instalando a primeira vez!), pode fazer pela Wifi sem problemas. Quando a gravação for iniciada, todo o processo já está independente do computador cliente. Só não pode faltar energia ;-)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E depois do &quot;Enter&quot;/&quot;Gravar&quot;, é a hora que você reza. Sempre dá um frio na barriga.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se optar por preservar as configurações, tudo que seria guardado em um backup do sistema (listado pelo &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sysupgrade -l&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;) será restaurado. Se você instalou algum pacote e guardou a lista do que foi instalado (lembra que eu sugeri há alguns parágrafos atrás?), esta é a hora que você reinstala os pacotes desejados. Se for instalar manualmente, procure instalar os pacotes de mais alto nível (ex: &quot;luci-app-minidlna&quot; antes de &quot;minidlna&quot;), pois eles irão, por dependência, baixar os pacotes requeridos. No final do processo, é bom refazer a listagem do que está instalado e comparar com o que você tinha na versão anterior.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Podem ser criados arquivos sufixados com &quot;-opkg&quot; em /etc/. Este são arquivos de configuração originais do pacote e são criados pois você modificou algo na configuração. Sugiro que verifique se não existe alguma coisa introduzida neste pacote que deveria ser adicionada no seu arquivo de configuração. Eu gosto do diff ou do &quot;vim -d&quot; para este trabalho comparando o arquivoconf com arquivoconf-opkg. Ao final do processo, eu gosto de apagar qualquer -opkg para deixar claro que apliquei tudo que queria.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;As atualizações de segurança serão disponibilizadas por meio de atualização de pacotes (exceto as que exijam mudar o kernel). Para listar os pacotes atualizáveis:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;# opkg update&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;# opkg list-upgradable&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O maior problema é que estas atualizações de segurança, quando de pacotes embutidos oriundas na firmware instalada, ocuparão o espaço duas vezes no roteador pois ao substituir arquivos existentes na firmware inicial, ainda será preservado a versão em somente leitura para recuperação. Se for um problema para seu caso, a alternativa é esperar a próxima versão com a correção ou &lt;a href=&quot;http://luizluca.blogspot.com.br/2012/01/openwrt-turbine-seu-roteador_25.html&quot;&gt;gerar uma nova firmware&lt;/a&gt; com o pacote atualizado.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Por fim,&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-fazendo-backups.html&quot; target=&quot;_blank&quot;&gt;faça um novo backup&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;geral. É sempre bom preservar o seu trabalho.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se precisar retornar a versão anterior do OpenWRT, realize a gravação da firmware antiga, entre no modo de recuperação e restaure a overlay.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se você não usa&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;uma unidade externa para expandir o espaço interno, seu trabalho acabou. Para os demais, o processo é um pouco mais complicado... Ao atualizar o sistema, você terá um kernel novo que é incompatível com os módulos de kernel&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;ou mesmo com as bibliotecas&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;existentes na unidade externa, que ainda pertencentes à versão anterior. Você precisaria reinstalá-los. Esta é a sugestão de como proceder:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em primeiro lugar, gere todos os backups sugeridos anteriormente. É importante preservar seu trabalho anterior. Ainda sem instalar a nova firmware, reinicie o sistema sem a unidade externa. Se você seguiu&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot; target=&quot;_blank&quot;&gt;minha sugestão de manter uma configuração básica na flash interna&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;, você ainda terá um ambiente funcional. Com isto, ele vai usar somente a flash interna (com a configuração que você tinha antes de usar a unidade externa).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ainda com a unidade externa desconectada, faça o procedimento de atualização descrito neste artigo para quem não usa raiz expandida, inclusive com a etapa de backups. Você terá que preservar os dois conjuntos de backups:&amp;nbsp;&lt;b&gt;com e sem&lt;/b&gt;&amp;nbsp;a unidade externa em uso. Ao final do processo, você deverá ter a sua configuração básica restabelecida.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Caso tenha optado por não preservar as configurações na gravação, você pode aproveitar o backup gerado quando a unidade externa estava desconectada (o segundo) para restaurar as configurações.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Neste momento, a unidade externa ainda está com os programas da versão anterior, que são geralmente incompatíveis com a nova versão (os módulos de kernel sempre o são). Por isto,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;precisamos nos livrar de todos os arquivos da versão anterior do OpenWRT presentes na unidade externa. N&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;a unidade externa&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;, na partição usada como overlay, remova todo o conteúdo ou mova tudo para um subdiretório (ou para outra unidade se não estiver com espaço livre) afim de que este não seja usado. Como sugestão, crie um &quot;openwrt-versao-xxx&quot; e mova tudo para lá. Refaça a&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot;&gt;configuração de uso&lt;/a&gt;&lt;/span&gt;&amp;nbsp;de uma unidade externa (que no mínimo será reinstalar os pacotes necessários). Reinicie o sistema. Você deve estar&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;agora&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;com mais espaço na raiz.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Neste ponto, você ainda terá as mesmas configurações que tinha quando usou o sistema sem a unidade externa. Envie o primeiro backup da versão anterior feito com a unidade externa conectada (primeiro backup). Na sequência, reinstale os pacotes extras, assim como é feito para ambientes sem a raiz expandida. Complete o trabalho com aquele backup final.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Espero que apreciem a nova versão. De agora em diante, vou apenas focar em configurações específicas para LEDE 17.01.0, que ainda podem funcionar nas versões OpenWRT 15.05, 14.07, 12.09 e 10.03.1.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; line-height: 20px;&quot;&gt;Se pintar um problema, tem sempre o&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; target=&quot;_blank&quot;&gt;fórum&lt;/a&gt;&amp;nbsp;deste blog.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; line-height: 20px;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/6002928546088224180/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2017/03/openwrtlede-atualizando-para-lede-17010.html#comment-form' title='35 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/6002928546088224180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/6002928546088224180'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2017/03/openwrtlede-atualizando-para-lede-17010.html' title='OpenWRT/LEDE: atualizando para LEDE 17.01.0'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>35</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-3728921117214237734</id><published>2017-02-27T23:48:00.002-03:00</published><updated>2017-03-13T02:00:39.478-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LEDE"/><category scheme="http://www.blogger.com/atom/ns#" term="LEDE 17.01.0"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><title type='text'>LEDE é o novo OpenWRT: lançado primeira versão estável!</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O &quot;grande tema&quot; deste blog tem sido o OpenWRT. Entretanto, talvez isto tenha que mudar. Agora, o &lt;a href=&quot;https://lede-project.org/&quot; target=&quot;_blank&quot;&gt;LEDE&lt;/a&gt; (Linux Embedded Development Environment) deve ocupar o seu lugar (rimou?).&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Evitei comentar o assunto LEDE até este momento pois ainda não estava sacramentado o destino dos projetos.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Para quem não acompanhou&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;todos os capítulos da novela, vou tentar resumir.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O OpenWRT já não era mais uma mocinha. Depois de vários anos de projeto, a estrutura continuava a mesma: um pequeno grupo superpoderoso &quot;dono do nome, servidores, acesso de administração, poder de conceder escrita ao repositório, etc&quot; e um grupo de desenvolvedores posteriores que formavam o grupo de desenvolvimento (core developers). Já há algum tempo, quem realmente fazia o OpenWRT eram os desenvolvedores que chegaram depois. Apesar desses novos desenvolvedores estarem no grupo core (terem acesso de escrita&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;concedido pelos principais desenvolvedores),&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;seu poder era limitado.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Os desenvolvedores &quot;originais&quot; tinham o poder de veto sobre mudanças, direção do projeto, ferramenta de controle de versão, tudo sem regras claras, apenas baseado na sua convicção. Este autoritarismo pode funcionar bem em alguns projetos, como o Wine ou mesmo o Linux (o kernel), mas se mostrou desastroso para o OpenWRT.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Uma das brigas foi a adoção do git. Sim, existem outros si&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;stemas de controle de versões e o XYZ é melhor... mas o git é uma mãe para desenvolvimento distribuído. Todos queriam, menos os &quot;donos da bola&quot;, que mantinham o SVN. O acesso aos servidores também foi um problema sério. Diversos casos de indisponibilidade (inclusive até hoje em dia eles ocorrem) levavam um significativo tempo para serem sanados. Isto é péssimo para um projeto que também não aceitava espelhos parceiros. Boa parte das brigas não eram divulgadas pois ocorriam em uma lista fechada a apenas os desenvolvedores core. Não foi um evento específico mas o clima estava ficando péssimo. Apesar dos desenvolvedores &quot;donos da bola&quot; não fazerem mais uma contribuição quantitativamente significativa para o OpenWRT, eles ainda se apresentavam como a &quot;cara&quot; do projeto. E quem fazia o trabalho duro não gostava muito disso.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agora entra a beleza do Software Livre! Nome (marca), servidores, domínios DNS tem dono. Código não. Os principais desenvolvedores (fora os &quot;donos da bola&quot;) se juntaram e fizeram um &quot;fork&quot; em um outro projeto: LEDE Project. Em suma, é o código do OpenWRT com os desenvolvedores responsáveis, na época, por mais de 90% das contribuições do OpenWRT. A estrutura é muito mais aberta, comunicação bem mais transparente (primam por mídias abertas), o poder é distribuído e infraestrutura simplificada. O código sofreu rapidamente melhorias significativas, que antes eram vetadas. O git foi adotado, as formas de contribuição flexibilizadas (aceitam PR no Github ;-), que aumentou o envolvimento de novos desenvolvedores. Teve diversas mudanças mas o resultado é que deu uma revigorada no projeto.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E o OpenWRT? Se uma das críticas dos &quot;rebeldes&quot; era justamente a dificuldade de conceder acesso para novos desenvolvedores, como um projeto que perde mais de 90% do seu desenvolvimento atual poderia sobreviver? A lista openwrt-devel, antes vivida, parecia a lista da turma da faculdade de 15 anos atrás: rola uma mensagem por semana mas nada de útil. O desenvolvimento mingou ao insignificante, em ritmo de manutenção mínima. Os &quot;donos da bola&quot; ficaram com a bola mas sem time para jogar. Simplesmente não teriam como manter o projeto sozinhos (mas demoraram para entender).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Alguns meses depois da separação difícil, os dois grupos sentaram para conversar. Concordaram que seria benéfico unificar os projetos. O primeiro passo foi conceder acesso aos antigos desenvolvedores do OpenWRT ao código do LEDE (por votação, como ocorre com qualquer outro novo desenvolvedor). Como o LEDE estava muito mais avançado, seria usado como o fonte. Resta ainda hoje decidir alguns pontos como: qual seria o nome? Usar a wiki e fórum de quem? Redirecionar? Sincronizar? Essas coisas. O LEDE não está muito preocupado com isso pois o que o OpenWRT tem a oferecer a mais é o nome. Esse até mesmo perdeu seu sentido quando o OpenWRT passou a rodar em diversos dispositivos não rotadores wireless (&lt;b&gt;W&lt;/b&gt;ireless &lt;b&gt;R&lt;/b&gt;ou&lt;b&gt;T&lt;/b&gt;er), ao mesmo tempo que perdeu suporte no Linksys &lt;b&gt;WRT&lt;/b&gt;56G. E qualquer mesclagem/alteração de nome é um esforço que poderia ser utilizado melhorando o produto.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;De qualquer forma, o LEDE acaba de lançar a sua primeira versão estável: &lt;a href=&quot;https://downloads.lede-project.org/releases/17.01.0/&quot;&gt;2017.01.0&lt;/a&gt;! Acho que isto sacramenta o fim do projeto OpenWRT. Posso estar errado mas acho que logo a página do OpenWRT será apenas conteúdo histórico com um redirecionamento para o LEDE. Vamos ver...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agora a parte importante: o que temos de bom? Em primeiro lugar, separaram os pacotes das imagens. Ainda existem pacotes específicos para um tipo de equipamento, em especial o kernel, mas não fazia sentido recompilar o mesmo pacotes quando as instruções de processador eram as mesmas. Então, ao baixar uma firmware nova em &lt;a href=&quot;https://downloads.lede-project.org/releases/17.01.0/&quot;&gt;Downloads&lt;/a&gt;, vá em &quot;targets&quot; e não em &quot;packages&quot; (o resto é igual). Esta mudança não afeta o uso do opkg do ponto de vista do usuário.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Várias versões foram atualizadas, melhorado desempenho, latência, e outras mudanças evolutivas. Ah, e o Telnet que é muito usado no modo de emergência? Morreu: use SSH sempre, mesmo antes de definir a senha de root. Isto significa que teremos também o scp funcionando ;-)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;O repositório de pacotes extra (https://github.com/openwrt/packages) continua ativado por padrão e, apesar do nome OpenWRT, o foco agora é LEDE.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Vou atualizar e relançar o post sobre atualização de versão do &lt;strike&gt;OpenWRT&lt;/strike&gt;LEDE. Até este momento, todos os upgrades funcionaram sem problemas de tal forma que um observador desatento nem notaria a mudança. Sim, pode fazer o upgrade a partir do OpenWRT como se fosse uma atualização de versão do próprio OpenWRT.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ah, um dos problemas com a versão nova são os roteadores mais humildes. O opkg pode ter problemas com roteadores com 32 MBytes de RAM ao instalar pacotes e aqueles com 4MB de armazenamento já vão chegar quase cheios. Então, talvez você não consiga instalar mais coisas no seu TL-WR740N. Eu tive que baixar os pacotes manualmente e desligar o Luci. Estão trabalhando para melhorar isso...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Até a próxima!&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/3728921117214237734/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2017/02/lede-e-o-novo-openwrt-lancado-primeira.html#comment-form' title='20 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/3728921117214237734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/3728921117214237734'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2017/02/lede-e-o-novo-openwrt-lancado-primeira.html' title='LEDE é o novo OpenWRT: lançado primeira versão estável!'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-4262658541953566969</id><published>2016-05-22T03:42:00.001-03:00</published><updated>2018-05-15T09:55:44.761-03:00</updated><title type='text'>NetVirtua e problemas com IPv6 (perda de rota padrão)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Sim, IPv6 é necessário, é o futuro e já devíamos estar todos usando. Se você se julga com algum conhecimento de redes e não conhece IPv6, já passou da &lt;a href=&quot;http://ipv6.br/pagina/downloads&quot; target=&quot;_blank&quot;&gt;hora de estudar&lt;/a&gt;. Mas não é sobre isto este artigo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Sou um entusiasta do IPv6 faz alguns anos. Sempre sonhei poder conectar da internet em qualquer equipamento da minha rede interna sem todos os &quot;artifícios técnicos&quot; para contornar o NAT (encaminhamento de porta, túnel sobre SSH, etc). Bastaria o firewall não bloquear. Por este motivo, em 2010 eu &lt;a href=&quot;http://luizluca.blogspot.com.br/2012/01/openwrt-turbine-seu-roteador_21.html&quot; target=&quot;_blank&quot;&gt;já utilizava túneis&lt;/a&gt; para obter conectividade IPv6. Era lento, deixava minha navegação pior, mas funcionava perfeitamente.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em 2015, finalmente chegou o tão sonhado IPv6 pelo provedor! Logo reconfigurei meus equipamentos para utilizar a nova pilha IPv6. E então apareceram os problemas. Este é o tema deste artigo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Administro duas redes ligadas a Net. Testei a configuração em uma... funcionou! Perfeito. Copiei para a segunda... funcionou novamente! Porém, depois de alguns minutos, notei que as máquinas da primeira rede não mais conversavam IPv6 com o mundo. No roteador da rede, ele estava sem rota padrão para o IPv6. Desliguei alguma coisa? E a segunda rede continuava a funcionar. Recarreguei a interface WAN e tudo voltou a funcionar. Mais alguns minutos... novamente&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;sem IPv6 na primeira rede! (e a segunda rede continuava a funcionar...). Como as duas redes usavam o mesmo equipamento, mesma configuração, seria problema do equipamento do provedor? Vamos a investigação.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;A NET distribui IPv6 por DHCPv6. O comportamento é similar ao IPv4: você ganha um endereço WAN para falar com a internet. A diferença é que, como não temos mais NAT, não iremos esconder os computadores da rede interna nem usar endereços falsos (192.168.x.x). Nesta mesma requisição do DHCPv6, a NET também informa uma rede com endereços IPv6 reais para suas máquinas internas (LAN), chamado de prefixo delegado. O roteador usa este endereço para que sejam definidos os endereços IPv6 (reais) da LAN. Tudo está funcionando perfeitamente quando, então, a tabela de roteamento IPv6 que era:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;root@router:~# ip -6 r&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;default from 2804:14d:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;????&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;:1000:204c:36a0:daed:f2d7 via fe80::217:10ff:fe87:5c9c dev eth0.2 &amp;nbsp;proto static &amp;nbsp;metric 512&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;default from 2804:14d:????:8417::/64 via fe80::217:10ff:fe87:5c9c dev eth0.2 &amp;nbsp;proto static &amp;nbsp;metric 512&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;2804:14d:????:1000::/64 dev eth0.2 &amp;nbsp;proto static &amp;nbsp;metric 256&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;2804:14d:????:1010::/64 dev eth0.2 &amp;nbsp;proto static &amp;nbsp;metric 256&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;2804:14d:????:8417::/64 dev br-lan &amp;nbsp;proto static &amp;nbsp;metric 1024&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Vira:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;root@router:~# ip -6 r&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;2804:14d:????:1000::/64 dev eth0.2 &amp;nbsp;proto static &amp;nbsp;metric 256&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;2804:14d:????:1010::/64 dev eth0.2 &amp;nbsp;proto static &amp;nbsp;metric 256&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;2804:14d:????:8417::/64 dev br-lan &amp;nbsp;proto static &amp;nbsp;metric 1024&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Se você está enfrentando isto e quer apenas &quot;resolver&quot;, para usuários do OpenWRT, basta subir novamente a interface wan6 a cada 20 minutos. A cron é excelente&amp;nbsp;para isto:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;root@router:~# crontab -l&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;*/20 * * * * /sbin/ifup wan6&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Isto não era suficiente. Eu queria mais: mas porquê? E eu tinha um trunfo: acesso a duas redes com comportamentos diferentes. O primeiro passo é sempre dar uma &quot;cheirada&quot; na rede. O roteador das duas redes são OpenWRT. Desta forma, posso instalar o tcpdump(-mini) e capturar os pacotes durante a negociação do endereço. Podemos fazer isto de forma assíncrona:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;root@router:~#&amp;nbsp;tcpdump -i eth0.2 -U -s 0 -w /tmp/dump-ipv6.pcap ip6&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;E analisar o arquivo dump-ipv6.pcap, ou mesmo já jogar a captura para dentro do wireshark local.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;luiz@minhamaquina:~$ ssh root@router tcpdump -i eth0.2 -U -s 0 -w - ip6 | wireshark -k -i -&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Observando as duas capturas, já é possível notar que estamos em equipamentos diferentes da NET. Na que para de funcionar, o roteador que responde é o&amp;nbsp;2804:14d:baa6:1000::1&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;(vou chamar de baa6)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;. Na segunda, que continua a funcionar,&amp;nbsp;2804:14d:baa5:1000::1 (vou chamar de baa5).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Na rede que para de funcionar depois de um tempo, a requisição de roteador (&lt;i&gt;router solicitation&lt;/i&gt; - RS) que ocorre antes do DHCPv6 é respondida, enquanto na outra, não. Aparentemente o baa6 está configurado para enviar RA&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;(&lt;i&gt;route advertisement&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;e o baa5 não. Mas responder (ou não) com um RA não deveria ser um problema, desde que ele continue a respondê-lo e enviá-lo periodicamente.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;De resto, os dois tráfegos são equivalentes, exceto que a rede que funciona (conectada no&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;baa6)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp;tenta novamente após 10s uma nova solicitação de roteador (também sem resposta).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Olhando com carinho,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;o tempo de vida do RA (&lt;i&gt;router lifetime&lt;/i&gt;) é de 1800s (30 min), muito próximo ao tempo até a queda da rota padrão. Interessante. Pode ser por aí o problema. O RA é enviado voluntariamente pelo roteador em um período aleatório mas dentro de um intervalo máximo e mínimo. Pelo que eu entendi da &lt;a href=&quot;https://tools.ietf.org/html/rfc4861#section-6.3.7&quot; target=&quot;_blank&quot;&gt;RFC 4861&lt;/a&gt;, o cliente não deve enviar um novo&amp;nbsp;RS em situações normais, apenas aguardar o próximo RA que deveria chegar antes de estourar o tempo de vida da rota (&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;i&gt;router lifetime&lt;/i&gt;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Então, onde está meu RA não solicitado? Será que o roteador não está enviando? Ou será que ele está sendo bloqueado? Eu monitorei o tráfego e não achei qualquer outro RA chegando na minha interface WAN.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Bem, vamos simular uma situação onde o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;baa6 não responderia o RS. Isto pode ser feito bloqueando qualquer RA que chega no roteador pela WAN.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;root@router:~# ip6tables -A INPUT -i eth0.2 -p ipv6-icmp -m icmp6 --icmpv6-type 134 -m comment --comment &quot;bloqueia RA da NET&quot; -j DROP&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Ou para usuário do OpenWRT:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;strike&gt;&lt;br /&gt;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;config rule&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option name &#39;bloqueia RA da NET&#39;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option src &#39;wan&#39;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option proto &#39;icmp&#39;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option family &#39;ipv6&#39;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;list icmp_type &#39;router-advertisement&#39;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;strike&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option target &#39;DROP&#39;&lt;/strike&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;b&gt;Atualizando&lt;/b&gt;: a recarga das regras do firewall ocorria justamente quando o RA estava chegando. Por isto, o RA poderia ser aceito neste tempo. Melhor usar uma regra em um chain que o fw3 não limpa ao recarregar (somente ao reiniciar). Coloque isto em /etc/firewall.user:&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;if ! ip6tables -L INPUT | grep -q &quot;bloqueia RA da NET&quot;; then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;Primeira vez que esta rodando... adicionando filtro do RA e recarregando WAN&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ip6tables -t filter -I INPUT -i $(uci get network.wan.ifname) -p icmpv6 -m icmp6 --icmpv6-type 134 -m comment --comment &quot;bloqueia RA da NET&quot; -j DROP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ifup wan6&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;fi&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
Você saberá que funcionou quando o comando abaixo mostrar no primeiro número (número de pacotes casados) um valor diferente de zero (normalmente 4):&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;root@router:~#&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;nbsp;ip6tables -L -nv | grep &#39;bloqueia RA da NET&#39;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;4&lt;/b&gt; &amp;nbsp; 544 DROP &amp;nbsp; &amp;nbsp; &amp;nbsp; icmpv6 &amp;nbsp; &amp;nbsp;eth0.2 * &amp;nbsp; &amp;nbsp; &amp;nbsp; ::/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::/0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ipv6-icmptype 134 /* bloqueia RA da NET */&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: arial, helvetica, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Depois de 30 minutos nossas rotas devem ainda estar vivas. Estamos no caminho certo. Sem RA, a rota padrão vem apenas do DHCPv6 e sem validade de 30 minutos. Falta apenas descobrir o porquê de não receber o RA. Se o equipamento for um Cisco, eu chutaria que ele usou &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;ipv6 nd ra suppress&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&quot; quando deveria ter usado &quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;a href=&quot;https://supportforums.cisco.com/discussion/11824611/problem-disable-ipv6-router-advertisements-suppress-command&quot; target=&quot;_blank&quot;&gt;ipv6 nd ra suppress all&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&quot;. Mas vamos a mais alguns testes novamente com o sniffer ligado.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Pelo DHCPv6, recebo o endereço WAN e uma rede para a LAN. Esta rede para LAN vai gerar todos os endereços de equipamentos da minha rede local, inclusive para a interface LAN do roteador. No meu caso, ela é &amp;lt;prefixo recebido&amp;gt;::1/64. Quando eu realizava um teste com o ping6 para endereços na internet, eles respondiam sem problemas. Porém, eu notei que o roteador estava usando o endereço da LAN e não da WAN. E se eu escolher o endereço que o ping deve usar? Ex:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;root@router:~#&amp;nbsp;ping -6 -I &lt;b&gt;&amp;lt;endereço IPv6 WAN e não o nome da interface!&amp;gt;&lt;/b&gt; ipv6.br&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Bingo! Na rede que sempre funcionou o IPv6 (ligada ao baa5), consigo usar tanto o endereço LAN como o WAN e ambos funcionam. Na rede que não funciona (ligada ao baa6), não tenho resposta. Agora a dúvida: eu não consigo enviar ou receber? Novamente vamos usar o trunfo de ter administração em duas redes. Ligando o sniffer na rede sem problemas, podemos ver a chegada e a saída de pacotes:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;02:50:15.246987 IP6&amp;nbsp;[IP:&lt;b&gt;LAN&lt;/b&gt;:baa6]&amp;nbsp;&amp;gt;&amp;nbsp;[IP:WAN:baa5]&amp;nbsp;ICMP6, echo request, seq 0, length 64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;02:50:15.247433 IP6&amp;nbsp;[IP:WAN:baa5]&amp;nbsp;&amp;gt;&amp;nbsp;[IP:&lt;b&gt;LAN&lt;/b&gt;:baa6]&amp;nbsp;ICMP6, echo reply, seq 0, length 64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;02:50:40.377930 IP6&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;[IP&lt;b&gt;:WAN&lt;/b&gt;:baa6]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;[IP:WAN:baa5]&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;nbsp;ICMP6, echo request, seq 0, length 64&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;02:50:40.378262 IP6&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;[IP&lt;b&gt;:&lt;/b&gt;WAN:baa5]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;[IP:&lt;b&gt;WAN&lt;/b&gt;:baa6]&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;nbsp;ICMP6, echo reply, seq 0, length 64&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Opa! O &quot;&lt;i&gt;echo request&lt;/i&gt;&quot; chegou nos dois casos e foram respondidos prontamente. Agora olhando no lado da origem:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;02:50:15.246987 IP6&amp;nbsp;[IP:&lt;b&gt;LAN&lt;/b&gt;:baa6]&amp;nbsp;&amp;gt;&amp;nbsp;[IP:WAN:baa5]&amp;nbsp;ICMP6, echo request, seq 0, length 64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;02:50:15.247433 IP6&amp;nbsp;[IP:WAN:baa5]&amp;nbsp;&amp;gt;&amp;nbsp;[IP:&lt;b&gt;LAN&lt;/b&gt;:baa6]&amp;nbsp;ICMP6, echo reply, seq 0, length 64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;02:50:40.377930 IP6&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;[IP&lt;b&gt;:WAN&lt;/b&gt;:baa6]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;[IP:WAN:baa5]&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&amp;nbsp;ICMP6, echo request, seq 0, length 64&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: xx-small;&quot;&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Faltou chegar o pacote da resposta. Tentando o ping vindo da outra rede, nada chegou. Tentei também ping vindos de fora das duas redes e o comportamento foi o mesmo. Na rede que sempre funcionou, recebi os pacotes sem problemas. Na outra, nenhum pacote chegou.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Para confirmar esta suspeita, liguei o cabo do NetVirtua diretamente em um computador. Assim, ele assumiria o endereço WAN para uso normal (sem usar o prefixo delegado). O resultado: ganhei o endereço IPv6 mas, fora isto, nada relacionado a IPv6 funcionou pois nunca recebi pacotes vindos da internet do IPv6. Para que serve uma conexão com a internet se só posso enviar pacotes e não receber?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Em suma: a NET está com um roteador que não permite enviar dados para o endereço IPv6 WAN. Por mera coincidência, ele também responde o RS com um RA, o que exigiria o envio de um novo RA antes de estourar a validade da rota (30 min). Como não recebo qualquer pacote, o novo RA nunca chega e perco a rota padrão. Se o RA estivesse desligado, isto dificilmente seria notado pois é raro que os roteadores recebam pacotes (exceto se usar OpenWRT).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Enviei tudo isto para a Net e esta foi a sua grande resposta:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Protocolo de Atendimento:08815.12620.98631&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Prezado cliente,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Informo que nesse momento não há viabilidade técnica para instalação dos produtos IPV6 e infelizmente não há previsão de adequação da rede e liberação da mesma para comercialização dos produtos.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agradecemos o seu contato.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Atenciosamente,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;MARCKSON FERNANDO DE DEUS&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Depois dessa como vou argumentar?! Meu endereço IPv6 e o roteamento com a internet deve ter brotado por&amp;nbsp;abiogênese!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;Atualizando&lt;/b&gt;: entrei em contato novamente para a NET. A nova resposta:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Protocolo de Atendimento: 08816.14500.66951&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Prezado cliente,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Recebemos o seu e-mail e conforme verificado em sistema informamos que o seu EMTA 2.0 não é compatível com protocolo IPV6. É necessário a troca do equipamento para obter o IPV6, ressaltamos que a visita será cobrada o valor de R$ 90,00, caso tenha interesse será necessário realizar uma nova solicitação através de nossos canais de atendimento, que agendaremos uma visita técnica em sua residência.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Agradecemos o seu contato.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Atenciosamente,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;LARISSA RIBEIRO SANTOS&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Legal! Querem agora me cobrar por uma falha deles! Ao menos não disseram que não tenho esse tal de IPv6. Agora vamos a argumentação: EMTA 2.0 deve ser DOCSIS 2.0, que realmente não teria suporte ao IPv6. Porém, No local onde funcionava (ligado ao baa5), o modem era realmente diferente (Cisco &amp;nbsp;DPC2203) do meu (Thomson DHG534B). Porém, ambos com suporte somente a DOCSIS 2.0. Também consegui testar em um terceiro ponto com o modem IGUAL ao meu. Surpresa?! Funcionou perfeitamente! Mas este ponto está ligado a um terceiro roteador na Net (baa1). Então, de três pontos diferentes da Net, 2 funcionam e 1 não. Os roteadores tem o mesmo sistema operacional (OpenWRT) e configuração IPv6 (default). Todos os modems são DOCSIS 2.0 e com o mesmo modelo de modem, de um lugar funciona e outro não. Dá para afirmar com uma certa segurança que o problema é a configuração do baa6.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Como se argumenta com a NET desta forma? Vou ligar para eles e tentar falar com alguém que entende...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;

&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Alguém aí trabalha na Net ou conhece alguém da área técnica? Compartilha este link ;-) Não queria ter que começar mais &lt;a href=&quot;http://luizluca.blogspot.com.br/2011/12/atendimento-eletronico-da-anatel-com.html&quot; target=&quot;_blank&quot;&gt;uma batalha com a ANATEL&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Para os afetados, sugiro adicionar a regra do firewall e configurar qualquer serviço divulgado na rede (ex: torrent) confirma se ele está usando o endereço IPv6 da LAN e não da WAN.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Dúvidas? Use o &lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; target=&quot;_blank&quot;&gt;fórum&lt;/a&gt; deste blog!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/4262658541953566969/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2016/05/netvirtua-e-problemas-com-ipv6-perda-de.html#comment-form' title='37 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/4262658541953566969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/4262658541953566969'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2016/05/netvirtua-e-problemas-com-ipv6-perda-de.html' title='NetVirtua e problemas com IPv6 (perda de rota padrão)'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-6713712404847944749</id><published>2015-10-29T01:12:00.000-02:00</published><updated>2015-10-29T01:12:00.047-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="15.05"/><category scheme="http://www.blogger.com/atom/ns#" term="CC"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="scanner"/><title type='text'>OpenWRT: nova versão do sane-backends e hplip para OpenWRT</title><content type='html'>&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 13.86px; text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;background-color: white; color: #6699cc; font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-align: justify; text-decoration: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 13.86px; text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&amp;nbsp;sobre o OpenWRT.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 13.86px; text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 13.86px; text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Uma das mudanças da &lt;a href=&quot;http://luizluca.blogspot.com.br/2015/09/openwrt-lancamento-da-versao-1505-caos.html&quot; target=&quot;_blank&quot;&gt;nova versão do OpenWRT&lt;/a&gt; é que a política de gerenciamento dos pacotes foi renovada. Agora todos tem um mantenedor. Os pacotes que não ganharam um pai não foram compilados na nova versão. Então, não estranhe se ao atualizar o seu roteador e tentar reinstalar um pacote, um ou outro pacote estiver faltando.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 13.86px; text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;E o que fazer se você queria aquele pacote? Que tal adotá-lo você mesmo? Fui &lt;a href=&quot;https://github.com/openwrt/packages/pull/1799&quot; target=&quot;_blank&quot;&gt;o que fiz para o sane-backends&lt;/a&gt;. Este artigo é sobre as melhorias feitas neste pacote que fornece a infraestrutura para acesso a scanners. A configuração para transformar um scanner normal em um scanner de rede já foi tema&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/2014/05/openwrt-configurando-um-scanner-de-rede.html&quot; target=&quot;_blank&quot;&gt;anterior deste blog&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;Um dos grandes problemas que o pacote anterior tinha era a exigência de espaço para instalá-lo. Além de conter todos os drivers, ele dependia do CUPS, que não é lá muito pequeno. O ideal para quem for portar algo para o OpenWRT é tentar isolar os recursos em pequenos pacotes para que o usuário possa instalar somente o que ele vai usar. Não era a situação anterior deste pacote.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;O sane-backends era dividido em:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-backends: continha todos os executáveis (incluindo o daemon) e configurações;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-libs: tudo que era uma biblioteca, includindo os drivers e a biblioteca base;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-frontends: clientes simples do sane;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;O problema desta estrutura é que ela separa tipo de arquivo (configuração e executáveis, bibliotecas) e não funcionalidades. O sane-libs não vivia sem o sane-backends e todos os backends (drivers) estavam juntos.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-align: justify;&quot;&gt;Para quem fosse usar o hplip (para scanners HP), nenhum backend era usado. Fora este desperdício, ainda temos a dependência ao CUPS (que é relacionado a impressoras e não diretamente a &lt;/span&gt;&lt;i style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-align: justify;&quot;&gt;scanners&lt;/i&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-align: justify;&quot;&gt;). Então, para usar o scanner no OpenWRT, era quase requisito aumentar o disco com uma &lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/2013/03/openwrt-expandindo-o-espaco-do-disco.html&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-align: justify;&quot; target=&quot;_blank&quot;&gt;unidade externa&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-align: justify;&quot;&gt;. Simplesmente não cabia em uma flash de 8MB.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;O primeiro passo foi juntar o&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;sane-libs e o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;sane-backends e dividí-los por funcionalidade. No caso, temos a biblioteca básica (libsane), que todos os clientes e backends usam, o daemon usado para acesso de clientes remotos e os diversos backends, que são compostos de um módulo (implementado como uma biblioteca - extensão .so) e um arquivo de configuração.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;Na nova modelagem, o pacote ficou dividido em:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;-webkit-text-stroke-width: 0px; color: black; font-family: &#39;Times New Roman&#39;; font-size: medium; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;
&lt;li style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;libsane: apenas a biblioteca básica do sane, usada por todos os drivers (inclusive o hplip);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-daemon: inclui apenas o daemon do sane e suas configurações, depende da libsane;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-&amp;lt;&lt;i&gt;xxx&amp;gt;&lt;/i&gt;: onde &amp;lt;xxx&amp;gt; é um backend. Possui dependência particular de cada pacote;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-backends-all: metapacote que instala todos os backends;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;sane-frontends: clientes simples do sane (igual a versão anterior).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;Foram feitos alguns &lt;i&gt;patches&lt;/i&gt; de melhorias para retirar a dependência do CUPS (era usado somente para localizar um tipo de &lt;i&gt;scanner&lt;/i&gt;), reduzir a dependência entre bibliotecas e mais um bom tanto de ajustes relacionados a compilação em arquiteturas diferentes usando uma libc diferente (uclibc e musl). Algumas das correções foram enviadas ao projeto do SANE e já integram atualmente a versão estável do sane!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 20px;&quot;&gt;Resultado? O básico do sane pode ser instalado com algo em torno de 70 Kbytes (fora a dependência da libusb). Esta nova versão proposta estará na nova versão do OpenWRT (DD) ainda em desenvolvimento neste momento. Se quiser usá-la imediatamente em versões anteriores, tenho um repositório próprio com uma seleta de pacotes para algumas arquiteturas em&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 20px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;a href=&quot;http://luizluca.github.io/openwrt/&quot;&gt;http://luizluca.github.io/openwrt/&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;line-height: 20px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;line-height: 20px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;E se eu tenho uma multifuncional HP, como faço com a hplip? Também temos uma nova versão &lt;b&gt;proposta&lt;/b&gt; da hplip no repositório que mencionei acima. Este, além de atualizar a versão, o que antes era apenas um pacote foi dividido em:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;hplip-common: bibliotecas usadas por ambos os próximos pacotes;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;hplip-sane: backend sane. Se for usar apenas a impressora e não o CUPS no roteador, só vai precisar deste. A impressora ainda pode ser &lt;a href=&quot;http://luizluca.blogspot.com.br/2014/05/openwrt-compartilhando-sua-impressora.html&quot; target=&quot;_blank&quot;&gt;usada sem o driver pelo p910nd&lt;/a&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;hplip-cups: o driver para o cups. Somente este pacote depende do CUPS.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Mesmo o hplip-sane precisava do CUPS para localizar &lt;i&gt;scanners&lt;/i&gt; de rede. Assim como no sane-backends, esta funcionalidade foi removida por um patch para não deixar a dependência. Isto retira uma funcionalidade de buscar &lt;i&gt;scanners&lt;/i&gt; em impressoras na rede. Porém, não fazia muito sentido o roteador buscar um &lt;i&gt;scanner&lt;/i&gt; que já está na rede para, novamente, disponibilizá-lo na rede. Neste caso, o cliente deve conversar diretamente com a impressora e não utilizar o roteador. O foco do uso do OpenWRT é justamente transformar uma impressora/&lt;i&gt;scanner&lt;/i&gt; local em um equipamento de rede.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 20px;&quot;&gt;Todavia, existe ainda uma questão a ser resolvida para as versões CC e DD: ninguém adotou o CUPS. Desta forma, ele não está disponível. Ainda vou ver o que eu posso fazer quanto a isto, se tento eliminar o hplip-cups, adotar o pacote do cups ou esperar que alguém o adote. Provavelmente vou disponibilizar os pacotes do hplip-sane para as novas versões no meu repositório.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Se pintar um problema, tem sempre o&amp;nbsp;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; target=&quot;_blank&quot;&gt;fórum&amp;nbsp;&lt;/a&gt;deste blog.&amp;nbsp;Até a próxima.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/6713712404847944749/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2015/10/openwrt-nova-versao-do-sane-backends-e.html#comment-form' title='55 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/6713712404847944749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/6713712404847944749'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2015/10/openwrt-nova-versao-do-sane-backends-e.html' title='OpenWRT: nova versão do sane-backends e hplip para OpenWRT'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>55</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2600934848988649093.post-6862711573498144732</id><published>2015-10-03T02:29:00.000-03:00</published><updated>2015-10-03T02:29:00.308-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="14.07"/><category scheme="http://www.blogger.com/atom/ns#" term="15.05"/><category scheme="http://www.blogger.com/atom/ns#" term="BB"/><category scheme="http://www.blogger.com/atom/ns#" term="CC"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenWRT"/><category scheme="http://www.blogger.com/atom/ns#" term="QoS"/><category scheme="http://www.blogger.com/atom/ns#" term="roteador"/><title type='text'>OpenWRT: Configurando o QoS - Utilizando o SQM</title><content type='html'>&lt;h3 class=&quot;post-title entry-title&quot; itemprop=&quot;name&quot; style=&quot;background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 18px; font-stretch: normal; font-weight: normal; margin: 0px; position: relative;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;Este é mais um artigo da&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com/search/label/OpenWRT&quot; style=&quot;color: #6699cc; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: justify; text-decoration: none;&quot;&gt;série&lt;/a&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: justify;&quot;&gt;&amp;nbsp;sobre o OpenWRT&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;O problema de QoS foi tratado em dois posts anteriores. No &lt;a href=&quot;http://luizluca.blogspot.com.br/2014/08/openwrt-configurando-o-qos-trafego-de.html&quot; target=&quot;_blank&quot;&gt;primeiro&lt;/a&gt;, mostrando o problema e no &lt;a href=&quot;http://luizluca.blogspot.com.br/2014/08/openwrt-configurando-o-qos-configuracao.html&quot; target=&quot;_blank&quot;&gt;segundo&lt;/a&gt; configurando uma solução com o qos-scripts. Este artigo é uma alternativa ao uso do qos-scripts, utilizando o sqm-scripts.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;O SQM surgiu do projeto CeroWRT (fork &amp;nbsp;do OpenWRT), que tem como principal objetivo atacar o excesso de buffer nos equipamentos de rede (o &lt;/span&gt;&lt;i style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;&lt;u&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bufferbloat&quot; target=&quot;_blank&quot;&gt;bufferbloat&lt;/a&gt;&lt;/u&gt;&lt;/i&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;), que geram grandes latências quando o enlace está sobre carga. As melhorias deste projeto retornaram para o OpenWRT (versão BB ou posterior) e para o Linux em geral.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;Vamos rever alguns conceitos: podemos avaliar um enlace por três parâmetros:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;A taxa de transmissão (vulgarmente conhecido como &quot;velocidade&quot;);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;A latência (duração da viagem de um pacote até seu destino);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;E o jitter (variação na latência).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Contratamos internet sempre pelo primeiro parâmetro (&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;taxa de transmissão)&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&amp;nbsp;mas dificilmente olhamos os demais. Os &quot;speedtests&quot; focam no primeiro, que é quantos dados você pode receber/enviar em um determinado tempo. Este é o fator determinante de quanto tempo o download de um arquivo vai levar ou se sua conexão vai aguentar assistir aquele filme do Netflix sem engasgar.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;Os outros dois parâmetros (latência e jitter) são mais importantes para aplicações &quot;em tempo real&quot;, como videoconferência, voz (VoIP), sessão remota (VNC, RDP, etc) e jogos online com interação imediata (FPS, MMORPG, RTS, etc, mas não o poker). A latência determina em quanto tempo o inimigo do Battefield que entrou na sua frente vai aparecer no seu computador e também quanto tempo o seu tiro vai levar para chegar ao servidor. Se a latência for muito grande, até seu tiro chegar ao servidor, seu inimigo mirou na sua cabeça, pensou duas vezes e atirou umas três vez. No &quot;mundo virtual&quot;, você estava morto antes de tê-lo visto. Mesmo na navegação Web, a latência importa pois se ela estiver em algo como 1s, um clique em uma página vai levar uns 6 segundos para começar a carregar. É o clássico &quot;a internet está lenta hoje&quot;, mas ao baixar um arquivo, a taxa de transmissão não está tão ruim. Já o jitter é a variação deste atraso. Se for significativo, os pacotes começarão a chegar fora de ordem e não serão úteis para aplicações em tempo real. Para minimizar isto,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;foram criadas filas (buffers) que reorderam os pacotes enquanto aguardam serem enviados. O problema é que atualmente se exagera no tamanho nesta fila, gerando o problema do &lt;a href=&quot;https://en.wikipedia.org/wiki/Bufferbloat&quot; target=&quot;_blank&quot;&gt;bufferbloat&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;Quando o enlace estiver sobrando, não existem filas e não existe problema. Agora, quando você tem alguém enchendo a fila dos roteadores no seu caminho (que ocorre quando você baixa ou sobe qualquer coisa na velocidade do seu enlace), o excesso de buffer gera uma fila longa e aumenta da latência). Para testar isto, faça um ping a um equipamento fora da sua rede (ex: 8.8.8.8 do google) e inicie um&amp;nbsp;&lt;i&gt;download&lt;/i&gt; ou &lt;i&gt;upload&lt;/i&gt; (ou ambos) grande para um local que consiga usar toda a sua conexão. A latência do ping irá fatalmente aumentar. Esta diferença no tempo antes e depois do &lt;i&gt;download&lt;/i&gt;/&lt;i&gt;upload&lt;/i&gt; é um indicativo do tempo que um pacote leva para passar na fila dos seus roteadores. Você também pode fazer isto por alguns provedores de &quot;testes de velocidade&quot;, como o&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;a href=&quot;http://www.dslreports.com/speedtest&quot;&gt;http://www.dslreports.com/speedtest&lt;/a&gt;&amp;nbsp;(não foque na velocidade ou na latência, que pode ser pequena/grande pela distância, mas no &lt;i&gt;bufferbloat&lt;/i&gt;). O ideal seria que a latência mesmo quando o enlace estiver com carga (&lt;i&gt;download&lt;/i&gt; ou &lt;i&gt;upload&lt;/i&gt;) deveria ser apenas um pouco maior do que a situação quando o enlace está ocioso. Outra forma de testar é pelo &lt;span id=&quot;goog_1184999353&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://raw.githubusercontent.com/richb-hanover/CeroWrtScripts/master/betterspeedtest.sh&quot; target=&quot;_blank&quot;&gt;scrip&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;a href=&quot;https://raw.githubusercontent.com/richb-hanover/CeroWrtScripts/master/betterspeedtest.sh&quot; target=&quot;_blank&quot;&gt;t&amp;nbsp;betterspeedtest&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&amp;nbsp;do projeto CeroWrt. Funciona em qualquer Linux ou de dentro do OpenWRT (basta instalar o netperf).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;E como resolver o &lt;i&gt;bufferbloat&lt;/i&gt;? Deixe as filas menores para que, quando cheias, novos pacotes sejam descartados, informando ao emissor que ele precisa &quot;pegar leve&quot;. Em conjunto, você pode dividir seu tráfego em filas para casos distintos (similar aos caixas-rápidos do supermercado que limitam o atendimento a clientes com até 20 produtos).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;No OpenWRT, existem duas propostas para solucionar este problema: o qos-scripts (mais antigo) e o sqm-scripts (mais novo), que trabalham em conjunto com o escalonador de pacotes&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;padrão&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;fq_codel (também focado no problema do&amp;nbsp;&lt;i&gt;bufferbloat&lt;/i&gt;). O primeiro faz algumas classificações automáticas (pelo volume de tráfego e alguns sabidamente&amp;nbsp;urgentes) mas deixa a parte pesada da classificação na mão do operador. Já&amp;nbsp;o segundo utiliza inteligência para classificar o tráfego automaticamente, sem parametrização (SQM significa &quot;&lt;/span&gt;&lt;i style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Smart Queue Management&lt;/i&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&quot;. A inteligência está parte &quot;&lt;/span&gt;&lt;i style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Smart&lt;/i&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&quot;)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;. Neste artigo vou tratar de como configurar a segunda proposta.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;Tanto para o qos-scripts como para o sqm-scripts, o parâmetro determinante para o seu funcionamento é a taxa de transmissão do enlace. Para controlar a fila, o roteador tem que fazer a fila da conexão fica nele, seja para subir ou descer pacotes. E para a fila ocorrer no roteador, este tem que limitar o tráfego a um valor menor do que a sua conexão com a internet pode aguentar. Assim, não serão feitas filas significativas nos equipamentos da sua provedora de internet, apenas no seu roteador. Por isto, o valor de download/upload configurado deve ser &lt;b&gt;menor do que o contratado&lt;/b&gt;. Falam de algo entre 85% a 95% da taxa de transmissão real. Se este parâmetro for maior do que a taxa de transmissão real (real, não a contratada), os controles não atuarão e o QoS não será efetivo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;b&gt;O&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;b&gt;sqm-scripts e o qos-scripts são mutualmente exclusivos&lt;/b&gt;. Se estava usando o qos-scripts e quer usar o sqm-scripts, remova-o antes de iniciar o processo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;A instalação do sqm-scripts é bem simples e parecida com o qos-scripts:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;# opkg update&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;# opkg install sqm-scripts&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Se quiser a interface Luci (web):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;# opkg install luci-app-sqm&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;O arquivo de configuração fica em &lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/etc/config/sqm&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;, que pode ser alterado sem problemas pelo Luci em &quot;Rede/SQM Qos&quot;. A configuração mínima se limita a:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Habilitar a configuração;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Definir a interface WAN, normalmente eth1 ou&amp;nbsp;eth0.2. Esta pode ser identificada na página de interfaces ou mesmo em &quot;Estado/Visão Geral&quot;;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Configurar os valores de download e upload para algo entre&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px; text-align: justify;&quot;&gt;85% a 95% da taxa de transmissão real.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Depois é só habilitar e disparar o serviço sqm pela interface Luci ou pelo SSH:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/etc/init.d/sqm enable&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/etc/init.d/sqm start&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Feito! Só testar a sua conexão. Para efeitos de testes, eu usei o script&amp;nbsp;betterspeedtest&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;que mencionei acima diretamente no roteador.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20.79px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 20.79px;&quot;&gt;Inicialmente, sem o SQM:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;root@router.lan3:~# sh betterspeedtest.sh&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;2015-09-30 01:27:05 Testing against netperf.bufferbloat.net (ipv4) with 5 simultaneous sessions while pinging gstatic.com (60 seconds in each direction)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;..............................................................&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&lt;b&gt;Download: &amp;nbsp;5.14 Mbps&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; Latency: (in msec, 62 pings, 0.00% packet loss)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Min: 16.616&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 10pct: 485.537&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;b&gt;Median: 762.117&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Avg: 751.026&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 90pct: 963.462&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Max: 970.820&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.................................................................&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;b&gt;Upload: &amp;nbsp;0.63 Mbps&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; Latency: (in msec, 62 pings, 0.00% packet loss)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Min: 10.778&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 10pct: 840.844&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;b&gt;Median: 1006.490&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Avg: 971.260&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 90pct: 1115.123&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Max: 1151.302&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;A taxa de transmissão corresponde a contratada (até mais) mas a latência do download/upload,&amp;nbsp;respectivamente, sobe&amp;nbsp;de 16/10&amp;nbsp;milissegundos&amp;nbsp;em &quot;repouso&quot; para, em média, 762/1006&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;milissegundos quando em carga. Isto significa que, sobre carga, tudo que dependa de resposta rápida vai &quot;engasgar&quot; em torno de um segundo antes de chegar ao seu destino. E isto é multiplicado para protocolos que exigem negociação/confirmação, como o TCP. Se você já sentiu sua internet lenta quando está anexando um documento grande em um email vai saber do que eu falo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Agora ativando o SQM:&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;root@router.lan3:~# sh betterspeedtest.sh&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;2015-09-30 01:40:12 Testing against netperf.bufferbloat.net (ipv4) with 5 simultaneous sessions while pinging gstatic.com (60 seconds in each direction)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.............................................................&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&lt;b&gt;Download: &amp;nbsp;4.61 Mbps&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; Latency: (in msec, 61 pings, 0.00% packet loss)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp; Min: 10.860&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 10pct: 12.388&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;b&gt;Median: 18.495&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Avg: 20.443&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 90pct: 27.702&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Max: 57.228&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;..............................................................&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &lt;b&gt;&amp;nbsp;Upload: &amp;nbsp;0.5 Mbps&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; Latency: (in msec, 60 pings, 0.00% packet loss)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; Min: 11.078&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 10pct: 12.813&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&lt;b&gt; &amp;nbsp;Median: 25.371&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Avg: 26.920&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; 90pct: 42.409&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Max: 54.265&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Agora o aumento na latência foi bem menor! A média subiu apenas para 18/25, respectivamente. Em contrapartida, a taxa de transmissão foi menor pois estou podando ela antes de atingir o limite que a operadora me oferta.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Mas o valor ainda subiu muito! Olhe o valor máximo! O SQM tem um certo volume de carência em função da taxa de transmissão configurada. No início da conexão, ele permite que a fila aumente pois ainda não conhece o comportamento desta conexão. No speedtest pelo navegador que mencionei anteriormente, é possível observar este comportamento. Quando esta apresentar um volume maior, ela vai ser reclassificada. Outro motivo é para aproveitar melhor as rajadas de tráfego (seu provedor, por exemplo, pode liberar uma maior taxa de transmissão para os primeiros kbytes para tornar a resposta de coisas leves como navegação em páginas mais fluída). Se podar ainda mais sua conexão, ou fazer um teste mais longo, a média&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;tende a&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;ser&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;menor.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Brinque, teste variações na configuração na velocidade de upload e download. Avalie quando o QoS se tornou efetivo. Compare com o qos-scripts. Avalie a usabilidade da internet. Compartilhe sua experiência com o sqm-scripts&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;no&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://luizluca.blogspot.com.br/p/forum.html&quot; style=&quot;background-color: white; color: #6699cc; font-family: Arial, Helvetica, sans-serif; line-height: 20px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;fórum&amp;nbsp;&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;deste blog.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; line-height: 20px;&quot;&gt;Até a próxima.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luizluca.blogspot.com/feeds/6862711573498144732/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://luizluca.blogspot.com/2015/10/openwrt-configurando-o-qos-utilizando-o.html#comment-form' title='53 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/6862711573498144732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2600934848988649093/posts/default/6862711573498144732'/><link rel='alternate' type='text/html' href='http://luizluca.blogspot.com/2015/10/openwrt-configurando-o-qos-utilizando-o.html' title='OpenWRT: Configurando o QoS - Utilizando o SQM'/><author><name>Luiz Angelo Daros de Luca</name><uri>http://www.blogger.com/profile/07771828598526647388</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>53</thr:total></entry></feed>