Tool/software:
Hi,
we do not have buttons or other gpios to interact with our device, so we would like to use a special crafted RJ45 plug to interact with our device.
The special crafted RJ45-Plug has the following connections:
- TD+ and TD- is shorted
- RD+ and RD- is shorted
- Other pins are not connected
1) Is it possible to detect shorts with the DP83825I? I followed the guide (6.3.16.1 TDR) to manually start a cable diagnostic (TDR), but the CDLAR6 Register equals 0x0100, what is reserved for the Eth-Phy. Same result if the RJ45 is kept open without any cable connected.
"TDR can also be run manually using bit[15] in the Cable Diagnostic Control Register (CDCR, address 0x001E). Cable diagnostic status is obtained by reading bits[1:0] in the CDCR. Additional TDR functions including cycle averaging and crossover disable can be found in the Cable Diagnostic Specific Control Register (CDSCR, address 0x0170). TDR [..] store the results in the respective TDR Cable Diagnostic Location Result Registers #1 - #5 (CDLRR, addresses 0x0180 to 0x0184) and the Cable Diagnostic Amplitude Result Registers #1 - #5 (CDLAR, addresses 0x0185 to 0x0189)."
- I noticed, I could not write and read back values in the CDSCR for the cfg_tdr_seg_num. It is always 0, what is reserved.
- I noticed, I could not write and read back values in the CDSCR for the Cable_Diagnostic_Average_Cycles. It is always 0.
The ethernet-phy works perfectly in normal operation. We are using linux and using phytool (github.com/.../phytool) to interact with the eth-phy from userspace.
e.g.
phytool write eth0/0x0/0x001e 0x8000 # Start cable diagnostic
sleep 1
phytool read eth0/0x0/0x018a # Read out CDLAR6
2) What is the cfg_rescal_en in the CDCR used for? Should it be performed together with cable diagnostic?
3) Do I need to perform a (soft) reset beforehand?
Thanks for your support and best regards,
Michael