Cisco Application Control Engine (ACE) Troubleshooting Guide -- Troubleshooting ACE Boot Issues
This article describes how to troubleshoot basic ACE boot issues.
Understanding ROMMON Mode and the ACE Boot Configuration
You can control how the ACE performs its boot process through either the ACE configuration mode or ROM Monitor (ROMMON) mode. ROMMON is the ROM-resident code that starts executing at power up, reset, or when a fatal exception occurs.
Two user-configurable parameters determine how the ACE boots:
- Boot field in the configuration register (confreg)
- BOOT environment variable
The ACE enters ROMMON mode if it does not find a valid system image, if the Flash memory configuration is corrupted, or if the configuration register is set to enter ROMMON mode.
Setting the Boot Method from the Configuration Register
To change the configuration register settings and how the ACE boots from the CLI, use the following configuration mode command:
The value argument-supported entries are as follows:
- 0—ACE boots to the ROMMON prompt. The ACE remains in ROMMON mode at startup.
- 1—ACE boots from the system image identified in the BOOT environment variable. If the ACE encounters an error or if the image is not valid, it will try the second image (if one is specified). If the second image also fails to boot, the ACE returns to ROMMON mode.
For example, to set configuration register to boot the system image identified in the BOOT environment variable, enter the following command:
ACE_module5/Admin(config)# config-register 1
Booting the ACE from the ROMMON Prompt
If you specify a value of 0 for the config-register command, this configuration register setting forces the ACE to enter the ROMMON mode upon a reload or power cycle of the ACE. The ACE remains in ROMMON mode until you identify the location of an image file to boot.
The ACE supports two methods of booting the module from the ROMMON prompt:
- To manually change the configuration register setting in ROMMON mode, use the confreg command followed by a value of 0 or 1.
- To change the boot characteristics using onscreen prompts, use the confreg command without a value.
To instruct the ACE to manually boot from a particular system image, use the confreg command and specify a configuration register value of 1. Identify the name of the system image file that the ACE uses to boot.
For example, to use the confreg command at the ROMMON prompt to instruct the ACE to boot from the c6ace-t1k9-mzg.3.0.0_A2_2_0.bin system image, enter the following command:
rommon 1 > confreg 1 rommon 2 > BOOT=disk0:c6ace-t1k9-mzg.3.0.0_A2_2_0.bin rommon 3 > sync
To instruct the ACE to automatically boot from the image specified in the BOOT variable, use the confreg command without specifying a configuration register value to launch the Configuration Summary menu-based utility. You can then instruct the ACE to boot from the system image identified in the BOOT environment variable. See the "Setting the BOOT Environment Variable" section.
For example, to use the confreg command to display the onscreen prompts for changing the boot characteristics of the ACE and change the configuration register to boot from an image on disk0:, enter the following command:
rommon 4 > confreg Configuration Summary (Virtual Configuration Register: 0x2000) enabled are: ignore system config info console baud: 9600 boot: the ROM monitor do you wish to change the configuration? y/n [n]: y disable "ignore system config info"? y/n [n]: change the boot characteristics? y/n [n]: y enter to boot: 0 = ROM Monitor 1 = boot file specified in BOOT variable : 1 Configuration Summary (Virtual Configuration Register: 0x2001) enabled are: ignore system config info console baud: 9600 boot: the file specified in BOOT variable do you wish to change the configuration? y/n [n]: You must reset/power cycle for new config to take effect rommon 7 > dir disk0: Directory of disk0: 23951 31071143 -rw- c6ace-t1k9-mzg.A2_2_0.bin 2 74448896 -rw- TN-CONFIG 4546 32505856 -rw- TN-CERTKEY-STORAGE 6530 11534336 -rw- TN-LOGFILE 7234 11534336 -rw- TN-HOME 7938 209715200 -rw- TN-COREFILE 20738 1048576 -rw- lkcddump 22689 250 -rw- scripted_hm.txt 24584 30337516 -rw- c6ace-t1k9-mz.A2_1_1.bin 29540 1048640 -rw- ACE_FUR_BOOT_ROM.img.rel.2008Apr01_ver121 29605 1048640 -rw- ACE_BOOT_ROM.img.rel.2008Apr01_ver121 rommon 8 > BOOT=disk0:c6ace-t1k9-mzg.A2_2_0.bin variable name contains illegal (non-printable) characters rommon 9 > sync
Setting the BOOT Environment Variable
The BOOT environment variable specifies a list of image files from which the ACE can boot at startup. To set the BOOT environment variable, use the boot system image: command. The syntax of this command is as follows:
boot system image:image_name
The image_name argument specifies the name of the system image file. If the file does not exist (for example, if you entered the wrong filename), then the filename is appended to the bootstring, and the "Warning: File not found but still added in the bootstring" message appears. If the file does exist, but is not a valid image, the file is not added to the bootstring, and the "Warning: file found but it is not a valid boot image" message appears.
For example, to set the BOOT environment variable, enter the following command:
ACE_module5/Admin(config)# boot system image:c6ace-t1k9-mzg.3.0.0_A2_2.0.bin
Displaying the ACE Boot Configuration
To display the current BOOT environment variable and configuration register setting, use the show bootvar command in Exec mode. For example, to display the BOOT environment variable settings, enter the following command:
ACE_module5/Admin# show bootvar BOOT variable = "disk0:c6ace-t1k9-mzg.3.0.0_A2_2_0.bin" Configuration register is 0x1
Restarting the ACE
You can reload the ACE directly from its CLI or reboot it by using the supervisor engine CLI. You may need to reboot the ACE from the supervisor engine if you cannot reach the ACE through an external Telnet session or a console connection (for example, the ACE is remote).
Restarting the ACE from the ACE CLI
To reboot the ACE directly from its CLI and reload the configuration, use the reload command in Exec mode. The reload command reboots the ACE and performs a full power cycle of both the hardware and software. The reset process can take several minutes. Any open connections with the ACE are dropped after you enter the reload command.
Caution: Configuration changes that are not written to the Flash partition are lost after a reload. Before rebooting, enter the copy running-config startup-config command in Exec mode to store the current configuration in Flash memory. If you fail to save your configuration changes, the ACE reverts to its previous settings upon restarting.
When you enter the reload command, the ACE prompts you for confirmation and performs a cold restart of the ACE:
ACE_module5/Admin# reload This command will reboot the system Save configurations for all the contexts. Save? [yes/no]: [yes] Generating configuration.... running config of context Admin saved Perform system reload. [yes/no]: [yes]
Restarting the ACE from the Supervisor Engine
To restart the ACE from the supervisor engine CLI, use the hw-module command. The syntax of this command is as follows:
hw-module module mod_num reset
For example, to use the supervisor engine CLI to reset the ACE located in slot 5 of the chassis, enter the following command:
cat6k# hw-module module 5 reset Proceed with reload of module?[confirm] % reset issued for module 5
Establishing a Console Connection to the ACE
In case the ACE becomes unresponsive or you cannot boot the ACE using the reload command from the Admin context, you can establish a direct serial connection between your terminal (laptop) and the ACE by making a serial connection to the console port on the front of the ACE. The console port is an asynchronous RS-232 serial port with an RJ-45 connector. Any device connected to this port must be capable of asynchronous transmission. Connection requires a terminal configured as 9600 baud, 8 data bits, 1 stop bit, no parity.
|Note:||Only the Admin context is accessible through the console port; all other contexts can be reached through Telnet or SSH sessions.|
After you connect the terminal to the console port, use any terminal communications application to access the ACE CLI. The following procedure uses HyperTerminal for Windows.
To access the ACE by using a direct serial connection, follow these steps:
1. Launch HyperTerminal. The Connection Description window appears.
2. Enter a name for your session in the Name field.
3. Click OK. The Connect To window appears.
4. From the drop-down list, select the COM port to which the device is connected.
5. Click OK. The Port Properties window appears.
6. Set the following port properties:
- Baud Rate = 9600
- Data Bits = 8
- Flow Control = none
- Parity = none
- Stop Bits = 1
7. Click OK to connect.
8. Press Enter to access the ACE login prompt.
9. If the ACE does not find a valid software image on disk0: or if the ACE is configured to enter ROMMON mode upon booting up, the ROMMON prompt appears.
Troubleshooting ACE Boot Problems
The ACE module receives power from the chassis back plane and boots up automatically when you insert the module into the chassis. If your ACE does not boot up when you insert it into the chassis or when you enter the reload Exec mode command from the Admin context, you cannot Telnet to the ACE or establish a session from the supervisor engine. In these cases, use the following steps to troubleshoot the issue and boot the ACE:
1. Log in to the Catalyst 6500 series switch or the Cisco 7600 series router and check the status of the ACE by entering the following command:
User Access Verification Password: cat6k>enable Password: cat6k# show module 5 Mod Ports Card Type Model Serial No. --- ----- -------------------------------------- ------------------ ----------- 5 1 Application Control Engine Module ACE10-6500-K9 SAD1031044S <------- Module is receiving power Mod MAC addresses Hw Fw Sw Status --- ---------------------------------- ------ ------------ ------------ ------- 5 0018.b9a6.9114 to 0018.b9a6.911b 1.1 Unknown Unknown Other <------- Firmware and software image status is Unknown Mod Online Diag Status ---- ------------------- 5 Unknown <------- Diagnostics status is Unknown
The first row of information is populated, so you know that the ACE is powered up. The firmware and software versions are Unknown and the Status is Other. At this point, you cannot session into the ACE from the supervisor engine.
2. Power cycle the ACE from the supervisor engine to attempt to boot the ACE by entering the following commands:
cat6k# config t Enter configuration commands, one per line. End with CNTL/Z. cat6k(config)# no power enable module 5 cat6k(config)# power enable module 5
Wait long enough for the ACE to boot up. Try to Telnet or session to the ACE. If you still cannot Telnet or session to the ACE, continue with Step 3.
3. Establish a console connection to the ACE. For details about establishing a console connection to the ACE, see the "Establishing a Console Connection to the ACE" section.
4. Check the ACE configuration register (confreg) by entering the following command:
rommon 2> confreg Configuration Summary (Virtual Configuration Register: 0x1) enabled are: console baud: 9600 boot: the file specified in BOOT variable
A value of 0x1 instructs the ACE to boot from the image in disk0:. A value 0x0 instructs the ACE to boot to the ROMMON prompt. If the image specified in the BOOT variable is not in disk0:, then the ACE boots to the ROMMON prompt as shown in this example issue.
5. Check the BOOT variable by entering the following command:
rommon 3> set PS1=rommon ! > RELOAD_REASON=reload command by admin BOOT=disk0:c6ace-t1k9-mz.3.0.0_A2_2_0.bin ARGV0=quiet ?=0
6. Ensure that the software image specified in the BOOT variable is present in disk0: by entering the following command:
rommon 4> dir disk0: 31071143 Dec 1 17:01:06 2008 c6ace-t1k9-mzg.A2_2_0.bin 250 Feb 8 20:04:44 2008 scripted_hm.txt 30337516 Jul 31 05:47:42 2008 c6ace-t1k9-mz.A2_1_3.bin 1048640 Aug 8 11:45:06 2008 ACE_FUR_BOOT_ROM.img.rel.2008Apr01_ver121 1048640 Aug 8 13:27:32 2008 ACE_BOOT_ROM.img.rel.2008Apr01_ver121 Usage for image: filesystem 506789888 bytes total used 517210112 bytes free 1024000000 total bytes
7. If the specified image is not in disk0:, then you can boot from another image in disk0: by entering the following command:
rommon 5> boot system disk0:image_name
8. If there is no image on the ACE disk0: to boot from, you can still boot from the supervisor engine. Copy the image to the supervisor engine's disk0: or disk1:, and then from the supervisor CLI, enter the following command:
cat6k(config)# boot device module slot_number disk[0 | 1]:image_name
The ACE boots and stops at the ROMMON prompt.
9. At the ROMMON prompt on the ACE console, enter the following command to boot the ACE from the Ethernet Out-of-Band Channel (EOBC) between the ACE and the Catalyst 6500 series switch or the Cisco 7600 series router:
rommon 6> boot eobc:
10. If the ACE is not local or you cannot establish a console connection for any other reason, use the following procedure to finish booting the ACE from the supervisor engine with the boot eobc: command:
cat6k# remote login switch Trying Switch ... Entering CONSOLE for Switch cat6k-sp# svclc console 5 Entering svclc ROMMON of slot 5 ... Type "end" to end the session. rommon 7> boot eobc: