![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
This chapter describes how to identify and resolve software problems related to the IOS software. Depending on the nature of the problem, you can use the command-line interface (CLI) or the Cluster Management Suite (CMS) to identify and solve problems. To identify and resolve Cisco-approved Course Wave Division Multiplexer (CWDM) Gigabit Interface Converter (GBIC) problems, you must have the enhanced software image (EI) installed on your switch.
![]() |
Note For complete syntax and usage information for the commands used in this chapter, refer to the command reference for this release and the Cisco IOS Command Summary for Release 12.1. |
This chapter consists of these sections:
These recovery procedures require that you have physical access to the switch:
Switch software can be corrupted during an upgrade, by downloading the wrong file to the switch, and by deleting the image file. In all of these cases, the switch does not pass the power-on self-test (POST), and there is no connectivity.
This procedure uses the XMODEM Protocol to recover from a corrupt or wrong image file. There are many software packages that support the XMODEM protocol, and this procedure is largely dependent on the emulation software you are using.
Step 1 Connect a PC with terminal-emulation software supporting the XMODEM Protocol to the switch console port.
Step 2 Set the line speed on the emulation software to 9600 baud.
Step 3 Disconnect the switch power cord.
Step 4 Reconnect the power cord to the switch.
The software image does not load. The switch starts in boot loader mode, which is indicated by the switch# prompt.
Step 5 Use the boot loader to enter commands, and start the transfer.
switch#
copy xmodem: flash:image_filename.bin
Step 6 When the XMODEM request appears, use the appropriate command on the terminal-emulation software to start the transfer and to copy the software image to Flash memory.
Follow these steps if you have forgotten or lost the switch password.
Step 1 Connect a terminal or PC with terminal emulation software to the console port. For more information, refer to the switch hardware installation guide.
![]() |
Note You can configure your switch for Telnet by following the procedure in the "Accessing the CLI" section 2-9. |
Step 2 Set the line speed on the emulation software to 9600 baud.
Step 3 Unplug the switch power cord.
Step 4 Press the Mode button, and at the same time, reconnect the power cord to the switch.
You can release the Mode button a second or two after the LED above port 1X goes off. Several lines of information about the software appear, as do instructions:
The system has been interrupted prior to initializing the flash file system. These commands will initialize the flash file system, and finish loading the operating system software: flash_init load_helper boot
Step 5 Initialize the Flash file system:
switch#
flash_init
Step 6 If you had set the console port speed to anything other than 9600, it has been reset to that particular speed. Change the emulation software line speed to match that of the switch console port.
Step 7 Load any helper files:
switch#
load_helper
Step 8 Display the contents of Flash memory as in this example:
switch#
dir flash:
The switch file system is displayed:
Directory of flash:/
3 drwx 10176 Mar 01 2001 00:04:34 html
6 -rwx 2343 Mar 01 2001 03:18:16 config.text
171 -rwx 1667997 Mar 01 2001 00:02:39 c2950-i6q412-mz.121-9.EA1.bin
7 -rwx 3060 Mar 01 2001 00:14:20 vlan.dat
172 -rwx 100 Mar 01 2001 00:02:54 env_vars
7741440 bytes total (3884509 bytes free)
Step 9 Rename the configuration file to config.text.old.
This file contains the password definition.
switch#
rename flash:config.text flash:config.text.old
Step 10 Boot the system:
switch#
boot
You are prompted to start the setup program. Enter N at the prompt:
Continue with the configuration dialog? [yes/no]:
N
Step 11 At the switch prompt, change to privileged EXEC mode:
switch>
enable
Step 12 Rename the configuration file to its original name:
switch#
rename flash:config.text.old flash:config.text
Step 13 Copy the configuration file into memory:
switch#
copy flash:config.textsystem:running-config
Source filename [config.text]?
Destination filename [running-config]?
Press Return in response to the confirmation prompts.
The configuration file is now reloaded, and you can use the following normal commands to change the password.
Step 14 Enter global configuration mode:
switch#
config terminal
Step 15 Change the password:
switch(config)#
enable secret<
password>
or
switch(config)#
enable password<
password>
Step 16 Return to privileged EXEC mode:
switch(config)#
exit
switch#
Step 17 Write the running configuration to the startup configuration file:
switch#
copy running-config startup-config
The new password is now included in the startup configuration.
This section describes how to recover from a failed command switch. You can configure a redundant command switch group by using the Hot Standby Router Protocol (HSRP). For more information, see "Clustering Switches."
![]() |
Note HSRP is the preferred method for supplying redundancy to a cluster. |
If you have not configured a standby command switch, and your command switch loses power or fails in some other way, management contact with the member switches is lost, and you must install a new command switch. However, connectivity between switches that are still connected is not affected, and the member switches forward packets as usual. You can manage the members as standalone switches through the console port or, if they have IP addresses, through the other management interfaces.
You can prepare for a command switch failure by assigning an IP address to a member switch or another switch that is command-capable, making a note of the command-switch password, and cabling your cluster to provide redundant connectivity between the member switches and the replacement command switch. This section describes two solutions for replacing a failed command switch:
For information on command-capable switches, refer to the release notes.
To replace a failed command switch with a command-capable member in the same cluster, follow these steps:
Step 1 Disconnect the command switch from the member switches, and physically remove it from the cluster.
Step 2 Insert the member switch in place of the failed command switch, and duplicate its connections to the cluster members.
Step 3 Start a CLI session on the new command switch.
You can access the CLI by using the console port or, if an IP address has been assigned to the switch, by using Telnet. For details about using the console port, refer to the switch hardware installation guide.
Step 4 At the switch prompt, enter privileged EXEC mode:
Switch>
enable
Switch#
Step 5 Enter the password of the failed command switch.
Step 6 Enter global configuration mode.
Switch#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Step 7 Remove the member switch from the cluster.
Switch(config)#
no cluster commander-address
Step 8 Return to privileged EXEC mode.
Switch(config)#
end
Switch#
Step 9 Use the setup program to configure the switch IP information. This program prompts you for IP address information and passwords. From privileged EXEC mode, enter setup, and press Return.
Switch#
setup--- System Configuration Dialog ---
Continue with configuration dialog? [yes/no]: y
At any point you may enter a question mark '?' for help.
Use ctrl-c to abort configuration dialog at any prompt.
Default settings are in square brackets '[]'.
Basic management setup configures only enough connectivity
for management of the system, extended setup will ask you
to configure each interface on the system
Would you like to enter basic management setup? [yes/no]:
Step 10 Enter Y at the first prompt.
The prompts in the setup program vary depending on the member switch you selected to be the command switch:
Continue with configuration dialog? [yes/no]:
y
or
Configuring global parameters:
If this prompt does not appear, enter enable, and press Return. Enter setup, and press Return to start the setup program.
Step 11 Respond to the questions in the setup program.
When prompted for the host name, recall that on a command switch, the host name is limited to 28 characters; on a member switch to 31 characters. Do not use -n, where n is a number, as the last characters in a host name for any switch.
When prompted for the Telnet (virtual terminal) password, recall that it can be from 1 to 25 alphanumeric characters, is case sensitive, allows spaces, but ignores leading spaces.
Step 12 When prompted for the enable secret and enable passwords, enter the passwords of the failed command switch again.
Step 13 When prompted, make sure to enable the switch as the cluster command switch, and press Return.
Step 14 When prompted, assign a name to the cluster, and press Return.
The cluster name can be 1 to 31 alphanumeric characters, dashes, or underscores.
Step 15 After the initial configuration displays, verify that the addresses are correct.
Step 16 If the displayed information is correct, enter Y, and press Return.
If this information is not correct, enter N, press Return, and begin again at Step 9.
Step 17 Start your browser, and enter the IP address of the new command switch.
Step 18 From the Cluster menu, select Add to Cluster to display a list of candidate switches to add to the cluster.
To replace a failed command switch with a switch that is command-capable but not part of the cluster, follow these steps:
Step 1 Insert the new switch in place of the failed command switch, and duplicate its connections to the cluster members.
Step 2 Start a CLI session on the new command switch.
You can access the CLI by using the console port or, if an IP address has been assigned to the switch, by using Telnet. For details about using the console port, refer to the switch hardware installation guide.
Step 3 At the switch prompt, enter privileged EXEC mode:
Switch>
enable
Switch#
Step 4 Enter the password of the failed command switch.
Step 5 Use the setup program to configure the switch IP information.
This program prompts you for IP address information and passwords. From privileged EXEC mode, enter setup, and press Return.
Switch#
setup--- System Configuration Dialog ---
Continue with configuration dialog? [yes/no]: y
At any point you may enter a question mark '?' for help.
Use ctrl-c to abort configuration dialog at any prompt.
Default settings are in square brackets '[]'.
Basic management setup configures only enough connectivity
for management of the system, extended setup will ask you
to configure each interface on the system
Would you like to enter basic management setup? [yes/no]:
Step 6 Enter Y at the first prompt.
The prompts in the setup program vary depending on the switch you selected to be the command switch:
Continue with configuration dialog? [yes/no]:
y
or
Configuring global parameters:
If this prompt does not appear, enter enable, and press Return. Enter setup, and press Return to start the setup program.
Step 7 Respond to the questions in the setup program.
When prompted for the host name, recall that on a command switch, the host name is limited to 28 characters. Do not use -n, where n is a number, as the last characters in a host name for any switch.
When prompted for the Telnet (virtual terminal) password, recall that it can be from 1 to 25 alphanumeric characters, is case sensitive, allows spaces, but ignores leading spaces.
Step 8 When prompted for the enable secret and enable passwords, enter the passwords of the failed command switch again.
Step 9 When prompted, make sure to enable the switch as the cluster command switch, and press Return.
Step 10 When prompted, assign a name to the cluster, and press Return.
The cluster name can be 1 to 31 alphanumeric characters, dashes, or underscores.
Step 11 When the initial configuration displays, verify that the addresses are correct.
Step 12 If the displayed information is correct, enter Y, and press Return.
If this information is not correct, enter N, press Return, and begin again at Step 9.
Step 13 Start your browser, and enter the IP address of the new command switch.
Step 14 From the Cluster menu, select Add to Cluster to display a list of candidate switches to add to the cluster.
The IEEE 802.3AB autonegotiation protocol manages the switch settings for speed (10 Mbps, 100 Mbps, and 1000 Mbps excluding GBIC ports) and duplex (half or full). There are situations when this protocol can incorrectly align these settings, reducing performance. A mismatch occurs under these circumstances:
To maximize switch performance and ensure a link, follow one of these guidelines when changing the settings for duplex and speed:
![]() |
Note If a remote device does not autonegotiate, configure the duplex settings on the two ports to match. The speed parameter can adjust itself even if the connected port does not autonegotiate. |
Cisco-approved Gigabit Interface Converter (GBIC) modules have a serial EEPROM that contains the module serial number, the vendor name and ID, a unique security code, and cyclic redundancy check (CRC). When a GBIC module is inserted in the switch, the switch software reads the EEPROM to check the serial number, vendor name and vendor ID, and recompute the security code and CRC. If the serial number, the vendor name or vendor ID, the security code, or CRC is invalid, the switch places the interface in an error-disabled state.
![]() |
Note If you are using a non-Cisco approved GBIC module, remove the GBIC from the switch, and replace it with a Cisco-approved module. |
After inserting a Cisco-approved GBIC module, use the errdisable recovery cause gbic-invalid global configuration command to verify the port status, and enter a time interval for recovering from the error-disabled state. After the elapsed interval, the switch brings the interface out of the error-disabled state and retries the operation. For more information about the errdisable recovery command, refer to the command reference for this release.
This section explains how you use debug commands to diagnose and resolve internetworking problems. It contains this information:
![]() |
Caution Because debugging output is assigned high priority in the CPU process, it can render the system unusable. For this reason, use debug commands only to troubleshoot specific problems or during troubleshooting sessions with Cisco technical support staff. It is best to use debug commands during periods of lower network traffic and fewer users. Debugging during these periods decreases the likelihood that increased debug command processing overhead will affect system use. |
![]() |
Note For complete syntax and usage information for specific debug commands, refer to the command reference for this release. |
All debug commands are entered in privileged EXEC mode, and most debug commands take no arguments. For example, beginning in privileged EXEC mode, enter this command to enable the debugging for EtherChannel:
Switch# debug etherchannel
The switch continues to generate output until you enter the no form of the command.
If you enable a debug command and no output is displayed, consider these possibilities:
To disable debugging of EtherChannel, enter this command in privileged EXEC mode:
Switch# no debug etherchannel
Alternately, in privileged EXEC mode, you can enter the undebug form of the command:
Switch# undebug etherchannel
To display the state of each debugging option, enter this command in privileged EXEC mode:
Switch# show debugging
Beginning in privileged EXEC mode, enter this command to enable all-system diagnostics:
Switch# debug all
![]() |
Caution Because debugging output takes priority over other network traffic, and because the debug all privileged EXEC command generates more output than any other debug command, it can severely diminish switch performance or even render it unusable. In virtually all cases, it is best to use more specific debug commands. |
The no debug all privileged EXEC command disables all diagnostic output. Using the no debug all command is a convenient way to ensure that you have not accidentally left any debug commands enabled.
By default, the network server sends the output from debug commands and system error messages to the console. If you use this default, you can use a virtual terminal connection to monitor debug output instead of connecting to the console port.
Possible destinations include the console, virtual terminals, internal buffer, and UNIX hosts running a syslog server. The syslog format is compatible with 4.3 Berkeley Standard Distribution (BSD) UNIX and its derivatives.
![]() |
Note Be aware that the debugging destination you use affects system overhead. Logging messages to the console produces very high overhead, whereas logging messages to a virtual terminal produces less overhead. Logging messages to a syslog server produces even less, and logging to an internal buffer produces the least overhead of any method. |
This feature is available if your switch is running IOS Release 12.1(11)EA1 or later.
The crashinfo file saves information that helps Cisco technical support representatives to debug problems that caused the IOS image to fail (crash). The switch writes the crash information to the console at the time of the failure, and the file is created the next time you boot the IOS image after the failure (instead of while the system is failing).
The information in the file includes the IOS image name and version that failed, a dump of the processor registers, and a stack trace. You can provide this information to the Cisco technical support representative by using the show tech-support privileged EXEC command.
All crashinfo files are kept in this directory on the Flash file system:
flash:/crashinfo/crashinfo_n where n is a sequence number.
Each new crashinfo file that is created uses a sequence number that is larger than any previously-existing sequence number, so the file with the largest sequence number describes the most recent failure. Version numbers are used instead of a timestamp because the switches do not include a real-time clock. You cannot change the name of the file that the system will use when it creates the file. However, after the file is created, you can use the rename privileged EXEC command to rename it, but the contents of the renamed file will not be displayed by the show stacks or the show tech-support privileged EXEC command. You can delete crashinfo files using the delete privileged EXEC command.
You can display the most recent crashinfo file (that is, the file with the highest sequence number at the end of its filename) by entering the show stacks or the show tech-support privileged EXEC command. You also can access the file by using any command that can copy or display files, such as the more or the copy privileged EXEC command.
Posted: Tue Sep
3 10:25:47 PDT 2002
All contents are Copyright © 1992--2002 Cisco Systems,
Inc. All rights reserved.
Important Notices and Privacy Statement.