Table Of Contents
Troubleshooting
Using Recovery Procedures
Recovering from Corrupted Software
Recovering from a Lost or Forgotten Password
Recovering from a Command Switch Failure
Replacing a Failed Command Switch with a Cluster Member
Replacing a Failed Command Switch with Another Switch
Recovering from Lost Member Connectivity
Preventing Autonegotiation Mismatches
GBIC Module Security and Identification
Using Debug Commands
Enabling Debugging on a Specific Feature
Enabling All-System Diagnostics
Redirecting Debug and Error Message Output
Using the crashinfo File
Troubleshooting
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:
•
Using Recovery Procedures
•
Preventing Autonegotiation Mismatches
•
GBIC Module Security and Identification
•
Using Debug Commands
•
Using the crashinfo File
Using Recovery Procedures
These recovery procedures require that you have physical access to the switch:
•
Recovering from Corrupted Software
•
Recovering from a Lost or Forgotten Password
•
Recovering from a Command Switch Failure
•
Recovering from Lost Member Connectivity
Recovering from Corrupted Software
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.
Recovering from a Lost or Forgotten Password
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.
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:
Step 5
Initialize the Flash file system:
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:
Step 8
Display the contents of Flash memory as in this example:
The switch file system is displayed:
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:
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:
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.text system: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:
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.
Recovering from a Command Switch Failure
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:
•
Replacing a failed command switch with a cluster member
•
Replacing a failed command switch with another switch
For information on command-capable switches, refer to the release notes.
Replacing a Failed Command Switch with a Cluster Member
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:
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.
--- 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.
Replacing a Failed Command Switch with Another Switch
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:
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.
--- 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.
Recovering from Lost Member Connectivity
Some configurations can prevent the command switch from maintaining contact with member switches. If you are unable to maintain management contact with a member, and the member switch is forwarding packets normally, check for these conflicts:
•
A member switch (Catalyst 3550, Catalyst 3500 XL, Catalyst 2950, Catalyst 2900 XL, Catalyst 2820, and Catalyst 1900 switch) cannot connect to the command switch through a port that is defined as a network port.
•
Catalyst 3500 XL, Catalyst 2900 XL, Catalyst 2820, and Catalyst 1900 member switches must connect to the command switch through a port that belongs to the same management VLAN.
•
A member switch (Catalyst 3550, Catalyst 2950, Catalyst 3500 XL, Catalyst 2900 XL, Catalyst 2820, and Catalyst 1900 switch) connected to the command switch through a secured port can lose connectivity if the port is disabled because of a security violation.
Preventing Autonegotiation Mismatches
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:
•
A manually-set speed or duplex parameter is different from the manually set speed or duplex parameter on the connected port.
•
A port is set to autonegotiate, and the connected port is set to full duplex with no autonegotiation.
To maximize switch performance and ensure a link, follow one of these guidelines when changing the settings for duplex and speed:
•
Let both ports autonegotiate both speed and duplex.
•
Manually set the speed and duplex parameters for the ports on both ends of the connection.
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.
GBIC Module Security and Identification
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.
Using Debug Commands
This section explains how you use debug commands to diagnose and resolve internetworking problems. It contains this information:
•
Enabling Debugging on a Specific Feature
•
Enabling All-System Diagnostics
•
Redirecting Debug and Error Message Output
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.
Enabling Debugging on a Specific Feature
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:
•
The switch might not be properly configured to generate the type of traffic you want to monitor. Use the show running-config command to check its configuration.
•
Even if the switch is properly configured, it might not generate the type of traffic you want to monitor during the particular period that debugging is enabled. Depending on the feature you are debugging, you can use commands such as the TCP/IP ping command to generate network traffic.
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:
Enabling All-System Diagnostics
Beginning in privileged EXEC mode, enter this command to enable all-system diagnostics:
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.
Redirecting Debug and Error Message Output
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.
Using the crashinfo File
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.