Troubleshooting


This chapter describes how to identify and resolve software problems related to the Cisco IOS software on the switch. Depending on the nature of the problem, you can use the command-line interface (CLI), the device manager, or Network Assistant to identify and solve problems.

Unless otherwise noted, the term switch refers to a standalone switch and to a switch stack.

Additional troubleshooting information, such as LED descriptions, is provided in the hardware installation guide.


Note For complete syntax and usage information for the commands used in this chapter, see the command reference for this release and the Cisco IOS Command Summary, Release 12.2.


This chapter consists of these sections:

Recovering from a Software Failure

Recovering from a Lost or Forgotten Password

Preventing Switch Stack Problems (only the Catalyst Switch Module 3110)


Note Recovery procedures require that you have physical access to the switch.


Preventing Autonegotiation Mismatches

Monitoring Temperature

Using Ping

Using Layer 2 Traceroute

Using IP Traceroute

Using TDR

Using Debug Commands

Using the show platform forward Command

Using the crashinfo Files

Using Memory Consistency Check Routines

Using On-Board Failure Logging (only the Catalyst Switch Module 3110)

Troubleshooting CPU Utilization

Recovering from a Software Failure

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 boot loader commands and TFTP to recover from a corrupted or wrong image file.

You can also connect a terminal or PC to the switch to the Advanced Management Module (AMM) through an Ethernet connection. For details about using the internal Ethernet management port, see the "Using the Internal Ethernet Management Port" section on page 11-13 and the hardware installation guide.

This recovery procedure requires that you have physical access to the switch.


Step 1 From your PC, download the software image tar file (image_filename.tar) from ibm.com or Cisco.com.

The Cisco IOS image is stored as a bin file in a directory in the tar file. For information about locating the software image files on ibm.com or Cisco.com, see the release notes.

Step 2 Extract the bin file from the tar file.

If you are using Windows, use a zip program that can read a tar file. Use the zip program to navigate to and extract the bin file.

If you are using UNIX, follow these steps:

1. Display the contents of the tar file by using the tar -tvf image_filename.tar UNIX command.

switch% tar -tvf image_filename.tar

2. Locate the bin file, and extract it by using the tar -xvf image_filename.tar image_filename.bin UNIX command.

switch% tar -xvf image_filename.tar image_filename.bin
x cbs31x0-universal-mz.122-40.EX2/cbs31x0-universal-mz.122-40.EX2.bin, 3970586 
bytes, 7756 tape blocks

3. Verify that the bin file was extracted by using the ls -l image_filename.bin UNIX command.

switch% ls -l image_filename.bin
-rw-r--r--   1 boba      3970586 Apr 21 12:00 
cbs31x0-universal-mz.122-40.EX2/cbs31x0-universal-mz.122-40.EX2.bin

Step 3 Connect your PC to the switch Ethernet management port.

Step 4 Unplug the switch power cord.

Step 5 On a stacking-capable switch, power off the switch by using one of these methods:

Power off the standalone switch or the entire switch stack by using the AMM GUI.

Remove the switch or stack members from the enclosure.

On a nonstacking-capable switch, power off the switch by using the AMM GUI or remove the switch from the enclosure.

Step 6 Press the Mode button, and at the same time, power on the switch by using one of these methods:

If you powered off the switch by using the AMM GUI, use the GUI to power on the switch or the stack.

If you powered off the switch by removing the switch or stack members from the enclosure, re-insert the standalone switch or the stack members in the enclosure.

You can release the Mode button after the system LED stops blinking and is solid green. Several lines of information about the software appear along with instructions:

The system has been interrupted prior to initializing the flash file system. The following 
commands will initialize the flash file system, and finish loading the operating system 
software#
flash_init
boot

Step 7 Initialize the flash file system:

switch: flash_init

Step 8 Connect the switch to a TFTP server through the Ethernet management port.

Step 9 Start the file transfer by using TFTP.

a. Specify the IP address of the TFTP server:

switch: set ip_addr ip_address/mask

b. Specify the default router:

switch: set default_router ip_address

Step 10 Copy the software image from the TFTP server to the switch:

switch: copy tftp://ip_address/filesystem:/source-file-url flash:image_filename.bin

Step 11 Boot up the newly downloaded Cisco IOS image.

switch: boot flash:image_filename.bin

Step 12 Use the archive download-sw privileged EXEC command to download the software image to the switch or to the switch stack.

Step 13 Use the reload privileged EXEC command to restart the switch and to verify that the new software image is operating properly.

Step 14 Delete the flash:image_filename.bin file from the switch.


Recovering from a Lost or Forgotten Password

The default configuration for the switch allows an end user with physical access to the switch to recover from a lost password by interrupting the bootup process during power-on and by entering a new password. These recovery procedures require that you have physical access to the switch.


Note On these switches, a system administrator can disable some of the functionality of this feature by allowing an end user to reset a password only by agreeing to return to the default configuration. If you are an end user trying to reset a password when password recovery has been disabled, a status message shows this during the recovery process.


These sections describe how to recover a forgotten or lost switch password:

Procedure with Password Recovery Enabled

Procedure with Password Recovery Disabled

You enable or disable password recovery by using the service password-recovery global configuration command. When you enter the service password-recovery or no service password-recovery command on the stack master, it is propagated throughout the stack and applied to all switches in the stack.

