This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83867IR: DP83867 Active Link Cable Diagnostics (ALCD) procedure

Part Number: DP83867IR

Hi,

I'm trying to use the DP83867 to approximate the length of an active link. The documentation hints that the PHY can measure this to an accuracy of +/- 5m. However, the series of register writes/reads to achieve this isn't spelled out. Can anyone with experience in this area provide me some direction for using the ALCD feature?

Currently, my procedure is:

  1. Insert a cable and establish a link
  2. Wait for ALCD_SUM_DONE=1 in the ALCD_CTRL register (address 0x01A7).
  3. Read ALCD_SUM from ALCD_CTRL.

I assume ALCD_SUM is supposed to either be the approximated length, or a value required to approximate the length, however it always reads either 0xF0 or 0xEF regardless of the cable length. It reads as 0x00 when no cable is inserted or there's no link, and ALCD_SUM_DONE remains at 0 in that case, so I know at least part of the process is working. I've tried manually setting ALCD_CLEAR to 1 to redo the measurements, but the results are the same.

I have done this procedure with a dozen different CAT5e cables from 1 m to 70 m, but the results remain the same. I've tried this using 100 Mbps and 1 Gbps ethernet links. I even tried 10 Mbps, but ALCD_SUM just stayed at 0 (not surprising - I expect the ALCD is built atop the 100 Mbps modulator).

Any guidance would be greatly appreciated!

Colin