Restrictions for Online Diagnostics
MACsec diagnostic test is not supported on half duplex mode (interfaces operating at 10 or 100 Mb/s).
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
MACsec diagnostic test is not supported on half duplex mode (interfaces operating at 10 or 100 Mb/s).
With online diagnostics, you can test and verify the hardware functionality of a device while the device is connected to a live network. Online diagnostics contains packet-switching tests that check different hardware components and verify the data path and control signals.
Online diagnostics detects problems in these areas:
Hardware components
Interfaces (Ethernet ports and so forth)
Solder joints
Online diagnostics are categorized as on-demand, scheduled, or health-monitoring diagnostics. On-demand diagnostics run from the CLI; scheduled diagnostics run at user-designated intervals or at specified times when the device is connected to a live network; and health-monitoring runs in the background with user-defined intervals. The health-monitoring test runs every 90, 100, or 150 seconds based on the test.
After you configure online diagnostics, you can manually start diagnostic tests or display the test results. You can also see which tests are configured for the device and the diagnostic tests that have already run.
![]() Note |
|
The following sections provide information about GOLD tests.
DiagGoldPktTest
This GOLD packet loopback test verifies the MAC-level loopback functionality. In this test, a GOLD packet is sent, for which Unified Access Data Plane (UADP) ASIC provides support in the hardware. The packet loops back at MAC-level and is matched against the stored packet.
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Nondisruptive. |
Recommendation |
Run this on-demand test as per requirement. |
Default |
Off. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
– |
Hardware support |
All modules. |
DiagThermalTest
This test verifies the temperature reading from a device sensor.
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Nondisruptive. |
Recommendation |
Do not disable. Run this as an on-demand test, and as a health-monitoring test if the administrator is down. |
Default |
On. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
– |
Hardware support |
All modules. |
DiagPhyLoopbackTest
This PHY loopback test verifies the PHY-level loopback functionality. In this test, a packet, which loops back at the PHY level and is matched against the stored packet, is sent. It cannot be run as a health-monitoring test.
![]() Note |
In certain cases when this test is run on-demand, ports are moved to the error-disabled state. In such cases, use the shut and no shut command in interface configuration mode to reenable these ports. |
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Disruptive. |
Recommendation |
If the link to the external connector is down, run this on-demand test to check the health of the link. |
Default |
Off. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
– |
Hardware support |
All modules. |
DiagScratchRegisterTest
This Scratch Register test monitors the health of ASICs by writing values into registers, and reading back the values from these registers.
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Nondisruptive. |
Recommendation |
Do not disable. Run this test if the task of writing values to the registers fails. This can be run as a health-monitoring test and also as an on-demand test. |
Default |
On. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
– |
Hardware support |
All modules. |
DiagPoETest
This test checks the Power over Ethernet (PoE) controller functionality. Do not perform this test during normal switch operation.
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Disruptive. |
Recommendation |
Run this test if you experience PoE controller issues with a port. This can be run only as an on-demand test. |
Default |
Off. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
– |
Hardware support |
All modules. |
DiagStackCableTest
This test verifies the stack-ring loopback functionality in the stacking environment. It cannot be run as a health-monitoring test.
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Disruptive. |
Recommendation |
Run this test to verify the stack-ring loopback functionality in the stacking environment. |
Default |
Off. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
If the test fails, check the stack cables and connectors. |
Hardware support |
All modules. |
TestUnusedPortLoopback
This test verifies the PHY-level loopback functionality for admin-down ports. In this test, a packet which loops back at the PHY level and is matched against the stored packet, is sent.
Attribute |
Description |
---|---|
Disruptive or Nondisruptive |
Nondisruptive. |
Recommendation |
This can be run as a health-monitoring test and also as an on-demand test. |
Default |
Off. |
Intitial release |
Cisco IOS XE Fuji 16.9.2. |
Corrective action |
Displays a syslog message if the test fails for a port. |
Hardware support |
All modules. |
The following sections provide information about the various procedures that comprise the online diagnostics configuration.
After you configure diagnostic tests to run on a device, use the diagnostic start privileged EXEC command to begin diagnostic testing.
After starting the tests, you cannot stop the testing process midway.
Use the diagnostic start switch privileged EXEC command to manually start online diagnostic testing:
Command or Action | Purpose |
---|---|
diagnostic start switch number test {name | test-id | test-id-range | all | basic | complete | minimal | non-disruptive | per-port} Example:
|
Starts the diagnostic tests. You can specify the tests by using one of these options:
|
You must configure the failure threshold and the interval between tests before enabling diagnostic monitoring.
You can schedule online diagnostics to run at a designated time of day, or on a daily, weekly, or monthly basis for a device. Use the no form of the diagnostic schedule switch command to remove the scheduling.
Command or Action | Purpose | |
---|---|---|
Step 1 |
configure terminal Example:
|
Enters global configuration mode. |
Step 2 |
diagnostic schedule number test {name | test-id | test-id-range | all | basic | complete | minimal | non-disruptive | per-port} {daily | on mm dd yyyy hh:mm | port inter-port-number port-number-list | weekly day-of-week hh:mm} Example:
|
Schedules on-demand diagnostic test for a specific day and time. When specifying the test to be scheduled, use these options:
You can schedule the tests as follows:
|
Use the no form of this command to disable testing.
By default, health monitoring is enabled only for a few tests, and the device generates a syslog message when a test fails.
Follow these steps to configure and enable the health-monitoring diagnostic tests:
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode. Enter your password, if prompted. |
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
diagnostic monitor interval switch number test {name | test-id | test-id-range | all} hh:mm:ss milliseconds day Example:
|
Configures the health-monitoring interval of the specified test. When specifying a test, use one of these parameters:
When specifying the interval, set these parameters:
|
Step 4 |
diagnostic monitor syslog Example:
|
(Optional) Configures the switch to generate a syslog message when a health-monitoring test fails. |
Step 5 |
diagnostic monitor threshold switch number number test {name | test-id | test-id-range | all} failure count count Example:
|
(Optional) Sets the failure threshold for the health-monitoring test. When specifying the tests, use one of these parameters:
The range for the failure threshold count is 0 to 99. |
Step 6 |
diagnostic monitor switchnumber test {name | test-id | test-id-range | all} Example:
|
Enables the specified health-monitoring tests. The switch number keyword is supported only on stacking switches. When specifying the tests, use one of these parameters:
|
Step 7 |
end Example:
|
Returns to privileged EXEC mode. |
Step 8 |
show diagnostic { content | post | result | schedule | status | switch } |
(Optional) Display the online diagnostic test results and the supported test suites. |
Step 9 |
show running-config Example:
|
(Optional) Verifies your entries. |
Step 10 |
copy running-config startup-config Example:
|
(Optional) Saves your entries in the configuration file. |
You can display the online diagnostic tests that are configured for a device or a device stack and check the test results by using the privileged EXEC show commands in this table:
Command |
Purpose |
---|---|
show diagnostic content switch [number | all] |
Displays the online diagnostics configured for a switch. |
show diagnostic status |
Displays the diagnostic tests that are running currently. . |
show diagnostic result switch [number | all] [detail | test {name | test-id | test-id-range | all} [detail]] |
Displays the online diagnostics test results. |
show diagnostic switch [number | all] [detail] |
Displays the online diagnostics test results. |
show diagnostic schedule [number | all] |
Displays the online diagnostics test schedule. |
show diagnostic post |
Displays the POST results. (The output is the same as the show post command output.) |
show diagnostic events {event-type | module} |
Displays diagnostic events such as error, information, or warning based on the test result. |
show diagnostic description module [number] test { name | test-id | all } |
Displays the short description of the results from an individual test or all the tests. |
The following sections provide examples of online diagnostics configurations.
This example shows how to start a diagnostic test by using the test name:
Device# diagnostic start switch 2 test DiagPOETest
This example shows how to start all of the basic diagnostic tests:
Device# diagnostic start switch 1 test all
This example shows how to configure a health-monitoring test:
Device(config)# diagnostic monitor threshold switch 1 test 1 failure count 50
Device(config)# diagnostic monitor interval switch 1 test TestPortAsicStackPortLoopback
This example shows how to schedule diagnostic testing for a specific day and time on a specific switch:
Device(config)# diagnostic schedule test DiagThermalTest on June 3 2013 22:25
This example shows how to schedule diagnostic testing to occur weekly at a certain time on a specific switch:
Device(config)# diagnostic schedule switch 1 test 1,2,4-6 weekly saturday 10:30
This example shows how to display on-demand diagnostic settings:
Device# show diagnostic ondemand settings
Test iterations = 1
Action on test failure = continue
This example shows how to display diagnostic events for errors:
Device# show diagnostic events event-type error
Diagnostic events (storage for 500 events, 0 events recorded)
Number of events matching above criteria = 0
No diagnostic log entry exists.
This example shows how to display the description for a diagnostic test:
Device# show diagnostic description switch 1 test all
DiagGoldPktTest :
The GOLD packet Loopback test verifies the MAC level loopback
functionality. In this test, a GOLD packet, for which doppler
provides the support in hardware, is sent. The packet loops back
at MAC level and is matched against the stored packet. It is a non
-disruptive test.
DiagThermalTest :
This test verifies the temperature reading from the sensor is below the yellow
temperature threshold. It is a non-disruptive test and can be run as a health monitoring test.
DiagFanTest :
This test verifies all fan modules have been inserted and working properly on the board
It is a non-disruptive test and can be run as a health monitoring test.
DiagPhyLoopbackTest :
The PHY Loopback test verifies the PHY level loopback
functionality. In this test, a packet is sent which loops back
at PHY level and is matched against the stored packet. It is a
disruptive test and cannot be run as a health monitoring test.
DiagScratchRegisterTest :
The Scratch Register test monitors the health of application-specific
integrated circuits (ASICs) by writing values into registers and reading
back the values from these registers. It is a non-disruptive test and can
be run as a health monitoring test.
DiagPoETest :
This test checks the PoE controller functionality. This is a disruptive test
and should not be performed during normal switch operation.
Device#
Related Topic | Document Title |
---|---|
For complete syntax and usage information for the commands used in this chapter. |
Command Reference (Catalyst 9200 Series Switches) |
This table provides release and related information for features explained in this module.
These features are available on all releases subsequent to the one they were introduced in, unless noted otherwise.
Release |
Feature |
Feature Information |
---|---|---|
Cisco IOS XE Fuji 16.9.2 |
Online Diagnostics |
With online diagnostics, you can test and verify the hardware functionality of the device while the device is connected to a live network. |
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn.