CCNA – Dicas de Troubleshooting “Meu roteador está em ROMMON, o que faço?”

Tempo de leitura: 9 minutos

Olá pessoal, um problema que nos deparamos em campo como CCNA são roteadores que não inicializam por estarem em ROMMON ou Rom Monitor.

Sabemos que o equipamento está em Rom Monitor devido ao prompt “rommon1>” que aparece na CLI e, além disso, o LED de sistema PWR/SYS fica piscando constantemente. Veja figura abaixo.

Peço Menos de 1 Minuto Antes de Continuarmos!

Gostaria de acessar TODOS os nossos cursos Cisco e demais áreas como Linux e Telecom por uma parcelinha mensal? Ah, incluindo o material do CCNA, atualmente CCNAX 200-120!

Clique aqui e saiba como ser um assinante DlteC.

Normalmente o roteador entra nesse modo de operação devido a problemas na carga do IOS, que podem ser:

  • Memória flash corrompida, com problema de hardware;
  • O IOS carregado está com problemas, pode estar corrompido;
  • O IOS pode ter sido apagado;
  • O registro de configuração (config register) está configurado errado, com final zero ou um, e deveria ser 0x2102;
  • Há comandos de boot system configurados erroneamente, fazendo o roteador inicializar em Rom monitor.

No caso de problema de hardware não há o que fazer, será necessário trocar a memória.

Para verificar se um IOS carregado está íntegro você precisará comparar o MD5 (clique  aqui para maiores informações sobre o que é um hash MD5) que foi fornecido pela Cisco com o do baixado no roteador. No site da Cisco você pode verificar o MD5 do IOS no link http://www.cisco.com/cisco/software/navigator.html, para isso é necessário ter um usuário para acessar as informações, ou solicite ao parceiro da Cisco que você comprou os equipamentos o MD5 do IOS. No roteador, ao baixar um IOS na memória flash, você pode calcular o MD5 com o comando “verify”, veja exemplo abaixo:

Router# verify /md5 disk1:

Verify filename []? c7200-js-mz

..................................
..................................
..................................
..................................
..................................
...............................Done!
verify /md5 (disk1:c7200-js-mz) = 0f369ed9e98756f179d4f29d6e7755d3

Outra maneira de executar o comando “verify”:

Router# verify /md5 disk1:c7200-js-mz ?

  WORD  Expected md5 signature
  
router# verify /md5 disk1:c7200-js-mz 0f369ed9e98756f179d4f29d6e7755d3

..................................
..................................
..................................
..................................
..................................
...............................Done!
Verified (disk1:c7200-js-mz) = 0f369ed9e98756f179d4f29d6e7755d3

O valor grifado em amarelo é o MD5 e deve ser igual ao divulgado no site da Cisco, caso esteja diferente refaça o processo de download do IOS e carga na flash do roteador até que esses valores estejam iguais. Veja que no exemplo de um 7200 o IOS está no “disk1:”, nos roteadores de menor porte normalmente o IOS está na “flash:”.

Para corrigir um problema no registro de configuração, em rommon você pode utilizar o comando “confreg 0x2102” ou “o/r 0x2102” e reinicializar o roteador com o comando “i” ou “reset”. Se o roteador voltar a funcionar o problema realmente era o valor do registro.

Se o roteador não voltar a funcionar pode ser que comandos de boot system foram inseridos erroneamente, por exemplo, “boot system rom” ou especificando um IOS que não existe e depois indo para o comando anterior, assim o router nunca irá subir. Nesse caso você terá que seguir os passos de quebra de senha, para que o router ignore os comandos de boot system que estão na NVRAM e depois os corrija. Não esqueça de no final voltar o registro para 0x2102 ou então a cada reinicialização o router voltará sem configuração. Veja no post abaixo como quebrar a senha de um roteador:

http://www.dltec.com.br/blog/redes-cisco/2011/02/01/quebrando-a-senha-de-um-roteador-cisco-reset-de-senha/

Se o IOS foi apagado ou está corrompido e você precisar baixar um novo sistema operacional estando em Rom Monitor o comando TFTPDNLD terá que ser utilizado. Em alguns roteadores ele não funciona e o XMODEM será a única solução, ou seja, fazer a carga do IOS via a interface de console, o que é bastante demorado. Vamos abaixo ao passo a passo do tftpdnld.

