Access a Cisco device in ROMMON-mode
Prereqs
- a PC (BIOS/UEFI) running Linux Mint 21
- minicom terminal emulation software
- a console cable
- a Cisco 2960 24TT-L or 24TC-L Plus switch
- a Cisco 1941 router
Cisco 2960 switch
Setup
From IOS
By default, the switch will boot the configured boot image automatically, without waiting for user input.
Bypass the normal boot process and enter ROMMON mode directly upon the next reboot.
We're in ROMMON-mode.
To "undo" the manual boot and return to IOS, you have 2 options. Either
- first unset the variable from within ROMMON and boot into IOS
- boot into IOS and unset the boot variable from within IOS
Missing or corrupt IOS
Let's simulate a non-working IOS by "accidently" erasing the "flash" filesystem. Restart the switch afterwards.
The BOOT environment variable is still set to boot c2960-lanbasek9-mz.150-2.SE11.bin but it's not there. The switch will not be able to boot and will enter ROMMON-mode automatically.
To be able to boot again, you have to reinstall IOS.
Break sequence
- If you have access to a working IOS, verify if the break sequence mechanism is enabled or not. If not, enable it.
- If you do not have access to a working IOS, you can only "try" if the break sequence works. If not, you have to use the "cold start" method.
Power cycle the switch or "reload" from within a running IOS. Immediately after the switch starts booting (within the first X seconds), send the break sequence from your terminal emulator. For Minicom, press Ctrl + A then F. The switch should respond by stopping the boot process and entering ROMMON mode, indicated by the switch: prompt.
Flash did not get initialized. You have to do that manually.
Cold start
First disconnect the power cable from the switch. Minicom gives no output yet.
Now reconnect the power cable. The switch boots and while doing the POST, the SYST LED blinks green. This takes about X seconds. After POST, the blinking LED changes pattern. Press the Mode button once.
If the password recovery mechanism is enabled, you have to manually initialize flash.
If the password recovery mechanism is disabled, you will lose all the configuration. Flash is initialised for you. Choose "y" at the prompt.
Cisco 1941 router
Setup
From IOS
The "show boot" command is not available on a Cisco 1941 router, like it is for a Cisco 2960 switch. You can still display the boot system commands in the running configuration, if any.
There is also no "boot manual" command; you have to change the configuration register from within IOS to boot into ROMMON.
We're in ROMMON-mode.
To return to IOS, you have 2 options. Either
- first set the configuration register back to its initial value from within ROMMON and then boot into IOS (fastest)
- boot into IOS, set the configuration register back to its initial value from within IOS and reload again (slowest)
Missing or corrupt IOS
Let's simulate a non-working IOS by "accidently" erasing the "flash" filesystem. You cannot use the "erase (/all) flash:" command like with a Cisco 2960 switch. You have to "format" it. Restart the router afterwards.
The router will not be able to boot and will enter ROMMON-mode automatically.
Break sequence
To my knowledge, there is no break sequence mechanism on a Cisco 1941 router like there is on a Cisco 2960 switch. There is no such thing as "boot enable-break" to en/disable the break sequence behavior. Just poower cycle the router or "reload" from within a running IOS.
Immediately after the router starts booting (within the first X seconds), send the break sequence from your terminal emulator. For Minicom, press Ctrl + A then F. The router should respond by stopping the boot process and entering ROMMON mode, indicated by the rommon X> prompt.
Cold start
There is no "MODE button" like with a Cisco 2960 switch to interrupt the boot sequence with.