- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
10-11-2011 02:57 PM - edited 06-19-2024 06:47 PM
I’m no electrical engineer, (the closest experience I have with electricity is the amount of electrocution I received when I was a child [due to faulty cabling of electrical appliances]) so I will spare readers technical jargons and boring formulas because this guide is not aimed to be published in the International Journal of Mumbo-Jumbo. This guide is to help anyone how to confidently use the TDR feature when troubleshooting basic Layer 1 Ethernet issue.
My knowledge with this feature is based entirely on experience and a lot of trial-and-error.
What is Time-Domain Reflectometer (TDR)?
“A time-domain reflectometer (TDR) is an electronic instrument used to characterize and locate faults in metallic cables (for example, twisted wire pairs, coaxial cables)1.”
For the sake of this document, “TDR testing” and “TDR” are used interchangeably to sow confusion to the un-initiated. They both mean the same.
How can TDR help me?
TDR, in its simplest form, can help you determine IF you have a cable problem, WHICH pair(s) is/are faulty and HOW FAR away the fault is.
Typically, when you have a Layer 1 issue there are a lot of factors to consider:
- Local-end Side (LeS) patch cable;
- Local-end Side (LeS) patch panel (including punch block);
- Horizontal cable;
- Remote-end (Red) patch panel (including punch block);
- Remote-end (Red) patch cable; and
- Remote-end (Red) device NIC
So you see, dear readers, TDR minimize the guess-work.
Picture this …
Before we begin, let me give you the “lay of the land”. Presume the following scenario:
What model of Cisco switch does TDR work on?
Firstly, not all switch model support TDR. TDR feature first came out with the Catalyst 2960. So here is the list of which ones will work and will not:
Model |
TDR Support |
2960 |
Yes1, 2 |
2960G |
Yes |
2960S |
Yes |
2918 |
Unknown |
2350 |
Unknown |
2360 |
Unknown |
2975 |
Unknown |
3560 |
No |
3560G |
Yes |
3560E/3560X |
Yes |
3750 |
No |
3750G |
Yes |
3750E/3750X |
Yes |
Nexus 2K |
Unknown |
Nexus 5K |
Unknown |
Nexus 7K |
Yes3 |
Sup7E/X4548 |
Yes |
Note:
- 1. The 2960 will support TDR in both the FastEthernet and dual-personality GigiabitEthernet port, however, when used on a FastEthernet port, TDR will only test the first two pairs, namely Pairs A & B. For obvious reasons, Pairs C and D will not be tested when used on non-GigabitEthernet ports.
- 2. Except the WS-C2960-48PDL, when using the copper GigabitEthernet port of the Catalyst 2960, one must manually set the interface to copper using the command “media rj” before the test can be conducted.
- 3. Confirmed by Cisco TAC, Ankur Garg.
The list does not include modules/blades for the Catalyst 4000/4500, 5000/5500, 6000/6500 although it is mentioned here that TDR was introduced with IOS Release 12.2 ZY for the Catalyst 6000/6500. It’s not included in the list above because I don’t have the resources to test and verify.
Legacy Cisco Catalyst models 1900, 2900XL/3500XL, 2940/2950/2955, 2948G and 2970 are not supported. Routers are also not supported. I do not have any resources to test router Ethernet Switch Modules (NME, HWIC, EHWIC). Wireless Access Points do not support TDR.
Why doesn’t the FastEthernet-flavoured 3560 and 3750 support TDR and but the cheaper FastEthernet 2960 support TDR?
Base on the time-line, the “plain” (or non-GigabitEthernet copper port) 3560 and 3750 came out BEFORE the 2960. The “chip” for the TDR was included in the design of the 2960. When Cisco released the 3560G and 3750G later, someone made the ultimate decision to include the TDR feature as a standard. Therefore, the plain 3560 and 3750 are the only two series that WON’T HAVE the TDR feature. (Take note reader: Emphasis on the words “WON’T HAVE”)
Any Gotchas I need to be aware of?
- Switches need to run IOS version 12.2 or later. TDR is supported in IOS version 15.0. IOS version 12.0 and 12.1 do NOT support TDR.
- If you are running IOS version 12.2(46)SE or earlier, TDR test is DISRUPTIVE. During the test, the interface will go down and up. For obvious reasons, anything connected will lose network connectivity.
- If the remote-end device is a power-over-ethernet (PoE) device, the test will cause the device to lose power. If you have, for example, a Voice over IP (VoIP) phone and a PC client is connected to the phone, both the phone and client will lose network connectivity because the phone does not have a bypass functionality. This will affect ALL IOS versions.
- Particularly when you are running old IOS versions, the test can take between five (5) to seven (7) seconds.
- TDR works on 10/100/1000BaseTx. Fibre optic ports (any flavours) is not covered/discussed here. TenGigabitEthernet copper port DOES NOT (YET) support TDR.
- Cisco GLC-T/GLC-TX SFP module does NOT support TDR.
The next two Gotcha items are for those who plan to use the TDR feature on Cisco Catalyst 2960 and 2960G (2960S not included):
- 1. The 2960 will support TDR in both the FastEthernet and dual-personality GigiabitEthernet port, however, when used on a FastEthernet port, TDR will only test the first two pairs, namely Pairs A & B. For obvious reasons, Pairs C and D will not be tested when used on non-GigabitEthernet ports. Pairs C and D will report a result of “Not Supported”.
- 2. Except the WS-C2960-48PDL, when using the copper GigabitEthernet (Gig 0/1 and Gig 0/2) ports of the Catalyst 2960, one must manually set the interface to copper using the command “media rj” before the test can be conducted.
How to use TDR?
The commands are very simple: One to start the test and the second command to display the result. Here is simple procedure:
- Command to start the TDR: “test cable tdr interface <interface of your choice>”;
- Wait for about 5 to 7 seconds for the test to run; and
- Command to show the result of the TDR test: “show cable tdr interface <interface of your choice>”
See? Easy! Now let’s see what the I results would look like.
Interface |
Speed |
Local pair |
Pair length |
Remote pair |
Pair status |
Gi0/1 |
1000M |
Pair A |
3 +/- 1 meters |
Pair A |
Normal |
Pair B |
3 +/- 1 meters |
Pair B |
Normal |
||
Pair C |
3 +/- 1 meters |
Pair C |
Normal |
||
Pair D |
3 +/- 1 meters |
Pair D |
Normal |
So what does this result above tell us?
- Port tested is on GigabitEthernet 0/1;
- Port has negotiated to 1 Gbps;
- Cable use is a straight-through cable (look and compare the values of “Local pair” and “remote pair”);
- Cable length is approximately 3 metres long and an error (length-wise) of 1 metre; and
- All four pairs are working fine (Pair status)
Under “Pair status” you can get the following results:
Result |
Explaination |
Normal |
Ideal result you want.
|
Open |
Open circuit. This means that one (or more) pair has “no pin contact”. |
Short |
Short circuit. |
Impedance Mismatched |
Bad cable. For more explanation, go here. |
An ideal result is “Normal”. In practice, whether the remote-end device is FastEthernet or GigabitEthernet, I will never accept a TDR result other than “Normal” in all four pairs.
Cable Pairs explained?
This is how I see what each Pairs control:
Pairs |
Function |
A |
This pair controls whether or not the port should go up or down. |
B |
Protocol-level and controls FastEthernet. |
C |
Power over Ethernet (PoE) |
D |
GigabitEthernet |
More examples
Interface |
Speed |
Local pair |
Pair length |
Remote pair |
Pair status |
Gi0/11 |
100M |
Pair A |
13 +/- 1 meters |
Pair B |
Normal |
Pair B |
12 +/- 1 meters |
Pair A |
Normal |
||
Pair C |
0 +/- 1 meters |
Pair D |
Open |
||
Pair D |
0 +/- 1 meters |
Pair C |
Open |
Normally, this result would freak me out. Look at the items in RED. Pairs C and D are reporting a cable value of “0”. Next I move to the “Pair status” and it’s reported as an Open circuit. No pin contact. Whao! But look at the speed. It’s 100 Mbps. So it’s normal … I guess.
But wait. What if the remote-end side (Red) client is a GigabitEthernet. So where is the faulty cabling? Which one of the patch cables? Or is it a horizontal cabling? Does the client support GigabitEthernet or not?
Here’s another clue: Look at the length of the cable for Pair A and B. It’s reporting around 12 to 13 metres. Experience has taught me that my Local-end Side (LeS) cable doesn’t exceed two metres. So that rules out my cable, however the horizontal cabling is more than 10 metres. So what’s between the horizontal cabling and the remote-end client? You have three suspects: 1) The remote-end punch block; 2) the remote-end patch cable; and 3) remote-end client.
Culprit was the remote-end punch block and the horizontal cabling: Cable contractors only terminated two pairs.
Never ask a boy to do a man’s job!
Interface |
Speed |
Local pair |
Pair length |
Remote pair |
Pair status |
Gi1/0/48 |
auto |
Pair A |
149 +/- 1 meters |
Pair B |
Normal |
Pair B |
151 +/- 1 meters |
Pair A |
Normal |
||
Pair C |
35 +/- 1 meters |
Pair D |
Short/Impedance Mism |
||
Pair D |
21 +/- 1 meters |
Pair C |
Short/Impedance Mism |
Its results like the ones above that makes me want to cry.
Ok, I look under “Pair status” and I see “Short/Impedance Mism” for Pair C and D. No question about it. It’s bad cabling. This is not what makes me want to cry. Look at under “Pair length” of Pair A and B. NOW cry.
Should I be worried?
Interface |
Speed |
Local pair |
Pair length |
Remote pair |
Pair status |
Fa0/39 |
100M |
Pair A |
6 +/- 1 meters |
N/A |
Open |
Pair B |
49 +/- 1 meters |
N/A |
Open |
||
Pair C |
N/A |
N/A |
Not Supported |
||
Pair D |
N/A |
N/A |
Not Supported |
Looking at the result, I can confidently say that the appliance was a 48-port Cisco Catalyst 2960. How? Look under “Interface”. Look at “Pair status” for Pair C and D. Only the plain 2960 FastEthernet ports can support TDR.
But look at “Pair status” for Pairs A and B. What does that mean?
It means that the remote-end (Red) patch cable is missing.
Weird things have happened before
I’ve taken the opportunity to do limited testing on TDR on a 4510R+E. The chassis has a Sup7E and with a X4548-RJ45V+ line card (IOS version 03.01.01.SG). The result(s) are very, very weird. Oh, by the way, the TDR testing on this setup takes 60 seconds. 60 seconds! Good grief! I have no idea whether the Sup7E or the line card is the factor.
The sample below is coming from a GOOD cable:
Interface |
Speed |
Local pair |
Pair length |
Remote pair |
Pair status |
Gi2/36 |
1Gbps |
1-2 |
29 +/-10m |
Unknown |
Fault |
3-6 |
30 +/-10m |
Unknown |
Fault |
||
4-5 |
29 +/-10m |
Unknown |
Fault |
||
7-8 |
30 +/-10m |
Unknown |
Fault |
And the sample below is coming from a BAD cable:
Interface |
Speed |
Local pair |
Pair length |
Remote pair |
Pair status |
Gi2/37 |
0Mbps |
1-2 |
56 +/-10m |
Unknown |
Fault |
3-6 |
0 m |
Unknown |
Fault |
||
4-5 |
56 +/-10m |
Unknown |
Fault |
||
7-8 |
59 +/-10m |
Unknown |
Fault |
As you can see, whether or not you have a good or a bad cable the result from the “Remote pair” and “Status” can be deceiving. The ONLY WAY to determine if you have a bad cable issue or not is to look at the “Speed” and the output to the “Pair length”.
I am suspecting that the misleading result of the “Remote pair” and the “Pair status” is an IOS bug.
(25 August 2023) IMPORTANT ADDENDUM:
Starting with IOS-XE (aka Polaris) version 16.X.X (and later), TDR is completely broken. I strongly urge people to stop relying TDR results from Catalyst switches if platform is running 16.X.X (and later), 17.X.X (and later) because the result is neither accurate nor reliable. The Bug IDs are: CSCvw97924 & CSCwd97177
Screenshots (below) of broken TDR results:
(Above) Pair A & B distance is "0".
(Above) Pair "A" distance is (significantly) more than Pairs B, C and D.
9300, IOS-XE version 17.9.4a
-- END OF TRANSMISSION --
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Leo,
Excellent.
Just what I needed
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Thank you very much, Alex.
Glad to be of some form of assistance.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
So, what results should we expect from a Gigabit port that is configured to 10 Mbps to be compatible with a device. Would we expect all Normal results?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Matt,
If you have a GigabitEthernet port and you forced the port to negotiate to 10 Mbps, then TDR will NOT work. When you run the TDR combination commands on a port forced to negotiate to 10 Mbps, all the result will be "Not Supported".
Regardless, you should get Pair A and B as "Normal".
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
There is a BUG in this IOS. When you run TDR on a 2960-series family of switches (2960/G/S) and at the same time running 15.0(2)SE, your port will get "STUCK". This is a COSMETIC bug. If you issue the command of "sh interface <INTERFACE>" you'll see a disturbing output at the end of the first line that goes like this:
<INTERFACE> is up, line protocol is up (connected: TDR running)
I can easily duplicate this with a 3750E and 2960, 2960G and 2960S.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hello leolaohoo.
Could it be that the same bug affects C3560CPD switch?
And BTW: is this bug effectively recognized from Cisco? Or should I open a TAC case for it?
Thanks a lot.
F.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Could it be that the same bug affects C3560CPD switch?
Sorry for the late response. I just saw this post.
The answer to your question is YES. As long as you are running 15.0(2)SE. I didn't bother raising a TAC Case because it's cosmetic. I also believe that not alot of people will be using IOS version 15.0(2)SE anyway.
And BTW: is this bug effectively recognized from Cisco?
Not sure.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
In my testing the bug in 15.0(2)SE is not just cosmetic. It also prevents you from getting the TDR results in some cases. All ports that I've attempted to run the TDR against that were in an up/up state resulted in a Pair Status of "Not Completed". However if the port is up/down then the TDR test will run successfully. The cosmetic bug still applies though, even to the successful up/down TDR test. I have TDR tests that I ran on numerous 3750x stacks several months ago that have never completed. I've verified these results on all my 3750x stacks running 15.0(2)SE. These stacks previously had a 12.2 release on them and I know for sure that 3 of them were working fine at the time.
Here's the results of the broken TDR test on the up/up port:
Interface Speed Local pair Pair length Remote pair Pair status --------- ----- ---------- ------------------ ----------- -------------------- Gi1/0/5 1000M Pair A N/A N/A Not Completed Pair B N/A N/A Not Completed Pair C N/A N/A Not Completed Pair D N/A N/A Not Completed
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Justin,
Thanks for this information.
I have checked this "issue" on the newer 15.0(2)SE1 and it looks like it may have been fixed.
However, due to other people reporting CPU hog errors on 15.0(2)SE1, I still don't recommend anyone using IOS versions 12.2(58)SE, 15.0(1)SE and 15.0(2)SE and later versions.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I agree. In retrospect I wish I'd never upgraded to IOS 15. It's been painful for the CPU utilization on all my switches. I'm not sure if I can role back to an older release now that the ASICs have been flashed.
I'm opening a ticket on 15.0(2)SE right now to report the bug. I searched the bug DB and couldn't find anything. I won't let them close it until the bug is documented.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hello everybody.
I'm quite new to this TDR stuff (which is really a cool feature indeed!), so I'm a bit confused about following results:
vxs12a1#show cable-diagnostics tdr int gi0/23
TDR test last run on: January 31 10:01:26
Interface Speed Local pair Pair length Remote pair Pair status
--------- ----- ---------- ------------------ ----------- --------------------
Gi0/23 100M Pair A 24 +/- 4 meters Pair A Normal
Pair B 27 +/- 4 meters Pair B Normal
Pair C 27 +/- 4 meters Pair C Short
Pair D 28 +/- 4 meters Pair D Short
vxs12a1#test cable-diagnostics tdr int gi0/23
Link state may be affected during TDR test
TDR test started on interface Gi0/23
A TDR test can take a few seconds to run on an interface
Use 'show cable-diagnostics tdr' to read the TDR results.
vxs12a1#show cable-diagnostics tdr int gi0/23
TDR test last run on: January 31 10:26:56
Interface Speed Local pair Pair length Remote pair Pair status
--------- ----- ---------- ------------------ ----------- --------------------
Gi0/23 auto Pair A 23 +/- 4 meters Pair A Normal
Pair B 26 +/- 4 meters Pair B Normal
Pair C 27 +/- 4 meters Pair C Short
Pair D 28 +/- 4 meters Pair D Short
My first question starts at the speed: why is it changing from 100M to "auto"?
Secondly, why would pair lengths for pairs A and B change?
Third: what should I understand of the pair status "short" for pairs C and D?
This is the switch version:
WS-C3560G-48PS 15.0(2)SE
Kind regards,
Flavio.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Flavio,
Let me interpret your output.
My first question starts at the speed: why is it changing from 100M to "auto"?
When you run a TDR on a 10/100BaseTx, your link shouldn't go down (unlike the older IOS), but if you run the "sh cable tdr interface G0/23" again, you should see the speed come up. Sometimes it takes awhile for the results to come back in. I've seen this several times.
Basically, this means that there's a fault approximately 23-24 metres (+/- 4 metres error) from your switch port. This does not mean 23-24 metres "as the crow flies". It means 23-24 metres from the switch port WHEN you follow the cable.
Secondly, why would pair lengths for pairs A and B change?
Your cable length didn't change very much. Granted it's a difference of 1 metre but in reality, it's not alot. Also observe that there's an "error margin" of +/- 4 metres.
Third: what should I understand of the pair status "short" for pairs C and D?
In my experience, "short" means it's a short-circuit. So what does this mean for pairs C and D?
Well, pair "C" controls your PoE and "D" controls your GigabitEthernet. If you have a "short" then it means that the remote end will not get PoE and won't negotiate to GigabitEthernet.
Another thing ... I observe you are running 15.0(2)SE. Take note that there's a bug. If you do "sh interface Gig 0/23" you might see, in the first line of the output and to the right, an error like "(connected: TDR running)". Don't worry, your interface is not "stuck" and normal traffic will continue to flow. It's just an annoying sight.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi. I am new to TDR but love it. Quick question:
Does the connection to the target drop when the TDR test is performed?
(I get mixed results when I test).
Cheers. Ade
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Does the connection to the target drop when the TDR test is performed?
Hi Ade,
Depends. If you are testing a NON-PoE and a FastEthernet connection, then NO. Your connection won't drop.
If your connection is EITHER a GigabitEthernet or a PoE then, yes, your connection will drop.
If, for example, your PC is connected to a VoIP and then to a switch, then the connection will drop because the VoIP does NOT have a by-pass functionality.
Does this make sense?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Leoaohoo. Thanks for the reply. Yes it makes sense, thanks!
I am testing a gigabit connection to a PC and sometimes it drops and other times not. So I was a bit confused.
Just to be sure, a gigabit cable test between two switches would drop the connection too, yes?
Thanks again.
Ade