Follow the steps in this procedure if you have forgotten or lost the switch password.


Step 1 Connect a terminal or a PC with terminal-emulation software to the switch console port. If you are recovering the password for a switch stack, connect to the console port of the stack master.

Step 2 Set the line speed on the emulation software to 9600 baud.

Step 3 On a stacking-capable switch, power off the switch by using one of these methods:

Power off the standalone switch or the entire switch stack by using the AMM GUI.

Remove the switch or stack members from the enclosure.

On a nonstacking-capable switch, power off the switch by using the AMM GUI or remove the switch from the enclosure.

Step 4 Power on the switch by using one of these methods:

If you powered off the standalone switch or switch stack, it should automatically power on. If this does not occur, use the AMM GUI to power on the switch or the stack.

If you powered off the switch by using the AMM GUI, use the GUI to power on the switch or the stack.

If you powered off the switch by removing the switch or stack members from the enclosure, re-insert the standalone switch or the stack members in the enclosure.

Within 15 seconds, press the Mode button while the System LED is still blinking green. Continue pressing the Mode button until the System LED turns briefly amber and then solid green; then release the Mode button.

Several lines of information about the software appear with instructions, informing you if the password recovery procedure has been disabled or not.

If you see a message that begins with this:

The system has been interrupted prior to initializing the flash file system. The 
following commands will initialize the flash file system

go to the "Procedure with Password Recovery Enabled" section, and follow the steps.

If you see a message that begins with this:

The password-recovery mechanism has been triggered, but is currently disabled. 

go to the "Procedure with Password Recovery Disabled" section, and follow the steps.

Step 5 After recovering the password, reload the nonstacking-capable switch, the standalone switch, or the stack master.

On a nonstacking-capable switch:

Switch> reload
Proceed with reload? [confirm] y

On a stacking-capable switch:

Switch> reload
 slot <stack-master-member-number>
Proceed with reload? [confirm] y

Step 6 For stacking-capable switches, power on the rest of the switch stack.


Procedure with Password Recovery Enabled

If the password-recovery mechanism is enabled, this message appears:

The system has been interrupted prior to initializing the flash file system. The following 
commands will initialize the flash file system, and finish loading the operating system 
software:

flash_init
load_helper
boot

Step 1 Initialize the flash file system:

switch: flash_init

Step 2 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 3 Load any helper files:

switch: load_helper

Step 4 Display the contents of flash memory:

switch: dir flash:

The switch file system appears:

Directory of flash:
    2  -rwx        5752   Mar 1 1993 00:06:02 +00:00  config.text
    3  -rwx          24   Mar 1 1993 00:06:02 +00:00  private-config.text
    4  -rwx     9995193   Mar 1 1993 00:04:31 +00:00  cbs31x0-universal-mz.122-40.EX2
    6  -rwx        1147   Mar 1 1993 00:40:29 +00:00  FHH105002F6_IPBase.lic
    9  -rwx        1155   Mar 1 1993 23:55:57 +00:00  FHH105002F6_IPServ.lic
   10  -rwx        1161   Mar 1 1993 23:56:21 +00:00  FHH105002F6_AdvIPServ.lic
    8  -rwx        8016   Mar 1 1993 00:00:51 +00:00  vlan.dat

16128000 bytes total (10003456 bytes free) 

Step 5 Rename the configuration file to config.text.old.

This file contains the password definition.

switch: rename flash:config.text flash:config.text.old

Step 6 Boot up the system:

switch: boot

Step 7 At the switch prompt, enter privileged EXEC mode:

Switch> enable

Step 8 Rename the configuration file to its original name:

Switch# rename flash:config.text.old flash:config.text 


Note Before continuing to Step 9, power on any connected stack members and wait until they have completely initialized. Failure to follow this step can result in a lost configuration depending on how your switch is set up.


Step 9 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 change the password.

Step 10 Enter global configuration mode:

Switch# configure terminal

Step 11 Change the password:

Switch (config)# enable secret password

The secret password can be from 1 to 25 alphanumeric characters, can start with a number, is case sensitive, and allows spaces but ignores leading spaces.

Step 12 Return to privileged EXEC mode:

Switch (config)# exit 
Switch# 

Step 13 Write the running configuration to the startup configuration file:

Switch# copy running-config startup-config

The new password is now in the startup configuration.


Note This procedure is likely to leave your switch virtual interface in a shutdown state. You can see which interface is in this state by entering the show running-config privileged EXEC command. To re-enable the interface, enter the interface vlan vlan-id global configuration command, and specify the VLAN ID of the shutdown interface. With the switch in interface configuration mode, enter the no shutdown command.


Step 14 Reload the switch or switch stack:

Switch# reload


Procedure with Password Recovery Disabled

If the password-recovery mechanism is disabled, this message appears:

The password-recovery mechanism has been triggered, but
is currently disabled.  Access to the boot loader prompt
through the password-recovery mechanism is disallowed at
this point.  However, if you agree to let the system be
reset back to the default system configuration, access
to the boot loader prompt can still be allowed.

Would you like to reset the system back to the default configuration (y/n)?

Caution Returning the switch to the default configuration results in the loss of all existing configurations. We recommend that you contact your system administrator to verify if there are backup switch and VLAN configuration files.

If you enter n (no), the normal bootup process continues as if the Mode button had not been pressed; you cannot access the boot loader prompt, and you cannot enter a new password. You see the message:

Press Enter to continue........

If you enter y (yes), the configuration file in flash memory and the VLAN database file are deleted. When the default configuration loads, you can reset the password.


Step 1 Elect to continue with password recovery and lose the existing configuration:

Would you like to reset the system back to the default configuration (y/n)? Y 

Step 2 Load any helper files:

Switch: load_helper

Step 3 Display the contents of flash memory:

switch: dir flash:

The switch file system appears:

Directory of flash:
4  -rwx     9995193   Mar 1 1993 00:04:31 +00:00  cbs31x0-universal-mz.122-40.EX2
57931776 bytes total (35725824 bytes free)

Step 4 Boot up the system:

Switch: boot

You are prompted to start the setup program. To continue with password recovery, enter N at the prompt:

Continue with the configuration dialog? [yes/no]: N

Step 5 At the switch prompt, enter privileged EXEC mode:

Switch> enable

Step 6 Enter global configuration mode:

Switch# configure terminal

Step 7 Change the password:

Switch (config)# enable secret password

The secret password can be from 1 to 25 alphanumeric characters, can start with a number, is case sensitive, and allows spaces but ignores leading spaces.

Step 8 Return to privileged EXEC mode:

Switch (config)# exit 
Switch# 


Note Before continuing to Step 9, power on any connected stack members and wait until they have completely initialized.


Step 9 Write the running configuration to the startup configuration file:

Switch# copy running-config startup-config

The new password is now in the startup configuration.


Note This procedure is likely to leave your switch virtual interface in a shutdown state. You can see which interface is in this state by entering the show running-config privileged EXEC command. To re-enable the interface, enter the interface vlan vlan-id global configuration command, and specify the VLAN ID of the shutdown interface. With the switch in interface configuration mode, enter the no shutdown command.


Step 10 You must now reconfigure the switch. If the system administrator has the backup switch and VLAN configuration files available, you should use those.

Step 11 Reload the switch:

Switch# reload

Preventing Switch Stack Problems


NoteMake sure that the switches that you add to or remove from the switch stack are powered off. For all powering considerations in switch stacks, see the "Switch Installation" chapter in the hardware installation guide.

After adding or removing stack members, make sure that the switch stack is operating at full bandwidth (32 Gb/s). Press the Mode button on a stack member until the MBR LED is on. The last two port LEDs on the switch should be green. Depending on the switch model, the last two ports are either 10/100/1000 ports or 10-Gigabit Ethernet port. The stack is not operating at full bandwidth if

On the Catalyst Switch Module 3110X, one or both of the two LEDs for the 10-Gigabit Ethernet port are not green. The Stack mode LEDs are the 10-Gigabit Ethernet port LEDs.

On the Catalyst Switch Module 3110G, the LEDs for ports 17 and 18 are not green.

We recommend using only one CLI session when managing the switch stack. Be careful when using multiple CLI sessions to the stack master. Commands that you enter in one session do not appear in the other sessions. Therefore, you might not be able to identify the session from which you entered a command.

Manually assigning stack member numbers according to the placement of the switches in the stack can make it easier to remotely troubleshoot the switch stack. However, if you add, remove, or rearrange switches later, you need to remember that the switches have manually assigned numbers. Use the switch current-stack-member-number renumber new-stack-member-number global configuration command to manually assign a stack member number. For more information about stack member numbers, see the "Stack Member Numbers" section on page 7-8.


If you replace a stack member with an identical model, the new switch functions with the exact same configuration as the replaced switch. This is also assuming the new switch is using the same member number as the replaced switch.

Removing powered-on stack members causes the switch stack to divide (partition) into two or more switch stacks, each with the same configuration. If you want the switch stacks to remain separate, change the IP address or addresses of the newly created switch stacks. To recover from a partitioned switch stack:

1. Power off the newly created switch stacks.

2. Reconnect them to the original switch stack through their StackWise Plus ports.

3. Power on the switches.

For the commands that you can use to monitor the switch stack and its members, see the "Displaying Switch Stack Information" section on page 7-27.

Preventing Autonegotiation Mismatches

The IEEE 802.3ab autonegotiation protocol manages the switch settings for speed (10 Mb/s, 100 Mb/s, and 1000 Mb/s) 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.


Monitoring Temperature

The switch monitors the temperature conditions and uses the temperature information to control the fans.

Use the show env temperature status privileged EXEC command to display the temperature value, state, and thresholds. The temperature value is the temperature in the switch (not the external temperature).You can configure only the yellow threshold level (in Celsius) by using the system env temperature threshold yellow value global configuration command to set the difference between the yellow and red thresholds. You cannot configure the green or red thresholds. For more information, see the command reference for this release.

Using Ping

These sections contain this information:

Understanding Ping

Executing Ping

Understanding Ping

The switch supports IP ping, which you can use to test connectivity to remote hosts. Ping sends an echo request packet to an address and waits for a reply. Ping returns one of these responses:

Normal response—The normal response (hostname is alive) occurs in 1 to 10 seconds, depending on network traffic.

Destination does not respond—If the host does not respond, a no-answer message is returned.

Unknown host—If the host does not exist, an unknown host message is returned.

Destination unreachable—If the default gateway cannot reach the specified network, a destination-unreachable message is returned.

Network or host unreachable—If there is no entry in the route table for the host or network, a network or host unreachable message is returned.

Executing Ping

If you attempt to ping a host in a different IP subnetwork, you must define a static route to the network or have IP routing configured to route between those subnets. For more information, see Chapter 39, "Configuring IP Unicast Routing."

IP routing is disabled by default on all switches. If you need to enable or configure IP routing, see Chapter 39, "Configuring IP Unicast Routing."

Beginning in privileged EXEC mode, use this command to ping another device on the network from the switch:

Command
Purpose

ping ip host | address

Ping a remote host through IP or by supplying the hostname or network address.



Note Though other protocol keywords are available with the ping command, they are not supported in this release.


This example shows how to ping an IP host:

Switch# ping 172.20.52.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echoes to 172.20.52.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Switch#

Table 48-1 describes the possible ping character output.

Table 48-1 Ping Output Display Characters 

Character
Description

!

Each exclamation point means receipt of a reply.

.

Each period means the network server timed out while waiting for a reply.

U

A destination unreachable error PDU was received.

C

A congestion experienced packet was received.

I

User interrupted test.

?

Unknown packet type.

&

Packet lifetime exceeded.


To end a ping session, enter the escape sequence (Ctrl-^ X by default). Simultaneously press and release the Ctrl, Shift, and 6 keys and then press the X key.

Using Layer 2 Traceroute

These sections contain this information:

Understanding Layer 2 Traceroute

Usage Guidelines

Displaying the Physical Path

Understanding Layer 2 Traceroute

The Layer 2 traceroute feature allows the switch to identify the physical path that a packet takes from a source device to a destination device. Layer 2 traceroute supports only unicast source and destination MAC addresses. It finds the path by using the MAC address tables of the switches in the path. When the switch detects a device in the path that does not support Layer 2 traceroute, the switch continues to send Layer 2 trace queries and lets them time out.

The switch can only identify the path from the source device to the destination device. It cannot identify the path that a packet takes from source host to the source device or from the destination device to the destination host.

Usage Guidelines

These are the Layer 2 traceroute usage guidelines:

Cisco Discovery Protocol (CDP) must be enabled on all the devices in the network. For Layer 2 traceroute to function properly, do not disable CDP.

For a list of switches that support Layer 2 traceroute, see the "Usage Guidelines" section. If any devices in the physical path are transparent to CDP, the switch cannot identify the path through these devices. For more information about enabling CDP, see Chapter 27, "Configuring CDP."

A switch is reachable from another switch when you can test connectivity by using the ping privileged EXEC command. All switches in the physical path must be reachable from each other.

The maximum number of hops identified in the path is ten.

You can enter the traceroute mac or the traceroute mac ip privileged EXEC command on a switch that is not in the physical path from the source device to the destination device. All switches in the path must be reachable from this switch.

The traceroute mac command output shows the Layer 2 path only when the specified source and destination MAC addresses belong to the same VLAN. If you specify source and destination MAC addresses that belong to different VLANs, the Layer 2 path is not identified, and an error message appears.

If you specify a multicast source or destination MAC address, the path is not identified, and an error message appears.

If the source or destination MAC address belongs to multiple VLANs, you must specify the VLAN to which both the source and destination MAC addresses belong. If the VLAN is not specified, the path is not identified, and an error message appears.

The traceroute mac ip command output shows the Layer 2 path when the specified source and destination IP addresses belong to the same subnet. When you specify the IP addresses, the switch uses the Address Resolution Protocol (ARP) to associate the IP addresses with the corresponding MAC addresses and the VLAN IDs.

If an ARP entry exists for the specified IP address, the switch uses the associated MAC address and identifies the physical path.

If an ARP entry does not exist, the switch sends an ARP query and tries to resolve the IP address. If the IP address is not resolved, the path is not identified, and an error message appears.

When multiple devices are attached to one port through hubs (for example, multiple CDP neighbors are detected on a port), the Layer 2 traceroute feature is not supported. When more than one CDP neighbor is detected on a port, the Layer 2 path is not identified, and an error message appears.

This feature is not supported in Token Ring VLANs.

Displaying the Physical Path

You can display physical path that a packet takes from a source device to a destination device by using one of these privileged EXEC commands:

tracetroute mac [interface interface-id] {source-mac-address} [interface interface-id] {destination-mac-address} [vlan vlan-id] [detail]

tracetroute mac ip {source-ip-address | source-hostname}{destination-ip-address | destination-hostname} [detail]

For more information, see the command reference for this release.

Using IP Traceroute

These sections contain this information:

Understanding IP Traceroute

Executing IP Traceroute

Understanding IP Traceroute

You can use IP traceroute to identify the path that packets take through the network on a hop-by-hop basis. The command output displays all network layer (Layer 3) devices, such as routers, that the traffic passes through on the way to the destination.

Your switches can participate as the source or destination of the traceroute privileged EXEC command and might or might not appear as a hop in the traceroute command output. If the switch is the destination of the traceroute, it is displayed as the final destination in the traceroute output. Intermediate switches do not show up in the traceroute output if they are only bridging the packet from one port to another within the same VLAN. However, if the intermediate switch is a multilayer switch that is routing a particular packet, this switch shows up as a hop in the traceroute output.

The traceroute privileged EXEC command uses the Time To Live (TTL) field in the IP header to cause routers and servers to generate specific return messages. Traceroute starts by sending a User Datagram Protocol (UDP) datagram to the destination host with the TTL field set to 1. If a router finds a TTL value of 1 or 0, it drops the datagram and sends an Internet Control Message Protocol (ICMP) time-to-live-exceeded message to the sender. Traceroute finds the address of the first hop by examining the source address field of the ICMP time-to-live-exceeded message.

To identify the next hop, traceroute sends a UDP packet with a TTL value of 2. The first router decrements the TTL field by 1 and sends the datagram to the next router. The second router sees a TTL value of 1, discards the datagram, and returns the time-to-live-exceeded message to the source. This process continues until the TTL is incremented to a value large enough for the datagram to reach the destination host (or until the maximum TTL is reached).

To learn when a datagram reaches its destination, traceroute sets the UDP destination port number in the datagram to a very large value that the destination host is unlikely to be using. When a host receives a datagram destined to itself containing a destination port number that is unused locally, it sends an ICMP port-unreachable error to the source. Because all errors except port-unreachable errors come from intermediate hops, the receipt of a port-unreachable error means that this message was sent by the destination port.

Executing IP Traceroute

Beginning in privileged EXEC mode, follow this step to trace the path that packets take through the network:

Command
Purpose

traceroute ip host

Trace the path that packets take through the network.



Note Though other protocol keywords are available with the traceroute privileged EXEC command, they are not supported in this release.


This example shows how to perform a traceroute to an IP host:

Switch# traceroute ip 171.9.15.10
Type escape sequence to abort.
Tracing the route to 171.69.115.10
1 172.2.52.1 0 msec 0 msec 4 msec
  2 172.2.1.203 12 msec 8 msec 0 msec
  3 171.9.16.6 4 msec 0 msec 0 msec
  4 171.9.4.5 0 msec 4 msec 0 msec
  5 171.9.121.34 0 msec 4 msec 4 msec
  6 171.9.15.9 120 msec 132 msec 128 msec
  7 171.9.15.10 132 msec 128 msec 128 msec
Switch#

The display shows the hop count, the IP address of the router, and the round-trip time in milliseconds for each of the three probes that are sent.

Table 48-2 Traceroute Output Display Characters 

Character
Description

*

The probe timed out.

?

Unknown packet type.

A

Administratively unreachable. Usually, this output means that an access list is blocking traffic.

H

Host unreachable.

N

Network unreachable.

P

Protocol unreachable.

Q

Source quench.

U

Port unreachable.


To end a trace in progress, enter the escape sequence (Ctrl-^ X by default). Simultaneously press and release the Ctrl, Shift, and 6 keys and then press the X key.

Using TDR

These sections contain this information:

Understanding TDR

Running TDR and Displaying the Results

Understanding TDR

You can use the Time Domain Reflector (TDR) feature to diagnose and resolve cabling problems. When running TDR, a local device sends a signal through a cable and compares the reflected signal to the initial signal.

TDR is supported only on 10/100/1000 copper Ethernet ports. It is not supported on 10-Gigabit Ethernet ports.

TDR can detect these cabling problems:

Open, broken, or cut twisted-pair wires—The wires are not connected to the wires from the remote device.

Shorted twisted-pair wires—The wires are touching each other or the wires from the remote device. For example, a shorted twisted pair can occur if one wire of the twisted pair is soldered to the other wire.

If one of the twisted-pair wires is open, TDR can find the length at which the wire is open.

Use TDR to diagnose and resolve cabling problems in these situations:

Replacing a switch

Setting up a wiring closet

Troubleshooting a connection between two devices when a link cannot be established or when it is not operating properly

When you run TDR, the switch reports accurate information if

The cable for the Gigabit link is a solid-core cable.

The open-ended cable is not terminated.

When you run TDR, the switch does not report accurate information if

The cable for the Gigabit link is a twisted-pair cable or is in series with a solid-core cable.

The link is a 10-Megabit or a 100-Megabit link.

The cable is a stranded cable.

The link partner is a Cisco IP Phone.

The link partner is not IEEE 802.3 compliant.

Running TDR and Displaying the Results

When you run TDR on an interface, you can run it on the stack master or a stack member.

To run TDR, enter the test cable-diagnostics tdr interface interface-id privileged EXEC command:

To display the results, enter the show cable-diagnostics tdr interface interface-id privileged EXEC command. For a description of the fields in the display, see the command reference for this release.

Using Debug Commands

These sections explains how you use debug commands to diagnose and resolve internetworking problems:

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, see the command reference for this release.


Enabling Debugging on a Specific Feature

In a switch stack, when you enable debugging, it is enabled only on the stack master. To enable debugging on a stack member, you must start a session from the stack master by using the session switch-number privileged EXEC command. Then, enter the debug command at the command-line prompt of the stack member.

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 Switched Port Analyzer (SPAN):

Switch# debug span-session

The switch continues to generate output until you enter the no form of the command.

If you enable a debug command and no output appears, 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 SPAN, enter this command in privileged EXEC mode:

Switch# no debug span-session

Alternately, in privileged EXEC mode, you can enter the undebug form of the command:

Switch# undebug span-session

To display the state of each debugging option, enter this command in privileged EXEC mode:

Switch# show debugging

Enabling All-System Diagnostics

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.

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 or the Ethernet management 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.


When stack members generate a system error message, the stack master displays the error message to all stack members. The syslog resides on the stack master.


Note Make sure to save the syslog to flash memory so that the syslog is not lost if the stack master fails.


For more information about system message logging, see Chapter 32, "Configuring System Message Logging."

Using the show platform forward Command

The output from the show platform forward privileged EXEC command provides some useful information about the forwarding results if a packet entering an interface is sent through the system. Depending upon the parameters entered about the packet, the output provides lookup table results and port maps used to calculate forwarding destinations, bitmaps, and egress information.


Note For more syntax and usage information for the show platform forward command, see the switch command reference for this release.


Most of the information in the output from the command is useful mainly for technical support personnel, who have access to detailed information about the switch application-specific integrated circuits (ASICs). However, packet forwarding information can also be helpful in troubleshooting.

This is an example of the output from the show platform forward command on port 1 in VLAN 5 when the packet entering that port is addressed to unknown MAC addresses. The packet should be flooded to all other ports in VLAN 5.

Switch# show platform forward gigabitethernet1/0/1 vlan 5 1.1.1 2.2.2 ip 13.1.1.1 13.2.2.2 
udp 10 20     
Global Port Number:24, Asic Number:5
Src Real Vlan Id:5, Mapped Vlan Id:5

Ingress:
 Lookup                   Key-Used                    Index-Hit  A-Data
InptACL  40_0D020202_0D010101-00_40000014_000A0000     01FFA   03000000
L2Local  80_00050002_00020002-00_00000000_00000000     00C71   0000002B
Station Descriptor:02340000, DestIndex:0239, RewriteIndex:F005

==========================================
Egress:Asic 2, switch 1
Output Packets:

------------------------------------------
Packet 1
 Lookup                   Key-Used                    Index-Hit  A-Data
OutptACL 50_0D020202_0D010101-00_40000014_000A0000     01FFE   03000000

Port       Vlan      SrcMac          DstMac    Cos  Dscpv
Gi1/0/1    0005 0001.0001.0001  0002.0002.0002  

------------------------------------------
Packet 2
 Lookup                   Key-Used                    Index-Hit  A-Data
OutptACL 50_0D020202_0D010101-00_40000014_000A0000     01FFE   03000000

Port       Vlan      SrcMac          DstMac    Cos  Dscpv
Gi1/0/2    0005 0001.0001.0001  0002.0002.0002  

------------------------------------------
<output truncated>
------------------------------------------
Packet 10
 Lookup                   Key-Used                    Index-Hit  A-Data
OutptACL 50_0D020202_0D010101-00_40000014_000A0000     01FFE   03000000
Packet dropped due to failed DEJA_VU Check on Gi1/0/2

This is an example of the output when the packet coming in on port 1 in VLAN 5 is sent to an address already learned on the VLAN on another port. It should be forwarded from the port on which the address was learned.

Switch# show platform forward gigabitethernet1/0/1 vlan 5 1.1.1 0009.43a8.0145 ip 13.1.1.1 
13.2.2.2 udp 10 20
Global Port Number:24, Asic Number:5
Src Real Vlan Id:5, Mapped Vlan Id:5

Ingress:
 Lookup                   Key-Used                    Index-Hit  A-Data
InptACL  40_0D020202_0D010101-00_40000014_000A0000     01FFA   03000000
L2Local  80_00050009_43A80145-00_00000000_00000000     00086   02010197
Station Descriptor:F0050003, DestIndex:F005, RewriteIndex:0003

==========================================
Egress:Asic 3, switch 1
Output Packets:

------------------------------------------
Packet 1
 Lookup                   Key-Used                    Index-Hit  A-Data
OutptACL 50_0D020202_0D010101-00_40000014_000A0000     01FFE   03000000

Port       Vlan      SrcMac          DstMac    Cos  Dscpv
Gi1/0/2    0005 0001.0001.0001  0009.43A8.0145 

This is an example of the output when the packet coming in on port 1 in VLAN 5 has a destination MAC address set to the router MAC address in VLAN 5 and the destination IP address unknown. Because there is no default route set, the packet should be dropped.

Switch# show platform forward gigabitethernet1/0/1 vlan 5 1.1.1 03.e319.ee44 ip 13.1.1.1 
13.2.2.2 udp 10 20
Global Port Number:24, Asic Number:5
Src Real Vlan Id:5, Mapped Vlan Id:5

Ingress:
 Lookup                   Key-Used                    Index-Hit  A-Data
InptACL  40_0D020202_0D010101-00_41000014_000A0000     01FFA   03000000
L3Local  00_00000000_00000000-90_00001400_0D020202     010F0   01880290
L3Scndr  12_0D020202_0D010101-00_40000014_000A0000     034E0   000C001D_00000000
Lookup Used:Secondary
Station Descriptor:02260000, DestIndex:0226, RewriteIndex:0000

This is an example of the output when the packet coming in on port 1 in VLAN 5 has a destination MAC address set to the router MAC address in VLAN 5 and the destination IP address set to an IP address that is in the IP routing table. It should be forwarded as specified in the routing table.

Switch# show platform forward gigabitethernet1/0/1 vlan 5 1.1.1 03.e319.ee44 ip 110.1.5.5 
16.1.10.5
Global Port Number:24, Asic Number:5
Src Real Vlan Id:5, Mapped Vlan Id:5

Ingress:
 Lookup                   Key-Used                    Index-Hit  A-Data
InptACL  40_10010A05_0A010505-00_41000014_000A0000     01FFA   03000000
L3Local  00_00000000_00000000-90_00001400_10010A05     010F0   01880290
L3Scndr  12_10010A05_0A010505-00_40000014_000A0000     01D28   30090001_00000000
Lookup Used:Secondary
Station Descriptor:F0070007, DestIndex:F007, RewriteIndex:0007

==========================================
Egress:Asic 3, switch 1
Output Packets:

------------------------------------------
Packet 1
 Lookup                   Key-Used                    Index-Hit  A-Data
OutptACL 50_10010A05_0A010505-00_40000014_000A0000     01FFE   03000000

Port       Vlan      SrcMac          DstMac    Cos  Dscpv
Gi1/0/2    0007 XXXX.XXXX.0246  0009.43A8.0147 

Using the crashinfo Files

The crashinfo files save information that helps Cisco technical support representatives to debug problems that caused the Cisco IOS image to fail (crash). The switch writes the crash information to the console at the time of the failure. The switch creates two types of crashinfo files:

Basic crashinfo file—The switch automatically creates this file the next time you boot up the Cisco IOS image after the failure.

Extended crashinfo file—The switch automatically creates this file when the system is failing.

Basic crashinfo Files

The information in the basic file includes the Cisco IOS image name and version that failed, a list 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.

Basic crashinfo files are kept in this directory on the flash file system:

flash:/crashinfo/.

The filenames are 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 by using the delete privileged EXEC command.

You can display the most recent basic 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.

Extended crashinfo Files

The switch creates the extended crashinfo file when the system is failing. The information in the extended file includes additional information that can help determine the cause of the switch failure. You provide this information to the Cisco technical support representative by manually accessing the file and using the more or the copy privileged EXEC command.

Extended crashinfo files are kept in this directory on the flash file system:

flash:/crashinfo_ext/.

The filenames are crashinfo_ext_n where n is a sequence number.

You can configure the switch to not create the extended creashinfo file by using the no exception crashinfo global configuration command.

Using Memory Consistency Check Routines

The switch runs memory consistency check routines to detect and correct invalid ternary content addressable memory (TCAM) table entries that can affect the performance of the switch.

If the switch cannot fix the error, it logs a system error message specifying the TCAM space where the error is located:

Hulc Forwarding TCAM Manager (HFTM) space: Related to the Layer 2 and Layer 3 forwarding tables.

Hulc quality of service (QoS)/access control list (ACL) TCAM Manager (HQATM) space: Related to ACL and ACL-like tables such as QoS classification and policy routing.

The output from the show platform tcam errors privileged EXEC command provides information about the TCAM memory consistency integrity on the switch.

Beginning in privileged EXEC mode, use the show platform tcam errors command to display the TCAM memory consistency check errors detected on the switch:

Command
Purpose

show platform tcam errors

Displays TCAM memory consistency check errors in the HQATM, and HFTM.


This example shows the output of the show platform tcam errors command:

DomainMember# show platform tcam errors
TCAM Memory Consistency Checker Errors
--------------------------------------
TCAM Space				Values		Masks		Fixups		Retries		Failures
HFTM				0		0		0		0		0
HQATM				0		0		0		0		0

Table 48-3 Definitions of Fields in TCAM Checker Output

Character
Description

Values

The number of invalid values.

Masks

The number of invalid masks.

Fixups

The number of initial attempts to fix the invalid values or masks.

Retries

The number of repeated attempts to fix the invalid values or masks.

Failures

The number of failed attempts to fix the invalid values or masks.


For more information about the show platform tcam errors privileged EXEC command, see the command reference for this release.

Using On-Board Failure Logging

You can use the on-board-failure logging (OBFL) feature to collect information about the switch. The information includes uptime, temperature, and voltage information and helps Cisco technical support representatives to troubleshoot switch problems. We recommend that you keep OBFL enabled and do not erase the data stored in the flash memory.

This section has this information:

Understanding OBFL

Configuring OBFL

Displaying OBFL Information

Understanding OBFL

By default, OBFL is enabled. It collects information about the switch. The switch stores this information in the flash memory:

CLI commands—Record of the OBFL CLI commands that are entered on a standalone switch or a switch stack member

Environment data—Unique device identifier (UDI) information for a standalone switch or a stack member and for all the connected FRU devices: the product identification (PID), the version identification (VID), and the serial number

Message—Record of the hardware-related system messages generated by a standalone switch or a stack member

Temperature—Temperature of a standalone switch or a stack member

Uptime data—Time when a standalone switch or a stack member starts, the reason the switch restarts, and the length of time the switch has been running since it last restarted

Voltage—System voltages of a standalone switch or a stack member

