Table of Contents

Modo à prova de falhas, redefinição de fábrica e modo de recuperação

O OpenWrt oferece várias maneiras de “recomeçar” com seu roteador.

Restauração de fábrica depende da conclusão do processo de inicialização. Se Redefinição de fábrica não estiver funcionando, tente com Modo à prova de falhas.

Modo à prova de falhas

OpenWrt permite inicializar em um modo à prova de falhas que substitui sua configuração atual. Se o seu dispositivo ficar inacessível, por exemplo, após um erro de configuração, o modo à prova de falhas está disponível para ajudá-lo. Quando você reinicia no modo à prova de falhas, o dispositivo é iniciado em um estado operacional básico, com alguns padrões codificados permanentemente, e você pode começar a corrigir o problema manualmente.

O modo à prova de falhas não pode, no entanto, corrigir problemas mais profundamente enraizados, como hardware defeituoso ou um kernel quebrado. É semelhante a uma redefinição; no entanto, com segurança, você pode acessar o dispositivo e restaurar as configurações, se desejar, enquanto uma redefinição apenas limparia tudo.

Advertência: O modo à prova de falhas estará disponível apenas se você tiver instalado o firmware a partir de uma imagem do SquashFS, que inclui a partição raiz somente leitura necessária. Para verificar se o seu dispositivo possui a partição raiz do SquashFS, verifique “squashfs” no nome da imagem OpenWrt ou execute a seguinte verificação no seu dispositivo:

grep squash /proc/mounts

O terminal deve retornar algo semelhante a este:

/dev/root /rom squashfs ro,relatime 0 0

Entrando no modo à prova de falhas

Certifique-se de usar uma conexão com fio, pois o modo à prova de falhas desativará sua conectividade sem fio.

Na maioria dos roteadores, o OpenWrt pisca um LED (normalmente “Cadeado”, pode ser outro) durante o processo de inicialização, após o controle do gerenciador de inicialização inicial (como o u-boot). O OpenWrt verificará no início do ciclo de inicialização se o usuário deseja entrar no modo à prova de falhas em vez de uma inicialização normal. Ele percebe um pressionamento de botão dentro de um tempo de dois segundos, indicada com LEDs e transmitindo um pacote UDP.

Para entrar no modo à prova de falhas, siga um dos procedimentos listados abaixo:

Recomendado para a maioria dos usuários: Aguarde um LED piscando e pressione um botão. Geralmente, é o método mais fácil depois de descobrir o momento correto.

Para a maioria dos usuários e dispositivos, os LEDs agora (2018) fornecem pistas suficientes sobre o tempo para evitar recomendações mais antigas de “pressionar o botão XXX o mais rápido possível até ...” para entrar no modo à prova de falhas.

Existem três velocidades diferentes de piscamento do LED (cadeado) durante a inicialização da maioria dos roteadores:

Alternativo para usuários experientes: aguarde (com um analisador de pacotes) por um pacote de transmissão especial e pressione um botão. O pacote será enviado para o endereço de destino 192.168.1.255, porta UDP 4919. O pacote contém o texto “Please press button now to enter failsafe”. Por exemplo, em um terminal e usando tcpdump, com o roteador conectado à interface eth0, você digitaria o comando

 tcpdump -Ani eth0 port 4919 and udp 

Alternativo para usuários experientes com conexão serial: Procure uma mensagem de inicialização no console serial e pressione uma tecla (“f”) no teclado serial. Isso requer que você tenha conectado um cabo serial ao dispositivo. A mensagem mostrada no console é “Press the [f] key and hit [enter] to enter failsafe mode

Geralmente, é mais fácil observar os LEDs. No entanto, consulte a documentação disponível para o seu dispositivo, pois não há botão padrão atribuído como botão de redefinição e nem todos os procedimentos funcionam em todos os dispositivos. Qualquer que seja o gatilho usado, o dispositivo entrará no modo à prova de falhas e você poderá acessar a linha de comando com SSH (sempre possível) ou um teclado serial.

Observe que o OpenWrt moderno usa sempre SSH, mas as primeiras versões do OpenWrt (15.05 e anteriores) ofereciam uma conexão telnet nesse estado, mas não SSH.

Nota: a antiga página wiki do OpenWrt oferece mais detalhes, a maioria deles ainda válida: https://wiki.openwrt.org/doc/howto/generic.failsafe