Para fazer o procedimento de recuperação do IOS você necessitará de um servidor TFTP instalado no seu lap-top, como por exemplo o 3com Daemon, o arquivo de IOS gravado na pasta de compartilhamento do servidor de TFTP, um cabo cruzado e um cabo de console.

Primeiro conecte seu lap-top no roteador via console e com um cabo cruzado diretamente em uma das portas LAN do roteador. Abaixo segue o prompt do Rommon e uma saída do comando tftpdnld.

rommon 1 >
rommon 2 > tftpdnld

Missing or illegal ip address for variable IP_ADDRESS
Illegal IP address.
usage: tftpdnld [-r]
Use this command for disaster recovery only to recover an image via TFTP.
Monitor variables are used to set up parameters for the transfer.
(Syntax: “VARIABLE_NAME=value” and use “set” to show current variables.)
“ctrl-c” or “break” stops the transfer before flash erase begins.

The following variables are REQUIRED to be set for tftpdnld:
IP_ADDRESS: The IP address for this unit
IP_SUBNET_MASK: The subnet mask for this unit
DEFAULT_GATEWAY: The default gateway for this unit
TFTP_SERVER: The IP address of the server to fetch from
TFTP_FILE: The filename to fetch

The following variables are OPTIONAL:
TFTP_VERBOSE: Print setting. 0=quiet, 1=progress(default), 2=verbose
TFTP_RETRY_COUNT: Retry count for ARP and TFTP (default=7)
TFTP_TIMEOUT: Overall timeout of operation in seconds (default=7200)
TFTP_CHECKSUM: Perform checksum test on image, 0=no, 1=yes (default=1)

Command line options:
-r: do not write flash, load to DRAM only and launch image

Nesse ponto você deverá fazer as configurações necessárias para fazer a carga do IOS via TFTPDNLD conforme os dados abaixo. Os parâmetros abaixo são apenas um exemplo, pois você deverá utilizar o IP do seu micro em um caso real. O servidor TFTP deve estar instalado no seu micro.

rommon 3 > IP_ADDRESS=10.55.0.200
(ip temporario da fast do router)
rommon 4 > IP_SUBNET_MASK=255.255.255.0
(mascara da fast do router)
rommon 5 > DEFAULT_GATEWAY=10.55.0.221
(gateway temporario, deve ser o IP do seu lap-top)
rommon 6 > TFTP_SERVER=10.55.0.221
(ip da placa de rede ond esta instalado o tftp Server e contem o IOS, preferencialmente o seu lap-top)
rommon 7 > TFTP_FILE=C2600-Advsecurityk9-Mz.123-5a.bin
(nome do ios completo gravado no servidor TFTP do seu lap-top)

Digite o comando tftpdnld novamente para fazer a carga do IOS e espere aproximadamente 15 minutos para que o roteador complete a tarefa. Caso o comando dê uma mensagem de erro, repita a configuração por inteiro e insira novamente o comando.

rommon 8 > tftpdnld
IP_ADDRESS: 10.55.0.200
IP_SUBNET_MASK: 255.255.255.0
DEFAULT_GATEWAY: 10.55.0.221
TFTP_SERVER: 10.55.0.221
TFTP_FILE: C2600-Advsecurityk9-Mz.123-5a.bin
Invoke this command for disaster recovery only.
WARNING: all existing data in all partitions on flash will be lost!
Do you wish to continue? y/n: [n]: y

Receiving C2600-Advsecurityk9-Mz.123-5a.bin from 10.55.0.221
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

File reception completed.
Copying file C2600-Advsecurityk9-Mz.123-5a.bin to flash.
Erasing flash at 0×60fc0000
program flash location 0×60b00000

Ao finalizar o upgrade digite o comando abaixo para reiniciar o roteador com o nova IOS.

rommon 9 > reset

Aguarde o procedimento de inicialização e entre com o comando Show Version para verificar se o procedimento foi realizado com sucesso.

router#sh version
Cisco Internetwork Operating System Software
IOS ™ C2600 Software (C2600-ADVSECURITYK9-M), Version 12.3(5a), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Tue 25-Nov 06:00 by kellythw
Image text-base: 0×80008098, data-base: 0×812A1560
ROM: System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)
Router uptime is 1 minute
System returned to ROM by reload