You should manually set the system clock or configure it by using Network Time Protocol (NTP).

When the switch is running, you can retrieve the OBFL data by using the show logging onboard privileged EXEC commands. If the switch fails, contact your Cisco technical support representative to find out how to retrieve the data.

When an OBFL-enabled switch is restarted, there is a 10-minute delay before logging of new data begins.

Configuring OBFL

To enable OBFL, use the hw-module module [switch-number] logging onboard [message level level] global configuration command. On stacking-capable switches, the range for switch-number is from 1 to 9. On nonstacking-capable switches, the switch number is always 1. Use the message level level parameter to specify the severity of the hardware-related messages that the switch generates and stores in the flash memory.

To copy the OBFL data to the local network or a specific file system, use the copy logging onboard module stack-member destination privileged EXEC command.


Caution We recommend that you do not disable OBFL and that you do not remove the data stored in the flash memory.

To disable OBFL, use the no hw-module module [switch-number] logging onboard [message level] global configuration command.

To clear all the OBFL data in the flash memory except for the uptime and CLI command information, use the clear logging onboard privileged EXEC command.

In a switch stack, you can enable OBFL on a standalone switch or on all stack members by using the hw-module module logging onboard [message level level] global configuration command.

For more information about the commands in this section, see the command reference for this release.

Displaying OBFL Information

To display the OBFL information, use one or more of the privileged EXEC commands in Table 48-4:

Table 48-4 Commands for Displaying OBFL Information 

Command
Purpose

show logging onboard [module [switch-number]] clilog

Displays the OBFL CLI commands that were entered on a standalone switch or the specified stack members.

show logging onboard [module [switch-number]] environment

Display the UDI information for a standalone switch or the specified stack members and for all the connected FRU devices: the PID, the VID, and the serial number.

show logging onboard [module [switch-number]] message

Display the hardware-related messages generated by a standalone switch or the specified stack members.

show logging onboard [module [switch-number]] poe

Display the power consumption of PoE ports on a standalone switch or the specified stack members.

show logging onboard [module [switch-number]] temperature

Display the temperature of a standalone switch or the specified switch stack members.

show logging onboard [module [switch-number]] uptime

Display the time when a standalone switch or the specified stack members start, the reason the standalone switch or specified stack members restart, and the length of time that the standalone switch or specified stack members have been running since they last restarted.

show logging onboard [module [switch-number]] voltage

Display the system voltages of a standalone switch or the specified stack members.


For more information about using the commands in Table 48-4 and for examples of OBFL data, see the command reference for this release.

Troubleshooting CPU Utilization

This section lists some possible symptoms that could be caused by the CPU being too busy and shows how to verify a CPU utilization problem. Table 48-5 lists the primary types of CPU utilization problems that you can identify. It gives possible causes and corrective action with links to the Troubleshooting High CPU Utilization document on Cisco.com.

Possible Symptoms of High CPU Utilization

Note that excessive CPU utilization might result in these symptoms, but the symptoms could also result from other causes.

Spanning tree topology changes

EtherChannel links brought down due to loss of communication

Failure to respond to management requests (ICMP ping, SNMP timeouts, slow Telnet or SSH sessions)

UDLD flapping

IP SLAs failures because of SLAs responses beyond an acceptable threshold

DHCP or IEEE 802.1x failures if the switch does not forward or respond to requests

Layer 3 switches:

Dropped packets or increased latency for packets routed in software

BGP or OSPF routing topology changes

HSRP flapping

Verifying the Problem and Cause

To determine if high CPU utilization is a problem, enter the show processes cpu sorted privileged EXEC command. Note the underlined information in the first line of the output example.

Switch# show processes cpu sorted
CPU utilization for five seconds: 8%/0%; one minute: 7%; five minutes: 8%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 
309 42289103 752750 56180 1.75% 1.20% 1.22% 0 RIP Timers 
140 8820183 4942081 1784 0.63% 0.37% 0.30% 0 HRPC qos request 
100 3427318 16150534 212 0.47% 0.14% 0.11% 0 HRPC pm-counters 
192 3093252 14081112 219 0.31% 0.14% 0.11% 0 Spanning Tree 
143 8 37 216 0.15% 0.01% 0.00% 0 Exec 
...
<output truncated>

This example shows normal CPU utilization. The output shows that utilization for the last 5 seconds is 8%/0%, which has this meaning:

The total CPU utilization is 8 percent, including both time running Cisco IOS processes and time spent handling interrupts

The time spent handling interrupts is zero percent.

\

Table 48-5 Troubleshooting CPU Utilization Problems

Type of Problem
Cause
Corrective Action

Interrupt percentage value is almost as high as total CPU utilization value.

The CPU is receiving too many packets from the network.

Determine the source of the network packet. Stop the flow, or change the switch configuration. See the section on "Analyzing Network Traffic."

Total CPU utilization is greater than 50% with minimal time spent on interrupts.

One or more Cisco IOS process is consuming too much CPU time. This is usually triggered by an event that activated the process.

Identify the unusual event, and troubleshoot the root cause. See the section on "Debugging Active Processes."


For complete information about CPU utilization and how to troubleshoot utilization problems, see the Troubleshooting High CPU Utilization document on Cisco.com.