Corrigindo suas configurações

Depois que o modo à prova de falhas é acionado, o roteador inicializa com um endereço de rede 192.168.1.1/24, geralmente na interface de rede eth0, com apenas os serviços essenciais em execução. Usando SSH ou uma conexão serial, você pode montar a partição JFFS2 com o seguinte comando:

mount_root

Depois disso, você pode começar a checar e consertar o que está quebrado. A partição JFFS2 será montada em /overlay, como em operação normal.

Restauração de fábrica

Uma redefinição de fábrica retorna o roteador à configuração que tinha logo após gravar a ROM. Isso funciona em qualquer instalação com uma configuração squashfs / overlayfs (a norma para a maioria das instalações), pois se baseia em apagar e reformatar os overlayfs.

:!: As compilações x86 (feitas para hardware de PC / Servidor) com um rootfs de leitura e gravação ext4 não podem ser redefinidas dessa maneira.

Com um chip NOR grande, pode levar de 3 a 5 minutos para que os overlayfs sejam formatados no flash. Durante esse período, as alterações não podem ser salvas.

Botão de reset

Em dispositivos com um botão de reset, o OpenWrt pode ser redefinido para as configurações padrão sem acesso serial ou SSH.

  1. Ligue o dispositivo e aguarde até que o status pare de piscar (ou entre no Modo à prova de falhas acima).
  2. Pressione e mantenha pressionado o botão Reset por 10 segundos.
  3. Solte o botão Redefinir

O dispositivo fará uma redefinição de fábrica (veja abaixo) e depois reiniciará. Em alguns dispositivos, essa operação pode ser lenta; portanto, aguarde alguns minutos antes de conectar novamente.

Redefinição de fábrica suave

Se você deseja uma configuração limpa, não há necessidade de instalar ROM novamente; basta digitar os seguintes comandos. As configurações do seu dispositivo serão redefinidas para os padrões, como quando o OpenWrt foi instalado pela primeira vez.

A emissão do comando “firstboot” ou “jffs2reset” tentará excluir todos os arquivos da partição de sobreposição jffs2. Observe que essa “reinicialização suave” é realizada com ações do sistema de arquivos, portanto, em alguns casos, não é suficiente.

firstboot && reboot

Nota: Se os comandos acima (todos em uma linha) não funcionarem, tente esses comandos em linhas separadas no terminal.

Nota: para a maioria dos roteadores, o “firstboot” na verdade apenas emite um comando “jffs2reset”, portanto não há muita diferença em comparação com os conselhos de “reinicialização completa” abaixo.

Nota: se você estiver emitindo este comando dentro de um script bash, lembre-se de adicionar a opção -y para forçar o firstboot:

firstboot -y && reboot

Reset de fábrica rígido

Este comando apagará e reformatará toda a partição jffs2 e a criará novamente. A chave para um “hard reset” real é desmontar a partição de sobreposição primeiro e só depois emitir o comando jffs2reset (ou firstboot):

umount /overlay && jffs2reset && reboot

Embora na maioria dos casos isso esteja produzindo um resultado final semelhante ao “soft reset”, isso marca toda a área do flash da partição de sobreposição JFFS2 (leitura e gravação) como uma partição vazia do jffs2 não inicializada. Assim, a partição será recriada na próxima montagem, geralmente na próxima inicialização. Portanto, essa reinicialização completa ignora o sistema de arquivos atual da sobreposição.

Explicação: com base no status de montagem da sobreposição, o jffs2reset seleciona uma operação de exclusão baseada em arquivo ou uma ação de marcar a partição vazia: https://git.openwrt.org/?p=project/fstools.git;a=blob;f=jffs2reset.c;h=dbe049881f5;hb=HEAD#l43

Acesso a arquivos através do scp

É possível editar e transferir arquivos do modo à prova de falhas, usando o comando/protocolo scp do Linux ou Mac ou usando WinSCP do Windows.

Se você transferir uma imagem de sysupgrade, também poderá executar um sysupgrade da linha de comando ( syupgrade -n /path/to/file ) como normal.

Modo de recuperação

Se nem o modo à prova de falhas nem a Redefinição de fábrica retornarem o controle do seu roteador, você poderá substituir o firmware do seu dispositivo usando um dos procedimentos descritos na Página do modo de recuperação.