System image file is “flash:C2600-Advsecurityk9-Mz.123-5a.bin”

… saída de commando omitida

Está concluída a recuperação do IOS via TFTPDNLD.

Na prática, um roteador que reinicializou por problemas elétricos ou sofreu várias reinicializações pode entrar em rommon sem estar com o IOS corrompido, por isso, nos casos de encontrar esse problema tente os sequintes passos:

  1. Reinicialize o roteador algumas vezes (5 no máximo);
  2. Em rommon, altere o valor do registro de configuração para 0x2102;
  3. Faça o processo do TFTPDNLD;
  4. Se com o TFTPDNLD o roteador não subir verifique no arquivo backup da configuração ou na documentação que você recebeu se comandos de boot system podem estar afetando o roteador;
  5. Faça o processo de quebra de senha para impedir que os comandos de boot system sejam executados, com um “show startup-config” verifique como esses comandos afetam a carga do IOS e altere a configuração corrigindo o problema;
  6. Se nenhuma das opções acima funcionar troque a memória flash do roteador ou o próprio roteador.

No caso dos roteadores 1800/2800/3800 é mais fácil trocar a flash, pois ela é um cartão compact flash externo. Já nos modelos mais antigos a memória é interna e mais difícil de obter, por isso, normalmente um problema físico nessa memória acarreta a troca do equipamento apresentando defeito.

Além disso, tanto para os roteadores 1800/2800/3800 como para os roteadores da série 1900/2900/3900 existe uma entrada USB que pode facilitar muito o Upgrade e Downgrade de IOS, pois você pode inserir um pen-drive para fazer a troca de arquivos, mas isso é assunto para um outro artigo.

Espero que vocês tenham gostado do post e que vocês não necessitem dele na prática, pois problema de IOS no momento de uma atividade atrapalha bastante!

Bons estudos e até a próxima!

PS: Gostou do artigo e quer nos deixar uma mensagem? É só rolar a página para baixo e deixar seu elogio, dúvida ou sugestão!

Prof Marcelo Nascimento

Está buscando sua primeira Certificação Cisco?

Dica: o primeiro passo é a certificação CCENT.

Clique aqui e confira nosso Curso que Vai te Colocar no Caminho Certo

Sobre Marcelo B do Nascimento

Cofundador da DlteC do Brasil e 7Bit Tecnologia, graduado em Engenharia Eletrônica/Telecomunicações pela UTFPR e pós-graduado em Redes e Sistemas Distribuídos pela PUC-PR. Trabalha na área de Tecnologia da Informação e Telecomunicações desde 1996. Certificado ITIL Foundations, CCNA Routing & Switching, CCNA Voice, CCNA Security e CCNP Routing & Switching.

  • Bicows

    Esse cabo cruzado seria o crossover?

    Desculpa a pergunta q sou iniciante e peguei um Cisco 827 pra configurar em bridge, e pra ajudar ele está em rommon.

    • http://www.dltec.com.br DlteC do Brasil

      Qual dos cabos você se refere? Para conectar o roteador à placa de rede tem que ser cross, já para conectar à console é um cabo rollover.

      Agradecemos o contato.

      Prof Marcelo Nascimento
      DlteC do Brasil

      • Bicows

        Vou ter q usar os dois, garimpando achei o ios pra ele, agradeço imensamente sua atenção. Nem todo publisher dá atenção aos comments.

        • http://www.dltec.com.br DlteC do Brasil

          Legal que pudemos ajudar, procuramos sempre ajudar da melhor maneira possível quem nos procura, nem sempre conseguimos agradar a todos, mas agente tenta!

          Prof Marcelo Nascimento
          DlteC do Brasil

  • Marinho Welter

    Pessoal da Dltec,
    Muito obrigado pelo material e pelas dicas, hoje elas foram muito uteis.
    Aproveito para deixar uma dica também. Durante o processo de transferência do ios para flash por modo rommon aconteceu uma falha quando a mesma tentava transferir mais que 32MB. E a nova iOS do meu 2801 tem 49MB. Assim contornei baixando uma outra IOS menor (25MB) e deu tudo certo. Apos isso , fiz o processo normal de copia do tftp para flash da ios que desejava .