If you have a cable which is not working at full speed (e.g. only at 100 Mbit instead of gigabit), or is not working at all, then this will tell you where the break is. In structured cabling ( device → patch cord → fixed cabling → patch cord → device) you can tell where the problem is (how many meters from the device where you run a test). Raw TDR (Time Domain Reflectometry) data allows more nuanced diagnosis of poor quality joins and cable damage etc.
Currently there is only support for [edit: full raw TDR data reporting on] Marvell Ethernet PHYs. At least the following should have one or more supported Ethernet ports I think:
Huawei AP5030DN (confirmed and I have one here)
MicroTik RB5009UG (confirmed)
Turis Omnia (confirmed)
Solidrun Mochabin
Clearfog Pro and Base
Buffalo LS421DE
Fortinet FortiGate 50E / 51E / 52E and FortiWiFi 50E-2R
Ctera C200 V2
D-Link DWR-118-A2
Shuttle OMNINAS KD22
[Edit:] Linksys WRT1900ACS
and probably some others too... It's difficult to work out which PHYs are present - often they're just mentioned in dts file comments, or in kernel message debug output.
[Edit: I'm keeping this post up to date with known status of various OpenWrt devices]
I only have access to a Huawei AP5030DN (BTW if someone would like a dedicated device for cable testing, then these are available for cheap - circa €12 locally).
It would be helpful if people could test:
ethtool --cable-test devname
... with both an active link on the port and also with no link (but with a cable present).
and:
ethtool --cable-test-tdr devname
In particular please check for truncated output on the TDR test and any: Timeout while waiting for cable test to finish messages in the kernel logs.
See this github issue for a patch for the Timeout message and also how to debug timings:
n.b. @fbl has kindly tested this already on a MikroTik RB5009UPr+S+IN but still saw a timeout, so if the unchanged patch times out, then you could try increasing the number of retrys in the patch from 100 to something huge like 10000.
Since May 2020, also some BCM PHYs have ECD (Enhanced Cable Diagnostics) enabled. That PHY seems to be used on the RPI, so some other users here might have HW capable of testing. I mentioned this in the other Forum in Sept/2021:
Further down somebody successfully tested on Linksys WRT1900ACS:
Thanks - it looks like only the Marvell PHYs support raw tdr data reception. On many of those there is a bug where the status registers are read continuously, and a Timeout occurrs before data is actually ready (hence the patch - which Andrew Lunn advised on).
Searching through the latest Linux kernel net-next git tree rg -C 20 \\.cable_test_start shows that basic (i.e. not raw TDR data) cable test support seems to be implemented for these PHYs:
root@turris:~# ethtool --cable-test eth2
Cable test started for device eth2.
Cable test completed for device eth2.
Pair A code Open Circuit
Pair B code Open Circuit
Pair C code Open Circuit
Pair D code Open Circuit
Pair A, fault length: 16.80m
Pair B, fault length: 16.80m
Pair C, fault length: 16.80m
Pair D, fault length: 16.80m
this was wit a nominally 15m ethernet cable in the port that was not connected to anything at the far end... the only way to estimate these 16.8 meters would be IMHO to run a TDR probe...
I would guess the difference is that --cable-test-tdr will actually show more of the actual (processed) TDR data, while --cable-test just reports the final results...
I don't think I'd put too much trust into that table.
As far as I know all of the PHYs will be carrying out TDR (there's no way to tell "open at 5 metres" otherwise). Only the Marvell PHYs offer an (implemented) API to access the raw TDR data. The others are post-processing TDR according to internal algorithms to derive "open at 5 metres".
Access to the raw TDR data is often helpful to spot marginal or damaged cables and bad connections etc.
Thank you both for the clarifications. I was thinking, that --cable-test could report 'ECD' (basic) data from all the PHYs in the list above (Does that really include most of ath79? at the top), while --cable-test-tdr could report more info, but only from some Marvells and devices having the same PHY as the RPI4?
But I haven't been able to confirm any of that: My RPI4 run *bian, and the APs/Switches I can play around with a.t.m are only some ath79, MT7621, and RTL8x. I'll hopefully get around to building some new master snapshots this weekend.
Cable test completed for device lan1.
Pair A code OK
Pair B code OK
Pair C code OK
Pair D code OK
root@WRT1900ACS-AP:~# ethtool --cable-test lan2
Cable test started for device lan2.
Cable test completed for device lan2.
Pair A code Open Circuit
Pair B code Open Circuit
Pair C code Open Circuit
Pair D code Open Circuit
Pair A, fault length: 8.80m
Pair B, fault length: 10.40m
Pair C, fault length: 8.80m
Pair D, fault length: 8.80m
cable-test-tdr
ot@WRT1900ACS-AP:~# ethtool --cable-test-tdr lan1
Cable test TDR started for device lan1.
Cable test TDR completed for device lan1.
TDR Pulse 1000mV
Step configuration: 0.80-149.73 meters in 0.80m steps
Pair A Amplitude 0
Pair B Amplitude -117
Pair C Amplitude -7
Pair D Amplitude 664
Pair A Amplitude -15
Pair B Amplitude -117
Pair C Amplitude 0
Pair D Amplitude 609
Pair A Amplitude -7
Pair B Amplitude 0
Pair C Amplitude 0
Pair D Amplitude 476
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -78
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -54
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -23
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -15
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -7
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -15
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -15
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -15
Pair A Amplitude -7
Pair B Amplitude -7
Pair C Amplitude -7
Pair D Amplitude -15
Pair A Amplitude -23
Pair B Amplitude -132
Pair C Amplitude -23
Pair D Amplitude 593
Pair A Amplitude -23
Pair B Amplitude -132
Pair C Amplitude -15
Pair D Amplitude 570
Pair A Amplitude -23
Pair B Amplitude -54
Pair C Amplitude -15
Pair D Amplitude 46
Pair A Amplitude -23
Pair B Amplitude -23
Pair C Amplitude -23
Pair D Amplitude -117
Pair A Amplitude -23
Pair B Amplitude -23
Pair C Amplitude -23
Pair D Amplitude -93
Pair A Amplitude -23
Pair B Amplitude -15
Pair C Amplitude -23
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -15
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -46
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Pair A Amplitude -15
Pair B Amplitude -7
Pair C Amplitude -15
Pair D Amplitude -39
Thanks for testing, that's good to know. As far as I know the WRT1900ACS is the only OpenWrt device which doesn't hit the Timeout on TDR test (with unpatched kernel) [edit: more working devices since - list below has been updated].
We have:
TDR works without patch:
Linksys WRT1900ACS
Linksys WRT3200ACM (OpenWrt 23.05.5)
Fortinet FG-50E (23.05.5) [probably 51E / 52E and FortiWiFi 50E-2R are fine too]
TDR doesn't work on unpatched kernel (works with patch):
Huawei AP5030DN
TDR doesn't work on unpatched kernel (unknown with patch):
That doesn't guarantee you don't have a compatible PHY.
Some SoCs and switch chips have integrated PHYs, and some don't.
The mac to PHY interface is standardised (SGMII or RMII), so you can (in theory) pair any mac with any PHY.
The Huawei AP5030DN is an ath79, but one of the PHYs (GE1 port) is a Marvell 88E1512.
SFP modules (also known as GBIC modules) are effectively are replaceable PHYs and pretty much just speak SGMII, so you could in theory implement cable testing on a particular SFP or SFP+ module too.
root@router:~# ethtool --cable-test wan
Cable test started for device wan.
Cable test completed for device wan.
Pair A code OK
Pair B code OK
Pair C code OK
Pair D code OK
root@router:~# ethtool --cable-test lan1
Cable test started for device lan1.
Cable test completed for device lan1.
Pair A code OK
Pair B code OK
Pair C code Open Circuit
Pair D code Open Circuit
Pair C, fault length: 2.40m
Pair D, fault length: 2.40m
root@router:~# ethtool --cable-test lan2
Cable test started for device lan2.
Cable test completed for device lan2.
Pair A code OK
Pair B code OK
Pair C code OK
Pair D code OK
Ah, that fits perfectly with the reported data... pairs A and B actually carry the fast-ethernet signals and pairs C and D basically hang open at the PLC adapter. Interesting question, how long is the cable from the router to the PLC adapter? (I believe the measurement only reports with a quantisation of 0.8 meters...)